Я запускаю Android Virtual Device на моем хосте Ubuntu. Он использует CPU/ABI Intel Atom (x86), и я использую GPU хоста. Эмулятор использует Kernel-based Virtual Machine.Android Emulator и OpenGL ES3: EGL_BAD_CONFIG
Это работает прекрасно до тех пор, как я использую контекст OpenGL ES2. Если мое приложение пытается создать контекст OpenGL ES3 однако, используя ...
const EGLint contextAttribs[] = {
EGL_CONTEXT_CLIENT_VERSION, 3,
EGL_NONE
};
context = eglCreateContext(display, config, NULL, contextAttribs);
... тогда я получаю ошибкуEGL_BAD_CONFIG:
I/biplane (2839): EGL: vendor Android version 1.4 Android META-EGL
I/biplane (2839): EGL: client apis OpenGL_ES
I/biplane (2839): number of EGL configurations that match our preferred criteria: 1
I/biplane (2839): R8 G8 B8 A8 DEPTH24
E/EGL_emulation(2839): tid 2852: eglCreateContext(919): error 0x3005 (EGL_BAD_CONFIG)
запрашивающей ES3 на аппаратном мобильном устройстве , работает хорошо. Но при запросе его с эмулятора он терпит неудачу. Хост машина вполне способна делать OpenGL ES3.0, ES3.1 и ES3.2, как можно видеть из glxinfo:
$ glxinfo | grep ES3
GL_ARB_ES2_compatibility, GL_ARB_ES3_1_compatibility,
GL_ARB_ES3_2_compatibility, GL_ARB_ES3_compatibility,
GL_NV_ES3_1_compatibility, GL_NV_bindless_multi_draw_indirect,
GL_ARB_ES2_compatibility, GL_ARB_ES3_1_compatibility,
GL_ARB_ES3_2_compatibility, GL_ARB_ES3_compatibility,
GL_NV_ES3_1_compatibility, GL_NV_bindless_multi_draw_indirect,
Есть ли способ запустить OpenGL ES3 приложений на Android Virtual Device на top of kvm?
Как вы выбираете конфигурацию? Вы используете тот, который поддерживает ES3? –
У меня была такая же проблема, и я отказался от изучения того, что эмулятор android не поддерживает OpenGL ES3: http://stackoverflow.com/questions/24874066/does-the-android-emulator-support-opengl-es- 3-0 –