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 86b36caa4d15da80394c9604c0e479e6ab7b0989..ee3bba56d16985f1c49e336efc7317e09594ccdc 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h |
@@ -3109,6 +3109,146 @@ error::Error GLES2DecoderImpl::HandleConsumeTextureCHROMIUMImmediate( |
return error::kNoError; |
} |
+error::Error GLES2DecoderImpl::HandleGenValuebuffersCHROMIUMImmediate( |
+ uint32_t immediate_data_size, |
+ const void* cmd_data) { |
+ const gles2::cmds::GenValuebuffersCHROMIUMImmediate& c = |
+ *static_cast<const gles2::cmds::GenValuebuffersCHROMIUMImmediate*>( |
+ cmd_data); |
+ (void)c; |
+ GLsizei n = static_cast<GLsizei>(c.n); |
+ uint32_t data_size; |
+ if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
+ return error::kOutOfBounds; |
+ } |
+ GLuint* buffers = |
+ GetImmediateDataAs<GLuint*>(c, data_size, immediate_data_size); |
+ if (buffers == NULL) { |
+ return error::kOutOfBounds; |
+ } |
+ if (!GenValuebuffersCHROMIUMHelper(n, buffers)) { |
+ return error::kInvalidArguments; |
+ } |
+ return error::kNoError; |
+} |
+ |
+error::Error GLES2DecoderImpl::HandleDeleteValuebuffersCHROMIUMImmediate( |
+ uint32_t immediate_data_size, |
+ const void* cmd_data) { |
+ const gles2::cmds::DeleteValuebuffersCHROMIUMImmediate& c = |
+ *static_cast<const gles2::cmds::DeleteValuebuffersCHROMIUMImmediate*>( |
+ cmd_data); |
+ (void)c; |
+ GLsizei n = static_cast<GLsizei>(c.n); |
+ uint32_t data_size; |
+ if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
+ return error::kOutOfBounds; |
+ } |
+ const GLuint* valuebuffers = |
+ GetImmediateDataAs<const GLuint*>(c, data_size, immediate_data_size); |
+ if (valuebuffers == NULL) { |
+ return error::kOutOfBounds; |
+ } |
+ DeleteValuebuffersCHROMIUMHelper(n, valuebuffers); |
+ return error::kNoError; |
+} |
+ |
+error::Error GLES2DecoderImpl::HandleIsValuebufferCHROMIUM( |
+ uint32_t immediate_data_size, |
+ const void* cmd_data) { |
+ const gles2::cmds::IsValuebufferCHROMIUM& c = |
+ *static_cast<const gles2::cmds::IsValuebufferCHROMIUM*>(cmd_data); |
+ (void)c; |
+ GLuint valuebuffer = c.valuebuffer; |
+ typedef cmds::IsValuebufferCHROMIUM::Result Result; |
+ Result* result_dst = GetSharedMemoryAs<Result*>( |
+ c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); |
+ if (!result_dst) { |
+ return error::kOutOfBounds; |
+ } |
+ *result_dst = DoIsValuebufferCHROMIUM(valuebuffer); |
+ return error::kNoError; |
+} |
+ |
+error::Error GLES2DecoderImpl::HandleBindValuebufferCHROMIUM( |
+ uint32_t immediate_data_size, |
+ const void* cmd_data) { |
+ const gles2::cmds::BindValuebufferCHROMIUM& c = |
+ *static_cast<const gles2::cmds::BindValuebufferCHROMIUM*>(cmd_data); |
+ (void)c; |
+ GLenum target = static_cast<GLenum>(c.target); |
+ GLuint valuebuffer = c.valuebuffer; |
+ if (!validators_->value_buffer_target.IsValid(target)) { |
+ LOCAL_SET_GL_ERROR_INVALID_ENUM("glBindValuebufferCHROMIUM", target, |
+ "target"); |
+ return error::kNoError; |
+ } |
+ DoBindValueBufferCHROMIUM(target, valuebuffer); |
+ return error::kNoError; |
+} |
+ |
+error::Error GLES2DecoderImpl::HandleSubscribeValueCHROMIUM( |
+ uint32_t immediate_data_size, |
+ const void* cmd_data) { |
+ const gles2::cmds::SubscribeValueCHROMIUM& c = |
+ *static_cast<const gles2::cmds::SubscribeValueCHROMIUM*>(cmd_data); |
+ (void)c; |
+ GLenum target = static_cast<GLenum>(c.target); |
+ GLenum subscription = static_cast<GLenum>(c.subscription); |
+ if (!validators_->value_buffer_target.IsValid(target)) { |
+ LOCAL_SET_GL_ERROR_INVALID_ENUM("glSubscribeValueCHROMIUM", target, |
+ "target"); |
+ return error::kNoError; |
+ } |
+ if (!validators_->subscription_target.IsValid(subscription)) { |
+ LOCAL_SET_GL_ERROR_INVALID_ENUM("glSubscribeValueCHROMIUM", subscription, |
+ "subscription"); |
+ return error::kNoError; |
+ } |
+ DoSubscribeValueCHROMIUM(target, subscription); |
+ return error::kNoError; |
+} |
+ |
+error::Error GLES2DecoderImpl::HandlePopulateSubscribedValuesCHROMIUM( |
+ uint32_t immediate_data_size, |
+ const void* cmd_data) { |
+ const gles2::cmds::PopulateSubscribedValuesCHROMIUM& c = |
+ *static_cast<const gles2::cmds::PopulateSubscribedValuesCHROMIUM*>( |
+ cmd_data); |
+ (void)c; |
+ GLenum target = static_cast<GLenum>(c.target); |
+ if (!validators_->value_buffer_target.IsValid(target)) { |
+ LOCAL_SET_GL_ERROR_INVALID_ENUM("glPopulateSubscribedValuesCHROMIUM", |
+ target, "target"); |
+ return error::kNoError; |
+ } |
+ DoPopulateSubscribedValuesCHROMIUM(target); |
+ return error::kNoError; |
+} |
+ |
+error::Error GLES2DecoderImpl::HandleUniformValuebufferCHROMIUM( |
+ uint32_t immediate_data_size, |
+ const void* cmd_data) { |
+ const gles2::cmds::UniformValuebufferCHROMIUM& c = |
+ *static_cast<const gles2::cmds::UniformValuebufferCHROMIUM*>(cmd_data); |
+ (void)c; |
+ GLint location = static_cast<GLint>(c.location); |
+ GLenum target = static_cast<GLenum>(c.target); |
+ GLenum subscription = static_cast<GLenum>(c.subscription); |
+ if (!validators_->value_buffer_target.IsValid(target)) { |
+ LOCAL_SET_GL_ERROR_INVALID_ENUM("glUniformValuebufferCHROMIUM", target, |
+ "target"); |
+ return error::kNoError; |
+ } |
+ if (!validators_->subscription_target.IsValid(subscription)) { |
+ LOCAL_SET_GL_ERROR_INVALID_ENUM("glUniformValuebufferCHROMIUM", |
+ subscription, "subscription"); |
+ return error::kNoError; |
+ } |
+ DoUniformValueBufferCHROMIUM(location, target, subscription); |
+ return error::kNoError; |
+} |
+ |
error::Error GLES2DecoderImpl::HandleBindTexImage2DCHROMIUM( |
uint32_t immediate_data_size, |
const void* cmd_data) { |