Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(215)

Unified Diff: gpu/command_buffer/service/gles2_cmd_decoder_autogen.h

Issue 786123002: Update from https://crrev.com/307330 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 ebdb62517e5a8703ec57929a05221e21f61ae14b..b84fc2abf47d8a0bd5d81e6435a26a83a66118d1 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
@@ -1493,6 +1493,74 @@ error::Error GLES2DecoderImpl::HandleHint(uint32_t immediate_data_size,
return error::kNoError;
}
+error::Error GLES2DecoderImpl::HandleInvalidateFramebufferImmediate(
+ uint32_t immediate_data_size,
+ const void* cmd_data) {
+ if (!unsafe_es3_apis_enabled())
+ return error::kUnknownCommand;
+ const gles2::cmds::InvalidateFramebufferImmediate& c =
+ *static_cast<const gles2::cmds::InvalidateFramebufferImmediate*>(
+ cmd_data);
+ (void)c;
+ GLenum target = static_cast<GLenum>(c.target);
+ GLsizei count = static_cast<GLsizei>(c.count);
+ uint32_t data_size;
+ if (!ComputeDataSize(count, sizeof(GLenum), 1, &data_size)) {
+ return error::kOutOfBounds;
+ }
+ if (data_size > immediate_data_size) {
+ return error::kOutOfBounds;
+ }
+ const GLenum* attachments =
+ GetImmediateDataAs<const GLenum*>(c, data_size, immediate_data_size);
+ if (attachments == NULL) {
+ return error::kOutOfBounds;
+ }
+ glInvalidateFramebuffer(target, count, attachments);
+ return error::kNoError;
+}
+
+error::Error GLES2DecoderImpl::HandleInvalidateSubFramebufferImmediate(
+ uint32_t immediate_data_size,
+ const void* cmd_data) {
+ if (!unsafe_es3_apis_enabled())
+ return error::kUnknownCommand;
+ const gles2::cmds::InvalidateSubFramebufferImmediate& c =
+ *static_cast<const gles2::cmds::InvalidateSubFramebufferImmediate*>(
+ cmd_data);
+ (void)c;
+ GLenum target = static_cast<GLenum>(c.target);
+ GLsizei count = static_cast<GLsizei>(c.count);
+ uint32_t data_size;
+ if (!ComputeDataSize(count, sizeof(GLenum), 1, &data_size)) {
+ return error::kOutOfBounds;
+ }
+ if (data_size > immediate_data_size) {
+ return error::kOutOfBounds;
+ }
+ const GLenum* attachments =
+ GetImmediateDataAs<const GLenum*>(c, data_size, immediate_data_size);
+ GLint x = static_cast<GLint>(c.x);
+ GLint y = static_cast<GLint>(c.y);
+ GLsizei width = static_cast<GLsizei>(c.width);
+ GLsizei height = static_cast<GLsizei>(c.height);
+ if (attachments == NULL) {
+ return error::kOutOfBounds;
+ }
+ if (width < 0) {
+ LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glInvalidateSubFramebuffer",
+ "width < 0");
+ return error::kNoError;
+ }
+ if (height < 0) {
+ LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glInvalidateSubFramebuffer",
+ "height < 0");
+ return error::kNoError;
+ }
+ glInvalidateSubFramebuffer(target, count, attachments, x, y, width, height);
+ return error::kNoError;
+}
+
error::Error GLES2DecoderImpl::HandleIsBuffer(uint32_t immediate_data_size,
const void* cmd_data) {
const gles2::cmds::IsBuffer& c =
@@ -1653,6 +1721,18 @@ error::Error GLES2DecoderImpl::HandlePolygonOffset(uint32_t immediate_data_size,
return error::kNoError;
}
+error::Error GLES2DecoderImpl::HandleReadBuffer(uint32_t immediate_data_size,
+ const void* cmd_data) {
+ if (!unsafe_es3_apis_enabled())
+ return error::kUnknownCommand;
+ const gles2::cmds::ReadBuffer& c =
+ *static_cast<const gles2::cmds::ReadBuffer*>(cmd_data);
+ (void)c;
+ GLenum src = static_cast<GLenum>(c.src);
+ glReadBuffer(src);
+ return error::kNoError;
+}
+
error::Error GLES2DecoderImpl::HandleReleaseShaderCompiler(
uint32_t immediate_data_size,
const void* cmd_data) {
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_decoder.cc ('k') | gpu/command_buffer/service/gles2_cmd_decoder_unittest_1_autogen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698