aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrAARectRenderer.cpp
diff options
context:
space:
mode:
authorGravatar robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-07-01 13:10:10 +0000
committerGravatar robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-07-01 13:10:10 +0000
commitc111ce22e7eb19dde747ec38f25a1ab68f74dbd3 (patch)
treebd8719909b53d02688582c0fac537bf2f9b6097e /src/gpu/GrAARectRenderer.cpp
parent6c4c3a55541320a7f1d0319a65f60252dbc737eb (diff)
Partial revert of r9812 & put rest of r9812 behind a compile flag
Diffstat (limited to 'src/gpu/GrAARectRenderer.cpp')
-rw-r--r--src/gpu/GrAARectRenderer.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/gpu/GrAARectRenderer.cpp b/src/gpu/GrAARectRenderer.cpp
index 5c24f6e79e..d6a0f33ef4 100644
--- a/src/gpu/GrAARectRenderer.cpp
+++ b/src/gpu/GrAARectRenderer.cpp
@@ -472,7 +472,11 @@ void GrAARectRenderer::geometryFillAARect(GrGpu* gpu,
if (useVertexCoverage) {
innerColor = GrColorPackRGBA(scale, scale, scale, scale);
} else {
- innerColor = SkAlphaMulQ(target->getDrawState().getColor(), scale);
+ if (0xff == scale) {
+ innerColor = target->getDrawState().getColor();
+ } else {
+ innerColor = SkAlphaMulQ(target->getDrawState().getColor(), scale);
+ }
}
verts += 4 * vsize;
@@ -724,6 +728,7 @@ void GrAARectRenderer::geometryStrokeAARect(GrGpu* gpu,
GrPoint* fan2Pos = reinterpret_cast<GrPoint*>(verts + 8 * vsize);
GrPoint* fan3Pos = reinterpret_cast<GrPoint*>(verts + 12 * vsize);
+#ifndef SK_IGNORE_THIN_STROKED_RECT_FIX
// TODO: this only really works if the X & Y margins are the same all around
// the rect
SkScalar inset = SkMinScalar(SK_Scalar1, devOutside.fRight - devInside.fRight);
@@ -731,6 +736,9 @@ void GrAARectRenderer::geometryStrokeAARect(GrGpu* gpu,
inset = SkMinScalar(inset, devInside.fTop - devOutside.fTop);
inset = SK_ScalarHalf * SkMinScalar(inset, devOutside.fBottom - devInside.fBottom);
SkASSERT(inset >= 0);
+#else
+ SkScalar inset = SK_ScalarHalf;
+#endif
// outermost
set_inset_fan(fan0Pos, vsize, devOutside, -SK_ScalarHalf, -SK_ScalarHalf);
@@ -759,7 +767,11 @@ void GrAARectRenderer::geometryStrokeAARect(GrGpu* gpu,
if (useVertexCoverage) {
innerColor = GrColorPackRGBA(scale, scale, scale, scale);
} else {
- innerColor = SkAlphaMulQ(target->getDrawState().getColor(), scale);
+ if (0xff == scale) {
+ innerColor = target->getDrawState().getColor();
+ } else {
+ innerColor = SkAlphaMulQ(target->getDrawState().getColor(), scale);
+ }
}
verts += 4 * vsize;