Index: src/gpu/GrDefaultPathRenderer.cpp |
diff --git a/src/gpu/GrDefaultPathRenderer.cpp b/src/gpu/GrDefaultPathRenderer.cpp |
index ec6e91c2a8423ff0a784d0fbd8a80ca758ee6060..2dcfa57f3d27f323cccbe7061300fb923d03581f 100644 |
--- a/src/gpu/GrDefaultPathRenderer.cpp |
+++ b/src/gpu/GrDefaultPathRenderer.cpp |
@@ -254,8 +254,6 @@ |
SkAutoTUnref<const GrGeometryProcessor> gp( |
GrDefaultGeoProcFactory::Create(GrDefaultGeoProcFactory::kPosition_GPType, |
this->color(), |
- this->usesLocalCoords(), |
- this->coverageIgnored(), |
this->viewMatrix(), |
SkMatrix::I(), |
this->coverage())); |
@@ -264,6 +262,16 @@ |
SkASSERT(vertexStride == sizeof(SkPoint)); |
batchTarget->initDraw(gp, 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 = this->usesLocalCoords(); |
+ gp->initBatchTracker(batchTarget->currentBatchTracker(), init); |
int instanceCount = fGeoData.count(); |
@@ -510,7 +518,6 @@ |
bool usesLocalCoords() const { return fBatch.fUsesLocalCoords; } |
const SkMatrix& viewMatrix() const { return fBatch.fViewMatrix; } |
bool isHairline() const { return fBatch.fIsHairline; } |
- bool coverageIgnored() const { return fBatch.fCoverageIgnored; } |
struct BatchTracker { |
GrColor fColor; |