Index: src/gpu/GrTestBatch.h |
diff --git a/src/gpu/GrTestBatch.h b/src/gpu/GrTestBatch.h |
deleted file mode 100644 |
index ab294ff28f034e61e706ebbcf4b900fe3ec5286e..0000000000000000000000000000000000000000 |
--- a/src/gpu/GrTestBatch.h |
+++ /dev/null |
@@ -1,94 +0,0 @@ |
-/* |
- * Copyright 2015 Google Inc. |
- * |
- * Use of this source code is governed by a BSD-style license that can be |
- * found in the LICENSE file. |
- */ |
- |
-#ifndef GrTestBatch_DEFINED |
-#define GrTestBatch_DEFINED |
- |
-#include "GrBatch.h" |
- |
-/* |
- * A simple batch only for testing purposes which actually doesn't batch at all, but can fit into |
- * the batch pipeline and generate arbitrary geometry |
- */ |
-class GrTestBatch : public GrBatch { |
-public: |
- struct Geometry { |
- GrColor fColor; |
- }; |
- |
- virtual const char* name() const SK_OVERRIDE = 0; |
- |
- void getInvariantOutputColor(GrInitInvariantOutput* out) const SK_OVERRIDE { |
- // When this is called on a batch, there is only one geometry bundle |
- out->setUnknownFourComponents(); |
- } |
- |
- void getInvariantOutputCoverage(GrInitInvariantOutput* out) const SK_OVERRIDE { |
- out->setUnknownSingleComponent(); |
- } |
- |
- void initBatchOpt(const GrBatchOpt& batchOpt) {} |
- |
- void initBatchTracker(const GrPipelineInfo& init) SK_OVERRIDE { |
- // Handle any color overrides |
- if (init.fColorIgnored) { |
- this->geoData(0)->fColor = GrColor_ILLEGAL; |
- } else if (GrColor_ILLEGAL != init.fOverrideColor) { |
- this->geoData(0)->fColor = init.fOverrideColor; |
- } |
- |
- // setup batch properties |
- fBatch.fColorIgnored = init.fColorIgnored; |
- fBatch.fColor = this->geoData(0)->fColor; |
- fBatch.fUsesLocalCoords = init.fUsesLocalCoords; |
- fBatch.fCoverageIgnored = init.fCoverageIgnored; |
- } |
- |
- void generateGeometry(GrBatchTarget* batchTarget, const GrPipeline* pipeline) SK_OVERRIDE { |
- batchTarget->initDraw(fGeometryProcessor, pipeline); |
- |
- // TODO this is hacky, but the only way we have to initialize the GP is to use the |
- // GrPipelineInfo struct so we can generate the correct shader. Once we have GrBatch |
- // everywhere we can remove this nastiness |
- GrPipelineInfo init; |
- init.fColorIgnored = fBatch.fColorIgnored; |
- init.fOverrideColor = GrColor_ILLEGAL; |
- init.fCoverageIgnored = fBatch.fCoverageIgnored; |
- init.fUsesLocalCoords = fBatch.fUsesLocalCoords; |
- fGeometryProcessor->initBatchTracker(batchTarget->currentBatchTracker(), init); |
- |
- this->onGenerateGeometry(batchTarget, pipeline); |
- } |
- |
-protected: |
- GrTestBatch(const GrGeometryProcessor* gp) { |
- fGeometryProcessor.reset(SkRef(gp)); |
- } |
- |
- const GrGeometryProcessor* geometryProcessor() const { return fGeometryProcessor; } |
- |
-private: |
- virtual Geometry* geoData(int index) = 0; |
- |
- bool onCombineIfPossible(GrBatch* t) SK_OVERRIDE { |
- return false; |
- } |
- |
- virtual void onGenerateGeometry(GrBatchTarget* batchTarget, const GrPipeline* pipeline) = 0; |
- |
- struct BatchTracker { |
- GrColor fColor; |
- bool fUsesLocalCoords; |
- bool fColorIgnored; |
- bool fCoverageIgnored; |
- }; |
- |
- SkAutoTUnref<const GrGeometryProcessor> fGeometryProcessor; |
- BatchTracker fBatch; |
-}; |
- |
-#endif |