Я пытаюсь создать защищенный контекст, используя opengl на Android.
Я основываю свой код на: https://github.com/googlesamples/android-ndk
Использование нативной активности в качестве своей базы.
Я изменил параметры EGL следующим образом:
EGLint context_attribs[] = {
EGL_CONTEXT_CLIENT_VERSION, 3,
0x32C0, EGL_TRUE,
EGL_NONE,
};
EGLint surface_attribs[] = {
0x32C0, EGL_TRUE,
EGL_NONE,
};
И, похоже, что на большинстве устройств все работает, но некоторые устройства ведут себя странно (сбой телефона или его отсутствие вообще, дажехотя они утверждают, что поддерживают защищенные контексты).Хорошим примером является издание S9 qualcomm, которое работает нормально до тех пор, пока на экране не появится что-либо (оверлей, скольжение панели навигации или скольжение боковой панели Samsung), что приведет к перезагрузке телефона.
Есть ли что-то, что я мог упустить при настройке защищенных контекстов?
Согласно документам khronos: https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_protected_content.txt
0x32c0 - правильный номер для защищенного контента.
-------------- РЕДАКТИРОВАТЬ --------------
Я переключил 0x32c0 на EGL_PROTECTED_CONTENT_EXT и проверилрасширения и EGL_EXT_protected_content существуют.Есть два устройства, с которыми я работаю, которые имеют проблемы именно с этим (Samsung Galaxy S9 + Qualcomm и Samsung Galaxy Tab S2).S2 утверждает, что поддерживает защищенный контекст, но затем после его использования я получаю EGL_BAD_ALLOC.На S9 все работает нормально, ошибок нет, но устройство будет постоянно зависать после небольшого использования.