Index: src/gpu/GrImmediateDrawTarget.cpp |
diff --git a/src/gpu/GrImmediateDrawTarget.cpp b/src/gpu/GrImmediateDrawTarget.cpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5741fefc99c3de5763197900c48e4158c0dbbf4b |
--- /dev/null |
+++ b/src/gpu/GrImmediateDrawTarget.cpp |
@@ -0,0 +1,48 @@ |
+/* |
+ * Copyright 2015 Google Inc. |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+#include "GrImmediateDrawTarget.h" |
+ |
+#include "GrGpu.h" |
+#include "GrPipeline.h" |
+#include "GrRenderTarget.h" |
+#include "SkRect.h" |
+#include "SkTypes.h" |
+ |
+#include "batches/GrDrawBatch.h" |
+#include "batches/GrVertexBatch.h" |
+ |
+GrImmediateDrawTarget::GrImmediateDrawTarget(GrDrawContext* dc, GrRenderTarget* rt, GrContext* context) |
+ : INHERITED(dc, rt, context) |
+// , fBatchTarget(context->foo(), this->getGpu(), rt) |
+ , fDrawID(0) { |
+} |
+ |
+GrImmediateDrawTarget::~GrImmediateDrawTarget() { |
+ this->reset(); |
+} |
+ |
+void GrImmediateDrawTarget::onDrawBatch(GrBatch* batch) { |
+ |
+#if 0 |
+ // TODO: encapsulate the specialization of GrVertexBatch in GrVertexBatch so that we can |
+ // remove this cast. Currently all GrDrawBatches are in fact GrVertexBatch. |
+ GrVertexBatch* vertexBatch = static_cast<GrVertexBatch*>(batch); |
+ vertexBatch->prepareDraws(&fBatchTarget); |
+ vertexBatch->setNumberOfDraws(fBatchTarget.numberOfDraws()); |
+ |
+ fBatchTarget.preFlush(); |
+ fBatchTarget.flushNext(vertexBatch->numberOfDraws()); |
+ fBatchTarget.postFlush(); |
+#endif |
+} |
+ |
+void GrImmediateDrawTarget::onReset() {} |
+ |
+void GrImmediateDrawTarget::onFlush() { |
+ ++fDrawID; |
+} |