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

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

Issue 10535174: Addition of unpremultiply setting to GL_CHROMIUM_copy_texture. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Addressing review comments. Created 8 years, 6 months 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
===================================================================
--- gpu/command_buffer/service/gles2_cmd_decoder.cc (revision 141671)
+++ gpu/command_buffer/service/gles2_cmd_decoder.cc (working copy)
@@ -1388,8 +1388,9 @@
// unpack flip y as last set by glPixelStorei
bool unpack_flip_y_;
- // unpack premultiply alpha as last set by glPixelStorei
+ // unpack (un)premultiply alpha as last set by glPixelStorei
bool unpack_premultiply_alpha_;
+ bool unpack_unpremultiply_alpha_;
// The currently bound array buffer. If this is 0 it is illegal to call
// glVertexAttribPointer.
@@ -1904,6 +1905,7 @@
unpack_alignment_(4),
unpack_flip_y_(false),
unpack_premultiply_alpha_(false),
+ unpack_unpremultiply_alpha_(false),
attrib_0_buffer_id_(0),
attrib_0_buffer_matches_value_(true),
attrib_0_size_(0),
@@ -3834,6 +3836,24 @@
}
}
return true;
+ case GL_UNPACK_FLIP_Y_CHROMIUM:
+ *num_written = 1;
+ if (params) {
+ params[0] = unpack_flip_y_;
+ }
+ return true;
+ case GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM:
+ *num_written = 1;
+ if (params) {
+ params[0] = unpack_premultiply_alpha_;
+ }
+ return true;
+ case GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM:
+ *num_written = 1;
+ if (params) {
+ params[0] = unpack_unpremultiply_alpha_;
+ }
+ return true;
default:
*num_written = util_.GLGetNumValuesReturned(pname);
return false;
@@ -6365,6 +6385,9 @@
case GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM:
unpack_premultiply_alpha_ = (param != 0);
return error::kNoError;
+ case GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM:
+ unpack_unpremultiply_alpha_ = (param != 0);
+ return error::kNoError;
default:
break;
}
@@ -8825,7 +8848,8 @@
copy_texture_CHROMIUM_->DoCopyTexture(target, source_info->service_id(),
dest_info->service_id(), level,
unpack_flip_y_,
- unpack_premultiply_alpha_);
+ unpack_premultiply_alpha_,
+ unpack_unpremultiply_alpha_);
glViewport(viewport_x_, viewport_y_, viewport_width_, viewport_height_);
// Restore all of the state touched by the extension.

Powered by Google App Engine
This is Rietveld 408576698