Index: src/gpu/GrDrawContext.cpp |
diff --git a/src/gpu/GrDrawContext.cpp b/src/gpu/GrDrawContext.cpp |
index b957b9124e88f492c1d02deaf7665244300ea976..f7d7e7bb099c4fce1e61c17f91083e573ff94d46 100644 |
--- a/src/gpu/GrDrawContext.cpp |
+++ b/src/gpu/GrDrawContext.cpp |
@@ -275,16 +275,17 @@ |
void initBatchTracker(const GrPipelineInfo& init) override { |
// Handle any color overrides |
- if (!init.readsColor()) { |
+ if (init.fColorIgnored) { |
fGeoData[0].fColor = GrColor_ILLEGAL; |
- } |
- init.getOverrideColorIfSet(&fGeoData[0].fColor); |
+ } else if (GrColor_ILLEGAL != init.fOverrideColor) { |
+ fGeoData[0].fColor = init.fOverrideColor; |
+ } |
// setup batch properties |
- fBatch.fColorIgnored = !init.readsColor(); |
+ fBatch.fColorIgnored = init.fColorIgnored; |
fBatch.fColor = fGeoData[0].fColor; |
- fBatch.fUsesLocalCoords = init.readsLocalCoords(); |
- fBatch.fCoverageIgnored = !init.readsCoverage(); |
+ fBatch.fUsesLocalCoords = init.fUsesLocalCoords; |
+ fBatch.fCoverageIgnored = init.fCoverageIgnored; |
} |
void generateGeometry(GrBatchTarget* batchTarget, const GrPipeline* pipeline) override { |
@@ -613,16 +614,17 @@ |
void initBatchTracker(const GrPipelineInfo& init) override { |
// Handle any color overrides |
- if (!init.readsColor()) { |
+ if (init.fColorIgnored) { |
fGeoData[0].fColor = GrColor_ILLEGAL; |
- } |
- init.getOverrideColorIfSet(&fGeoData[0].fColor); |
+ } else if (GrColor_ILLEGAL != init.fOverrideColor) { |
+ fGeoData[0].fColor = init.fOverrideColor; |
+ } |
// setup batch properties |
- fBatch.fColorIgnored = !init.readsColor(); |
+ fBatch.fColorIgnored = init.fColorIgnored; |
fBatch.fColor = fGeoData[0].fColor; |
- fBatch.fUsesLocalCoords = init.readsLocalCoords(); |
- fBatch.fCoverageIgnored = !init.readsCoverage(); |
+ fBatch.fUsesLocalCoords = init.fUsesLocalCoords; |
+ fBatch.fCoverageIgnored = init.fCoverageIgnored; |
} |
void generateGeometry(GrBatchTarget* batchTarget, const GrPipeline* pipeline) override { |