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

Unified Diff: include/gpu/GrDrawContext.h

Issue 2035823002: Make GrClipMaskManager stateless and push GrPipelineBuilder construction downstack (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Address code review comments Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: include/gpu/GrDrawContext.h
diff --git a/include/gpu/GrDrawContext.h b/include/gpu/GrDrawContext.h
index 3778b72db10db676ae62fd4ab72bc8f57b62716f..4dd331e150f9fd4ad897afca2d2eb4395056d889 100644
--- a/include/gpu/GrDrawContext.h
+++ b/include/gpu/GrDrawContext.h
@@ -258,6 +258,9 @@ public:
*/
void drawBatch(const GrClip&, const GrPaint&, GrDrawBatch*);
+ bool isStencilBufferMultisampled() const {
+ return fRenderTarget->isStencilBufferMultisampled();
+ }
bool hasMixedSamples() const { return fRenderTarget->hasMixedSamples(); }
const GrSurfaceDesc& desc() const { return fRenderTarget->desc(); }
@@ -281,12 +284,13 @@ public:
GrDrawContextPriv drawContextPriv();
const GrDrawContextPriv drawContextPriv() const;
+ GrAuditTrail* auditTrail() { return fAuditTrail; }
+
protected:
GrDrawContext(GrContext*, GrDrawingManager*, sk_sp<GrRenderTarget>,
const SkSurfaceProps* surfaceProps, GrAuditTrail*, GrSingleOwner*);
GrDrawingManager* drawingManager() { return fDrawingManager; }
- GrAuditTrail* auditTrail() { return fAuditTrail; }
SkDEBUGCODE(GrSingleOwner* singleOwner() { return fSingleOwner; })
SkDEBUGCODE(void validate() const;)
@@ -297,6 +301,21 @@ private:
friend class GrDrawingManager; // for ctor
friend class GrDrawContextPriv;
friend class GrTestTarget; // for access to getDrawTarget
+ friend class GrSWMaskHelper; // for access to drawBatch
+ friend class GrClipMaskManager; // for access to drawBatch
+
+ // All the path renderers currently make their own batches
+ friend class GrSoftwarePathRenderer; // for access to drawBatch
+ friend class GrAAConvexPathRenderer; // for access to drawBatch
+ friend class GrDashLinePathRenderer; // for access to drawBatch
+ friend class GrAAHairLinePathRenderer; // for access to drawBatch
+ friend class GrAALinearizingConvexPathRenderer; // for access to drawBatch
+ friend class GrAADistanceFieldPathRenderer; // for access to drawBatch
+ friend class GrDefaultPathRenderer; // for access to drawBatch
+ friend class GrPLSPathRenderer; // for access to drawBatch
+ friend class GrMSAAPathRenderer; // for access to drawBatch
+ friend class GrStencilAndCoverPathRenderer; // for access to drawBatch
+ friend class GrTessellatingPathRenderer; // for access to drawBatch
bool drawFilledDRRect(const GrClip& clip,
const GrPaint& paint,
@@ -316,7 +335,7 @@ private:
// This entry point allows the GrTextContext-derived classes to add their batches to
// the drawTarget.
- void drawBatch(GrPipelineBuilder* pipelineBuilder, const GrClip&, GrDrawBatch* batch);
+ void drawBatch(const GrPipelineBuilder& pipelineBuilder, const GrClip&, GrDrawBatch* batch);
GrDrawTarget* getDrawTarget();
« no previous file with comments | « include/gpu/GrClip.h ('k') | src/gpu/GrClip.cpp » ('j') | src/gpu/GrClipMaskManager.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698