| Index: gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
|
| ===================================================================
|
| --- gpu/command_buffer/service/gles2_cmd_decoder_autogen.h (revision 133771)
|
| +++ 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(char), 32, &data_size)) {
|
| + return error::kOutOfBounds;
|
| + }
|
| + const char* mailbox = GetSharedMemoryAs<const char*>(
|
| + 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(char), 32, &data_size)) {
|
| + return error::kOutOfBounds;
|
| + }
|
| + if (data_size > immediate_data_size) {
|
| + return error::kOutOfBounds;
|
| + }
|
| + const char* mailbox = GetImmediateDataAs<const char*>(
|
| + 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(char), 32, &data_size)) {
|
| + return error::kOutOfBounds;
|
| + }
|
| + const char* mailbox = GetSharedMemoryAs<const char*>(
|
| + 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(char), 32, &data_size)) {
|
| + return error::kOutOfBounds;
|
| + }
|
| + if (data_size > immediate_data_size) {
|
| + return error::kOutOfBounds;
|
| + }
|
| + const char* mailbox = GetImmediateDataAs<const char*>(
|
| + 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_
|
|
|
|
|