| Index: src/gpu/GrDrawTarget.h
|
| diff --git a/src/gpu/GrDrawTarget.h b/src/gpu/GrDrawTarget.h
|
| index 6628e372283a1ed1031903081e3e0d69228e34f9..b66f1c6bd304bf368ca717d5ecf6d94898cc0084 100644
|
| --- a/src/gpu/GrDrawTarget.h
|
| +++ b/src/gpu/GrDrawTarget.h
|
| @@ -11,9 +11,9 @@
|
| #include "GrClipData.h"
|
| #include "GrClipMaskManager.h"
|
| #include "GrContext.h"
|
| -#include "GrDrawState.h"
|
| #include "GrIndexBuffer.h"
|
| #include "GrPathRendering.h"
|
| +#include "GrPipelineBuilder.h"
|
| #include "GrTraceMarker.h"
|
| #include "GrVertexBuffer.h"
|
|
|
| @@ -125,7 +125,7 @@ public:
|
| * snapshot of the data is made and the pointers are invalid.
|
| *
|
| * @param vertexCount the number of vertices to reserve space for. Can be
|
| - * 0. Vertex size is queried from the current GrDrawState.
|
| + * 0. Vertex size is queried from the current GrPipelineBuilder.
|
| * @param indexCount the number of indices to reserve space for. Can be 0.
|
| * @param vertices will point to reserved vertex space if vertexCount is
|
| * non-zero. Illegal to pass NULL if vertexCount > 0.
|
| @@ -148,7 +148,7 @@ public:
|
| *
|
| * @param vertexCount in: hint about how many vertices the caller would
|
| * like to allocate. Vertex size is queried from the
|
| - * current GrDrawState.
|
| + * current GrPipelineBuilder.
|
| * out: a hint about the number of vertices that can be
|
| * allocated cheaply. Negative means no hint.
|
| * Ignored if NULL.
|
| @@ -168,7 +168,7 @@ public:
|
| *
|
| * @param buffer vertex buffer containing vertex data. Must be
|
| * unlocked before draw call. Vertex size is queried
|
| - * from current GrDrawState.
|
| + * from current GrPipelineBuilder.
|
| */
|
| void setVertexSourceToBuffer(const GrVertexBuffer* buffer, size_t vertexStride);
|
|
|
| @@ -232,7 +232,7 @@ public:
|
| * @param devBounds optional bounds hint. This is a promise from the caller,
|
| * not a request for clipping.
|
| */
|
| - void drawIndexed(GrDrawState*,
|
| + void drawIndexed(GrPipelineBuilder*,
|
| const GrGeometryProcessor*,
|
| GrPrimitiveType type,
|
| int startVertex,
|
| @@ -252,7 +252,7 @@ public:
|
| * @param devBounds optional bounds hint. This is a promise from the caller,
|
| * not a request for clipping.
|
| */
|
| - void drawNonIndexed(GrDrawState*,
|
| + void drawNonIndexed(GrPipelineBuilder*,
|
| const GrGeometryProcessor*,
|
| GrPrimitiveType type,
|
| int startVertex,
|
| @@ -262,21 +262,23 @@ public:
|
| /**
|
| * Draws path into the stencil buffer. The fill must be either even/odd or
|
| * winding (not inverse or hairline). It will respect the HW antialias flag
|
| - * on the draw state (if possible in the 3D API). Note, we will never have an inverse fill
|
| - * with stencil path
|
| + * on the GrPipelineBuilder (if possible in the 3D API). Note, we will never have an inverse
|
| + * fill with stencil path
|
| */
|
| - void stencilPath(GrDrawState*, const GrPathProcessor*, const GrPath*,GrPathRendering::FillType);
|
| + void stencilPath(GrPipelineBuilder*, const GrPathProcessor*, const GrPath*,
|
| + GrPathRendering::FillType);
|
|
|
| /**
|
| * Draws a path. Fill must not be a hairline. It will respect the HW
|
| - * antialias flag on the draw state (if possible in the 3D API).
|
| + * antialias flag on the GrPipelineBuilder (if possible in the 3D API).
|
| */
|
| - void drawPath(GrDrawState*, const GrPathProcessor*, const GrPath*, GrPathRendering::FillType);
|
| + void drawPath(GrPipelineBuilder*, const GrPathProcessor*, const GrPath*,
|
| + GrPathRendering::FillType);
|
|
|
| /**
|
| * Draws the aggregate path from combining multiple. Note that this will not
|
| * always be equivalent to back-to-back calls to drawPath(). It will respect
|
| - * the HW antialias flag on the draw state (if possible in the 3D API).
|
| + * 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
|
| @@ -286,7 +288,7 @@ public:
|
| * @param count Number of paths to draw
|
| * @param fill Fill type for drawing all the paths
|
| */
|
| - void drawPaths(GrDrawState*,
|
| + void drawPaths(GrPipelineBuilder*,
|
| const GrPathProcessor*,
|
| const GrPathRange* pathRange,
|
| const void* indices,
|
| @@ -308,7 +310,7 @@ public:
|
| * that rectangle before it is input to GrCoordTransforms that read local
|
| * coordinates
|
| */
|
| - void drawRect(GrDrawState* ds,
|
| + void drawRect(GrPipelineBuilder* ds,
|
| GrColor color,
|
| const SkMatrix& viewMatrix,
|
| const SkRect& rect,
|
| @@ -321,10 +323,11 @@ public:
|
| /**
|
| * Helper for drawRect when the caller doesn't need separate local rects or matrices.
|
| */
|
| - void drawSimpleRect(GrDrawState* ds, GrColor color, const SkMatrix& viewM, const SkRect& rect) {
|
| + void drawSimpleRect(GrPipelineBuilder* ds, GrColor color, const SkMatrix& viewM,
|
| + const SkRect& rect) {
|
| this->drawRect(ds, color, viewM, rect, NULL, NULL);
|
| }
|
| - void drawSimpleRect(GrDrawState* ds, GrColor color, const SkMatrix& viewM,
|
| + void drawSimpleRect(GrPipelineBuilder* ds, GrColor color, const SkMatrix& viewM,
|
| const SkIRect& irect) {
|
| SkRect rect = SkRect::Make(irect);
|
| this->drawRect(ds, color, viewM, rect, NULL, NULL);
|
| @@ -360,7 +363,7 @@ public:
|
| * @param devBounds optional bounds hint. This is a promise from the caller,
|
| * not a request for clipping.
|
| */
|
| - void drawIndexedInstances(GrDrawState*,
|
| + void drawIndexedInstances(GrPipelineBuilder*,
|
| const GrGeometryProcessor*,
|
| GrPrimitiveType type,
|
| int instanceCount,
|
| @@ -369,9 +372,9 @@ public:
|
| const SkRect* devBounds = NULL);
|
|
|
| /**
|
| - * Clear the passed in render target. Ignores the draw state and clip. Clears the whole thing if
|
| - * rect is NULL, otherwise just the rect. If canIgnoreRect is set then the entire render target
|
| - * can be optionally cleared.
|
| + * Clear the passed in render target. Ignores the GrPipelineBuilder and clip. Clears the whole
|
| + * thing if rect is NULL, otherwise just the rect. If canIgnoreRect is set then the entire
|
| + * render target can be optionally cleared.
|
| */
|
| void clear(const SkIRect* rect,
|
| GrColor color,
|
| @@ -660,7 +663,7 @@ protected:
|
| // Makes a copy of the dst if it is necessary for the draw. Returns false if a copy is required
|
| // but couldn't be made. Otherwise, returns true. This method needs to be protected because it
|
| // needs to be accessed by GLPrograms to setup a correct drawstate
|
| - bool setupDstReadIfNecessary(GrDrawState*,
|
| + bool setupDstReadIfNecessary(GrPipelineBuilder*,
|
| GrDeviceCoordTexture* dstCopy,
|
| const SkRect* drawBounds);
|
|
|
| @@ -700,31 +703,31 @@ private:
|
| virtual void geometrySourceWillPush() = 0;
|
| virtual void geometrySourceWillPop(const GeometrySrcState& restoredState) = 0;
|
| // subclass called to perform drawing
|
| - virtual void onDraw(const GrDrawState&,
|
| + virtual void onDraw(const GrPipelineBuilder&,
|
| const GrGeometryProcessor*,
|
| const DrawInfo&,
|
| const GrScissorState&,
|
| const GrDeviceCoordTexture* dstCopy) = 0;
|
| // TODO copy in order drawbuffer onDrawRect to here
|
| - virtual void onDrawRect(GrDrawState*,
|
| + virtual void onDrawRect(GrPipelineBuilder*,
|
| GrColor color,
|
| const SkMatrix& viewMatrix,
|
| const SkRect& rect,
|
| const SkRect* localRect,
|
| const SkMatrix* localMatrix) = 0;
|
|
|
| - virtual void onStencilPath(const GrDrawState&,
|
| + virtual void onStencilPath(const GrPipelineBuilder&,
|
| const GrPathProcessor*,
|
| const GrPath*,
|
| const GrScissorState&,
|
| const GrStencilSettings&) = 0;
|
| - virtual void onDrawPath(const GrDrawState&,
|
| + virtual void onDrawPath(const GrPipelineBuilder&,
|
| const GrPathProcessor*,
|
| const GrPath*,
|
| const GrScissorState&,
|
| const GrStencilSettings&,
|
| const GrDeviceCoordTexture* dstCopy) = 0;
|
| - virtual void onDrawPaths(const GrDrawState&,
|
| + virtual void onDrawPaths(const GrPipelineBuilder&,
|
| const GrPathProcessor*,
|
| const GrPathRange*,
|
| const void* indices,
|
| @@ -771,7 +774,7 @@ private:
|
|
|
| // called by drawIndexed and drawNonIndexed. Use a negative indexCount to
|
| // indicate non-indexed drawing.
|
| - bool checkDraw(const GrDrawState&,
|
| + bool checkDraw(const GrPipelineBuilder&,
|
| const GrGeometryProcessor*,
|
| GrPrimitiveType type,
|
| int startVertex,
|
| @@ -788,9 +791,9 @@ private:
|
| const GrStencilBuffer*,
|
| GrStencilSettings*);
|
| virtual GrClipMaskManager* clipMaskManager() = 0;
|
| - virtual bool setupClip(GrDrawState*,
|
| - GrDrawState::AutoRestoreEffects* are,
|
| - GrDrawState::AutoRestoreStencil* ars,
|
| + virtual bool setupClip(GrPipelineBuilder*,
|
| + GrPipelineBuilder::AutoRestoreEffects* are,
|
| + GrPipelineBuilder::AutoRestoreStencil* ars,
|
| GrScissorState* scissorState,
|
| const SkRect* devBounds) = 0;
|
|
|
| @@ -848,9 +851,9 @@ protected:
|
| private:
|
| GrClipMaskManager* clipMaskManager() SK_OVERRIDE { return &fClipMaskManager; }
|
|
|
| - virtual bool setupClip(GrDrawState*,
|
| - GrDrawState::AutoRestoreEffects* are,
|
| - GrDrawState::AutoRestoreStencil* ars,
|
| + virtual bool setupClip(GrPipelineBuilder*,
|
| + GrPipelineBuilder::AutoRestoreEffects* are,
|
| + GrPipelineBuilder::AutoRestoreStencil* ars,
|
| GrScissorState* scissorState,
|
| const SkRect* devBounds) SK_OVERRIDE;
|
|
|
|
|