fix off-by-one error in texture coordinate calculations for rrect gpu
blur; output now matches CPU

BUG=
R=bsalomon@google.com

Author: humper@google.com

Review URL: https://codereview.chromium.org/292773003

git-svn-id: http://skia.googlecode.com/svn/trunk@14788 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/expectations/gm/ignored-tests.txt b/expectations/gm/ignored-tests.txt
index 4edbcc2..4a431f0 100644
--- a/expectations/gm/ignored-tests.txt
+++ b/expectations/gm/ignored-tests.txt
@@ -48,3 +48,7 @@
 dashing2
 dashing3
 dashcubics
+
+# humper: https://codereview.chromium.org/292773003/
+# changed texture coordinate generation for GPU rrect blur; will rebaseline after land.
+simpleblurroundrect
diff --git a/src/effects/SkBlurMaskFilter.cpp b/src/effects/SkBlurMaskFilter.cpp
index 2169a42..f263a02 100644
--- a/src/effects/SkBlurMaskFilter.cpp
+++ b/src/effects/SkBlurMaskFilter.cpp
@@ -1040,13 +1040,13 @@
     builder->fsCodeAppendf("\t\tif (translatedFragPos.x >= threshold && translatedFragPos.x < (middle.x+threshold)) {\n" );
     builder->fsCodeAppendf("\t\t\ttranslatedFragPos.x = threshold;\n");
     builder->fsCodeAppendf("\t\t} else if (translatedFragPos.x >= (middle.x + threshold)) {\n");
-    builder->fsCodeAppendf("\t\t\ttranslatedFragPos.x -= middle.x;\n");
+    builder->fsCodeAppendf("\t\t\ttranslatedFragPos.x -= middle.x - 1.0;\n");
     builder->fsCodeAppendf("\t\t}\n");
 
     builder->fsCodeAppendf("\t\tif (translatedFragPos.y > threshold && translatedFragPos.y < (middle.y+threshold)) {\n" );
     builder->fsCodeAppendf("\t\t\ttranslatedFragPos.y = threshold;\n");
     builder->fsCodeAppendf("\t\t} else if (translatedFragPos.y >= (middle.y + threshold)) {\n");
-    builder->fsCodeAppendf("\t\t\ttranslatedFragPos.y -= middle.y;\n");
+    builder->fsCodeAppendf("\t\t\ttranslatedFragPos.y -= middle.y - 1.0;\n");
     builder->fsCodeAppendf("\t\t}\n");
 
     builder->fsCodeAppendf("\t\tvec2 proxyDims = vec2(2.0*threshold+1.0);\n");