From 0f5080864061f99e39fe48cfaf8c1bfa197f6ec2 Mon Sep 17 00:00:00 2001 From: Lingfeng Yang Date: Fri, 8 Apr 2016 12:38:35 -0700 Subject: [PATCH] Validation for glGetVertexAttrib i/f v dEQP-GLES2.functional.negative_api.state.get_vertex_attrib i/f v: Fail -> Pass Based on Intel's OpenGL validation for goldfish opengl, introduced in nyc-dev Change-Id: I9b539024e88a5afb7c78f8543e7c9ffff4f837e0 --- system/GLESv2_enc/GL2Encoder.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/system/GLESv2_enc/GL2Encoder.cpp b/system/GLESv2_enc/GL2Encoder.cpp index 19c8946..e31aa1b 100755 --- a/system/GLESv2_enc/GL2Encoder.cpp +++ b/system/GLESv2_enc/GL2Encoder.cpp @@ -397,6 +397,9 @@ void GL2Encoder::s_glGetVertexAttribiv(void *self, GLuint index, GLenum pname, G { GL2Encoder *ctx = (GL2Encoder *)self; assert(ctx->m_state); + GLint maxIndex; + ctx->glGetIntegerv(self, GL_MAX_VERTEX_ATTRIBS, &maxIndex); + SET_ERROR_IF(!(index < maxIndex), GL_INVALID_VALUE); if (!ctx->m_state->getVertexAttribParameter(index, pname, params)) { ctx->m_glGetVertexAttribiv_enc(self, index, pname, params); @@ -407,6 +410,9 @@ void GL2Encoder::s_glGetVertexAttribfv(void *self, GLuint index, GLenum pname, G { GL2Encoder *ctx = (GL2Encoder *)self; assert(ctx->m_state); + GLint maxIndex; + ctx->glGetIntegerv(self, GL_MAX_VERTEX_ATTRIBS, &maxIndex); + SET_ERROR_IF(!(index < maxIndex), GL_INVALID_VALUE); if (!ctx->m_state->getVertexAttribParameter(index, pname, params)) { ctx->m_glGetVertexAttribfv_enc(self, index, pname, params); -- 2.11.0