diff options
Diffstat (limited to 'src/gpu/GrOpFlushState.h')
-rw-r--r-- | src/gpu/GrOpFlushState.h | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/gpu/GrOpFlushState.h b/src/gpu/GrOpFlushState.h index ed77c3b468..d7ed4e0b47 100644 --- a/src/gpu/GrOpFlushState.h +++ b/src/gpu/GrOpFlushState.h @@ -96,22 +96,30 @@ public: fIndexPool.reset(); } -private: + /** Additional data required on a per-op basis when executing GrDrawOps. */ + struct DrawOpArgs { + GrRenderTarget* fRenderTarget; + const GrAppliedClip* fAppliedClip; + GrXferProcessor::DstTexture fDstTexture; + }; + + void setDrawOpArgs(DrawOpArgs* opArgs) { fOpArgs = opArgs; } + + const DrawOpArgs& drawOpArgs() const { + SkASSERT(fOpArgs); + return *fOpArgs; + } +private: GrGpu* fGpu; - GrResourceProvider* fResourceProvider; - GrGpuCommandBuffer* fCommandBuffer; - GrVertexBufferAllocPool fVertexPool; GrIndexBufferAllocPool fIndexPool; - SkSTArray<4, GrDrawOp::DeferredUploadFn> fAsapUploads; - GrDrawOpUploadToken fLastIssuedToken; - GrDrawOpUploadToken fLastFlushedToken; + DrawOpArgs* fOpArgs; }; /** |