Я пытаюсь поделиться контекстом EGL между двумя GLSurfaceViews, используя следующий код:
createContext(EGL10 egl, EGLDisplay display, EGLConfig eglConfig) {
EGLContext shared = ...; // a cached egl context
int[] attrib_list = { EGL_CONTEXT_CLIENT_VERSION, 2, EGL10.EGL_NONE };
EGLContext context = egl.eglCreateContext(display, eglConfig, shared == null ? EGL10.EGL_NO_CONTEXT : shared,
attrib_list);
return context;
}
}
Код работает на большинстве телефонов Android (OS> = 2.2), но не на всехпротестированные планшеты.
01-12 18: 33: 35.381: E / AndroidRuntime (12171): ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: GLThread 11
01-12 18: 33: 35.381: E / AndroidRuntime (12171): java.lang.RuntimeException: eglMakeCurrent не удалось: EGL_BAD_ACCESS
01-12 18: 33: 35.381: E / AndroidRuntime (12171): в android.opengl.GLSurfaceView $ EglHelper.throwEglException (GLSurface)1011 *
Поскольку я объявил LOCAL_LDLIBS: = -lGLESv2, EGL является контекстом 2.0.
Почему он не работает на планшетах (xoom, galaxy, lg, sony и т. Д.)
Любое понимание приветствуется.