| Index: gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
|
| ===================================================================
|
| --- gpu/command_buffer/service/gles2_cmd_decoder_autogen.h (revision 56887)
|
| +++ gpu/command_buffer/service/gles2_cmd_decoder_autogen.h (working copy)
|
| @@ -2723,6 +2723,68 @@
|
| return error::kNoError;
|
| }
|
|
|
| +error::Error GLES2DecoderImpl::HandleBlitFramebufferEXT(
|
| + uint32 immediate_data_size, const gles2::BlitFramebufferEXT& c) {
|
| + GLint srcX0 = static_cast<GLint>(c.srcX0);
|
| + GLint srcY0 = static_cast<GLint>(c.srcY0);
|
| + GLint srcX1 = static_cast<GLint>(c.srcX1);
|
| + GLint srcY1 = static_cast<GLint>(c.srcY1);
|
| + GLint dstX0 = static_cast<GLint>(c.dstX0);
|
| + GLint dstY0 = static_cast<GLint>(c.dstY0);
|
| + GLint dstX1 = static_cast<GLint>(c.dstX1);
|
| + GLint dstY1 = static_cast<GLint>(c.dstY1);
|
| + GLbitfield mask = static_cast<GLbitfield>(c.mask);
|
| + GLenum filter = static_cast<GLenum>(c.filter);
|
| + if (!validators_->blit_filter.IsValid(filter)) {
|
| + SetGLError(
|
| + GL_INVALID_ENUM, "glBlitFramebufferEXT: filter GL_INVALID_ENUM");
|
| + return error::kNoError;
|
| + }
|
| + DoBlitFramebufferEXT(
|
| + srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
|
| + return error::kNoError;
|
| +}
|
| +
|
| +error::Error GLES2DecoderImpl::HandleRenderbufferStorageMultisampleEXT(
|
| + uint32 immediate_data_size,
|
| + const gles2::RenderbufferStorageMultisampleEXT& c) {
|
| + GLenum target = static_cast<GLenum>(c.target);
|
| + GLsizei samples = static_cast<GLsizei>(c.samples);
|
| + GLenum internalformat = static_cast<GLenum>(c.internalformat);
|
| + GLsizei width = static_cast<GLsizei>(c.width);
|
| + GLsizei height = static_cast<GLsizei>(c.height);
|
| + if (!validators_->render_buffer_target.IsValid(target)) {
|
| + SetGLError(
|
| + GL_INVALID_ENUM,
|
| + "glRenderbufferStorageMultisampleEXT: target GL_INVALID_ENUM");
|
| + return error::kNoError;
|
| + }
|
| + if (samples < 0) {
|
| + SetGLError(
|
| + GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT: samples < 0");
|
| + return error::kNoError;
|
| + }
|
| + if (!validators_->render_buffer_format.IsValid(internalformat)) {
|
| + SetGLError(
|
| + GL_INVALID_ENUM,
|
| + "glRenderbufferStorageMultisampleEXT: internalformat GL_INVALID_ENUM");
|
| + return error::kNoError;
|
| + }
|
| + if (width < 0) {
|
| + SetGLError(
|
| + GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT: width < 0");
|
| + return error::kNoError;
|
| + }
|
| + if (height < 0) {
|
| + SetGLError(
|
| + GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT: height < 0");
|
| + return error::kNoError;
|
| + }
|
| + DoRenderbufferStorageMultisample(
|
| + target, samples, internalformat, width, height);
|
| + return error::kNoError;
|
| +}
|
| +
|
| error::Error GLES2DecoderImpl::HandleGetMaxValueInBuffer(
|
| uint32 immediate_data_size, const gles2::GetMaxValueInBuffer& c) {
|
| GLuint buffer_id = c.buffer_id;
|
|
|