| 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..6bb9acf627dfa2216c4966943bd78374fdc487cf 100644
|
| --- a/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
|
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
|
| @@ -3433,6 +3433,63 @@ error::Error GLES2DecoderImpl::HandleDrawBuffersEXTImmediate(
|
| return error::kNoError;
|
| }
|
|
|
| +error::Error GLES2DecoderImpl::HandleMatrixMode(
|
| + uint32 immediate_data_size,
|
| + const gles2::cmds::MatrixMode& c) {
|
| + GLenum mode = static_cast<GLenum>(c.mode);
|
| + if (!validators_->matrix_mode.IsValid(mode)) {
|
| + LOCAL_SET_GL_ERROR_INVALID_ENUM("glMatrixMode", mode, "mode");
|
| + return error::kNoError;
|
| + }
|
| + if (state_.matrix_mode != mode) {
|
| + state_.matrix_mode = mode;
|
| + glMatrixMode(mode);
|
| + }
|
| + return error::kNoError;
|
| +}
|
| +
|
| +error::Error GLES2DecoderImpl::HandleLoadMatrixf(
|
| + uint32 immediate_data_size,
|
| + const gles2::cmds::LoadMatrixf& c) {
|
| + 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 (m == NULL) {
|
| + return error::kOutOfBounds;
|
| + }
|
| + glLoadMatrixf(m);
|
| + return error::kNoError;
|
| +}
|
| +
|
| +error::Error GLES2DecoderImpl::HandleLoadMatrixfImmediate(
|
| + uint32 immediate_data_size,
|
| + const gles2::cmds::LoadMatrixfImmediate& c) {
|
| + 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 (m == NULL) {
|
| + return error::kOutOfBounds;
|
| + }
|
| + glLoadMatrixf(m);
|
| + return error::kNoError;
|
| +}
|
| +
|
| +error::Error GLES2DecoderImpl::HandleLoadIdentity(
|
| + uint32 immediate_data_size,
|
| + const gles2::cmds::LoadIdentity& c) {
|
| + glLoadIdentity();
|
| + return error::kNoError;
|
| +}
|
| +
|
| bool GLES2DecoderImpl::SetCapabilityState(GLenum cap, bool enabled) {
|
| switch (cap) {
|
| case GL_BLEND:
|
|
|