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

Commit 05c53113 authored by Mathias Agopian's avatar Mathias Agopian
Browse files

fix [3028370] GL get error should return a valid error if no context is bound.

glGetError() will now always return GL_INVALID_OPERATION if called from a thread
with no GL context bound.

Change-Id: I28ba458871db051bb4f5a26668a1fa123526869c
parent 53c155ba
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -437,6 +437,12 @@ static void gl_no_context() {
    }
}

// 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) 
{
#if !USE_FAST_TLS_KEY
@@ -447,6 +453,9 @@ static void early_egl_init(void)
            (uint32_t*)(void*)&gHooksNoContext, 
            addr, 
            sizeof(gHooksNoContext));

    gHooksNoContext.gl.glGetError = gl_no_context_glGetError;

    setGlThreadSpecific(&gHooksNoContext);
}