Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android ndk opengl创建受保护的上下文_Android_Opengl Es_Android Ndk_Egl - Fatal编程技术网

android ndk opengl创建受保护的上下文

android ndk opengl创建受保护的上下文,android,opengl-es,android-ndk,egl,Android,Opengl Es,Android Ndk,Egl,我正在尝试在android上使用opengl创建一个受保护的上下文 我的代码基于: 使用本机活动作为基础 我已将EGL参数更改为以下内容: EGLint context_attribs[] = { EGL_CONTEXT_CLIENT_VERSION, 3, 0x32C0, EGL_TRUE, EGL_NONE, }; EGLint surface_attribs[] = { 0x32C0, EGL_TRUE, E

我正在尝试在android上使用opengl创建一个受保护的上下文

我的代码基于:

使用本机活动作为基础

我已将EGL参数更改为以下内容:

EGLint context_attribs[] = {
        EGL_CONTEXT_CLIENT_VERSION, 3,
        0x32C0, EGL_TRUE,
        EGL_NONE,
};
EGLint surface_attribs[] = {
        0x32C0, EGL_TRUE,
        EGL_NONE,
};
大多数设备似乎都能正常工作,但也有一些设备出现了奇怪的行为(手机崩溃,或者根本不显示,尽管它们声称支持受保护的上下文)。一个很好的例子是s9 qualcomm edition运行正常,直到屏幕上出现任何会导致手机重新启动的内容(覆盖、导航栏向下滑动或滑动三星侧栏)

在设置受保护的上下文时,我是否遗漏了什么

根据khronos文件:

0x32c0是受保护内容的正确编号

--------------编辑--------------


我将0x32c0切换到EGL_-PROTECTED_-CONTENT_-EXT,并检查了扩展,并且EGL_-EXT_-PROTECTED_-CONTENT确实存在。我正在使用的两款设备在这方面存在问题(三星Galaxy s9+高通公司和三星Galaxy Tab S2)。S2声称它支持受保护的上下文,但在使用它之后,我得到了EGL_BAD_ALLOC。在S9上,一切运行正常,没有错误,但设备在使用一段时间后会一直在我身上崩溃。

为什么要使用0x32C0而不是令牌名称:EGL\u PROTECTED\u CONTENT\u EXT

您是否询问扩展字符串“EGL\u EXT\u protected\u content”是否在支持的扩展中?这应该是你做的第一件事

您是否正在尝试执行任何不允许的操作?可能导致碰撞


从eglCreateSurface和eglCreateContext检查错误。EGL_BAD_属性表示不受支持。

感谢您花时间回复。我将用信息更新我的问题。三星通过将操作系统从安卓8升级到安卓9解决了这个问题。但是,这在其他设备上仍然是一个问题。看起来这是三星高通公司实施的一个问题。