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 30389fa281a582810a0a090650730048c1a4c846..794d46fcf1eb3f37035554aa556583ac5cda17a6 100644 |
--- a/gpu/command_buffer/client/gles2_implementation.cc |
+++ b/gpu/command_buffer/client/gles2_implementation.cc |
@@ -1197,10 +1197,6 @@ void GLES2Implementation::ShaderSource( |
void GLES2Implementation::BufferDataHelper( |
GLenum target, GLsizeiptr size, const void* data, GLenum usage) { |
- if (size == 0) { |
greggman
2012/11/30 09:13:15
this removal I understand
|
- return; |
- } |
- |
if (size < 0) { |
SetGLError(GL_INVALID_VALUE, "glBufferData", "size < 0"); |
return; |
@@ -1222,11 +1218,17 @@ void GLES2Implementation::BufferDataHelper( |
buffer_tracker_->RemoveBuffer(buffer_id); |
} |
- // Create new buffer. |
- buffer = buffer_tracker_->CreateBuffer(buffer_id, size); |
- GPU_DCHECK(buffer); |
- if (data) |
- memcpy(buffer->address(), data, size); |
+ if (size) { |
greggman
2012/11/30 09:13:15
this addition I don't understand. It seems like yo
reveman
2012/11/30 09:30:33
Yes, I think you're right. I might need to update
|
+ // Create new buffer. |
+ buffer = buffer_tracker_->CreateBuffer(buffer_id, size); |
+ GPU_DCHECK(buffer); |
+ if (data) |
+ memcpy(buffer->address(), data, size); |
+ } |
+ return; |
+ } |
+ |
+ if (size == 0) { |
return; |
} |