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

Unified Diff: gpu/command_buffer/service/gles2_cmd_decoder.cc

Issue 1474513003: Upgrade PixelStorei to ES3/WebGL2. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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.cc
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc
index 132e84f6d1b004fac55c8734a39129c754a3f84e..291d3f8738d5b18bd1a0c794d40f6e3a5b15d94e 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
@@ -9082,7 +9082,7 @@ error::Error GLES2DecoderImpl::HandlePixelStorei(uint32 immediate_data_size,
const gles2::cmds::PixelStorei& c =
*static_cast<const gles2::cmds::PixelStorei*>(cmd_data);
GLenum pname = c.pname;
- GLenum param = c.param;
+ GLint param = c.param;
if (!validators_->pixel_store.IsValid(pname)) {
LOCAL_SET_GL_ERROR_INVALID_ENUM("glPixelStorei", pname, "pname");
return error::kNoError;
@@ -9090,30 +9090,67 @@ error::Error GLES2DecoderImpl::HandlePixelStorei(uint32 immediate_data_size,
switch (pname) {
case GL_PACK_ALIGNMENT:
case GL_UNPACK_ALIGNMENT:
- if (!validators_->pixel_store_alignment.IsValid(param)) {
- LOCAL_SET_GL_ERROR(
- GL_INVALID_VALUE, "glPixelStorei", "param GL_INVALID_VALUE");
- return error::kNoError;
- }
- break;
+ if (!validators_->pixel_store_alignment.IsValid(param)) {
+ LOCAL_SET_GL_ERROR(
+ GL_INVALID_VALUE, "glPixelStorei", "invalid param");
+ return error::kNoError;
+ }
+ break;
+ case GL_PACK_ROW_LENGTH:
+ case GL_PACK_SKIP_PIXELS:
+ case GL_PACK_SKIP_ROWS:
+ case GL_UNPACK_ROW_LENGTH:
+ case GL_UNPACK_IMAGE_HEIGHT:
+ case GL_UNPACK_SKIP_PIXELS:
+ case GL_UNPACK_SKIP_ROWS:
+ case GL_UNPACK_SKIP_IMAGES:
+ if (param < 0) {
+ LOCAL_SET_GL_ERROR(
+ GL_INVALID_VALUE, "glPixelStorei", "invalid param");
+ return error::kNoError;
+ }
default:
- break;
+ break;
}
glPixelStorei(pname, param);
switch (pname) {
case GL_PACK_ALIGNMENT:
- state_.pack_alignment = param;
- break;
+ state_.pack_alignment = param;
+ break;
case GL_PACK_REVERSE_ROW_ORDER_ANGLE:
- state_.pack_reverse_row_order = (param != 0);
- break;
+ state_.pack_reverse_row_order = (param != 0);
+ break;
+ case GL_PACK_ROW_LENGTH:
+ state_.pack_row_length = param;
+ break;
+ case GL_PACK_SKIP_PIXELS:
+ state_.pack_skip_pixels = param;
+ break;
+ case GL_PACK_SKIP_ROWS:
+ state_.pack_skip_rows = param;
+ break;
case GL_UNPACK_ALIGNMENT:
- state_.unpack_alignment = param;
- break;
+ state_.unpack_alignment = param;
+ break;
+ case GL_UNPACK_ROW_LENGTH:
+ state_.unpack_row_length = param;
+ break;
+ case GL_UNPACK_IMAGE_HEIGHT:
+ state_.unpack_image_height = param;
+ break;
+ case GL_UNPACK_SKIP_PIXELS:
+ state_.unpack_skip_pixels = param;
+ break;
+ case GL_UNPACK_SKIP_ROWS:
+ state_.unpack_skip_rows = param;
+ break;
+ case GL_UNPACK_SKIP_IMAGES:
+ state_.unpack_skip_images = param;
+ break;
default:
- // Validation should have prevented us from getting here.
- NOTREACHED();
- break;
+ // Validation should have prevented us from getting here.
+ NOTREACHED();
+ break;
}
return error::kNoError;
}

Powered by Google App Engine
This is Rietveld 408576698