Chromium Code Reviews| Index: src/gpu/GrInOrderDrawBuffer.h |
| diff --git a/src/gpu/GrInOrderDrawBuffer.h b/src/gpu/GrInOrderDrawBuffer.h |
| index 532842a3b40636b4a1677a97860d612b84af4182..85e24dcd903db0d060c6542f3fa173e1c2a6d8e3 100644 |
| --- a/src/gpu/GrInOrderDrawBuffer.h |
| +++ b/src/gpu/GrInOrderDrawBuffer.h |
| @@ -66,7 +66,7 @@ private: |
| Cmd(uint8_t type) : fType(type) {} |
| virtual ~Cmd() {} |
| - virtual void execute(GrInOrderDrawBuffer*, const GrOptDrawState*) = 0; |
| + virtual void execute(GrInOrderDrawBuffer*, const GrOptDrawState*, const GrProgramDesc*) = 0; |
| uint8_t fType; |
| }; |
| @@ -74,7 +74,7 @@ private: |
| struct Draw : public Cmd { |
| Draw(const DrawInfo& info) : Cmd(kDraw_Cmd), fInfo(info) {} |
| - void execute(GrInOrderDrawBuffer*, const GrOptDrawState*) SK_OVERRIDE; |
| + void execute(GrInOrderDrawBuffer*, const GrOptDrawState*, const GrProgramDesc*) SK_OVERRIDE; |
| DrawInfo fInfo; |
| }; |
| @@ -84,7 +84,7 @@ private: |
| const GrPath* path() const { return fPath.get(); } |
| - void execute(GrInOrderDrawBuffer*, const GrOptDrawState*) SK_OVERRIDE; |
| + void execute(GrInOrderDrawBuffer*, const GrOptDrawState*, const GrProgramDesc*) SK_OVERRIDE; |
| GrStencilSettings fStencilSettings; |
| @@ -97,7 +97,7 @@ private: |
| const GrPath* path() const { return fPath.get(); } |
| - void execute(GrInOrderDrawBuffer*, const GrOptDrawState*) SK_OVERRIDE; |
| + void execute(GrInOrderDrawBuffer*, const GrOptDrawState*, const GrProgramDesc*) SK_OVERRIDE; |
| GrStencilSettings fStencilSettings; |
| @@ -110,7 +110,7 @@ private: |
| const GrPathRange* pathRange() const { return fPathRange.get(); } |
| - void execute(GrInOrderDrawBuffer*, const GrOptDrawState*) SK_OVERRIDE; |
| + void execute(GrInOrderDrawBuffer*, const GrOptDrawState*, const GrProgramDesc*) SK_OVERRIDE; |
| int fIndicesLocation; |
| PathIndexType fIndexType; |
| @@ -129,7 +129,7 @@ private: |
| GrRenderTarget* renderTarget() const { return fRenderTarget.get(); } |
| - void execute(GrInOrderDrawBuffer*, const GrOptDrawState*) SK_OVERRIDE; |
| + void execute(GrInOrderDrawBuffer*, const GrOptDrawState*, const GrProgramDesc*) SK_OVERRIDE; |
| SkIRect fRect; |
| GrColor fColor; |
| @@ -145,7 +145,7 @@ private: |
| GrRenderTarget* renderTarget() const { return fRenderTarget.get(); } |
| - void execute(GrInOrderDrawBuffer*, const GrOptDrawState*) SK_OVERRIDE; |
| + void execute(GrInOrderDrawBuffer*, const GrOptDrawState*, const GrProgramDesc*) SK_OVERRIDE; |
| SkIRect fRect; |
| bool fInsideClip; |
| @@ -160,7 +160,7 @@ private: |
| GrSurface* dst() const { return fDst.get(); } |
| GrSurface* src() const { return fSrc.get(); } |
| - void execute(GrInOrderDrawBuffer*, const GrOptDrawState*) SK_OVERRIDE; |
| + void execute(GrInOrderDrawBuffer*, const GrOptDrawState*, const GrProgramDesc*) SK_OVERRIDE; |
| SkIPoint fDstPoint; |
| SkIRect fSrcRect; |
| @@ -171,12 +171,14 @@ private: |
| }; |
| struct SetState : public Cmd { |
| - SetState(const GrDrawState& drawState, GrGpu* gpu, const ScissorState& scissor, |
| - const GrDeviceCoordTexture* dstCopy, GrGpu::DrawType drawType) |
| + SetState(const GrDrawState& drawState, const GrDrawTargetCaps& caps, |
| + const ScissorState& scissor, const GrDeviceCoordTexture* dstCopy, |
| + GrGpu::DrawType drawType) |
| : Cmd(kSetState_Cmd) |
| - , fState(drawState, gpu, scissor, dstCopy, drawType) {} |
| + , fState(drawState, caps, scissor, dstCopy, drawType) |
| + , fDrawType(drawType) {} |
| - void execute(GrInOrderDrawBuffer*, const GrOptDrawState*) SK_OVERRIDE; |
| + void execute(GrInOrderDrawBuffer*, const GrOptDrawState*, const GrProgramDesc*) SK_OVERRIDE; |
| const GrOptDrawState fState; |
| GrGpu::DrawType fDrawType; |
| @@ -253,6 +255,7 @@ private: |
| CmdBuffer fCmdBuffer; |
| const GrOptDrawState* fPrevState; |
| + GrProgramDesc fDesc; |
|
bsalomon
2014/12/03 18:41:07
shouldn't this be a local in onflush()?
|
| SkTArray<GrTraceMarkerSet, false> fGpuCmdMarkers; |
| SkTDArray<char> fPathIndexBuffer; |
| SkTDArray<float> fPathTransformBuffer; |