Index: gpu/command_buffer/service/gles2_cmd_decoder.cc |
=================================================================== |
--- gpu/command_buffer/service/gles2_cmd_decoder.cc (revision 70525) |
+++ gpu/command_buffer/service/gles2_cmd_decoder.cc (working copy) |
@@ -4684,7 +4684,7 @@ |
return error::kNoError; |
} |
if (!validators_->vertex_attrib_size.IsValid(size)) { |
- SetGLError(GL_INVALID_ENUM, |
+ SetGLError(GL_INVALID_VALUE, |
"glVertexAttribPointer: size GL_INVALID_VALUE"); |
return error::kNoError; |
} |
@@ -4708,9 +4708,14 @@ |
return error::kNoError; |
} |
GLsizei component_size = |
- GLES2Util::GetGLTypeSizeForTexturesAndBuffers(type); |
+ GLES2Util::GetGLTypeSizeForTexturesAndBuffers(type); |
if (offset % component_size > 0) { |
- SetGLError(GL_INVALID_VALUE, |
+ SetGLError(GL_INVALID_OPERATION, |
+ "glVertexAttribPointer: offset not valid for type"); |
+ return error::kNoError; |
+ } |
+ if (stride % component_size > 0) { |
+ SetGLError(GL_INVALID_OPERATION, |
"glVertexAttribPointer: stride not valid for type"); |
return error::kNoError; |
} |