aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrOpFlushState.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/GrOpFlushState.h')
-rw-r--r--src/gpu/GrOpFlushState.h22
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;
};
/**