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:
Mathias Agopian
2010-09-23 18:14:44 -07:00
committed by Android (Google) Code Review
3 changed files with 4 additions and 9 deletions

View File

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

View File

@@ -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), \

View File

@@ -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), \