Index: src/gpu/GrAARectRenderer.h |
diff --git a/src/gpu/GrAARectRenderer.h b/src/gpu/GrAARectRenderer.h |
index e39b87a5fd3305103497ba83a346373b881f530f..c6e3976b7f741e785a2131ebc8263802c2fdec30 100644 |
--- a/src/gpu/GrAARectRenderer.h |
+++ b/src/gpu/GrAARectRenderer.h |
@@ -44,7 +44,17 @@ |
const SkRect& rect, |
const SkMatrix& combinedMatrix, |
const SkRect& devRect) { |
+#ifdef SHADER_AA_FILL_RECT |
+ if (combinedMatrix.rectStaysRect()) { |
+ this->shaderFillAlignedAARect(gpu, target, |
+ rect, combinedMatrix); |
+ } else { |
+ this->shaderFillAARect(gpu, target, |
+ rect, combinedMatrix); |
+ } |
+#else |
this->geometryFillAARect(target, rect, combinedMatrix, devRect); |
+#endif |
} |
void strokeAARect(GrDrawTarget* target, |
@@ -66,6 +76,14 @@ |
const SkMatrix& combinedMatrix, |
const SkRect& devRect); |
+ void shaderFillAARect(GrDrawTarget* target, |
+ const SkRect& rect, |
+ const SkMatrix& combinedMatrix); |
+ |
+ void shaderFillAlignedAARect(GrDrawTarget* target, |
+ const SkRect& rect, |
+ const SkMatrix& combinedMatrix); |
+ |
void geometryStrokeAARect(GrDrawTarget* target, |
const SkRect& devOutside, |
const SkRect& devOutsideAssist, |