| Index: gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
|
| ===================================================================
|
| --- gpu/command_buffer/service/gles2_cmd_decoder_autogen.h (revision 186778)
|
| +++ gpu/command_buffer/service/gles2_cmd_decoder_autogen.h (working copy)
|
| @@ -3181,7 +3181,51 @@
|
| return error::kNoError;
|
| }
|
|
|
| +error::Error GLES2DecoderImpl::HandleDrawBuffersEXT(
|
| + uint32 immediate_data_size, const gles2::cmds::DrawBuffersEXT& c) {
|
| + GLsizei count = static_cast<GLsizei>(c.count);
|
| + uint32 data_size;
|
| + if (!ComputeDataSize(count, sizeof(GLenum), 1, &data_size)) {
|
| + return error::kOutOfBounds;
|
| + }
|
| + const GLenum* bufs = GetSharedMemoryAs<const GLenum*>(
|
| + c.bufs_shm_id, c.bufs_shm_offset, data_size);
|
| + if (count < 0) {
|
| + SetGLError(GL_INVALID_VALUE, "glDrawBuffersEXT", "count < 0");
|
| + return error::kNoError;
|
| + }
|
| + if (bufs == NULL) {
|
| + return error::kOutOfBounds;
|
| + }
|
| + DoDrawBuffersEXT(count, bufs);
|
| + return error::kNoError;
|
| +}
|
|
|
| +error::Error GLES2DecoderImpl::HandleDrawBuffersEXTImmediate(
|
| + uint32 immediate_data_size,
|
| + const gles2::cmds::DrawBuffersEXTImmediate& c) {
|
| + GLsizei count = static_cast<GLsizei>(c.count);
|
| + uint32 data_size;
|
| + if (!ComputeDataSize(count, sizeof(GLenum), 1, &data_size)) {
|
| + return error::kOutOfBounds;
|
| + }
|
| + if (data_size > immediate_data_size) {
|
| + return error::kOutOfBounds;
|
| + }
|
| + const GLenum* bufs = GetImmediateDataAs<const GLenum*>(
|
| + c, data_size, immediate_data_size);
|
| + if (count < 0) {
|
| + SetGLError(GL_INVALID_VALUE, "glDrawBuffersEXT", "count < 0");
|
| + return error::kNoError;
|
| + }
|
| + if (bufs == NULL) {
|
| + return error::kOutOfBounds;
|
| + }
|
| + DoDrawBuffersEXT(count, bufs);
|
| + return error::kNoError;
|
| +}
|
| +
|
| +
|
| bool GLES2DecoderImpl::SetCapabilityState(GLenum cap, bool enabled) {
|
| switch (cap) {
|
| case GL_BLEND:
|
|
|