| 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 cc4a9fd180b9a4a783a85065499316850aa18c67..4b5befba38c002c7156845e58fa6fdf6ccc7eec9 100644
|
| --- a/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
|
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
|
| @@ -5128,6 +5128,36 @@ error::Error GLES2DecoderImpl::HandleOverlayPromotionHintCHROMIUM(
|
| return error::kNoError;
|
| }
|
|
|
| +error::Error GLES2DecoderImpl::HandleSwapBuffersWithBoundsCHROMIUMImmediate(
|
| + uint32_t immediate_data_size,
|
| + const volatile void* cmd_data) {
|
| + const volatile gles2::cmds::SwapBuffersWithBoundsCHROMIUMImmediate& c =
|
| + *static_cast<
|
| + const volatile gles2::cmds::SwapBuffersWithBoundsCHROMIUMImmediate*>(
|
| + cmd_data);
|
| + GLsizei count = static_cast<GLsizei>(c.count);
|
| + uint32_t data_size = 0;
|
| + if (count >= 0 &&
|
| + !GLES2Util::ComputeDataSize(count, sizeof(GLint), 4, &data_size)) {
|
| + return error::kOutOfBounds;
|
| + }
|
| + if (data_size > immediate_data_size) {
|
| + return error::kOutOfBounds;
|
| + }
|
| + volatile const GLint* rects = GetImmediateDataAs<volatile const GLint*>(
|
| + c, data_size, immediate_data_size);
|
| + if (count < 0) {
|
| + LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glSwapBuffersWithBoundsCHROMIUM",
|
| + "count < 0");
|
| + return error::kNoError;
|
| + }
|
| + if (rects == NULL) {
|
| + return error::kOutOfBounds;
|
| + }
|
| + DoSwapBuffersWithBoundsCHROMIUM(count, rects);
|
| + return error::kNoError;
|
| +}
|
| +
|
| bool GLES2DecoderImpl::SetCapabilityState(GLenum cap, bool enabled) {
|
| switch (cap) {
|
| case GL_BLEND:
|
|
|