New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 667966 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 703375

Blocking:
issue 667431
issue 687362



Sign in to add a comment

cc: Add legacy mode color correction to all compositor shaders

Project Member Reported by ccameron@chromium.org, Nov 23 2016

Issue description

In this mode, whenever we read from a texture, we will convert that texture's color to the output color space immediately. All further operations (e.g, blending) will be done in the output color space.

The heavy lifting for this bug has been done in  issue 622133 . The further work just involves
- ensuring that all resources are tagged with the appropriate color space
- updating all shaders to perform color conversion

The following document discusses the power overhead of this conversion:
https://docs.google.com/document/d/1lTyFs7_BtBAdL0ChoUtq1RVmP_1boGcnpqiNuNY5Ugk/edit?usp=sharing

 
Cc: enne@chromium.org
The following design document discusses the implementation details (only the first section is needed)

https://docs.google.com/document/d/1ZalDw-R5G8rFICZdKG--NRKnVkJbEUMAF7fPivE9lN0/edit#
Cc: hubbe@chromium.org
Blockedon: 676054
Cc: ericrk@chromium.org
This will require a pretty big refactor of cc/output/shader.cc. The file appears to have grown organically over time with lots of copy-pasta.
For future reference, the class diagram for the fragment shaders is as follows.

FragmentTexBlendMode
  FragmentTexAlphaBinding 
    FragmentShaderRGBATexAlpha 
    FragmentShaderRGBATexSwizzleAlpha 
  FragmentTexColorMatrixAlphaBinding 
    FragmentShaderRGBATexColorMatrixAlpha 
  FragmentTexOpaqueBinding 
    FragmentShaderRGBATexVaryingAlpha 
    FragmentShaderRGBATexPremultiplyAlpha 
    FragmentShaderRGBATexOpaque 
    FragmentShaderRGBATex 
    FragmentShaderRGBATexSwizzleOpaque 
  FragmentTexBackgroundBinding 
    FragmentShaderTexBackgroundVaryingAlpha 
    FragmentShaderTexBackgroundPremultiplyAlpha 
  FragmentShaderRGBATexAlphaAA 
  FragmentTexClampAlphaAABinding 
    FragmentShaderRGBATexClampAlphaAA 
    FragmentShaderRGBATexClampSwizzleAlphaAA 
  FragmentShaderRGBATexAlphaMask 
  FragmentShaderRGBATexAlphaMaskAA 
  FragmentShaderRGBATexAlphaMaskColorMatrixAA 
  FragmentShaderRGBATexAlphaColorMatrixAA 
  FragmentShaderRGBATexAlphaMaskColorMatrix 
  FragmentShaderYUVVideo 
  FragmentShaderColor 
  FragmentShaderColorAA

It may be possible to just add color conversion to FragmentTexBlendMode, but I'd prefer to emit a version of the shaders that does not include any code for color conversion (since that will be the common case).
Project Member

Comment 6 by bugdroid1@chromium.org, Dec 30 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c9e49bd0436fa86076fb867417d9462b815db6c1

commit c9e49bd0436fa86076fb867417d9462b815db6c1
Author: ccameron <ccameron@chromium.org>
Date: Fri Dec 30 01:46:26 2016

The great shader refactor: Delete instances of GetShaderSource

There comes a time, around the 20th time that we copy-paste the same
function into a new subclass, that we should consider moving the
function to the base class.

For GetShaderSource, that moment has arrived.

Also rename FragmentTexBlendMode to FragmentShaderBase to reflect that
- it is indeed the base class of all fragment programs
- even the ones that don't use custom blend modes
- even the ones that don't use texturing

Also also, merge fragment "head" and "body" distinction in shaders. They
will all be deleted soon, and merging them makes seeing common patterns
easier.

TBR=ericrk
BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2605343002
Cr-Commit-Position: refs/heads/master@{#441013}

[modify] https://crrev.com/c9e49bd0436fa86076fb867417d9462b815db6c1/cc/output/shader.cc
[modify] https://crrev.com/c9e49bd0436fa86076fb867417d9462b815db6c1/cc/output/shader.h

Project Member

Comment 7 by bugdroid1@chromium.org, Jan 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f9fa543ecdbcf8a51ad0992d943ca77e20d7991c

commit f9fa543ecdbcf8a51ad0992d943ca77e20d7991c
Author: ccameron <ccameron@chromium.org>
Date: Tue Jan 03 23:24:49 2017

The great shader refactor: Merge fragment uniforms

Move uniform management to the base fragment program, rather than
repeating them in every sub-class.

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2601343002
Cr-Commit-Position: refs/heads/master@{#441249}

[modify] https://crrev.com/f9fa543ecdbcf8a51ad0992d943ca77e20d7991c/cc/output/shader.cc
[modify] https://crrev.com/f9fa543ecdbcf8a51ad0992d943ca77e20d7991c/cc/output/shader.h

Project Member

Comment 8 by bugdroid1@chromium.org, Jan 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f9fa543ecdbcf8a51ad0992d943ca77e20d7991c

commit f9fa543ecdbcf8a51ad0992d943ca77e20d7991c
Author: ccameron <ccameron@chromium.org>
Date: Tue Jan 03 23:24:49 2017

The great shader refactor: Merge fragment uniforms

Move uniform management to the base fragment program, rather than
repeating them in every sub-class.

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2601343002
Cr-Commit-Position: refs/heads/master@{#441249}

[modify] https://crrev.com/f9fa543ecdbcf8a51ad0992d943ca77e20d7991c/cc/output/shader.cc
[modify] https://crrev.com/f9fa543ecdbcf8a51ad0992d943ca77e20d7991c/cc/output/shader.h

Project Member

Comment 9 by bugdroid1@chromium.org, Jan 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f9977a81c916aca92d423d9c07c5b01284022d99

commit f9977a81c916aca92d423d9c07c5b01284022d99
Author: ccameron <ccameron@chromium.org>
Date: Wed Jan 04 04:25:19 2017

The great shader refactor: Merge fragment shaders into an uber-shader

None of the fragment shader sub-classes actually need to exist.

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2608863002
Cr-Commit-Position: refs/heads/master@{#441315}

[modify] https://crrev.com/f9977a81c916aca92d423d9c07c5b01284022d99/cc/output/shader.cc
[modify] https://crrev.com/f9977a81c916aca92d423d9c07c5b01284022d99/cc/output/shader.h

Project Member

Comment 10 by bugdroid1@chromium.org, Jan 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6ff6e178c890ac2402b6bebb99a6b615b74ea9c9

commit 6ff6e178c890ac2402b6bebb99a6b615b74ea9c9
Author: ccameron <ccameron@chromium.org>
Date: Wed Jan 04 22:42:57 2017

The great shader refactor: Prepare to merge all vertex shaders.

Move all uniform locations into a single base class (but leave
configuring them to the sub-classes).

Merge all the head and body of vertex shaders into one segment.

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2610803002
Cr-Commit-Position: refs/heads/master@{#441496}

[modify] https://crrev.com/6ff6e178c890ac2402b6bebb99a6b615b74ea9c9/cc/output/shader.cc
[modify] https://crrev.com/6ff6e178c890ac2402b6bebb99a6b615b74ea9c9/cc/output/shader.h

Project Member

Comment 11 by bugdroid1@chromium.org, Jan 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f65aa1847f78fb5a5d944723de974906e987f544

commit f65aa1847f78fb5a5d944723de974906e987f544
Author: ccameron <ccameron@chromium.org>
Date: Mon Jan 09 21:38:36 2017

The great shader refactor: Merge all vertex shaders

There are lots of idiosyncracies here, particularly with respect to
texture coordinate transformations.

This makes an effort to change no behavior, including cargo-culting
all of the dummy variables.

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2617673002
Cr-Commit-Position: refs/heads/master@{#442359}

[modify] https://crrev.com/f65aa1847f78fb5a5d944723de974906e987f544/cc/output/gl_renderer.cc
[modify] https://crrev.com/f65aa1847f78fb5a5d944723de974906e987f544/cc/output/shader.cc
[modify] https://crrev.com/f65aa1847f78fb5a5d944723de974906e987f544/cc/output/shader.h

Project Member

Comment 12 by bugdroid1@chromium.org, Jan 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a94e1212122cbd16cab63f2d10ed9e8a74a8fe98

commit a94e1212122cbd16cab63f2d10ed9e8a74a8fe98
Author: ccameron <ccameron@chromium.org>
Date: Wed Jan 11 01:37:47 2017

The great shader refactor: Separate initialization from ctor

This moves initialization of parameters to SetSubclassProperties.
The next step is to clean up initialization to use a common program
descriptor. In that patch, I'll change these functions to
CheckSubclassProperties, so that I can DCHECK that I didn't change
anything.

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2626823002
Cr-Commit-Position: refs/heads/master@{#442761}

[modify] https://crrev.com/a94e1212122cbd16cab63f2d10ed9e8a74a8fe98/cc/output/gl_renderer.cc
[modify] https://crrev.com/a94e1212122cbd16cab63f2d10ed9e8a74a8fe98/cc/output/program_binding.h
[modify] https://crrev.com/a94e1212122cbd16cab63f2d10ed9e8a74a8fe98/cc/output/shader.cc
[modify] https://crrev.com/a94e1212122cbd16cab63f2d10ed9e8a74a8fe98/cc/output/shader.h

Project Member

Comment 13 by bugdroid1@chromium.org, Jan 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a94e1212122cbd16cab63f2d10ed9e8a74a8fe98

commit a94e1212122cbd16cab63f2d10ed9e8a74a8fe98
Author: ccameron <ccameron@chromium.org>
Date: Wed Jan 11 01:37:47 2017

The great shader refactor: Separate initialization from ctor

This moves initialization of parameters to SetSubclassProperties.
The next step is to clean up initialization to use a common program
descriptor. In that patch, I'll change these functions to
CheckSubclassProperties, so that I can DCHECK that I didn't change
anything.

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2626823002
Cr-Commit-Position: refs/heads/master@{#442761}

[modify] https://crrev.com/a94e1212122cbd16cab63f2d10ed9e8a74a8fe98/cc/output/gl_renderer.cc
[modify] https://crrev.com/a94e1212122cbd16cab63f2d10ed9e8a74a8fe98/cc/output/program_binding.h
[modify] https://crrev.com/a94e1212122cbd16cab63f2d10ed9e8a74a8fe98/cc/output/shader.cc
[modify] https://crrev.com/a94e1212122cbd16cab63f2d10ed9e8a74a8fe98/cc/output/shader.h

Project Member

Comment 14 by bugdroid1@chromium.org, Jan 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4183067b5afba105939fef7dbd4082295ad2791f

commit 4183067b5afba105939fef7dbd4082295ad2791f
Author: ccameron <ccameron@chromium.org>
Date: Thu Jan 12 21:24:59 2017

The great shader refactor: Move all programs to a common cache

The various programs stored in GLRenderer are 5-dimensional arrays,
and adding color conversion to them would require adding a 6th
dimension.

Create a ProgramKey structure that uniquely identifies a program, and
create a single unordered_map to cache programs.

Gut all off the GLRenderer::Get*Program* functions, to just call a
common GLRenderer::GetProgram function, which takes this key.

Adding color conversion will now just consist of adding a new field to
the ProgramKey structure. Before we do that, we'll remove all of the
(now-stub) GLRenderer::Get*Program* functions, and have the callers
all call GLRenderer::GetProgram.

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2613903002
Cr-Commit-Position: refs/heads/master@{#443362}

[modify] https://crrev.com/4183067b5afba105939fef7dbd4082295ad2791f/cc/output/gl_renderer.cc
[modify] https://crrev.com/4183067b5afba105939fef7dbd4082295ad2791f/cc/output/gl_renderer.h
[modify] https://crrev.com/4183067b5afba105939fef7dbd4082295ad2791f/cc/output/gl_renderer_unittest.cc
[modify] https://crrev.com/4183067b5afba105939fef7dbd4082295ad2791f/cc/output/program_binding.h
[modify] https://crrev.com/4183067b5afba105939fef7dbd4082295ad2791f/cc/output/shader.h

Project Member

Comment 15 by bugdroid1@chromium.org, Jan 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/eb97055cd797c4fce7e56afdb010ea8c8657f772

commit eb97055cd797c4fce7e56afdb010ea8c8657f772
Author: ccameron <ccameron@chromium.org>
Date: Thu Jan 12 22:31:19 2017

The great shader refactor: Clean up GLRenderer

Get rid of the functions to get each individual program type, and
replace them with calls to GetProgram with the appropriate key.

Move uniform tracking to ProgramBinding, and get rid of all of the
various "uniform cache" structures that were created to handle getting
uniforms from all of the different shader types.

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2622243003
Cr-Commit-Position: refs/heads/master@{#443387}

[modify] https://crrev.com/eb97055cd797c4fce7e56afdb010ea8c8657f772/cc/output/gl_renderer.cc
[modify] https://crrev.com/eb97055cd797c4fce7e56afdb010ea8c8657f772/cc/output/gl_renderer.h
[modify] https://crrev.com/eb97055cd797c4fce7e56afdb010ea8c8657f772/cc/output/gl_renderer_unittest.cc
[modify] https://crrev.com/eb97055cd797c4fce7e56afdb010ea8c8657f772/cc/output/program_binding.h
[modify] https://crrev.com/eb97055cd797c4fce7e56afdb010ea8c8657f772/cc/output/shader.cc
[modify] https://crrev.com/eb97055cd797c4fce7e56afdb010ea8c8657f772/cc/output/shader.h

Project Member

Comment 16 by bugdroid1@chromium.org, Jan 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6fead58e757f82f414c973a056e85006e80192dc

commit 6fead58e757f82f414c973a056e85006e80192dc
Author: ccameron <ccameron@chromium.org>
Date: Fri Jan 13 22:36:47 2017

The great shader refactor: Merge YUV shader class

This merges the YUV fragment shader into the base class, but only by
adding a "if YUV then go do something completely different" clause.
A subsequent patch will actually merge into the shader generation.

Since we no longer have any sub-classes, get rid of the "Base" from the
shader class names, and the templating of ProgramBinding (and rename it
to just Program).

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2622053005
Cr-Commit-Position: refs/heads/master@{#443703}

[modify] https://crrev.com/6fead58e757f82f414c973a056e85006e80192dc/cc/output/gl_renderer.cc
[modify] https://crrev.com/6fead58e757f82f414c973a056e85006e80192dc/cc/output/gl_renderer.h
[modify] https://crrev.com/6fead58e757f82f414c973a056e85006e80192dc/cc/output/gl_renderer_unittest.cc
[modify] https://crrev.com/6fead58e757f82f414c973a056e85006e80192dc/cc/output/program_binding.cc
[modify] https://crrev.com/6fead58e757f82f414c973a056e85006e80192dc/cc/output/program_binding.h
[modify] https://crrev.com/6fead58e757f82f414c973a056e85006e80192dc/cc/output/shader.cc
[modify] https://crrev.com/6fead58e757f82f414c973a056e85006e80192dc/cc/output/shader.h

Project Member

Comment 17 by bugdroid1@chromium.org, Jan 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e5ba90a56a6e2249ef0f5782fef4c1b5bd0f878e

commit e5ba90a56a6e2249ef0f5782fef4c1b5bd0f878e
Author: ccameron <ccameron@chromium.org>
Date: Sat Jan 14 01:24:18 2017

The great shader refactor: Add YUV support to the uber shader

This covers all cases except when color conversion is required.
For color conversion, the existing video shaders convert directly
from YUV to output RGB, which doesn't fit in with the rest of the
shaders.

The next step is to make color conversion always be RGB to RGB, and
make color conversion be orthogonal to YUV versus RGB input.

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2628183002
Cr-Commit-Position: refs/heads/master@{#443758}

[modify] https://crrev.com/e5ba90a56a6e2249ef0f5782fef4c1b5bd0f878e/cc/output/gl_renderer.cc
[modify] https://crrev.com/e5ba90a56a6e2249ef0f5782fef4c1b5bd0f878e/cc/output/gl_renderer_unittest.cc
[modify] https://crrev.com/e5ba90a56a6e2249ef0f5782fef4c1b5bd0f878e/cc/output/program_binding.cc
[modify] https://crrev.com/e5ba90a56a6e2249ef0f5782fef4c1b5bd0f878e/cc/output/program_binding.h
[modify] https://crrev.com/e5ba90a56a6e2249ef0f5782fef4c1b5bd0f878e/cc/output/shader.cc
[modify] https://crrev.com/e5ba90a56a6e2249ef0f5782fef4c1b5bd0f878e/cc/output/shader.h

Project Member

Comment 18 by bugdroid1@chromium.org, Jan 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/44f12b27985c6465c564b4841f0cd05833cdb5c4

commit 44f12b27985c6465c564b4841f0cd05833cdb5c4
Author: ccameron <ccameron@chromium.org>
Date: Thu Jan 19 22:14:20 2017

The great shader refactor: Finish merging YUV shaders

Get rid of the remaining odd-one-out behavior for YUV shaders with
color conversion.

Move the YUV-to-RGB math in GLRenderer to a helper function and point
out that it is duplicated code.

Get dir of unnecessarily cached uniform locations.

Make decisions based on behavior, not whether or not uniform locations
are not -1.

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2647743002
Cr-Commit-Position: refs/heads/master@{#444857}

[modify] https://crrev.com/44f12b27985c6465c564b4841f0cd05833cdb5c4/cc/output/gl_renderer.cc
[modify] https://crrev.com/44f12b27985c6465c564b4841f0cd05833cdb5c4/cc/output/gl_renderer_unittest.cc
[modify] https://crrev.com/44f12b27985c6465c564b4841f0cd05833cdb5c4/cc/output/program_binding.h
[modify] https://crrev.com/44f12b27985c6465c564b4841f0cd05833cdb5c4/cc/output/shader.cc
[modify] https://crrev.com/44f12b27985c6465c564b4841f0cd05833cdb5c4/cc/output/shader.h

Blocking: 687362
Project Member

Comment 20 by bugdroid1@chromium.org, Feb 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5f73187dc5b79607d4110d9d0519d1a474f01ee7

commit 5f73187dc5b79607d4110d9d0519d1a474f01ee7
Author: ccameron <ccameron@chromium.org>
Date: Fri Feb 03 00:18:14 2017

Towards deleting YUV to RGB computation redundancy

Make the GetTransferMatrix and GetRangeAdjustMatrix functions part of
gfx::ColorSpace instead of gfx::ColorSpaceTransform, and call them from
GLRenderer to compute the YUV to RGB matrix and offset.

Do not actually use the new computation results yet, because they break
pixel tests. Rather, add a DCHECK that the new results are very close to
the previous values being used (within 1/255.f).

Fix the transfer matrix for SMPTE170M to have Kb=0.114 instead of 0.144.

Change the definition of gfx::ColorSpace::CreateJPEG to use the Rec601
transfer matrix, not Rec709. This is necessary for the resulting YUV to
RGB conversion to match the previous behavior.

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2670773002
Cr-Commit-Position: refs/heads/master@{#447893}

[modify] https://crrev.com/5f73187dc5b79607d4110d9d0519d1a474f01ee7/cc/output/gl_renderer.cc
[modify] https://crrev.com/5f73187dc5b79607d4110d9d0519d1a474f01ee7/ui/gfx/BUILD.gn
[modify] https://crrev.com/5f73187dc5b79607d4110d9d0519d1a474f01ee7/ui/gfx/color_space.cc
[modify] https://crrev.com/5f73187dc5b79607d4110d9d0519d1a474f01ee7/ui/gfx/color_space.h
[add] https://crrev.com/5f73187dc5b79607d4110d9d0519d1a474f01ee7/ui/gfx/color_space_unittest.cc
[modify] https://crrev.com/5f73187dc5b79607d4110d9d0519d1a474f01ee7/ui/gfx/color_transform.cc
[modify] https://crrev.com/5f73187dc5b79607d4110d9d0519d1a474f01ee7/ui/gfx/color_transform_unittest.cc

Project Member

Comment 21 by bugdroid1@chromium.org, Feb 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cf72df57524576aec7e502b06c2d2994a56f05d4

commit cf72df57524576aec7e502b06c2d2994a56f05d4
Author: ccameron <ccameron@chromium.org>
Date: Mon Feb 06 05:44:28 2017

cc: Delete old YUV code

The previous patches added DCHECKs that the matrices used in the old
path and the new path were within 1/256 of each other.

This patch deletes the old path, and rebaselines a couple of images
which are marinally different due to rounding error.

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2675753003
Cr-Commit-Position: refs/heads/master@{#448215}

[modify] https://crrev.com/cf72df57524576aec7e502b06c2d2994a56f05d4/cc/output/gl_renderer.cc
[modify] https://crrev.com/cf72df57524576aec7e502b06c2d2994a56f05d4/cc/test/data/intersecting_blue_green_squares_video.png
[modify] https://crrev.com/cf72df57524576aec7e502b06c2d2994a56f05d4/cc/test/data/yuv_stripes_offset.png
[modify] https://crrev.com/cf72df57524576aec7e502b06c2d2994a56f05d4/third_party/WebKit/LayoutTests/TestExpectations

Project Member

Comment 22 by bugdroid1@chromium.org, Feb 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ea0db23fb2e131fc223628e6dc40d84c66fee816

commit ea0db23fb2e131fc223628e6dc40d84c66fee816
Author: Rebaseline Bot <blink-rebaseline-bot@chromium.org>
Date: Wed Feb 08 02:28:03 2017

Auto-rebaseline for r448215

Build: https://build.chromium.org/p/chromium.infra.cron/builders/rebaseline-o-matic/builds/598385

https://chromium.googlesource.com/chromium/src/+/cf72df5752457

BUG= 667966 
TBR=ccameron@chromium.org

Review-Url: https://codereview.chromium.org/2680163003 .
Cr-Commit-Position: refs/heads/master@{#448864}

[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/TestExpectations
[delete] https://crrev.com/f45c88123e13fe4eaf095784ebd82406a9e7cf36/third_party/WebKit/LayoutTests/compositing/video/video-reflection-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/media/color-profile-video-expected.png
[add] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/media/color-profile-video-seek-expected.png
[delete] https://crrev.com/f45c88123e13fe4eaf095784ebd82406a9e7cf36/third_party/WebKit/LayoutTests/media/color-profile-video-seek-object-fit-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/compositing/geometry/video-fixed-scrolling-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/compositing/geometry/video-opacity-overlay-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/compositing/layers-inside-overflow-scroll-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/overflow-compositing-descendant-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/scroll-ancestor-update-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/compositing/reflections/load-video-in-reflection-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/compositing/self-painting-layers-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/compositing/video-frame-size-change-expected.png
[add] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/compositing/video/video-reflection-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/compositing/visibility/visibility-simple-video-layer-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-ratio-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-shadow-expected.png
[delete] https://crrev.com/f45c88123e13fe4eaf095784ebd82406a9e7cf36/third_party/WebKit/LayoutTests/platform/linux/media/color-profile-video-seek-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/media/color-profile-video-seek-filter-expected.png
[add] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/media/color-profile-video-seek-object-fit-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/media/track/track-cue-rendering-horizontal-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/media/track/track-cue-rendering-vertical-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/media/video-aspect-ratio-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/media/video-canvas-alpha-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/media/video-colorspace-yuv420-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/media/video-colorspace-yuv422-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/media/video-layer-crash-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/media/video-overlay-cast-dark-rendering-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/media/video-overlay-cast-light-rendering-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/media/video-remove-insert-repaints-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/media/video-replaces-poster-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/media/video-transformed-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/media/video-zoom-controls-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/media/video-zoom-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/virtual/android/fullscreen/full-screen-iframe-allowed-video-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/virtual/android/fullscreen/video-controls-timeline-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/virtual/android/fullscreen/video-scrolled-iframe-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-compositing-descendant-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scroll-ancestor-update-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/linux/virtual/threaded/compositing/visibility/visibility-simple-video-layer-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac-mac10.10/media/track/track-cue-rendering-vertical-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac-mac10.9/media/track/track-cue-rendering-vertical-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/compositing/geometry/video-fixed-scrolling-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/compositing/geometry/video-opacity-overlay-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/compositing/layers-inside-overflow-scroll-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/compositing/overflow/overflow-compositing-descendant-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/compositing/overflow/scroll-ancestor-update-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/compositing/reflections/load-video-in-reflection-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/compositing/self-painting-layers-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/compositing/video-frame-size-change-expected.png
[add] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/compositing/video/video-reflection-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/compositing/visibility/visibility-simple-video-layer-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-ratio-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-shadow-expected.png
[delete] https://crrev.com/f45c88123e13fe4eaf095784ebd82406a9e7cf36/third_party/WebKit/LayoutTests/platform/mac/media/color-profile-video-seek-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/media/color-profile-video-seek-filter-expected.png
[add] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/media/color-profile-video-seek-object-fit-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/media/track/track-cue-rendering-horizontal-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/media/track/track-cue-rendering-vertical-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/media/video-aspect-ratio-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/media/video-canvas-alpha-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/media/video-colorspace-yuv420-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/media/video-colorspace-yuv422-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/media/video-layer-crash-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/media/video-overlay-cast-dark-rendering-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/media/video-overlay-cast-light-rendering-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/media/video-remove-insert-repaints-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/media/video-replaces-poster-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/media/video-transformed-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/media/video-zoom-controls-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/media/video-zoom-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-compositing-descendant-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scroll-ancestor-update-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/mac/virtual/threaded/compositing/visibility/visibility-simple-video-layer-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/compositing/geometry/video-fixed-scrolling-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/compositing/geometry/video-opacity-overlay-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/compositing/layers-inside-overflow-scroll-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/overflow-compositing-descendant-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/scroll-ancestor-update-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/compositing/reflections/load-video-in-reflection-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/compositing/self-painting-layers-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/compositing/video-frame-size-change-expected.png
[add] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/compositing/video/video-reflection-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/compositing/visibility/visibility-simple-video-layer-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-ratio-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-shadow-expected.png
[delete] https://crrev.com/f45c88123e13fe4eaf095784ebd82406a9e7cf36/third_party/WebKit/LayoutTests/platform/win/media/color-profile-video-seek-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/media/color-profile-video-seek-filter-expected.png
[add] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/media/color-profile-video-seek-object-fit-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/media/track/track-cue-rendering-horizontal-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/media/track/track-cue-rendering-vertical-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/media/video-aspect-ratio-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/media/video-canvas-alpha-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/media/video-colorspace-yuv420-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/media/video-colorspace-yuv422-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/media/video-overlay-cast-dark-rendering-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/media/video-overlay-cast-light-rendering-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/media/video-remove-insert-repaints-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/media/video-replaces-poster-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/media/video-zoom-controls-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/media/video-zoom-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-compositing-descendant-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scroll-ancestor-update-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win/virtual/threaded/compositing/visibility/visibility-simple-video-layer-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win7/media/track/track-cue-rendering-vertical-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win7/media/video-layer-crash-expected.png
[modify] https://crrev.com/ea0db23fb2e131fc223628e6dc40d84c66fee816/third_party/WebKit/LayoutTests/platform/win7/media/video-transformed-expected.png

Project Member

Comment 23 by bugdroid1@chromium.org, Feb 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/80f3afb13a970dc64b835ce91f3f1c16466c836d

commit 80f3afb13a970dc64b835ce91f3f1c16466c836d
Author: ccameron <ccameron@chromium.org>
Date: Wed Feb 08 22:53:37 2017

cc: Remove more uniform location caching

Because we know the cc::Program that is bound, we can just specify the
values we want to set, and look up the uniform locations from the bound
program.

Also, merge lots of redundant code into SetShader* functions.

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2687653002
Cr-Commit-Position: refs/heads/master@{#449121}

[modify] https://crrev.com/80f3afb13a970dc64b835ce91f3f1c16466c836d/cc/output/gl_renderer.cc
[modify] https://crrev.com/80f3afb13a970dc64b835ce91f3f1c16466c836d/cc/output/gl_renderer.h
[modify] https://crrev.com/80f3afb13a970dc64b835ce91f3f1c16466c836d/cc/output/gl_renderer_draw_cache.cc
[modify] https://crrev.com/80f3afb13a970dc64b835ce91f3f1c16466c836d/cc/output/gl_renderer_draw_cache.h
[modify] https://crrev.com/80f3afb13a970dc64b835ce91f3f1c16466c836d/cc/output/gl_renderer_unittest.cc
[modify] https://crrev.com/80f3afb13a970dc64b835ce91f3f1c16466c836d/third_party/WebKit/LayoutTests/TestExpectations

Project Member

Comment 25 by bugdroid1@chromium.org, Feb 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/59f7c65c351f8fd43229710e65413df8f3da7c72

commit 59f7c65c351f8fd43229710e65413df8f3da7c72
Author: ccameron <ccameron@chromium.org>
Date: Fri Feb 10 07:40:20 2017

cc: Use DrawingFrame as state, not function argument

Most DirectRenderer functions take a DrawingFrame*, and (with one
exception), all of these functions use the DrawingFrame that is
allocated on the stack in DirectRenderer::DrawFrame.

Since this parameter is state of DirectRenderer, store it as state,
namely, a pointer to that stack variable, as
DirectRenderer::current_frame_.

To ensure that no functions touch current_frame_ while outside of
DirectRenderer::DrawFrame, set current_frame_ to nullptr outside of
that scope.

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2680203005
Cr-Commit-Position: refs/heads/master@{#449561}

[modify] https://crrev.com/59f7c65c351f8fd43229710e65413df8f3da7c72/cc/output/bsp_walk_action.cc
[modify] https://crrev.com/59f7c65c351f8fd43229710e65413df8f3da7c72/cc/output/bsp_walk_action.h
[modify] https://crrev.com/59f7c65c351f8fd43229710e65413df8f3da7c72/cc/output/direct_renderer.cc
[modify] https://crrev.com/59f7c65c351f8fd43229710e65413df8f3da7c72/cc/output/direct_renderer.h
[modify] https://crrev.com/59f7c65c351f8fd43229710e65413df8f3da7c72/cc/output/gl_renderer.cc
[modify] https://crrev.com/59f7c65c351f8fd43229710e65413df8f3da7c72/cc/output/gl_renderer.h
[modify] https://crrev.com/59f7c65c351f8fd43229710e65413df8f3da7c72/cc/output/overlay_unittest.cc
[modify] https://crrev.com/59f7c65c351f8fd43229710e65413df8f3da7c72/cc/output/software_renderer.cc
[modify] https://crrev.com/59f7c65c351f8fd43229710e65413df8f3da7c72/cc/output/software_renderer.h

Project Member

Comment 26 by bugdroid1@chromium.org, Feb 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5d3f3e2d889382a65bc059b2f8f6d738b3643f46

commit 5d3f3e2d889382a65bc059b2f8f6d738b3643f46
Author: ccameron <ccameron@chromium.org>
Date: Sat Feb 11 04:55:11 2017

cc: Add color parameters for all quads

Rename GLRenderer::program_shadow_ to GLRenderer::current_program_,
and use this directly.

Change SetUseProgram to take a ProgramKey, and not a Program.

Specify a source color space to SetUseProgram. For the moment this is
largely ignored, but allow (except behind the video flag).

Update tests to build all shaders with color conversion enabled (not actually
testing the results yet, since the conversion mechanisms are in flux).

Add a RendererSettings::enable_color_correct_rendering flag, and plumb
that through with --enable-color-correct-rendering. With that command
line flag, all shaders will start using color conversion (though their inputs
will not be right).

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2677893003
Cr-Commit-Position: refs/heads/master@{#449844}

[modify] https://crrev.com/5d3f3e2d889382a65bc059b2f8f6d738b3643f46/cc/output/gl_renderer.cc
[modify] https://crrev.com/5d3f3e2d889382a65bc059b2f8f6d738b3643f46/cc/output/gl_renderer.h
[modify] https://crrev.com/5d3f3e2d889382a65bc059b2f8f6d738b3643f46/cc/output/gl_renderer_draw_cache.h
[modify] https://crrev.com/5d3f3e2d889382a65bc059b2f8f6d738b3643f46/cc/output/gl_renderer_unittest.cc
[modify] https://crrev.com/5d3f3e2d889382a65bc059b2f8f6d738b3643f46/cc/output/program_binding.cc
[modify] https://crrev.com/5d3f3e2d889382a65bc059b2f8f6d738b3643f46/cc/output/program_binding.h
[modify] https://crrev.com/5d3f3e2d889382a65bc059b2f8f6d738b3643f46/cc/output/renderer_settings.cc
[modify] https://crrev.com/5d3f3e2d889382a65bc059b2f8f6d738b3643f46/cc/output/renderer_settings.h
[modify] https://crrev.com/5d3f3e2d889382a65bc059b2f8f6d738b3643f46/cc/output/shader.cc
[modify] https://crrev.com/5d3f3e2d889382a65bc059b2f8f6d738b3643f46/ui/compositor/compositor.cc

Project Member

Comment 27 by bugdroid1@chromium.org, Feb 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e2fc74b70d6ea11c08c6df1ef2b1372eccc5385f

commit e2fc74b70d6ea11c08c6df1ef2b1372eccc5385f
Author: ccameron <ccameron@chromium.org>
Date: Wed Feb 15 09:59:26 2017

color: Towards ColorTransform optimizations and code generation

Make ColorTransform store a list of individual steps, using the
separate type ColorTransform::Step. Move the optimization of
steps into a separate ColorTransformInternal::Simplify method,
called after constructing the full chain.

For readability, change ColorTransformInternal::Simplify to do
double-dispatch by adding a "get subclass of type" method instead
of using visitor pattern.

Use a ScopedQcmsProfile to manage the lifetime of QCMS transforms, and
add the ability to Join QCMS-based transform steps.

Separate frequently-used SkColorSpace functions into a new file
skia_color_space_util.cc/h.

A follow-on patch will allow merging arbitrary SkColorSpaceTransferFns
and add shader code generation.

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2696603003
Cr-Commit-Position: refs/heads/master@{#450647}

[modify] https://crrev.com/e2fc74b70d6ea11c08c6df1ef2b1372eccc5385f/cc/output/color_lut_cache.cc
[modify] https://crrev.com/e2fc74b70d6ea11c08c6df1ef2b1372eccc5385f/ui/gfx/BUILD.gn
[modify] https://crrev.com/e2fc74b70d6ea11c08c6df1ef2b1372eccc5385f/ui/gfx/color_space.cc
[modify] https://crrev.com/e2fc74b70d6ea11c08c6df1ef2b1372eccc5385f/ui/gfx/color_space.h
[modify] https://crrev.com/e2fc74b70d6ea11c08c6df1ef2b1372eccc5385f/ui/gfx/color_transform.cc
[modify] https://crrev.com/e2fc74b70d6ea11c08c6df1ef2b1372eccc5385f/ui/gfx/color_transform.h
[modify] https://crrev.com/e2fc74b70d6ea11c08c6df1ef2b1372eccc5385f/ui/gfx/color_transform_fuzzer.cc
[modify] https://crrev.com/e2fc74b70d6ea11c08c6df1ef2b1372eccc5385f/ui/gfx/color_transform_unittest.cc
[add] https://crrev.com/e2fc74b70d6ea11c08c6df1ef2b1372eccc5385f/ui/gfx/skia_color_space_util.cc
[add] https://crrev.com/e2fc74b70d6ea11c08c6df1ef2b1372eccc5385f/ui/gfx/skia_color_space_util.h

Project Member

Comment 28 by bugdroid1@chromium.org, Feb 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3b6fe6da979b8d9e084160ce6d8b7bd83f3aa878

commit 3b6fe6da979b8d9e084160ce6d8b7bd83f3aa878
Author: ccameron <ccameron@chromium.org>
Date: Fri Feb 17 06:21:58 2017

color: Don't use QCMS for transforms unless necessary

Don't use QCMS for color space transformations unless the ColorSpace is
not a faithful representation of the ICCProfile.

With this in place, we can make a few housekeeping changes.

Actually create ICCProfiles for ColorSpaces that weren't created
from an ICCProfile to begin with.

Move ICCProfile::FromColorSpace to ColorSpace::GetICCProfile, which
can fail for unrepresentable results.

Add an IsValid method to ICCProfile to indicate if SkICC was able
to parse the profile.

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2691213007
Cr-Commit-Position: refs/heads/master@{#451244}

[modify] https://crrev.com/3b6fe6da979b8d9e084160ce6d8b7bd83f3aa878/content/browser/web_contents/web_contents_view_aura.cc
[modify] https://crrev.com/3b6fe6da979b8d9e084160ce6d8b7bd83f3aa878/gpu/ipc/client/gpu_memory_buffer_impl_io_surface.cc
[modify] https://crrev.com/3b6fe6da979b8d9e084160ce6d8b7bd83f3aa878/ui/gfx/color_space.cc
[modify] https://crrev.com/3b6fe6da979b8d9e084160ce6d8b7bd83f3aa878/ui/gfx/color_space.h
[modify] https://crrev.com/3b6fe6da979b8d9e084160ce6d8b7bd83f3aa878/ui/gfx/color_transform.cc
[modify] https://crrev.com/3b6fe6da979b8d9e084160ce6d8b7bd83f3aa878/ui/gfx/color_transform_unittest.cc
[modify] https://crrev.com/3b6fe6da979b8d9e084160ce6d8b7bd83f3aa878/ui/gfx/icc_profile.cc
[modify] https://crrev.com/3b6fe6da979b8d9e084160ce6d8b7bd83f3aa878/ui/gfx/icc_profile.h
[modify] https://crrev.com/3b6fe6da979b8d9e084160ce6d8b7bd83f3aa878/ui/gfx/icc_profile_unittest.cc

Project Member

Comment 29 by bugdroid1@chromium.org, Feb 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ecdfdf5b38b44e99023608dac72afa4f6d293d8a

commit ecdfdf5b38b44e99023608dac72afa4f6d293d8a
Author: ccameron <ccameron@chromium.org>
Date: Sat Feb 18 09:13:07 2017

color: Add support for shader generation

Add a cache of ColorTransform objects to GLRenderer. If the
ColorTransform is not a no-op or a LUT, use the pointer to the
ColorTransform as part of the ProgramKey.

Add methods to ColorTranform to generate shader code, and implement
these methods for no-op and matrix-multiply color transform steps.

Remove the YUV matrix from ProgramBinding because it is now covered
by either the LUT or by the shader generation.

Add the behavior that if the destination color space is not specified,
then only the YUV to RGB conversion of the source color space is
performed, so that we can use this before enabling color conversion at
large.

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2697253002
Cr-Commit-Position: refs/heads/master@{#451447}

[modify] https://crrev.com/ecdfdf5b38b44e99023608dac72afa4f6d293d8a/cc/output/color_lut_cache.cc
[modify] https://crrev.com/ecdfdf5b38b44e99023608dac72afa4f6d293d8a/cc/output/color_lut_cache.h
[modify] https://crrev.com/ecdfdf5b38b44e99023608dac72afa4f6d293d8a/cc/output/gl_renderer.cc
[modify] https://crrev.com/ecdfdf5b38b44e99023608dac72afa4f6d293d8a/cc/output/gl_renderer.h
[modify] https://crrev.com/ecdfdf5b38b44e99023608dac72afa4f6d293d8a/cc/output/program_binding.cc
[modify] https://crrev.com/ecdfdf5b38b44e99023608dac72afa4f6d293d8a/cc/output/program_binding.h
[modify] https://crrev.com/ecdfdf5b38b44e99023608dac72afa4f6d293d8a/cc/output/shader.cc
[modify] https://crrev.com/ecdfdf5b38b44e99023608dac72afa4f6d293d8a/cc/output/shader.h
[modify] https://crrev.com/ecdfdf5b38b44e99023608dac72afa4f6d293d8a/ui/gfx/color_transform.cc
[modify] https://crrev.com/ecdfdf5b38b44e99023608dac72afa4f6d293d8a/ui/gfx/color_transform.h

Project Member

Comment 30 by bugdroid1@chromium.org, Feb 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8958419e9b0c522ad702b225c9348d2486a456c9

commit 8958419e9b0c522ad702b225c9348d2486a456c9
Author: ccameron <ccameron@chromium.org>
Date: Wed Feb 22 11:47:33 2017

color: Add analytic transfer functions in shaders

Create a separate ColorTransformStep for SkColorSpaceTransferFn-based
transfer functions.

Add helpers SkTransferFnsApproximatelyCancel and
SkMatrixIsApproximatelyIdentity, which will empirically test if two
transfer functions nearly match.

The threshold for "nearly match" is chosen such that BT709 (the most
common video transfer function) and sRGB (the most common monitor
transfer function) are considered to "approximately cancel out".

Add code to generate shader source for SkColorSpaceTransferFn-based
transfer functions.

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2697413002
Cr-Commit-Position: refs/heads/master@{#452000}

[modify] https://crrev.com/8958419e9b0c522ad702b225c9348d2486a456c9/cc/output/gl_renderer_unittest.cc
[modify] https://crrev.com/8958419e9b0c522ad702b225c9348d2486a456c9/ui/gfx/color_transform.cc
[modify] https://crrev.com/8958419e9b0c522ad702b225c9348d2486a456c9/ui/gfx/color_transform_unittest.cc
[modify] https://crrev.com/8958419e9b0c522ad702b225c9348d2486a456c9/ui/gfx/skia_color_space_util.cc
[modify] https://crrev.com/8958419e9b0c522ad702b225c9348d2486a456c9/ui/gfx/skia_color_space_util.h

Project Member

Comment 31 by bugdroid1@chromium.org, Feb 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/41d5c6041911282c00f3946aa3e4759ba602434b

commit 41d5c6041911282c00f3946aa3e4759ba602434b
Author: ccameron <ccameron@chromium.org>
Date: Fri Feb 24 01:04:07 2017

Add UMAs for numerical approximation of table-based transfer functions.

Track the following values.

The range of the table-based transfer functions. If almost all cover the
full range from 0 to 1, then we can bake this assumption into the
numerical approxmation. This is a temporary histogram that will be
removed once we gather enough data to make an informed decision.

Whether or not the nonlinear numerical approximation converged (or if
we had to fall back to a linear approximation).

The accuracy of the final numerical approximation.

Note that none of the numerical code in this patch is used by anything
execept histograms (yet).

BUG= 667966 

Review-Url: https://codereview.chromium.org/2715453002
Cr-Commit-Position: refs/heads/master@{#452701}

[modify] https://crrev.com/41d5c6041911282c00f3946aa3e4759ba602434b/third_party/WebKit/Source/platform/graphics/ColorBehavior.cpp
[modify] https://crrev.com/41d5c6041911282c00f3946aa3e4759ba602434b/tools/metrics/histograms/histograms.xml
[modify] https://crrev.com/41d5c6041911282c00f3946aa3e4759ba602434b/ui/gfx/color_space_unittest.cc
[modify] https://crrev.com/41d5c6041911282c00f3946aa3e4759ba602434b/ui/gfx/skia_color_space_util.cc
[modify] https://crrev.com/41d5c6041911282c00f3946aa3e4759ba602434b/ui/gfx/skia_color_space_util.h

Project Member

Comment 32 by bugdroid1@chromium.org, Feb 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f3aa7226ee993cda646b50b271753d3bdf661cf9

commit f3aa7226ee993cda646b50b271753d3bdf661cf9
Author: ccameron <ccameron@chromium.org>
Date: Tue Feb 28 18:25:15 2017

color: Update ICC histograms based on results

Based on the data gathered with the previous set of histograms, we can
assume that the range of the transfer function is [0, 1]. Bake this
assumption into the numerical approximation model (so we're solving for
fewer parameters).

Merge some of the histograms together under ICC analysis.

Add a histogram of the combined channels' convergence results and error
as well.

BUG= 667966 

Review-Url: https://codereview.chromium.org/2717263003
Cr-Commit-Position: refs/heads/master@{#453645}

[modify] https://crrev.com/f3aa7226ee993cda646b50b271753d3bdf661cf9/third_party/WebKit/Source/platform/graphics/ColorBehavior.cpp
[modify] https://crrev.com/f3aa7226ee993cda646b50b271753d3bdf661cf9/tools/metrics/histograms/histograms.xml
[modify] https://crrev.com/f3aa7226ee993cda646b50b271753d3bdf661cf9/ui/gfx/color_space_unittest.cc
[modify] https://crrev.com/f3aa7226ee993cda646b50b271753d3bdf661cf9/ui/gfx/skia_color_space_util.cc
[modify] https://crrev.com/f3aa7226ee993cda646b50b271753d3bdf661cf9/ui/gfx/skia_color_space_util.h

Blockedon: 703375
Project Member

Comment 34 by bugdroid1@chromium.org, Mar 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/786fc6ecce57cdfc4cf14f467e82487adf751903

commit 786fc6ecce57cdfc4cf14f467e82487adf751903
Author: ccameron <ccameron@chromium.org>
Date: Fri Mar 24 11:16:30 2017

cc: Add pixel tests for transfer function shaders

This ensures that our shaders produce the same results as the CPU based
gfx::ColorTransform functions.

Refactor common parts to transfer function evaluation into a separate
color transform step base class.

Add shader code generation for almost all remaining steps.

BUG= 667966 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2769863003
Cr-Commit-Position: refs/heads/master@{#459387}

[modify] https://crrev.com/786fc6ecce57cdfc4cf14f467e82487adf751903/cc/output/color_lut_cache.cc
[modify] https://crrev.com/786fc6ecce57cdfc4cf14f467e82487adf751903/cc/output/gl_renderer.cc
[modify] https://crrev.com/786fc6ecce57cdfc4cf14f467e82487adf751903/cc/output/renderer_pixeltest.cc
[modify] https://crrev.com/786fc6ecce57cdfc4cf14f467e82487adf751903/cc/test/pixel_test.cc
[modify] https://crrev.com/786fc6ecce57cdfc4cf14f467e82487adf751903/cc/test/pixel_test.h
[modify] https://crrev.com/786fc6ecce57cdfc4cf14f467e82487adf751903/ui/gfx/color_transform.cc
[modify] https://crrev.com/786fc6ecce57cdfc4cf14f467e82487adf751903/ui/gfx/color_transform_unittest.cc

Status: Fixed (was: Assigned)
Blockedon: -676054

Sign in to add a comment