Chromium Code Reviews| 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 |