Index: gpu/command_buffer/service/gles2_cmd_decoder_autogen.h |
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h b/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h |
index 08d17d2bd2e210685f19167af74fcbc350ac6a60..477f6e1f6f09181cc354cf2e6aaf14784d09b084 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h |
@@ -3433,6 +3433,66 @@ error::Error GLES2DecoderImpl::HandleDrawBuffersEXTImmediate( |
return error::kNoError; |
} |
+error::Error GLES2DecoderImpl::HandleMatrixLoadfCHROMIUM( |
+ uint32 immediate_data_size, |
+ const gles2::cmds::MatrixLoadfCHROMIUM& c) { |
+ GLenum matrixMode = static_cast<GLenum>(c.matrixMode); |
+ uint32 data_size; |
+ if (!ComputeDataSize(1, sizeof(GLfloat), 16, &data_size)) { |
+ return error::kOutOfBounds; |
+ } |
+ const GLfloat* m = |
+ GetSharedMemoryAs<const GLfloat*>(c.m_shm_id, c.m_shm_offset, data_size); |
+ if (!validators_->matrix_mode.IsValid(matrixMode)) { |
+ LOCAL_SET_GL_ERROR_INVALID_ENUM( |
+ "glMatrixLoadfCHROMIUM", matrixMode, "matrixMode"); |
+ return error::kNoError; |
+ } |
+ if (m == NULL) { |
+ return error::kOutOfBounds; |
+ } |
+ DoMatrixLoadfCHROMIUM(matrixMode, m); |
+ return error::kNoError; |
+} |
+ |
+error::Error GLES2DecoderImpl::HandleMatrixLoadfCHROMIUMImmediate( |
+ uint32 immediate_data_size, |
+ const gles2::cmds::MatrixLoadfCHROMIUMImmediate& c) { |
+ GLenum matrixMode = static_cast<GLenum>(c.matrixMode); |
+ uint32 data_size; |
+ if (!ComputeDataSize(1, sizeof(GLfloat), 16, &data_size)) { |
+ return error::kOutOfBounds; |
+ } |
+ if (data_size > immediate_data_size) { |
+ return error::kOutOfBounds; |
+ } |
+ const GLfloat* m = |
+ GetImmediateDataAs<const GLfloat*>(c, data_size, immediate_data_size); |
+ if (!validators_->matrix_mode.IsValid(matrixMode)) { |
+ LOCAL_SET_GL_ERROR_INVALID_ENUM( |
+ "glMatrixLoadfCHROMIUM", matrixMode, "matrixMode"); |
+ return error::kNoError; |
+ } |
+ if (m == NULL) { |
+ return error::kOutOfBounds; |
+ } |
+ DoMatrixLoadfCHROMIUM(matrixMode, m); |
+ return error::kNoError; |
+} |
+ |
+error::Error GLES2DecoderImpl::HandleMatrixLoadIdentityCHROMIUM( |
+ uint32 immediate_data_size, |
+ const gles2::cmds::MatrixLoadIdentityCHROMIUM& c) { |
+ GLenum matrixMode = static_cast<GLenum>(c.matrixMode); |
+ if (!validators_->matrix_mode.IsValid(matrixMode)) { |
+ LOCAL_SET_GL_ERROR_INVALID_ENUM( |
+ "glMatrixLoadIdentityCHROMIUM", matrixMode, "matrixMode"); |
+ return error::kNoError; |
+ } |
+ DoMatrixLoadIdentityCHROMIUM(matrixMode); |
+ return error::kNoError; |
+} |
+ |
bool GLES2DecoderImpl::SetCapabilityState(GLenum cap, bool enabled) { |
switch (cap) { |
case GL_BLEND: |