Index: src/gpu/GrDrawTarget.cpp |
diff --git a/src/gpu/GrDrawTarget.cpp b/src/gpu/GrDrawTarget.cpp |
index 353d36a905aa643b19fc9e2cb56a73135a8ade4f..c444509474e11926c90b8153634c71f60554dcec 100644 |
--- a/src/gpu/GrDrawTarget.cpp |
+++ b/src/gpu/GrDrawTarget.cpp |
@@ -548,34 +548,24 @@ void GrDrawTarget::drawPath(const GrPath* path, SkPath::FillType fill) { |
this->onDrawPath(path, fill, dstCopy.texture() ? &dstCopy : NULL); |
} |
-void GrDrawTarget::drawPaths(int pathCount, const GrPath** paths, |
- const SkMatrix* transforms, |
- SkPath::FillType fill, SkStrokeRec::Style stroke) { |
- SkASSERT(pathCount > 0); |
- SkASSERT(NULL != paths); |
- SkASSERT(NULL != paths[0]); |
+void GrDrawTarget::drawPaths(const GrPathRange* pathRange, |
+ const uint32_t indices[], int count, |
+ const float transforms[], GrTransformFormat transformsFormat, |
+ SkPath::FillType fill) { |
SkASSERT(this->caps()->pathRenderingSupport()); |
- SkASSERT(!SkPath::IsInverseFillType(fill)); |
- |
- const GrDrawState* drawState = &getDrawState(); |
- |
- SkRect devBounds; |
- transforms[0].mapRect(&devBounds, paths[0]->getBounds()); |
- for (int i = 1; i < pathCount; ++i) { |
- SkRect mappedPathBounds; |
- transforms[i].mapRect(&mappedPathBounds, paths[i]->getBounds()); |
- devBounds.join(mappedPathBounds); |
- } |
- |
- SkMatrix viewM = drawState->getViewMatrix(); |
- viewM.mapRect(&devBounds); |
+ SkASSERT(NULL != pathRange); |
+ SkASSERT(NULL != transforms); |
+ // Don't compute a bounding box for setupDstReadIfNecessary(), we'll opt |
+ // instead for it to just copy the entire dst. Realistically this is a moot |
+ // point, because any context that supports NV_path_rendering will also |
+ // support NV_blend_equation_advanced. |
bsalomon
2014/07/17 17:27:28
Where's that CL? :)
Chris Dalton
2014/07/17 18:15:19
That's what I keep wondering :-\
|
GrDeviceCoordTexture dstCopy; |
- if (!this->setupDstReadIfNecessary(&dstCopy, &devBounds)) { |
+ if (!this->setupDstReadIfNecessary(&dstCopy, NULL)) { |
return; |
} |
- this->onDrawPaths(pathCount, paths, transforms, fill, stroke, |
+ this->onDrawPaths(pathRange, indices, count, transforms, transformsFormat, fill, |
dstCopy.texture() ? &dstCopy : NULL); |
} |