Chromium Code Reviews| Index: src/gpu/GrDrawContext.cpp |
| diff --git a/src/gpu/GrDrawContext.cpp b/src/gpu/GrDrawContext.cpp |
| index c4716196b9c266c8a91c99d3fef08639e34814f7..4b0e952823c4366dbe4f5b4b3aa98baec5027698 100644 |
| --- a/src/gpu/GrDrawContext.cpp |
| +++ b/src/gpu/GrDrawContext.cpp |
| @@ -204,35 +204,6 @@ void GrDrawContext::drawPaint(GrRenderTarget* rt, |
| } |
| } |
| -static inline bool is_irect(const SkRect& r) { |
| - return SkScalarIsInt(r.fLeft) && SkScalarIsInt(r.fTop) && |
| - SkScalarIsInt(r.fRight) && SkScalarIsInt(r.fBottom); |
| -} |
| - |
| -static bool apply_aa_to_rect(GrDrawTarget* target, |
| - GrPipelineBuilder* pipelineBuilder, |
| - SkRect* devBoundRect, |
| - const SkRect& rect, |
| - SkScalar strokeWidth, |
| - const SkMatrix& combinedMatrix, |
| - GrColor color) { |
| - if (pipelineBuilder->getRenderTarget()->isUnifiedMultisampled() || |
| - !combinedMatrix.preservesAxisAlignment()) { |
| - return false; |
| - } |
| - |
| - combinedMatrix.mapRect(devBoundRect, rect); |
| - if (!combinedMatrix.rectStaysRect()) { |
| - return true; |
| - } |
| - |
| - if (strokeWidth < 0) { |
| - return !is_irect(*devBoundRect); |
| - } |
| - |
| - return true; |
| -} |
| - |
| static inline bool rect_contains_inclusive(const SkRect& rect, const SkPoint& point) { |
| return point.fX >= rect.fLeft && point.fX <= rect.fRight && |
| point.fY >= rect.fTop && point.fY <= rect.fBottom; |
| @@ -297,13 +268,17 @@ void GrDrawContext::drawRect(GrRenderTarget* rt, |
| } |
| GrColor color = paint.getColor(); |
| - SkRect devBoundRect; |
| bool needAA = paint.isAntiAlias() && |
| !pipelineBuilder.getRenderTarget()->isUnifiedMultisampled(); |
| - bool doAA = needAA && apply_aa_to_rect(fDrawTarget, &pipelineBuilder, &devBoundRect, rect, |
| - width, viewMatrix, color); |
| - if (doAA) { |
| + // We can only handle AA in certain cases right now. We also can't handle perspective rects |
| + // at all yet. |
|
robertphillips
2015/08/14 12:54:56
// The fill path can handle rotation but not skew
|
| + SkASSERT(!viewMatrix.hasPerspective()); |
|
robertphillips
2015/08/14 12:54:55
Extra space after ':' ?
|
| + bool canApplyAA = width >=0 ? viewMatrix.rectStaysRect() : viewMatrix.preservesRightAngles(); |
| + |
| + if (needAA && canApplyAA) { |
| + SkRect devBoundRect; |
| + viewMatrix.mapRect(&devBoundRect, rect); |
| SkAutoTUnref<GrBatch> batch; |
| if (width >= 0) { |
| batch.reset(GrRectBatchFactory::CreateStrokeAA(color, viewMatrix, rect, devBoundRect, |