Index: src/gpu/batches/GrDrawBatch.h |
diff --git a/src/gpu/batches/GrDrawBatch.h b/src/gpu/batches/GrDrawBatch.h |
index b5def697c791ea7cb2aaaea0d0a24a77789be19a..53f005a5def7323da3890eadd8afd223487171f8 100644 |
--- a/src/gpu/batches/GrDrawBatch.h |
+++ b/src/gpu/batches/GrDrawBatch.h |
@@ -33,6 +33,12 @@ private: |
GrBatchToken fLastUploadToken; |
}; |
+struct GrBatchToXPOverrides { |
joshualitt
2015/11/23 19:09:29
GrPipelineOptimizations
|
+ GrProcOptInfo fColorPOI; |
+ GrProcOptInfo fCoveragePOI; |
+ bool fUsePLSDstRead; |
joshualitt
2015/11/23 19:09:29
GrBatchToXPOverrides
|
+}; |
+ |
/** |
* Base class for GrBatches that draw. These batches have a GrPipeline installed by GrDrawTarget. |
*/ |
@@ -43,8 +49,10 @@ public: |
GrDrawBatch(uint32_t classID); |
~GrDrawBatch() override; |
- virtual void getInvariantOutputColor(GrInitInvariantOutput* out) const = 0; |
- virtual void getInvariantOutputCoverage(GrInitInvariantOutput* out) const = 0; |
+ /** |
+ * Fills in a structure informing the XP of overrides to its normal behavior. |
+ */ |
+ void getBatchToXPOverrides(GrBatchToXPOverrides &override) const; |
joshualitt
2015/11/23 19:09:29
getPipelineOptimizations
|
const GrPipeline* pipeline() const { |
SkASSERT(fPipelineInstalled); |
@@ -80,6 +88,10 @@ public: |
return string; |
} |
+protected: |
+ virtual void computeBatchToXPOverrides(GrInitInvariantOutput* color, GrInitInvariantOutput* coverage, |
joshualitt
2015/11/23 19:09:29
line wraps.
onGetPipelineOptimizations
|
+ bool* usePLSDstRead) const = 0; |
+ |
private: |
/** |
* initBatchTracker is a hook for the some additional overrides / optimization possibilities |