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

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

Issue 740083003: Add unsafe ES3 APIs to command buffer: glTexStorage3D (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@cb
Patch Set: Created 6 years, 1 month 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 bf6cb01d27759be5560148578d8362b6aaa1ba8a..ebdb62517e5a8703ec57929a05221e21f61ae14b 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
@@ -2045,6 +2045,39 @@ error::Error GLES2DecoderImpl::HandleTexParameterivImmediate(
return error::kNoError;
}
+error::Error GLES2DecoderImpl::HandleTexStorage3D(uint32_t immediate_data_size,
+ const void* cmd_data) {
+ if (!unsafe_es3_apis_enabled())
+ return error::kUnknownCommand;
+ const gles2::cmds::TexStorage3D& c =
+ *static_cast<const gles2::cmds::TexStorage3D*>(cmd_data);
+ (void)c;
+ GLenum target = static_cast<GLenum>(c.target);
+ GLsizei levels = static_cast<GLsizei>(c.levels);
+ GLenum internalFormat = static_cast<GLenum>(c.internalFormat);
+ GLsizei width = static_cast<GLsizei>(c.width);
+ GLsizei height = static_cast<GLsizei>(c.height);
+ GLsizei depth = static_cast<GLsizei>(c.depth);
+ if (levels < 0) {
+ LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glTexStorage3D", "levels < 0");
+ return error::kNoError;
+ }
+ if (width < 0) {
+ LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glTexStorage3D", "width < 0");
+ return error::kNoError;
+ }
+ if (height < 0) {
+ LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glTexStorage3D", "height < 0");
+ return error::kNoError;
+ }
+ if (depth < 0) {
+ LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glTexStorage3D", "depth < 0");
+ return error::kNoError;
+ }
+ glTexStorage3D(target, levels, internalFormat, width, height, depth);
+ return error::kNoError;
+}
+
error::Error GLES2DecoderImpl::HandleUniform1f(uint32_t immediate_data_size,
const void* cmd_data) {
const gles2::cmds::Uniform1f& c =

Powered by Google App Engine
This is Rietveld 408576698