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
diff --git a/opengl/libs/EGL/egl.cpp b/opengl/libs/EGL/egl.cpp
index 105ebb4..0437263 100644
--- a/opengl/libs/EGL/egl.cpp
+++ b/opengl/libs/EGL/egl.cpp
@@ -437,6 +437,12 @@
     }
 }
 
+// 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 @@
             (uint32_t*)(void*)&gHooksNoContext, 
             addr, 
             sizeof(gHooksNoContext));
+
+    gHooksNoContext.gl.glGetError = gl_no_context_glGetError;
+
     setGlThreadSpecific(&gHooksNoContext);
 }