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

Issue 1037123003: Implement support for KHR_blend_equation_advanced (Closed)

Created:
5 years, 8 months ago by Chris Dalton
Modified:
5 years, 7 months ago
CC:
reviews_skia.org, vbuzinov, Kimmo Kinnunen, Rik
Base URL:
https://skia.googlesource.com/skia.git@upload_zzz2_barriers
Target Ref:
refs/heads/master
Project:
skia
Visibility:
Public.

Description

Implement support for KHR_blend_equation_advanced Uses KHR(or NV)_blend_equation_advanced to implement custom Xfer modes in hardware. BUG=skia: Committed: https://skia.googlesource.com/skia/+/8917d62ef4d9bde9ec4f879dc42b309b03a0ad98

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Total comments: 13

Patch Set 6 : #

Total comments: 1

Patch Set 7 : Properly track the previous patch #

Total comments: 10

Patch Set 8 : Addressed comments #

Total comments: 5

Patch Set 9 : rebase, remove constexpr #

Total comments: 2

Patch Set 10 : #

Patch Set 11 : Move into GrCustomXfermode #

Patch Set 12 : #

Patch Set 13 : #

Patch Set 14 : #

Patch Set 15 : #

Patch Set 16 : Rename blendEquationAdvancedIsKHR to mustEnableAdvancedBlendEquations #

Total comments: 15

Patch Set 17 : Rebase, blend_support_all_equations #

Total comments: 5

Patch Set 18 : Clean up GL program key #

Patch Set 19 : AdvancedBlendEqnInteraction -> AdvBlendEqInteraction #

Patch Set 20 : Compiler warning #

Unified diffs Side-by-side diffs Delta from patch set Stats (+545 lines, -51 lines) Patch
M include/gpu/GrXferProcessor.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 4 chunks +54 lines, -4 lines 0 comments Download
M src/gpu/GrDrawTarget.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +14 lines, -0 lines 0 comments Download
M src/gpu/GrDrawTargetCaps.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +25 lines, -0 lines 0 comments Download
M src/gpu/GrXferProcessor.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -1 line 0 comments Download
M src/gpu/effects/GrCustomXfermode.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 8 chunks +217 lines, -13 lines 0 comments Download
M src/gpu/effects/GrCustomXfermodePriv.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -3 lines 0 comments Download
M src/gpu/gl/GrGLCaps.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 4 chunks +26 lines, -1 line 0 comments Download
M src/gpu/gl/GrGLCaps.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 6 chunks +47 lines, -2 lines 0 comments Download
M src/gpu/gl/GrGLGpu.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +2 lines, -0 lines 0 comments Download
M src/gpu/gl/GrGLGpu.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +89 lines, -25 lines 0 comments Download
M src/gpu/gl/builders/GrGLFragmentShaderBuilder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +9 lines, -1 line 0 comments Download
M src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +58 lines, -0 lines 0 comments Download
M src/gpu/gl/builders/GrGLShaderBuilder.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 42 (9 generated)
Chris Dalton
I noticed ignored-tests.txt doesn't exist anymore. Is there something similar? This will cause pixel diffs ...
5 years, 8 months ago (2015-03-31 06:36:59 UTC) #2
Chris Dalton
5 years, 8 months ago (2015-03-31 06:41:08 UTC) #3
Chris Dalton
https://codereview.chromium.org/1037123003/diff/80001/src/gpu/effects/GrAdvancedEquationXPFactory.cpp File src/gpu/effects/GrAdvancedEquationXPFactory.cpp (right): https://codereview.chromium.org/1037123003/diff/80001/src/gpu/effects/GrAdvancedEquationXPFactory.cpp#newcode176 src/gpu/effects/GrAdvancedEquationXPFactory.cpp:176: The only time it is still true is when ...
5 years, 8 months ago (2015-03-31 10:51:49 UTC) #4
Mark Kilgard
lgtm overall please fix the extension detection to detect either the NVbea or KHRbea extension ...
5 years, 8 months ago (2015-04-03 18:30:04 UTC) #5
Chris Dalton
https://codereview.chromium.org/1037123003/diff/80001/src/gpu/effects/GrAdvancedEquationXPFactory.cpp File src/gpu/effects/GrAdvancedEquationXPFactory.cpp (right): https://codereview.chromium.org/1037123003/diff/80001/src/gpu/effects/GrAdvancedEquationXPFactory.cpp#newcode128 src/gpu/effects/GrAdvancedEquationXPFactory.cpp:128: = blend(f*Sca, Dca, f*Sa, Da) [definition of blend()] On ...
5 years, 8 months ago (2015-04-17 08:37:19 UTC) #6
egdaniel
https://codereview.chromium.org/1037123003/diff/120001/include/gpu/effects/GrAdvancedEquationXferProcessor.h File include/gpu/effects/GrAdvancedEquationXferProcessor.h (right): https://codereview.chromium.org/1037123003/diff/120001/include/gpu/effects/GrAdvancedEquationXferProcessor.h#newcode29 include/gpu/effects/GrAdvancedEquationXferProcessor.h:29: output->fBlendedColorFlags = 0; I'm assuming there are cases where ...
5 years, 8 months ago (2015-04-21 18:59:12 UTC) #7
Chris Dalton
Thanks for the review! One question in the comments https://codereview.chromium.org/1037123003/diff/120001/include/gpu/effects/GrAdvancedEquationXferProcessor.h File include/gpu/effects/GrAdvancedEquationXferProcessor.h (right): https://codereview.chromium.org/1037123003/diff/120001/include/gpu/effects/GrAdvancedEquationXferProcessor.h#newcode29 include/gpu/effects/GrAdvancedEquationXferProcessor.h:29: ...
5 years, 8 months ago (2015-04-21 20:39:31 UTC) #8
egdaniel
https://codereview.chromium.org/1037123003/diff/120001/include/gpu/effects/GrAdvancedEquationXferProcessor.h File include/gpu/effects/GrAdvancedEquationXferProcessor.h (right): https://codereview.chromium.org/1037123003/diff/120001/include/gpu/effects/GrAdvancedEquationXferProcessor.h#newcode29 include/gpu/effects/GrAdvancedEquationXferProcessor.h:29: output->fBlendedColorFlags = 0; On 2015/04/21 20:39:31, Chris Dalton wrote: ...
5 years, 8 months ago (2015-04-21 20:53:49 UTC) #9
Chris Dalton
This patchset should address the comments. https://codereview.chromium.org/1037123003/diff/140001/src/gpu/effects/GrAdvancedEquationXferProcessor.cpp File src/gpu/effects/GrAdvancedEquationXferProcessor.cpp (right): https://codereview.chromium.org/1037123003/diff/140001/src/gpu/effects/GrAdvancedEquationXferProcessor.cpp#newcode221 src/gpu/effects/GrAdvancedEquationXferProcessor.cpp:221: return false; One ...
5 years, 8 months ago (2015-04-22 19:17:01 UTC) #10
Chris Dalton
https://codereview.chromium.org/1037123003/diff/140001/include/gpu/GrXferProcessor.h File include/gpu/GrXferProcessor.h (right): https://codereview.chromium.org/1037123003/diff/140001/include/gpu/GrXferProcessor.h#newcode55 include/gpu/GrXferProcessor.h:55: bool constexpr GrBlendEquationIsAdvanced(GrBlendEquation equation) { Are we allowing C++11-isms ...
5 years, 8 months ago (2015-04-23 16:45:49 UTC) #11
bsalomon
https://codereview.chromium.org/1037123003/diff/140001/include/gpu/GrXferProcessor.h File include/gpu/GrXferProcessor.h (right): https://codereview.chromium.org/1037123003/diff/140001/include/gpu/GrXferProcessor.h#newcode55 include/gpu/GrXferProcessor.h:55: bool constexpr GrBlendEquationIsAdvanced(GrBlendEquation equation) { On 2015/04/23 16:45:49, Chris ...
5 years, 8 months ago (2015-04-23 16:53:33 UTC) #13
bungeman-skia
On 2015/04/23 16:53:33, bsalomon wrote: > https://codereview.chromium.org/1037123003/diff/140001/include/gpu/GrXferProcessor.h > File include/gpu/GrXferProcessor.h (right): > > https://codereview.chromium.org/1037123003/diff/140001/include/gpu/GrXferProcessor.h#newcode55 > ...
5 years, 8 months ago (2015-04-23 17:05:08 UTC) #14
Chris Dalton
This is ready for another round of reviews. Hopefully we're close now. Also let me ...
5 years, 8 months ago (2015-04-24 08:35:39 UTC) #15
bsalomon
https://codereview.chromium.org/1037123003/diff/140001/src/gpu/effects/GrAdvancedEquationXferProcessor.cpp File src/gpu/effects/GrAdvancedEquationXferProcessor.cpp (right): https://codereview.chromium.org/1037123003/diff/140001/src/gpu/effects/GrAdvancedEquationXferProcessor.cpp#newcode221 src/gpu/effects/GrAdvancedEquationXferProcessor.cpp:221: return false; On 2015/04/22 19:17:01, Chris Dalton wrote: > ...
5 years, 8 months ago (2015-04-24 16:22:22 UTC) #16
Chris Dalton
https://codereview.chromium.org/1037123003/diff/140001/src/gpu/effects/GrAdvancedEquationXferProcessor.cpp File src/gpu/effects/GrAdvancedEquationXferProcessor.cpp (right): https://codereview.chromium.org/1037123003/diff/140001/src/gpu/effects/GrAdvancedEquationXferProcessor.cpp#newcode221 src/gpu/effects/GrAdvancedEquationXferProcessor.cpp:221: return false; On 2015/04/24 16:22:22, bsalomon wrote: > On ...
5 years, 8 months ago (2015-04-24 18:45:02 UTC) #17
egdaniel
https://codereview.chromium.org/1037123003/diff/160001/src/gpu/effects/GrAdvancedEquationXferProcessor.cpp File src/gpu/effects/GrAdvancedEquationXferProcessor.cpp (right): https://codereview.chromium.org/1037123003/diff/160001/src/gpu/effects/GrAdvancedEquationXferProcessor.cpp#newcode241 src/gpu/effects/GrAdvancedEquationXferProcessor.cpp:241: AdvancedEquationXPBase* AdvancedEquationXPBase::Create(bool hasCoverage, GrBlendEquation equation) { Okay so it ...
5 years, 8 months ago (2015-04-27 15:28:25 UTC) #18
Chris Dalton
https://codereview.chromium.org/1037123003/diff/160001/src/gpu/effects/GrAdvancedEquationXferProcessor.cpp File src/gpu/effects/GrAdvancedEquationXferProcessor.cpp (right): https://codereview.chromium.org/1037123003/diff/160001/src/gpu/effects/GrAdvancedEquationXferProcessor.cpp#newcode241 src/gpu/effects/GrAdvancedEquationXferProcessor.cpp:241: AdvancedEquationXPBase* AdvancedEquationXPBase::Create(bool hasCoverage, GrBlendEquation equation) { On 2015/04/27 15:28:25, ...
5 years, 8 months ago (2015-04-27 18:25:39 UTC) #19
egdaniel
Okay so after some more thinking about this patch here, we should not be creating ...
5 years, 8 months ago (2015-04-27 18:57:13 UTC) #20
Chris Dalton
On 2015/04/27 18:57:13, egdaniel wrote: > Okay so after some more thinking about this patch ...
5 years, 7 months ago (2015-05-01 20:24:10 UTC) #21
egdaniel
https://codereview.chromium.org/1037123003/diff/300001/src/gpu/effects/GrCustomXfermode.cpp File src/gpu/effects/GrCustomXfermode.cpp (right): https://codereview.chromium.org/1037123003/diff/300001/src/gpu/effects/GrCustomXfermode.cpp#newcode564 src/gpu/effects/GrCustomXfermode.cpp:564: if (!xp.hasHWBlendEquation() || caps.mustEnableAdvancedBlendEquations()) { just to confirm, mustEnableAdvBE() ...
5 years, 7 months ago (2015-05-04 19:51:21 UTC) #22
Chris Dalton
Just a couple quick questions about the blend_support_all cap. In comments. https://codereview.chromium.org/1037123003/diff/300001/src/gpu/effects/GrCustomXfermode.cpp File src/gpu/effects/GrCustomXfermode.cpp (right): ...
5 years, 7 months ago (2015-05-04 20:33:12 UTC) #23
egdaniel
https://codereview.chromium.org/1037123003/diff/300001/src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp File src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp (right): https://codereview.chromium.org/1037123003/diff/300001/src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp#newcode209 src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp:209: this->addLayoutQualifier(layoutQualifierNames[advancedEquation - kFirstAdvancedGrBlendEquation], On 2015/05/04 20:33:12, Chris Dalton wrote: ...
5 years, 7 months ago (2015-05-04 21:04:51 UTC) #24
Chris Dalton
I think this addresses all the comments. https://codereview.chromium.org/1037123003/diff/300001/src/gpu/effects/GrCustomXfermode.cpp File src/gpu/effects/GrCustomXfermode.cpp (right): https://codereview.chromium.org/1037123003/diff/300001/src/gpu/effects/GrCustomXfermode.cpp#newcode567 src/gpu/effects/GrCustomXfermode.cpp:567: key |= ...
5 years, 7 months ago (2015-05-05 18:57:58 UTC) #25
egdaniel
https://codereview.chromium.org/1037123003/diff/320001/src/gpu/GrDrawTargetCaps.h File src/gpu/GrDrawTargetCaps.h (right): https://codereview.chromium.org/1037123003/diff/320001/src/gpu/GrDrawTargetCaps.h#newcode147 src/gpu/GrDrawTargetCaps.h:147: enum BlendEquationSupport { Can BlendEquationSupport and related functions be ...
5 years, 7 months ago (2015-05-05 21:20:01 UTC) #26
Chris Dalton
https://codereview.chromium.org/1037123003/diff/320001/src/gpu/GrDrawTargetCaps.h File src/gpu/GrDrawTargetCaps.h (right): https://codereview.chromium.org/1037123003/diff/320001/src/gpu/GrDrawTargetCaps.h#newcode147 src/gpu/GrDrawTargetCaps.h:147: enum BlendEquationSupport { On 2015/05/05 21:20:01, egdaniel wrote: > ...
5 years, 7 months ago (2015-05-06 16:06:27 UTC) #27
egdaniel
lgtm https://codereview.chromium.org/1037123003/diff/320001/src/gpu/GrDrawTargetCaps.h File src/gpu/GrDrawTargetCaps.h (right): https://codereview.chromium.org/1037123003/diff/320001/src/gpu/GrDrawTargetCaps.h#newcode147 src/gpu/GrDrawTargetCaps.h:147: enum BlendEquationSupport { On 2015/05/06 16:06:27, Chris Dalton ...
5 years, 7 months ago (2015-05-06 17:57:46 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1037123003/360001
5 years, 7 months ago (2015-05-06 19:15:41 UTC) #31
commit-bot: I haz the power
Presubmit check for 1037123003-360001 failed and returned exit status 1. Running presubmit commit checks ...
5 years, 7 months ago (2015-05-06 19:15:53 UTC) #33
bsalomon
On 2015/05/06 19:15:53, I haz the power (commit-bot) wrote: > Presubmit check for 1037123003-360001 failed ...
5 years, 7 months ago (2015-05-06 20:01:11 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1037123003/360001
5 years, 7 months ago (2015-05-06 20:14:46 UTC) #36
commit-bot: I haz the power
Try jobs failed on following builders: Build-Ubuntu-Clang-x86_64-Debug-Trybot on client.skia.compile (JOB_FAILED, http://build.chromium.org/p/client.skia.compile/builders/Build-Ubuntu-Clang-x86_64-Debug-Trybot/builds/904)
5 years, 7 months ago (2015-05-06 20:16:03 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1037123003/380001
5 years, 7 months ago (2015-05-06 20:30:15 UTC) #41
commit-bot: I haz the power
5 years, 7 months ago (2015-05-06 20:40:26 UTC) #42
Message was sent while issue was closed.
Committed patchset #20 (id:380001) as
https://skia.googlesource.com/skia/+/8917d62ef4d9bde9ec4f879dc42b309b03a0ad98

Powered by Google App Engine
This is Rietveld 408576698