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

Unified Diff: src/gpu/GrDrawTarget.h

Issue 1315563003: GrPathRangeBatch (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: fix init order warning Created 5 years, 3 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
« no previous file with comments | « src/gpu/GrDrawContext.cpp ('k') | src/gpu/GrDrawTarget.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/GrDrawTarget.h
diff --git a/src/gpu/GrDrawTarget.h b/src/gpu/GrDrawTarget.h
index 572e4cbf3b2b4272f672e8a0ebe8e5f8ba1f1e14..13f35ac7680b801e969dbc823ff83bd2db727ba6 100644
--- a/src/gpu/GrDrawTarget.h
+++ b/src/gpu/GrDrawTarget.h
@@ -33,8 +33,9 @@ class GrBatch;
class GrClip;
class GrCaps;
class GrPath;
-class GrPathRange;
class GrDrawBatch;
+class GrDrawPathBatchBase;
+class GrPathRangeDraw;
class GrDrawTarget : public SkRefCnt {
public:
@@ -81,6 +82,8 @@ public:
/**
* Draws a path. Fill must not be a hairline. It will respect the HW
* antialias flag on the GrPipelineBuilder (if possible in the 3D API).
+ *
+ * TODO: Remove this function and construct the batch outside GrDrawTarget.
*/
void drawPath(const GrPipelineBuilder&, const GrPathProcessor*, const GrPath*,
GrPathRendering::FillType);
@@ -90,23 +93,17 @@ public:
* always be equivalent to back-to-back calls to drawPath(). It will respect
* the HW antialias flag on the GrPipelineBuilder (if possible in the 3D API).
*
- * @param pathRange Source paths to draw from
- * @param indices Array of path indices to draw
- * @param indexType Data type of the array elements in indexBuffer
- * @param transformValues Array of transforms for the individual paths
- * @param transformType Type of transforms in transformBuffer
- * @param count Number of paths to draw
+ * TODO: Remove this function and construct the batch outside GrDrawTarget.
+ *
+ * @param draw The range, transforms, and indices for the draw.
+ * This object must only be drawn once. The draw
+ * may modify its contents.
* @param fill Fill type for drawing all the paths
*/
- void drawPaths(const GrPipelineBuilder&,
- const GrPathProcessor*,
- const GrPathRange* pathRange,
- const void* indices,
- PathIndexType indexType,
- const float transformValues[],
- PathTransformType transformType,
- int count,
- GrPathRendering::FillType fill);
+ void drawPathsFromRange(const GrPipelineBuilder&,
+ const GrPathProcessor*,
+ GrPathRangeDraw* draw,
+ GrPathRendering::FillType fill);
/**
* Helper function for drawing rects.
@@ -187,10 +184,6 @@ public:
struct PipelineInfo {
PipelineInfo(const GrPipelineBuilder* pipelineBuilder, const GrScissorState* scissor,
- const GrPrimitiveProcessor* primProc,
- const SkRect* devBounds, GrDrawTarget* target);
-
- PipelineInfo(const GrPipelineBuilder* pipelineBuilder, const GrScissorState* scissor,
const GrDrawBatch* batch, const SkRect* devBounds,
GrDrawTarget* target);
@@ -225,18 +218,9 @@ private:
virtual void onFlush() = 0;
- virtual void onDrawPaths(const GrPathProcessor*,
- const GrPathRange*,
- const void* indices,
- PathIndexType,
- const float transformValues[],
- PathTransformType,
- int count,
- const GrStencilSettings&,
- const PipelineInfo&) = 0;
-
+ void drawPathBatch(const GrPipelineBuilder& pipelineBuilder, GrDrawPathBatchBase* batch,
+ GrPathRendering::FillType fill);
// Check to see if this set of draw commands has been sent out
- virtual bool isIssued(uint32_t drawID) { return true; }
void getPathStencilSettingsForFilltype(GrPathRendering::FillType,
const GrStencilAttachment*,
GrStencilSettings*);
« no previous file with comments | « src/gpu/GrDrawContext.cpp ('k') | src/gpu/GrDrawTarget.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698