aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrDrawTarget.h
diff options
context:
space:
mode:
authorGravatar robertphillips <robertphillips@google.com>2016-06-03 10:59:20 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-06-03 10:59:20 -0700
commit976f5f0dc5e907d1ca50685fad117bd15d7fc87b (patch)
treee1e1499da0cd5dfb990de560dcc1b6288c26616b /src/gpu/GrDrawTarget.h
parentadf5afa628adb62a0ad451d07ef1442381a0ee20 (diff)
Make GrClipMaskManager stateless and push GrPipelineBuilder construction downstack
This will be followed up with a CL to remove the GrRenderTarget from the GrPipelineBuilder. Split out of: https://codereview.chromium.org/1988923002/ (Declassify GrClipMaskManager and Remove GrRenderTarget and GrDrawTarget from GrPipelineBuilder) GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2035823002 Review-Url: https://codereview.chromium.org/2035823002
Diffstat (limited to 'src/gpu/GrDrawTarget.h')
-rw-r--r--src/gpu/GrDrawTarget.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/gpu/GrDrawTarget.h b/src/gpu/GrDrawTarget.h
index 24565585c1..627472f896 100644
--- a/src/gpu/GrDrawTarget.h
+++ b/src/gpu/GrDrawTarget.h
@@ -9,7 +9,6 @@
#define GrDrawTarget_DEFINED
#include "GrClip.h"
-#include "GrClipMaskManager.h"
#include "GrContext.h"
#include "GrPathProcessor.h"
#include "GrPrimitiveProcessor.h"
@@ -105,7 +104,7 @@ public:
*/
const GrCaps* caps() const { return fGpu->caps(); }
- void drawBatch(const GrPipelineBuilder&, const GrClip&, GrDrawBatch*);
+ void drawBatch(const GrPipelineBuilder&, GrDrawContext*, const GrClip&, GrDrawBatch*);
/**
* Draws path into the stencil buffer. The fill must be either even/odd or
@@ -113,7 +112,8 @@ public:
* on the GrPipelineBuilder (if possible in the 3D API). Note, we will never have an inverse
* fill with stencil path
*/
- void stencilPath(const GrPipelineBuilder&, const GrClip&, const SkMatrix& viewMatrix,
+ void stencilPath(const GrPipelineBuilder&, GrDrawContext*,
+ const GrClip&, const SkMatrix& viewMatrix,
const GrPath*, GrPathRendering::FillType);
/**
@@ -124,7 +124,7 @@ public:
void clear(const SkIRect* rect,
GrColor color,
bool canIgnoreRect,
- GrRenderTarget* renderTarget);
+ GrDrawContext*);
/** Discards the contents render target. */
void discard(GrRenderTarget*);
@@ -166,6 +166,7 @@ public:
private:
friend class GrDrawingManager; // for resetFlag & TopoSortTraits
+ friend class GrDrawContextPriv; // for clearStencilClip
enum Flags {
kClosed_Flag = 0x01, //!< This drawTarget can't accept any more batches
@@ -228,7 +229,6 @@ private:
void clearStencilClip(const SkIRect&, bool insideClip, GrRenderTarget*);
SkSTArray<256, SkAutoTUnref<GrBatch>, true> fBatches;
- SkAutoTDelete<GrClipMaskManager> fClipMaskManager;
// The context is only in service of the clip mask manager, remove once CMM doesn't need this.
GrContext* fContext;
GrGpu* fGpu;