Index: src/gpu/GrRectBatch.cpp |
diff --git a/src/gpu/GrRectBatch.cpp b/src/gpu/GrRectBatch.cpp |
index 2977fdb1ce4d87feb37a8d0084dcf563c93fd87f..e1a84c7876c82d4b7f8c67a1b24e855129f486e7 100644 |
--- a/src/gpu/GrRectBatch.cpp |
+++ b/src/gpu/GrRectBatch.cpp |
@@ -27,16 +27,23 @@ static const GrGeometryProcessor* create_rect_gp(bool hasExplicitLocalCoords, |
const SkMatrix* localMatrix, |
robertphillips
2015/07/27 17:30:40
remove usesLocalCoords ?
|
bool usesLocalCoords, |
bool coverageIgnored) { |
- // TODO remove color when we have ignored color from the XP |
- uint32_t flags = GrDefaultGeoProcFactory::kPosition_GPType | |
- GrDefaultGeoProcFactory::kColor_GPType; |
- flags |= hasExplicitLocalCoords ? GrDefaultGeoProcFactory::kLocalCoord_GPType : 0; |
+ typedef GrDefaultGeoProcFactory::Color Color; |
+ typedef GrDefaultGeoProcFactory::Coverage Coverage; |
+ typedef GrDefaultGeoProcFactory::LocalCoords LocalCoords; |
+ Color color(Color::kAttribute_Type); |
+ Coverage coverage(coverageIgnored ? Coverage::kNone_Type : Coverage::kSolid_Type); |
+ LocalCoords::Type localCoords; |
+ if (hasExplicitLocalCoords) { |
+ localCoords = LocalCoords::kHasExplicit_Type; |
+ } else { |
+ localCoords = LocalCoords::kUsePosition_Type; |
+ } |
+ |
if (localMatrix) { |
- return GrDefaultGeoProcFactory::Create(flags, GrColor_WHITE, usesLocalCoords, |
- coverageIgnored, SkMatrix::I(), *localMatrix); |
+ return GrDefaultGeoProcFactory::Create(color, coverage, localCoords, SkMatrix::I(), |
+ *localMatrix); |
} else { |
- return GrDefaultGeoProcFactory::Create(flags, GrColor_WHITE, usesLocalCoords, |
- coverageIgnored, SkMatrix::I(), SkMatrix::I()); |
+ return GrDefaultGeoProcFactory::Create(color, coverage, localCoords); |
} |
} |
@@ -129,6 +136,7 @@ public: |
geom.fRect.fRight, geom.fRect.fBottom, vertexStride); |
geom.fViewMatrix.mapPointsWithStride(positions, vertexStride, kVerticesPerQuad); |
+ // TODO we should only do this if local coords are being read |
if (geom.fHasLocalRect) { |
static const int kLocalOffset = sizeof(SkPoint) + sizeof(GrColor); |
SkPoint* coords = reinterpret_cast<SkPoint*>(offset + kLocalOffset); |