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

Issue 1541903002: added support for PLS path rendering (Closed)

Created:
5 years ago by ethannicholas
Modified:
4 years, 10 months ago
CC:
reviews_skia.org
Base URL:
https://skia.googlesource.com/skia.git@master
Target Ref:
refs/heads/master
Project:
skia
Visibility:
Public.

Description

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Total comments: 8

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Total comments: 25

Patch Set 8 : #

Patch Set 9 : #

Total comments: 6

Patch Set 10 : #

Patch Set 11 : #

Total comments: 5

Patch Set 12 : #

Patch Set 13 : #

Patch Set 14 : #

Patch Set 15 : #

Total comments: 2

Patch Set 16 : #

Patch Set 17 : fix for ASAN failure #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1656 lines, -132 lines) Patch
M gyp/gpu.gypi View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M include/gpu/GrCaps.h View 1 2 3 4 5 6 7 8 2 chunks +20 lines, -0 lines 0 comments Download
M include/gpu/GrConfig.h View 1 2 3 4 5 6 7 8 9 10 13 14 15 1 chunk +8 lines, -0 lines 0 comments Download
M include/gpu/GrShaderVar.h View 5 chunks +5 lines, -5 lines 0 comments Download
M include/gpu/GrTypesPriv.h View 1 2 3 4 5 6 7 14 chunks +53 lines, -13 lines 0 comments Download
M include/gpu/GrXferProcessor.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +9 lines, -5 lines 0 comments Download
M include/gpu/effects/GrCoverageSetOpXP.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +3 lines, -3 lines 0 comments Download
M include/gpu/effects/GrPorterDuffXferProcessor.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +3 lines, -3 lines 0 comments Download
M src/effects/SkArithmeticMode_gpu.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +3 lines, -3 lines 0 comments Download
M src/effects/SkPixelXorXfermode.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -1 line 0 comments Download
M src/gpu/GrDrawTarget.cpp View 1 2 3 4 5 6 7 3 chunks +28 lines, -0 lines 0 comments Download
M src/gpu/GrGeometryProcessor.h View 1 chunk +1 line, -2 lines 0 comments Download
M src/gpu/GrGpu.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +3 lines, -0 lines 0 comments Download
M src/gpu/GrGpu.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +4 lines, -0 lines 0 comments Download
M src/gpu/GrOvalRenderer.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 5 chunks +0 lines, -5 lines 0 comments Download
A src/gpu/GrPLSGeometryProcessor.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +35 lines, -0 lines 0 comments Download
M src/gpu/GrPathProcessor.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/gpu/GrPathProcessor.cpp View 1 chunk +1 line, -2 lines 0 comments Download
M src/gpu/GrPathRendererChain.cpp View 1 2 3 4 5 6 7 3 chunks +6 lines, -0 lines 0 comments Download
M src/gpu/GrPrimitiveProcessor.h View 1 2 3 4 5 6 7 4 chunks +22 lines, -6 lines 0 comments Download
M src/gpu/GrXferProcessor.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +7 lines, -0 lines 0 comments Download
M src/gpu/batches/GrAAConvexPathRenderer.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -1 line 0 comments Download
M src/gpu/batches/GrAADistanceFieldPathRenderer.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -1 line 0 comments Download
M src/gpu/batches/GrAAHairLinePathRenderer.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -1 line 0 comments Download
M src/gpu/batches/GrAALinearizingConvexPathRenderer.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -1 line 0 comments Download
M src/gpu/batches/GrAAStrokeRectBatch.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -1 line 0 comments Download
M src/gpu/batches/GrDefaultPathRenderer.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -1 line 0 comments Download
M src/gpu/batches/GrDrawAtlasBatch.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -1 line 0 comments Download
M src/gpu/batches/GrDrawBatch.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -0 lines 0 comments Download
M src/gpu/batches/GrDrawPathBatch.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -1 line 0 comments Download
M src/gpu/batches/GrDrawVerticesBatch.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -1 line 0 comments Download
M src/gpu/batches/GrNinePatch.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -1 line 0 comments Download
M src/gpu/batches/GrNonAAStrokeRectBatch.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -1 line 0 comments Download
A src/gpu/batches/GrPLSPathRenderer.h View 1 chunk +49 lines, -0 lines 0 comments Download
A src/gpu/batches/GrPLSPathRenderer.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1012 lines, -0 lines 0 comments Download
M src/gpu/batches/GrTInstanceBatch.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -1 line 0 comments Download
M src/gpu/batches/GrTessellatingPathRenderer.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -1 line 0 comments Download
M src/gpu/batches/GrTestBatch.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -1 line 0 comments Download
M src/gpu/effects/GrCoverageSetOpXP.cpp View 1 2 3 4 5 6 7 3 chunks +4 lines, -1 line 0 comments Download
M src/gpu/effects/GrCustomXfermode.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +11 lines, -8 lines 0 comments Download
M src/gpu/effects/GrDashingEffect.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -1 line 0 comments Download
M src/gpu/effects/GrDisableColorXP.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +3 lines, -3 lines 0 comments Download
M src/gpu/effects/GrDisableColorXP.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +2 lines, -0 lines 0 comments Download
M src/gpu/effects/GrPorterDuffXferProcessor.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +9 lines, -3 lines 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 2 chunks +11 lines, -1 line 0 comments Download
M src/gpu/gl/GrGLDefines.h View 1 2 3 4 5 6 7 2 chunks +25 lines, -23 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 15 16 4 chunks +18 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 15 16 9 chunks +202 lines, -2 lines 0 comments Download
M src/gpu/gl/GrGLProgram.cpp View 1 2 3 4 5 6 7 1 chunk +6 lines, -3 lines 0 comments Download
M src/gpu/gl/GrGLUniformHandler.cpp View 1 chunk +1 line, -1 line 0 comments Download
M src/gpu/gl/GrGLVertexArray.h View 3 chunks +2 lines, -1 line 0 comments Download
M src/gpu/glsl/GrGLSL.h View 1 2 3 4 5 6 7 1 chunk +4 lines, -0 lines 0 comments Download
M src/gpu/glsl/GrGLSLFragmentShaderBuilder.h View 1 2 3 4 5 6 7 2 chunks +4 lines, -1 line 0 comments Download
M src/gpu/glsl/GrGLSLFragmentShaderBuilder.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +21 lines, -0 lines 0 comments Download
A src/gpu/glsl/GrGLSLPLSPathRendering.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +13 lines, -0 lines 0 comments Download
M src/gpu/glsl/GrGLSLProgramBuilder.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -1 line 0 comments Download
M src/gpu/glsl/GrGLSLProgramBuilder.cpp View 1 2 3 4 5 6 7 4 chunks +12 lines, -5 lines 0 comments Download
M src/gpu/glsl/GrGLSLShaderVar.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 5 chunks +14 lines, -8 lines 0 comments Download
M src/gpu/glsl/GrGLSLXferProcessor.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +5 lines, -2 lines 0 comments Download
M src/utils/debugger/SkOverdrawMode.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +3 lines, -3 lines 0 comments Download
M tests/GrPorterDuffTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 6 chunks +6 lines, -3 lines 0 comments Download

Messages

Total messages: 63 (29 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1541903002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1541903002/1
5 years ago (2015-12-21 19:20:57 UTC) #3
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: Build-Ubuntu-GCC-Mips-Debug-Android-Trybot on client.skia.compile (JOB_FAILED, http://build.chromium.org/p/client.skia.compile/builders/Build-Ubuntu-GCC-Mips-Debug-Android-Trybot/builds/4206)
5 years ago (2015-12-21 19:21:38 UTC) #5
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1541903002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1541903002/20001
5 years ago (2015-12-21 19:27:19 UTC) #7
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: Build-Win-MSVC-x86-Debug-Trybot on client.skia.compile (JOB_FAILED, http://build.chromium.org/p/client.skia.compile/builders/Build-Win-MSVC-x86-Debug-Trybot/builds/4962)
5 years ago (2015-12-21 19:29:29 UTC) #9
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1541903002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1541903002/40001
5 years ago (2015-12-21 19:43:36 UTC) #11
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years ago (2015-12-21 19:58:48 UTC) #13
ethannicholas
5 years ago (2015-12-21 20:00:00 UTC) #15
bsalomon
Initial pass without having delved into the PLS GrPR subclass itself. https://codereview.chromium.org/1541903002/diff/60001/src/gpu/GrDrawTarget.cpp File src/gpu/GrDrawTarget.cpp (right): ...
4 years, 11 months ago (2016-01-04 15:33:47 UTC) #16
ethannicholas
4 years, 11 months ago (2016-01-13 18:49:27 UTC) #18
bsalomon
https://codereview.chromium.org/1541903002/diff/140001/include/gpu/GrCaps.h File include/gpu/GrCaps.h (right): https://codereview.chromium.org/1541903002/diff/140001/include/gpu/GrCaps.h#newcode84 include/gpu/GrCaps.h:84: int pixelLocalStorageSize() const { return fPixelLocalStorageSize; } Maybe a ...
4 years, 11 months ago (2016-01-13 19:15:34 UTC) #19
egdaniel
so quick thoughts https://codereview.chromium.org/1541903002/diff/140001/src/gpu/effects/GrCoverageSetOpXP.cpp File src/gpu/effects/GrCoverageSetOpXP.cpp (right): https://codereview.chromium.org/1541903002/diff/140001/src/gpu/effects/GrCoverageSetOpXP.cpp#newcode316 src/gpu/effects/GrCoverageSetOpXP.cpp:316: return optimizations.fOverrides.fUsePLSDstRead; I am slightly worried ...
4 years, 11 months ago (2016-01-13 21:47:19 UTC) #20
ethannicholas
https://codereview.chromium.org/1541903002/diff/140001/include/gpu/GrTypesPriv.h File include/gpu/GrTypesPriv.h (right): https://codereview.chromium.org/1541903002/diff/140001/include/gpu/GrTypesPriv.h#newcode101 include/gpu/GrTypesPriv.h:101: return (type >= 1 && type <= 6) || ...
4 years, 11 months ago (2016-01-20 17:51:05 UTC) #22
bsalomon
Some more minor stuff https://codereview.chromium.org/1541903002/diff/140001/include/gpu/GrTypesPriv.h File include/gpu/GrTypesPriv.h (right): https://codereview.chromium.org/1541903002/diff/140001/include/gpu/GrTypesPriv.h#newcode101 include/gpu/GrTypesPriv.h:101: return (type >= 1 && ...
4 years, 11 months ago (2016-01-20 18:27:31 UTC) #23
ethannicholas
https://codereview.chromium.org/1541903002/diff/200001/src/gpu/batches/GrPLSPathRenderer.cpp File src/gpu/batches/GrPLSPathRenderer.cpp (right): https://codereview.chromium.org/1541903002/diff/200001/src/gpu/batches/GrPLSPathRenderer.cpp#newcode115 src/gpu/batches/GrPLSPathRenderer.cpp:115: if (!outset(&result[0], pts[1], pts[2])) { On 2016/01/20 18:27:31, bsalomon ...
4 years, 11 months ago (2016-01-20 22:25:04 UTC) #25
ethannicholas
4 years, 11 months ago (2016-01-21 16:42:23 UTC) #26
bsalomon
https://codereview.chromium.org/1541903002/diff/260001/src/gpu/batches/GrPLSPathRenderer.cpp File src/gpu/batches/GrPLSPathRenderer.cpp (right): https://codereview.chromium.org/1541903002/diff/260001/src/gpu/batches/GrPLSPathRenderer.cpp#newcode706 src/gpu/batches/GrPLSPathRenderer.cpp:706: fsBuilder->codeAppendf("%s = vec4(coverage + 0.25);", args.fOutputCoverage); +0.25 intended? https://codereview.chromium.org/1541903002/diff/260001/src/gpu/gl/GrGLGpu.cpp ...
4 years, 11 months ago (2016-01-21 16:58:12 UTC) #27
ethannicholas
https://codereview.chromium.org/1541903002/diff/260001/src/gpu/batches/GrPLSPathRenderer.cpp File src/gpu/batches/GrPLSPathRenderer.cpp (right): https://codereview.chromium.org/1541903002/diff/260001/src/gpu/batches/GrPLSPathRenderer.cpp#newcode706 src/gpu/batches/GrPLSPathRenderer.cpp:706: fsBuilder->codeAppendf("%s = vec4(coverage + 0.25);", args.fOutputCoverage); On 2016/01/21 16:58:12, ...
4 years, 11 months ago (2016-01-21 17:13:41 UTC) #28
bsalomon
On 2016/01/21 17:13:41, ethannicholas wrote: > https://codereview.chromium.org/1541903002/diff/260001/src/gpu/batches/GrPLSPathRenderer.cpp > File src/gpu/batches/GrPLSPathRenderer.cpp (right): > > https://codereview.chromium.org/1541903002/diff/260001/src/gpu/batches/GrPLSPathRenderer.cpp#newcode706 > ...
4 years, 11 months ago (2016-01-21 17:24:49 UTC) #29
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1541903002/280001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1541903002/280001
4 years, 11 months ago (2016-01-21 20:35:11 UTC) #31
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-Trybot on client.skia (JOB_FAILED, http://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-Trybot/builds/5424) Build-Mac10.9-Clang-Arm7-Debug-iOS-Trybot on ...
4 years, 11 months ago (2016-01-21 20:36:07 UTC) #33
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1541903002/300001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1541903002/300001
4 years, 11 months ago (2016-01-21 20:48:41 UTC) #35
commit-bot: I haz the power
Dry run: 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/5486)
4 years, 11 months ago (2016-01-21 20:49:46 UTC) #37
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1541903002/320001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1541903002/320001
4 years, 11 months ago (2016-01-21 21:04:42 UTC) #39
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: Build-Win-MSVC-x86-Debug-Trybot on client.skia.compile (JOB_FAILED, http://build.chromium.org/p/client.skia.compile/builders/Build-Win-MSVC-x86-Debug-Trybot/builds/5493) Build-Win-MSVC-x86_64-Debug-Trybot on ...
4 years, 11 months ago (2016-01-21 21:07:05 UTC) #41
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1541903002/340001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1541903002/340001
4 years, 11 months ago (2016-01-21 21:15:47 UTC) #43
ethannicholas
Updated in response to Greg's offline comments and some dry-run issues.
4 years, 11 months ago (2016-01-21 21:50:48 UTC) #44
bsalomon
A couple last minute nits https://codereview.chromium.org/1541903002/diff/340001/src/gpu/gl/GrGLGpu.h File src/gpu/gl/GrGLGpu.h (right): https://codereview.chromium.org/1541903002/diff/340001/src/gpu/gl/GrGLGpu.h#newcode570 src/gpu/gl/GrGLGpu.h:570: bool fPLSHasBeenUsed = false; ...
4 years, 11 months ago (2016-01-21 21:54:09 UTC) #45
egdaniel
all xfer processor stuff lgtm, can't say about other parts
4 years, 11 months ago (2016-01-21 21:55:13 UTC) #46
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1541903002/360001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1541903002/360001
4 years, 11 months ago (2016-01-22 14:17:22 UTC) #49
commit-bot: I haz the power
Committed patchset #16 (id:360001) as https://skia.googlesource.com/skia/+/7df3f5e127f8016d17b637cc48a6a4718f1a6822
4 years, 11 months ago (2016-01-22 14:48:50 UTC) #51
ethannicholas
A revert of this CL (patchset #16 id:360001) has been created in https://codereview.chromium.org/1626553002/ by ethannicholas@google.com. ...
4 years, 11 months ago (2016-01-22 17:39:52 UTC) #52
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1541903002/460001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1541903002/460001
4 years, 10 months ago (2016-01-29 19:06:00 UTC) #60
commit-bot: I haz the power
Committed patchset #17 (id:460001) as https://skia.googlesource.com/skia/+/2279325d539700ee3da29d6e874b3b3ce1dcf49c
4 years, 10 months ago (2016-01-30 17:59:15 UTC) #62
mtklein
4 years, 10 months ago (2016-01-31 16:31:28 UTC) #63
Message was sent while issue was closed.
On 2016/01/30 17:59:15, commit-bot: I haz the power wrote:
> Committed patchset #17 (id:460001) as
> https://skia.googlesource.com/skia/+/2279325d539700ee3da29d6e874b3b3ce1dcf49c

FYI, it looks like this commit has caused the GPU ASAN and Valgrind bots to go
red, probably both from use of uninitialized data:
 
https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-G...
 
https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-S...

Powered by Google App Engine
This is Rietveld 408576698