Chromium Code Reviews| Index: gpu/command_buffer/client/gles2_implementation.cc |
| diff --git a/gpu/command_buffer/client/gles2_implementation.cc b/gpu/command_buffer/client/gles2_implementation.cc |
| index fc051b1fad3bfa6b1a9d2c61c2999cde84f192ee..0801c1e671a6b5b58ecc5f6259176cabe5307570 100644 |
| --- a/gpu/command_buffer/client/gles2_implementation.cc |
| +++ b/gpu/command_buffer/client/gles2_implementation.cc |
| @@ -3820,6 +3820,34 @@ void GLES2Implementation::BindBufferBaseHelper( |
| GLenum target, GLuint index, GLuint buffer_id) { |
| // TODO(zmo): See note #1 above. |
| // TODO(zmo): See note #2 above. |
| + switch (target) { |
| + case GL_TRANSFORM_FEEDBACK_BUFFER: |
| + if (index >= |
| + static_cast<GLuint>( |
| + capabilities_.max_transform_feedback_separate_attribs)) { |
| + SetGLError(GL_INVALID_OPERATION, |
|
Zhenyao Mo
2016/03/09 17:12:42
INVALID_VALUE
qiankun
2016/03/10 01:05:30
Done.
|
| + "glBindBufferBase", "index out of range"); |
| + return; |
| + } |
| + if (bound_transform_feedback_buffer_ != buffer_id) { |
| + bound_transform_feedback_buffer_ = buffer_id; |
| + } |
| + break; |
| + case GL_UNIFORM_BUFFER: |
| + if (index >= |
| + static_cast<GLuint>(capabilities_.max_uniform_buffer_bindings)) { |
| + SetGLError(GL_INVALID_OPERATION, |
|
Zhenyao Mo
2016/03/09 17:12:42
INVALID_VALUE
qiankun
2016/03/10 01:05:30
Done.
|
| + "glBindBufferBase", "index out of range"); |
| + return; |
| + } |
| + if (bound_uniform_buffer_ != buffer_id) { |
| + bound_uniform_buffer_ = buffer_id; |
| + } |
| + break; |
| + default: |
| + SetGLError(GL_INVALID_ENUM, "glBindBufferBase", "invalid target"); |
| + return; |
| + } |
| GetIdHandler(id_namespaces::kBuffers)->MarkAsUsedForBind( |
| this, target, index, buffer_id, &GLES2Implementation::BindBufferBaseStub); |
| } |