Index: src/gpu/batches/GrDrawBatch.cpp |
diff --git a/src/gpu/batches/GrDrawBatch.cpp b/src/gpu/batches/GrDrawBatch.cpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5e5d41247ab356daf9b22117f1625dc99ccbcd6e |
--- /dev/null |
+++ b/src/gpu/batches/GrDrawBatch.cpp |
@@ -0,0 +1,27 @@ |
+/* |
+ * 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 "GrDrawBatch.h" |
+ |
+GrDrawBatch::GrDrawBatch() : fPipelineInstalled(false) { } |
+ |
+GrDrawBatch::~GrDrawBatch() { |
+ if (fPipelineInstalled) { |
+ this->pipeline()->~GrPipeline(); |
+ } |
+} |
+ |
+bool GrDrawBatch::installPipeline(const GrPipeline::CreateArgs& args) { |
+ GrPipelineOptimizations opts; |
+ void* location = fPipelineStorage.get(); |
+ if (!GrPipeline::CreateAt(location, args, &opts)) { |
+ return false; |
+ } |
+ this->initBatchTracker(opts); |
+ fPipelineInstalled = true; |
+ return true; |
+} |