Index: src/gpu/GrAAHairLinePathRenderer.cpp |
diff --git a/src/gpu/GrAAHairLinePathRenderer.cpp b/src/gpu/GrAAHairLinePathRenderer.cpp |
index ecd938961e478c5d31d98a566cf76a46f3ee099b..c1f951ab7f91832d95ece209f71b377794c68e48 100644 |
--- a/src/gpu/GrAAHairLinePathRenderer.cpp |
+++ b/src/gpu/GrAAHairLinePathRenderer.cpp |
@@ -472,6 +472,12 @@ void intersect_lines(const SkPoint& ptA, const SkVector& normA, |
result->fY = SkScalarMul(result->fY, wInv); |
} |
+void set_uv_quad(const SkPoint qpts[3], Vertex verts[kVertsPerQuad]) { |
+ // this should be in the src space, not dev coords, when we have perspective |
+ GrPathUtils::QuadUVMatrix DevToUV(qpts); |
+ DevToUV.apply<kVertsPerQuad, sizeof(Vertex), sizeof(GrPoint)>(verts); |
+} |
+ |
void bloat_quad(const SkPoint qpts[3], const SkMatrix* toDevice, |
const SkMatrix* toSrc, Vertex verts[kVertsPerQuad], |
SkRect* devBounds) { |
@@ -481,9 +487,6 @@ void bloat_quad(const SkPoint qpts[3], const SkMatrix* toDevice, |
SkPoint b = qpts[1]; |
SkPoint c = qpts[2]; |
- // this should be in the src space, not dev coords, when we have perspective |
- GrPathUtils::QuadUVMatrix DevToUV(qpts); |
- |
if (toDevice) { |
toDevice->mapPoints(&a, 1); |
toDevice->mapPoints(&b, 1); |
@@ -549,7 +552,6 @@ void bloat_quad(const SkPoint qpts[3], const SkMatrix* toDevice, |
if (toSrc) { |
toSrc->mapPointsWithStride(&verts[0].fPos, sizeof(Vertex), kVertsPerQuad); |
} |
- DevToUV.apply<kVertsPerQuad, sizeof(Vertex), sizeof(GrPoint)>(verts); |
} |
// Input: |
@@ -641,6 +643,7 @@ void add_quads(const SkPoint p[3], |
add_quads(newP + 2, subdiv-1, toDevice, toSrc, vert, devBounds); |
} else { |
bloat_quad(p, toDevice, toSrc, *vert, devBounds); |
+ set_uv_quad(p, *vert); |
*vert += kVertsPerQuad; |
} |
} |