| 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;
|
| }
|
|
|