| Index: src/gpu/GrInOrderDrawBuffer.h
|
| diff --git a/src/gpu/GrInOrderDrawBuffer.h b/src/gpu/GrInOrderDrawBuffer.h
|
| index dcc5ab7e0bcdb080e97fbae2872e0e78e833ea0f..5f8a9f4ed22197000a7f7140d6b746184081ac8c 100644
|
| --- a/src/gpu/GrInOrderDrawBuffer.h
|
| +++ b/src/gpu/GrInOrderDrawBuffer.h
|
| @@ -89,6 +89,7 @@ private:
|
| kSetClip_Cmd = 4,
|
| kClear_Cmd = 5,
|
| kCopySurface_Cmd = 6,
|
| + kFillPath_Cmd = 7,
|
| };
|
|
|
| class DrawRecord : public DrawInfo {
|
| @@ -106,6 +107,14 @@ private:
|
| SkPath::FillType fFill;
|
| };
|
|
|
| + struct FillPath : GrNoncopyable {
|
| + FillPath();
|
| +
|
| + SkAutoTUnref<const GrPath> fPath;
|
| + SkStrokeRec fStroke;
|
| + SkPath::FillType fFill;
|
| + };
|
| +
|
| struct Clear : GrNoncopyable {
|
| Clear() : fRenderTarget(NULL) {}
|
| ~Clear() { SkSafeUnref(fRenderTarget); }
|
| @@ -129,6 +138,7 @@ private:
|
| const SkRect* localRect,
|
| const SkMatrix* localMatrix) SK_OVERRIDE;
|
| virtual void onStencilPath(const GrPath*, const SkStrokeRec& stroke, SkPath::FillType) SK_OVERRIDE;
|
| + virtual void onFillPath(const GrPath*, const SkStrokeRec& stroke, SkPath::FillType) SK_OVERRIDE;
|
| virtual bool onReserveVertexSpace(size_t vertexSize,
|
| int vertexCount,
|
| void** vertices) SK_OVERRIDE;
|
| @@ -171,6 +181,7 @@ private:
|
| void recordClip();
|
| DrawRecord* recordDraw(const DrawInfo&);
|
| StencilPath* recordStencilPath();
|
| + FillPath* recordFillPath();
|
| Clear* recordClear();
|
| CopySurface* recordCopySurface();
|
|
|
| @@ -179,6 +190,7 @@ private:
|
| kCmdPreallocCnt = 32,
|
| kDrawPreallocCnt = 8,
|
| kStencilPathPreallocCnt = 8,
|
| + kFillPathPreallocCnt = 8,
|
| kStatePreallocCnt = 8,
|
| kClipPreallocCnt = 8,
|
| kClearPreallocCnt = 4,
|
| @@ -189,6 +201,7 @@ private:
|
| SkSTArray<kCmdPreallocCnt, uint8_t, true> fCmds;
|
| GrSTAllocator<kDrawPreallocCnt, DrawRecord> fDraws;
|
| GrSTAllocator<kStatePreallocCnt, StencilPath> fStencilPaths;
|
| + GrSTAllocator<kStatePreallocCnt, FillPath> fFillPaths;
|
| GrSTAllocator<kStatePreallocCnt, GrDrawState::DeferredState> fStates;
|
| GrSTAllocator<kClearPreallocCnt, Clear> fClears;
|
| GrSTAllocator<kCopySurfacePreallocCnt, CopySurface> fCopySurfaces;
|
|
|