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

Unified Diff: gpu/command_buffer/client/gles2_implementation.cc

Issue 1203793003: Remove flip_y, premultiply_alpha, unmultiply_alpha support in command buffer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix Created 5 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/client/gles2_implementation.cc
diff --git a/gpu/command_buffer/client/gles2_implementation.cc b/gpu/command_buffer/client/gles2_implementation.cc
index 8d408fad39120e7cc14a58a683fa176463e6b195..f8d556a18ae51216ac52bc2add036525b2f46bbe 100644
--- a/gpu/command_buffer/client/gles2_implementation.cc
+++ b/gpu/command_buffer/client/gles2_implementation.cc
@@ -78,7 +78,6 @@ GLES2Implementation::GLES2Implementation(
chromium_framebuffer_multisample_(kUnknownExtensionStatus),
pack_alignment_(4),
unpack_alignment_(4),
- unpack_flip_y_(false),
unpack_row_length_(0),
unpack_image_height_(0),
unpack_skip_rows_(0),
@@ -1601,8 +1600,10 @@ void GLES2Implementation::PixelStorei(GLenum pname, GLint param) {
unpack_skip_images_ = param;
return;
case GL_UNPACK_FLIP_Y_CHROMIUM:
- unpack_flip_y_ = (param != 0);
- break;
+ case GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM:
+ case GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM:
+ // TODO(zmo): Remove this when blink side callers are removed.
+ return;
case GL_PACK_REVERSE_ROW_ORDER_ANGLE:
pack_reverse_row_order_ =
IsAnglePackReverseRowOrderAvailable() ? (param != 0) : false;
@@ -2098,23 +2099,15 @@ void CopyRectToBuffer(
uint32 height,
uint32 unpadded_row_size,
uint32 pixels_padded_row_size,
- bool flip_y,
void* buffer,
uint32 buffer_padded_row_size) {
const int8* source = static_cast<const int8*>(pixels);
int8* dest = static_cast<int8*>(buffer);
- if (flip_y || pixels_padded_row_size != buffer_padded_row_size) {
- if (flip_y) {
- dest += buffer_padded_row_size * (height - 1);
- }
+ if (pixels_padded_row_size != buffer_padded_row_size) {
// the last row is copied unpadded at the end
for (; height > 1; --height) {
memcpy(dest, source, buffer_padded_row_size);
- if (flip_y) {
- dest -= buffer_padded_row_size;
- } else {
- dest += buffer_padded_row_size;
- }
+ dest += buffer_padded_row_size;
source += pixels_padded_row_size;
}
memcpy(dest, source, unpadded_row_size);
@@ -2231,7 +2224,7 @@ void GLES2Implementation::TexImage2D(
if (buffer_pointer) {
CopyRectToBuffer(
- pixels, height, unpadded_row_size, src_padded_row_size, unpack_flip_y_,
+ pixels, height, unpadded_row_size, src_padded_row_size,
buffer_pointer, padded_row_size);
helper_->TexImage2D(
target, level, internalformat, width, height, format, type,
@@ -2360,9 +2353,8 @@ void GLES2Implementation::TexImage3D(
// Only the last row of the last image is unpadded.
uint32 src_unpadded_row_size =
(z == depth - 1) ? unpadded_row_size : src_padded_row_size;
- // TODO(zmo): Ignore flip_y flag for now.
CopyRectToBuffer(
- pixels, height, src_unpadded_row_size, src_padded_row_size, false,
+ pixels, height, src_unpadded_row_size, src_padded_row_size,
buffer_pointer, padded_row_size);
pixels = reinterpret_cast<const int8*>(pixels) +
src_padded_row_size * src_height;
@@ -2572,7 +2564,6 @@ void GLES2Implementation::TexSubImage2DImpl(
DCHECK_GT(width, 0);
const int8* source = reinterpret_cast<const int8*>(pixels);
- GLint original_yoffset = yoffset;
// Transfer by rows.
while (height) {
unsigned int desired_size =
@@ -2589,10 +2580,9 @@ void GLES2Implementation::TexSubImage2DImpl(
num_rows = std::min(num_rows, height);
CopyRectToBuffer(
source, num_rows, unpadded_row_size, pixels_padded_row_size,
- unpack_flip_y_, buffer->address(), buffer_padded_row_size);
- GLint y = unpack_flip_y_ ? original_yoffset + height - num_rows : yoffset;
+ buffer->address(), buffer_padded_row_size);
helper_->TexSubImage2D(
- target, level, xoffset, y, width, num_rows, format, type,
+ target, level, xoffset, yoffset, width, num_rows, format, type,
buffer->shm_id(), buffer->offset(), internal);
buffer->Release();
yoffset += num_rows;
@@ -2656,7 +2646,6 @@ void GLES2Implementation::TexSubImage3DImpl(
my_depth = 1;
}
- // TODO(zmo): Ignore flip_y flag for now.
if (num_images > 0) {
int8* buffer_pointer = reinterpret_cast<int8*>(buffer->address());
uint32 src_height =
@@ -2671,7 +2660,7 @@ void GLES2Implementation::TexSubImage3DImpl(
my_unpadded_row_size = pixels_padded_row_size;
CopyRectToBuffer(
source + ii * image_size_src, my_height, my_unpadded_row_size,
- pixels_padded_row_size, false, buffer_pointer + ii * image_size_dst,
+ pixels_padded_row_size, buffer_pointer + ii * image_size_dst,
buffer_padded_row_size);
}
} else {
@@ -2682,7 +2671,7 @@ void GLES2Implementation::TexSubImage3DImpl(
my_unpadded_row_size = pixels_padded_row_size;
CopyRectToBuffer(
source, my_height, my_unpadded_row_size, pixels_padded_row_size,
- false, buffer->address(), buffer_padded_row_size);
+ buffer->address(), buffer_padded_row_size);
}
helper_->TexSubImage3D(
target, level, xoffset, yoffset + row_index, zoffset + depth_index,
@@ -3121,7 +3110,6 @@ const GLubyte* GLES2Implementation::GetStringHelper(GLenum name) {
switch (name) {
case GL_EXTENSIONS:
str += std::string(str.empty() ? "" : " ") +
- "GL_CHROMIUM_flipy "
"GL_EXT_unpack_subimage "
"GL_CHROMIUM_map_sub";
if (capabilities_.image)
« no previous file with comments | « gpu/command_buffer/client/gles2_implementation.h ('k') | gpu/command_buffer/client/gles2_implementation_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698