Teilen Sie die EGL2.0 Zusammenhang zwischen 2 GLSurfaceViews verursacht EGL_BAD_ACCESS auf Android-tablets

Ich versuche zu teilen, EGL Kontext bwteen 2 GLSurfaceViews durch folgenden code:

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;
  }
}

Den code funktioniert auf den meisten android-Handys (OS>=2.2) aber nicht auf allen getesteten tablets.

01-12 18:33:35.381: E/AndroidRuntime(12171): FATAL EXCEPTION: GLThread 11

01-12 18:33:35.381: E/AndroidRuntime(12171): java.lang.RuntimeException: eglMakeCurrent fehlgeschlagen: EGL_BAD_ACCESS

01-12 18:33:35.381: E/AndroidRuntime(12171): at android.opengl.GLSurfaceView$EglHelper.throwEglException(GLSurfaceView.java:1146)

Da erklärte ich der LOCAL_LDLIBS: = -lGLESv2, der EGL AG ist ein 2.0 Kontext.

Warum es nicht auf tablets(xoom, galaxy, lg, sony, etc)

Jede Einsicht wird sehr geschätzt.

  • Haben Sie versucht, eine 'GLES20.glFlush ();', bevor man Oberflächen?
InformationsquelleAutor Shu Sang | 2012-01-13
Schreibe einen Kommentar