summaryrefslogtreecommitdiffstats
path: root/opengl
diff options
context:
space:
mode:
authorBo Hu <bohu@google.com>2015-01-20 16:29:50 -0800
committerbohu <bohu@google.com>2015-01-21 08:39:18 -0800
commit3a69f40025b584bb49aa8f832816dd7c97c1377c (patch)
tree2db5d747e951fb992aa3cf8450b4b789f48a33db /opengl
parentd72c930b8d0fabb47b4c598488cf558ce0a1f3c5 (diff)
downloadandroid_device_generic_goldfish-3a69f40025b584bb49aa8f832816dd7c97c1377c.tar.gz
android_device_generic_goldfish-3a69f40025b584bb49aa8f832816dd7c97c1377c.tar.bz2
android_device_generic_goldfish-3a69f40025b584bb49aa8f832816dd7c97c1377c.zip
Set proper error code for glShaderBinary function
This function is not supported, but we still need to set proper error code when it is called, instead of doing nothing. Change-Id: I3f880e9b5e661fe4bd8e8f51f38df71c24b420e5
Diffstat (limited to 'opengl')
-rwxr-xr-xopengl/system/GLESv2_enc/GL2Encoder.cpp8
-rw-r--r--opengl/system/GLESv2_enc/GL2Encoder.h2
2 files changed, 10 insertions, 0 deletions
diff --git a/opengl/system/GLESv2_enc/GL2Encoder.cpp b/opengl/system/GLESv2_enc/GL2Encoder.cpp
index 90aa61d..18c796e 100755
--- a/opengl/system/GLESv2_enc/GL2Encoder.cpp
+++ b/opengl/system/GLESv2_enc/GL2Encoder.cpp
@@ -71,6 +71,7 @@ GL2Encoder::GL2Encoder(IOStream *stream) : gl2_encoder_context_t(stream)
OVERRIDE(glGetVertexAttribfv);
OVERRIDE(glGetVertexAttribPointerv);
+ this->glShaderBinary = &s_glShaderBinary;
this->glShaderSource = &s_glShaderSource;
this->glFinish = &s_glFinish;
@@ -652,6 +653,13 @@ static bool replaceSamplerExternalWith2D(char* const str, ShaderData* const data
return true;
}
+void GL2Encoder::s_glShaderBinary(void *self, GLsizei n, const GLuint *shaders, GLenum binaryformat, const void* binary, GLsizei length)
+{
+ GL2Encoder* ctx = (GL2Encoder*)self;
+ // Although it is not supported, need to set proper error code.
+ SET_ERROR_IF(1, GL_INVALID_ENUM);
+}
+
void GL2Encoder::s_glShaderSource(void *self, GLuint shader, GLsizei count, const GLchar * const *string, const GLint *length)
{
GL2Encoder* ctx = (GL2Encoder*)self;
diff --git a/opengl/system/GLESv2_enc/GL2Encoder.h b/opengl/system/GLESv2_enc/GL2Encoder.h
index 5f255d1..21e7932 100644
--- a/opengl/system/GLESv2_enc/GL2Encoder.h
+++ b/opengl/system/GLESv2_enc/GL2Encoder.h
@@ -117,6 +117,8 @@ private:
glGetVertexAttribPointerv_client_proc_t m_glGetVertexAttribPointerv_enc;
static void s_glGetVertexAttribPointerv(void *self, GLuint index, GLenum pname, GLvoid **pointer);
+ static void s_glShaderBinary(void *self, GLsizei n, const GLuint *shaders, GLenum binaryformat, const void* binary, GLsizei length);
+
static void s_glShaderSource(void *self, GLuint shader, GLsizei count, const GLchar * const *string, const GLint *length);
static void s_glFinish(void *self);