Index: gpu/command_buffer/service/gles2_cmd_decoder_autogen.h |
=================================================================== |
--- gpu/command_buffer/service/gles2_cmd_decoder_autogen.h (revision 134729) |
+++ gpu/command_buffer/service/gles2_cmd_decoder_autogen.h (working copy) |
@@ -2736,5 +2736,97 @@ |
return error::kNoError; |
} |
+error::Error GLES2DecoderImpl::HandleProduceTextureCHROMIUM( |
+ uint32 immediate_data_size, const gles2::ProduceTextureCHROMIUM& c) { |
+ GLenum target = static_cast<GLenum>(c.target); |
+ uint32 data_size; |
+ if (!ComputeDataSize(1, sizeof(GLbyte), 64, &data_size)) { |
+ return error::kOutOfBounds; |
+ } |
+ const GLbyte* mailbox = GetSharedMemoryAs<const GLbyte*>( |
+ c.mailbox_shm_id, c.mailbox_shm_offset, data_size); |
+ if (!validators_->texture_target.IsValid(target)) { |
+ SetGLError( |
+ GL_INVALID_ENUM, "glProduceTextureCHROMIUM: target GL_INVALID_ENUM"); |
+ return error::kNoError; |
+ } |
+ if (mailbox == NULL) { |
+ return error::kOutOfBounds; |
+ } |
+ DoProduceTextureCHROMIUM(target, mailbox); |
+ return error::kNoError; |
+} |
+ |
+error::Error GLES2DecoderImpl::HandleProduceTextureCHROMIUMImmediate( |
+ uint32 immediate_data_size, |
+ const gles2::ProduceTextureCHROMIUMImmediate& c) { |
+ GLenum target = static_cast<GLenum>(c.target); |
+ uint32 data_size; |
+ if (!ComputeDataSize(1, sizeof(GLbyte), 64, &data_size)) { |
+ return error::kOutOfBounds; |
+ } |
+ if (data_size > immediate_data_size) { |
+ return error::kOutOfBounds; |
+ } |
+ const GLbyte* mailbox = GetImmediateDataAs<const GLbyte*>( |
+ c, data_size, immediate_data_size); |
+ if (!validators_->texture_target.IsValid(target)) { |
+ SetGLError( |
+ GL_INVALID_ENUM, "glProduceTextureCHROMIUM: target GL_INVALID_ENUM"); |
+ return error::kNoError; |
+ } |
+ if (mailbox == NULL) { |
+ return error::kOutOfBounds; |
+ } |
+ DoProduceTextureCHROMIUM(target, mailbox); |
+ return error::kNoError; |
+} |
+ |
+error::Error GLES2DecoderImpl::HandleConsumeTextureCHROMIUM( |
+ uint32 immediate_data_size, const gles2::ConsumeTextureCHROMIUM& c) { |
+ GLenum target = static_cast<GLenum>(c.target); |
+ uint32 data_size; |
+ if (!ComputeDataSize(1, sizeof(GLbyte), 64, &data_size)) { |
+ return error::kOutOfBounds; |
+ } |
+ const GLbyte* mailbox = GetSharedMemoryAs<const GLbyte*>( |
+ c.mailbox_shm_id, c.mailbox_shm_offset, data_size); |
+ if (!validators_->texture_target.IsValid(target)) { |
+ SetGLError( |
+ GL_INVALID_ENUM, "glConsumeTextureCHROMIUM: target GL_INVALID_ENUM"); |
+ return error::kNoError; |
+ } |
+ if (mailbox == NULL) { |
+ return error::kOutOfBounds; |
+ } |
+ DoConsumeTextureCHROMIUM(target, mailbox); |
+ return error::kNoError; |
+} |
+ |
+error::Error GLES2DecoderImpl::HandleConsumeTextureCHROMIUMImmediate( |
+ uint32 immediate_data_size, |
+ const gles2::ConsumeTextureCHROMIUMImmediate& c) { |
+ GLenum target = static_cast<GLenum>(c.target); |
+ uint32 data_size; |
+ if (!ComputeDataSize(1, sizeof(GLbyte), 64, &data_size)) { |
+ return error::kOutOfBounds; |
+ } |
+ if (data_size > immediate_data_size) { |
+ return error::kOutOfBounds; |
+ } |
+ const GLbyte* mailbox = GetImmediateDataAs<const GLbyte*>( |
+ c, data_size, immediate_data_size); |
+ if (!validators_->texture_target.IsValid(target)) { |
+ SetGLError( |
+ GL_INVALID_ENUM, "glConsumeTextureCHROMIUM: target GL_INVALID_ENUM"); |
+ return error::kNoError; |
+ } |
+ if (mailbox == NULL) { |
+ return error::kOutOfBounds; |
+ } |
+ DoConsumeTextureCHROMIUM(target, mailbox); |
+ return error::kNoError; |
+} |
+ |
#endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_AUTOGEN_H_ |