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

Issue 1962243002: Separate user and raw stencil settings (Closed)

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

Description

Separate user and raw stencil settings Adds a new GrUserStencilSettings class that describes in abstract terms how a draw will use the stencil (e.g. kAlwaysIfInClip, kSetClipBit, etc.). GrPipelineBuilder now only defines the GrUserStencilSettings. When the GrPipeline is finalized, the user stencil settings are then translated into concrete GrStencilSettings. At this point, GrClipMaskManager only needs to tell the GrAppliedClip whether or not there is a stencil clip. It does not need to modify stencil settings and GrPipelineBuilder does not need AutoRestoreStencil. This is one step of the stencil overhaul. In the future it will also allow us to clean up the special case handling for nvpr and the stateful fClipMode member of GrClipMaskManager. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962243002 Committed: https://skia.googlesource.com/skia/+/12dbb3947e1aaf205b4fcf13b40e54e50650eb37 Committed: https://skia.googlesource.com/skia/+/93a379bd4d6b30d86c270b879cf172d80172a72b

Patch Set 1 #

Total comments: 10

Patch Set 2 : comments #

Total comments: 2

Patch Set 3 : Oops, include new GrStencilSettings.h file #

Patch Set 4 : update copyrights #

Patch Set 5 : Fix Vulkan build after header modifications #

Patch Set 6 : add back support for wrap ops #

Patch Set 7 : rebase #

Patch Set 8 : msvc warning #

Patch Set 9 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1374 lines, -1488 lines) Patch
M gyp/gpu.gypi View 1 2 3 4 5 6 2 chunks +3 lines, -2 lines 0 comments Download
M src/gpu/GrClipMaskManager.h View 1 4 chunks +7 lines, -28 lines 0 comments Download
M src/gpu/GrClipMaskManager.cpp View 1 2 3 4 5 6 23 chunks +59 lines, -238 lines 0 comments Download
M src/gpu/GrDrawContext.cpp View 1 2 3 4 5 6 8 chunks +8 lines, -8 lines 0 comments Download
M src/gpu/GrDrawContextPriv.h View 3 chunks +3 lines, -3 lines 0 comments Download
M src/gpu/GrDrawTarget.h View 2 chunks +1 line, -5 lines 0 comments Download
M src/gpu/GrDrawTarget.cpp View 1 2 3 4 5 6 7 8 9 chunks +47 lines, -35 lines 0 comments Download
M src/gpu/GrGpu.h View 1 3 chunks +1 line, -12 lines 0 comments Download
M src/gpu/GrPathRenderer.h View 1 2 3 4 5 6 4 chunks +13 lines, -12 lines 0 comments Download
M src/gpu/GrPipeline.h View 1 2 chunks +3 lines, -1 line 0 comments Download
M src/gpu/GrPipeline.cpp View 1 2 3 4 5 5 chunks +30 lines, -23 lines 0 comments Download
M src/gpu/GrPipelineBuilder.h View 1 3 chunks +12 lines, -49 lines 0 comments Download
M src/gpu/GrPipelineBuilder.cpp View 2 chunks +5 lines, -7 lines 0 comments Download
M src/gpu/GrStencil.h View 1 1 chunk +0 lines, -369 lines 0 comments Download
M src/gpu/GrStencil.cpp View 1 1 chunk +0 lines, -403 lines 0 comments Download
A src/gpu/GrStencilSettings.h View 1 2 3 1 chunk +121 lines, -0 lines 0 comments Download
A src/gpu/GrStencilSettings.cpp View 1 1 chunk +489 lines, -0 lines 0 comments Download
A src/gpu/GrUserStencilSettings.h View 1 2 3 4 5 6 7 1 chunk +237 lines, -0 lines 0 comments Download
M src/gpu/batches/GrDefaultPathRenderer.cpp View 1 2 3 4 5 6 2 chunks +6 lines, -6 lines 0 comments Download
M src/gpu/batches/GrDrawPathBatch.h View 1 chunk +4 lines, -1 line 0 comments Download
M src/gpu/batches/GrMSAAPathRenderer.cpp View 1 2 3 4 5 6 2 chunks +6 lines, -6 lines 0 comments Download
M src/gpu/batches/GrPathStencilSettings.h View 1 2 chunks +114 lines, -88 lines 0 comments Download
M src/gpu/batches/GrStencilAndCoverPathRenderer.cpp View 1 2 3 4 5 6 4 chunks +29 lines, -24 lines 0 comments Download
M src/gpu/batches/GrStencilPathBatch.h View 2 chunks +9 lines, -4 lines 0 comments Download
M src/gpu/gl/GrGLGpu.cpp View 2 chunks +35 lines, -39 lines 0 comments Download
M src/gpu/gl/GrGLPathRendering.h View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M src/gpu/gl/GrGLPathRendering.cpp View 1 2 3 4 5 6 5 chunks +17 lines, -20 lines 0 comments Download
M src/gpu/gl/GrGLUtil.h View 1 2 chunks +2 lines, -2 lines 0 comments Download
M src/gpu/gl/GrGLUtil.cpp View 1 chunk +21 lines, -22 lines 0 comments Download
M src/gpu/text/GrStencilAndCoverTextContext.cpp View 1 2 3 4 5 6 1 chunk +11 lines, -9 lines 0 comments Download
M src/gpu/vk/GrVkPipeline.cpp View 2 chunks +59 lines, -55 lines 0 comments Download
M src/gpu/vk/GrVkPipelineState.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M tests/GLProgramsTest.cpp View 1 chunk +20 lines, -16 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 30 (14 generated)
Chris Dalton
4 years, 7 months ago (2016-05-10 08:07:01 UTC) #3
bsalomon
GrUserStencilSettings isn't pretty to read with all the template-based constructors but I like the result ...
4 years, 7 months ago (2016-05-10 14:06:21 UTC) #4
Chris Dalton
https://codereview.chromium.org/1962243002/diff/1/src/gpu/GrDrawTarget.cpp File src/gpu/GrDrawTarget.cpp (right): https://codereview.chromium.org/1962243002/diff/1/src/gpu/GrDrawTarget.cpp#newcode272 src/gpu/GrDrawTarget.cpp:272: On 2016/05/10 14:06:21, bsalomon wrote: > nit wrap. Should ...
4 years, 7 months ago (2016-05-10 16:39:30 UTC) #5
bsalomon
lgtm https://codereview.chromium.org/1962243002/diff/1/src/gpu/GrPipelineBuilder.h File src/gpu/GrPipelineBuilder.h (right): https://codereview.chromium.org/1962243002/diff/1/src/gpu/GrPipelineBuilder.h#newcode210 src/gpu/GrPipelineBuilder.h:210: * The caller guarantees the pointer will remain ...
4 years, 7 months ago (2016-05-10 20:10:59 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1962243002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1962243002/100001
4 years, 7 months ago (2016-05-10 20:12:31 UTC) #8
commit-bot: I haz the power
Try jobs failed on following builders: Test-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Release-Trybot on client.skia (JOB_FAILED, http://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Release-Trybot/builds/3513)
4 years, 7 months ago (2016-05-10 20:13:42 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1962243002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1962243002/120001
4 years, 7 months ago (2016-05-10 20:30:01 UTC) #13
commit-bot: I haz the power
Try jobs failed on following builders: Build-Win-MSVC-x86_64-Debug-Trybot on client.skia.compile (JOB_FAILED, http://build.chromium.org/p/client.skia.compile/builders/Build-Win-MSVC-x86_64-Debug-Trybot/builds/8528)
4 years, 7 months ago (2016-05-10 20:32:57 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1962243002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1962243002/140001
4 years, 7 months ago (2016-05-10 21:02:45 UTC) #18
commit-bot: I haz the power
Committed patchset #8 (id:140001) as https://skia.googlesource.com/skia/+/12dbb3947e1aaf205b4fcf13b40e54e50650eb37
4 years, 7 months ago (2016-05-10 21:23:05 UTC) #20
robertphillips
A revert of this CL (patchset #8 id:140001) has been created in https://codereview.chromium.org/1969693003/ by robertphillips@google.com. ...
4 years, 7 months ago (2016-05-11 12:21:32 UTC) #21
Chris Dalton
Robert, does this fix look good to you?
4 years, 7 months ago (2016-05-11 20:10:06 UTC) #23
bsalomon
lgtm
4 years, 7 months ago (2016-05-11 20:26:20 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1962243002/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1962243002/160001
4 years, 7 months ago (2016-05-11 20:28:33 UTC) #26
commit-bot: I haz the power
Committed patchset #9 (id:160001) as https://skia.googlesource.com/skia/+/93a379bd4d6b30d86c270b879cf172d80172a72b
4 years, 7 months ago (2016-05-11 20:58:15 UTC) #28
scroggo
4 years, 7 months ago (2016-05-12 13:24:23 UTC) #30
Message was sent while issue was closed.
This appears to be causing differences in Gold:

https://gold.skia.org/search2?blame=554784cd85029c05d9ed04b1aeb71520d196153a%...

Will one of you please triage?

Powered by Google App Engine
This is Rietveld 408576698