次のコードを使用して、EGLコンテキストbwteen2GLSurfaceViewsを共有しようとしています。
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(GLSurfaceView.java:1146)
LOCAL_LDLIBS:= -lGLESv2を宣言したので、EGLは2.0コンテキストです。
タブレットで失敗した理由(xoom、galaxy、lg、sonyなど)
任意の洞察をいただければ幸いです。