Index: src/gpu/GrTessellatingPathRenderer.cpp |
diff --git a/src/gpu/GrTessellatingPathRenderer.cpp b/src/gpu/GrTessellatingPathRenderer.cpp |
index 6abfc4538f37461b7581e10ac64a754ab15e26fb..d0c7d3dd2cdc946a7c641b0edae48d7c9b3fc83e 100644 |
--- a/src/gpu/GrTessellatingPathRenderer.cpp |
+++ b/src/gpu/GrTessellatingPathRenderer.cpp |
@@ -1404,11 +1404,24 @@ public: |
} |
LOG("got %d pts, %d contours\n", maxPts, contourCnt); |
- uint32_t flags = GrDefaultGeoProcFactory::kPosition_GPType; |
- SkAutoTUnref<const GrGeometryProcessor> gp( |
- GrDefaultGeoProcFactory::Create(flags, fColor, fPipelineInfo.readsLocalCoords(), |
- !fPipelineInfo.readsCoverage(), fViewMatrix, |
- SkMatrix::I())); |
+ SkAutoTUnref<const GrGeometryProcessor> gp; |
+ { |
+ using namespace GrDefaultGeoProcFactory; |
+ |
+ Color color(fColor); |
+ LocalCoords localCoords(fPipelineInfo.readsLocalCoords() ? |
+ LocalCoords::kUsePosition_Type : |
+ LocalCoords::kUnused_Type); |
+ Coverage::Type coverageType; |
+ if (fPipelineInfo.readsCoverage()) { |
+ coverageType = Coverage::kSolid_Type; |
+ } else { |
+ coverageType = Coverage::kNone_Type; |
+ } |
+ Coverage coverage(coverageType); |
+ gp.reset(GrDefaultGeoProcFactory::Create(color, coverage, localCoords, |
+ fViewMatrix)); |
+ } |
batchTarget->initDraw(gp, pipeline); |
SkAutoTDeleteArray<Vertex*> contours(SkNEW_ARRAY(Vertex *, contourCnt)); |