diff options
author | 2016-05-11 13:58:08 -0700 | |
---|---|---|
committer | 2016-05-11 13:58:09 -0700 | |
commit | 93a379bd4d6b30d86c270b879cf172d80172a72b (patch) | |
tree | ccf26fcf4d1fcba61a816f6c8fcdc8c57ddbda3b /src/gpu/GrDrawTarget.h | |
parent | f8237781d28bad38522b3b351688a2f7ee5e0caa (diff) |
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
Review-Url: https://codereview.chromium.org/1962243002
Diffstat (limited to 'src/gpu/GrDrawTarget.h')
-rw-r--r-- | src/gpu/GrDrawTarget.h | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/src/gpu/GrDrawTarget.h b/src/gpu/GrDrawTarget.h index c863b455b3..907fc1fa4f 100644 --- a/src/gpu/GrDrawTarget.h +++ b/src/gpu/GrDrawTarget.h @@ -223,6 +223,7 @@ private: void forwardCombine(); bool installPipelineInDrawBatch(const GrPipelineBuilder* pipelineBuilder, const GrScissorState* scissor, + bool hasStencilClip, GrDrawBatch* batch); // Makes a copy of the dst if it is necessary for the draw. Returns false if a copy is required @@ -233,11 +234,6 @@ private: GrXferProcessor::DstTexture*, const SkRect& batchBounds); - // Check to see if this set of draw commands has been sent out - void getPathStencilSettingsForFilltype(GrPathRendering::FillType, - const GrStencilAttachment*, - GrStencilSettings*); - void addDependency(GrDrawTarget* dependedOn); // Used only by CMM. |