Index: src/gpu/GrContext.cpp |
=================================================================== |
--- src/gpu/GrContext.cpp (revision 8891) |
+++ src/gpu/GrContext.cpp (working copy) |
@@ -980,10 +980,12 @@ |
GrDrawTarget* target = this->prepareToDraw(&paint, BUFFERED_DRAW); |
GrDrawState::AutoStageDisable atr(fDrawState); |
- if (!fOvalRenderer->drawSimpleRRect(target, this, paint, rect, stroke)) { |
+ bool prAA = paint.isAntiAlias() && !this->getRenderTarget()->isMultisampled(); |
bsalomon
2013/04/29 21:17:08
prAA meant "path renderer aa". Not so obvious, I r
|
+ |
+ if (!fOvalRenderer->drawSimpleRRect(target, this, prAA, rect, stroke)) { |
SkPath path; |
path.addRRect(rect); |
- this->internalDrawPath(target, paint, path, stroke); |
+ this->internalDrawPath(target, prAA, path, stroke); |
} |
} |
@@ -996,10 +998,12 @@ |
GrDrawTarget* target = this->prepareToDraw(&paint, BUFFERED_DRAW); |
GrDrawState::AutoStageDisable atr(fDrawState); |
- if (!fOvalRenderer->drawOval(target, this, paint, oval, stroke)) { |
+ bool prAA = paint.isAntiAlias() && !this->getRenderTarget()->isMultisampled(); |
+ |
+ if (!fOvalRenderer->drawOval(target, this, prAA, oval, stroke)) { |
SkPath path; |
path.addOval(oval); |
- this->internalDrawPath(target, paint, path, stroke); |
+ this->internalDrawPath(target, prAA, path, stroke); |
} |
} |
@@ -1022,18 +1026,17 @@ |
SkRect ovalRect; |
bool isOval = path.isOval(&ovalRect); |
+ bool prAA = paint.isAntiAlias() && !this->getRenderTarget()->isMultisampled(); |
if (!isOval || path.isInverseFillType() |
- || !fOvalRenderer->drawOval(target, this, paint, ovalRect, stroke)) { |
- this->internalDrawPath(target, paint, path, stroke); |
+ || !fOvalRenderer->drawOval(target, this, prAA, ovalRect, stroke)) { |
+ this->internalDrawPath(target, prAA, path, stroke); |
} |
} |
-void GrContext::internalDrawPath(GrDrawTarget* target, const GrPaint& paint, const SkPath& path, |
+void GrContext::internalDrawPath(GrDrawTarget* target, bool prAA, const SkPath& path, |
const SkStrokeRec& stroke) { |
- bool prAA = paint.isAntiAlias() && !this->getRenderTarget()->isMultisampled(); |
- |
// An Assumption here is that path renderer would use some form of tweaking |
// the src color (either the input alpha or in the frag shader) to implement |
// aa. If we have some future driver-mojo path AA that can do the right |