Index: gpu/command_buffer/service/gles2_cmd_decoder.cc |
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
index 50ae103d860006ede0a77f697f8ff3afcba977a4..d550020efe0c4432724c92493ae63bb192e7f5ed 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
@@ -7022,6 +7022,24 @@ error::Error GLES2DecoderImpl::HandleDrawElements(uint32 immediate_data_size, |
1); |
} |
+error::Error GLES2DecoderImpl::HandleDrawRangeElements( |
+ uint32 immediate_data_size, |
+ const void* cmd_data) { |
+ if (!unsafe_es3_apis_enabled()) |
+ return error::kUnknownCommand; |
+ const gles2::cmds::DrawRangeElements& c = |
+ *static_cast<const gles2::cmds::DrawRangeElements*>(cmd_data); |
+ size_t offset = static_cast<size_t>(c.index_offset); |
+ const GLvoid* indices = reinterpret_cast<const GLvoid*>(offset); |
+ glDrawRangeElements(static_cast<GLenum>(c.mode), |
piman
2015/02/25 23:28:47
I'm pretty sure many things won't work right if we
|
+ static_cast<GLuint>(c.start), |
+ static_cast<GLuint>(c.end), |
+ static_cast<GLsizei>(c.count), |
+ static_cast<GLenum>(c.type), |
+ indices); |
+ return error::kNoError; |
+} |
+ |
error::Error GLES2DecoderImpl::HandleDrawElementsInstancedANGLE( |
uint32 immediate_data_size, |
const void* cmd_data) { |