Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3bbafb57 authored by Mathias Agopian's avatar Mathias Agopian Committed by Android (Google) Code Review
Browse files

Merge "better fix for [3028370] GL get error should return a valid error if no...

Merge "better fix for [3028370] GL get error should return a valid error if no context is bound." into gingerbread
parents 3144c628 6f087122
Loading
Loading
Loading
Loading
+2 −9
Original line number Original line Diff line number Diff line
@@ -428,19 +428,14 @@ static void(*findProcAddress(const char* name,


// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------


static void gl_no_context() {
static int gl_no_context() {
    tls_t* tls = getTLS();
    tls_t* tls = getTLS();
    if (tls->logCallWithNoContext == EGL_TRUE) {
    if (tls->logCallWithNoContext == EGL_TRUE) {
        tls->logCallWithNoContext = EGL_FALSE;
        tls->logCallWithNoContext = EGL_FALSE;
        LOGE("call to OpenGL ES API with no current context "
        LOGE("call to OpenGL ES API with no current context "
             "(logged once per thread)");
             "(logged once per thread)");
    }
    }
}
    return 0;

// Always return GL_INVALID_OPERATION from glGetError() when called from
// a thread without a bound context.
static GLenum gl_no_context_glGetError() {
    return GL_INVALID_OPERATION;
}
}


static void early_egl_init(void) 
static void early_egl_init(void) 
@@ -454,8 +449,6 @@ static void early_egl_init(void)
            addr, 
            addr, 
            sizeof(gHooksNoContext));
            sizeof(gHooksNoContext));


    gHooksNoContext.gl.glGetError = gl_no_context_glGetError;

    setGlThreadSpecific(&gHooksNoContext);
    setGlThreadSpecific(&gHooksNoContext);
}
}


+1 −0
Original line number Original line Diff line number Diff line
@@ -58,6 +58,7 @@ using namespace android;
            "ldr   r12, [r12, %[tls]] \n"                       \
            "ldr   r12, [r12, %[tls]] \n"                       \
            "cmp   r12, #0            \n"                       \
            "cmp   r12, #0            \n"                       \
            "ldrne pc,  [r12, %[api]] \n"                       \
            "ldrne pc,  [r12, %[api]] \n"                       \
            "mov   r0, #0             \n"                       \
            "bx    lr                 \n"                       \
            "bx    lr                 \n"                       \
            :                                                   \
            :                                                   \
            : [tls] "J"(TLS_SLOT_OPENGL_API*4),                 \
            : [tls] "J"(TLS_SLOT_OPENGL_API*4),                 \
+1 −0
Original line number Original line Diff line number Diff line
@@ -114,6 +114,7 @@ GL_API void GL_APIENTRY glWeightPointerOESBounds(GLint size, GLenum type,
            "ldr   r12, [r12, %[tls]] \n"                       \
            "ldr   r12, [r12, %[tls]] \n"                       \
            "cmp   r12, #0            \n"                       \
            "cmp   r12, #0            \n"                       \
            "ldrne pc,  [r12, %[api]] \n"                       \
            "ldrne pc,  [r12, %[api]] \n"                       \
            "mov   r0, #0             \n"                       \
            "bx    lr                 \n"                       \
            "bx    lr                 \n"                       \
            :                                                   \
            :                                                   \
            : [tls] "J"(TLS_SLOT_OPENGL_API*4),                 \
            : [tls] "J"(TLS_SLOT_OPENGL_API*4),                 \