diff options
author | 2017-03-16 14:19:07 -0400 | |
---|---|---|
committer | 2017-03-16 19:10:15 +0000 | |
commit | 2bf4b3a97b770811d9e0558dbbfbdb57cfafbdb7 (patch) | |
tree | 3e73ebe67a871db43e4ba9f0a9df3edf15361bca /src/gpu/GrRenderTargetContext.h | |
parent | 1165b1ef6f069d512c6d5a43ef431b3be6f8c80f (diff) |
Remove GrPipeline from GrDrawOp.
GrDrawOp subclasses are now free to construct their pipelines at flush time and now in theory could use multiple GrPipelines for multipass rendering.
GrProcessorSet may be used to retain the processors from a GrPaint with "pending execution" style refs.
NVPR and Instanced rendering are updated to create their pipelines at flush time without a GrPipelineBuilder.
The monolithic pipeline creation/management that was on GrDrawOp is moved to GrMeshDrawOp. However, this is temporary and will be removed in coming changes.
Change-Id: I124282e3cea5d070970b5460c8a679fcaf7a8eff
Reviewed-on: https://skia-review.googlesource.com/7279
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/gpu/GrRenderTargetContext.h')
-rw-r--r-- | src/gpu/GrRenderTargetContext.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/gpu/GrRenderTargetContext.h b/src/gpu/GrRenderTargetContext.h index c6793d3a82..8b07c22bd2 100644 --- a/src/gpu/GrRenderTargetContext.h +++ b/src/gpu/GrRenderTargetContext.h @@ -22,8 +22,8 @@ class GrClip; class GrDrawingManager; class GrDrawOp; class GrFixedClip; -class GrPipelineBuilder; class GrMeshDrawOp; +class GrPipelineBuilder; class GrRenderTarget; class GrRenderTargetContextPriv; class GrRenderTargetOpList; @@ -478,9 +478,8 @@ private: // These perform processing specific to Gr[Mesh]DrawOp-derived ops before recording them into // the op list. They return the id of the opList to which the op was added, or 0, if it was // dropped (e.g., due to clipping). - uint32_t addDrawOp(const GrPipelineBuilder&, const GrClip&, std::unique_ptr<GrDrawOp>); - uint32_t addMeshDrawOp(const GrPipelineBuilder&, const GrClip&, - std::unique_ptr<GrMeshDrawOp> op); + uint32_t addDrawOp(const GrClip&, std::unique_ptr<GrDrawOp>); + uint32_t addMeshDrawOp(const GrPipelineBuilder&, const GrClip&, std::unique_ptr<GrMeshDrawOp>); // Makes a copy of the dst if it is necessary for the draw and returns the texture that should // be used by GrXferProcessor to access the destination color. If the texture is nullptr then |