Chromium Code Reviews| 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, |
|
Zhenyao Mo
2011/01/05 23:54:11
I think here we should check if (stride > 0 && str
|
| "glVertexAttribPointer: stride not valid for type"); |
| return error::kNoError; |
| } |