| 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*);
|
|
|