Merge "better fix for [3028370] GL get error should return a valid error if no context is bound." into gingerbread
This commit is contained in:
committed by
Android (Google) Code Review
commit
524a6d8e9b
@@ -428,19 +428,14 @@ static void(*findProcAddress(const char* name,
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
static void gl_no_context() {
|
||||
static int gl_no_context() {
|
||||
tls_t* tls = getTLS();
|
||||
if (tls->logCallWithNoContext == EGL_TRUE) {
|
||||
tls->logCallWithNoContext = EGL_FALSE;
|
||||
LOGE("call to OpenGL ES API with no current context "
|
||||
"(logged once per thread)");
|
||||
}
|
||||
}
|
||||
|
||||
// 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;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void early_egl_init(void)
|
||||
@@ -454,8 +449,6 @@ static void early_egl_init(void)
|
||||
addr,
|
||||
sizeof(gHooksNoContext));
|
||||
|
||||
gHooksNoContext.gl.glGetError = gl_no_context_glGetError;
|
||||
|
||||
setGlThreadSpecific(&gHooksNoContext);
|
||||
}
|
||||
|
||||
|
||||
@@ -58,6 +58,7 @@ using namespace android;
|
||||
"ldr r12, [r12, %[tls]] \n" \
|
||||
"cmp r12, #0 \n" \
|
||||
"ldrne pc, [r12, %[api]] \n" \
|
||||
"mov r0, #0 \n" \
|
||||
"bx lr \n" \
|
||||
: \
|
||||
: [tls] "J"(TLS_SLOT_OPENGL_API*4), \
|
||||
|
||||
@@ -114,6 +114,7 @@ GL_API void GL_APIENTRY glWeightPointerOESBounds(GLint size, GLenum type,
|
||||
"ldr r12, [r12, %[tls]] \n" \
|
||||
"cmp r12, #0 \n" \
|
||||
"ldrne pc, [r12, %[api]] \n" \
|
||||
"mov r0, #0 \n" \
|
||||
"bx lr \n" \
|
||||
: \
|
||||
: [tls] "J"(TLS_SLOT_OPENGL_API*4), \
|
||||
|
||||
Reference in New Issue
Block a user