use the supplied matrix instead of the texture w/h div for the bicubic GPU effect

BUG=
R=bsalomon@google.com, caryclark@google.com

Author: humper@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11921 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gm/clippedbitmapshaders.cpp b/gm/clippedbitmapshaders.cpp
index 02d07bf..d7eb3b6 100644
--- a/gm/clippedbitmapshaders.cpp
+++ b/gm/clippedbitmapshaders.cpp
@@ -45,12 +45,13 @@
 
 class ClippedBitmapShadersGM : public GM {
 public:
-    ClippedBitmapShadersGM(SkShader::TileMode mode)
-    : fMode(mode) {
+    ClippedBitmapShadersGM(SkShader::TileMode mode, bool hq=false)
+    : fMode(mode), fHQ(hq) {
     }
 
 protected:
     SkShader::TileMode fMode;
+    bool fHQ;
 
     virtual SkString onShortName() {
         SkString descriptor;
@@ -68,13 +69,16 @@
                 SkASSERT(false);
         }
         descriptor.prepend("clipped-bitmap-shaders-");
+        if (fHQ) {
+            descriptor.append("-hq");
+        }
         return descriptor;
     }
 
     virtual SkISize onISize() {
         return SkISize::Make(300, 300);
     }
-
+    
     virtual void onDraw(SkCanvas* canvas) {
         SkBitmap bmp = create_bitmap();
         SkShader* shader = SkShader::CreateBitmapShader(
@@ -87,6 +91,10 @@
         s.postTranslate(SLIDE_SIZE / 2, SLIDE_SIZE / 2);
         shader->setLocalMatrix(s);
         paint.setShader(shader)->unref();
+        
+        if (fHQ) {
+            paint.setFilterLevel(SkPaint::kHigh_FilterLevel);
+        }
 
         SkScalar margin = (SLIDE_SIZE / 3 - RECT_SIZE) / 2;
         for (int i = 0; i < 3; i++) {
@@ -115,4 +123,10 @@
 DEF_GM( return new ClippedBitmapShadersGM(SkShader::kRepeat_TileMode); )
 DEF_GM( return new ClippedBitmapShadersGM(SkShader::kMirror_TileMode); )
 DEF_GM( return new ClippedBitmapShadersGM(SkShader::kClamp_TileMode); )
+
+DEF_GM( return new ClippedBitmapShadersGM(SkShader::kRepeat_TileMode, true); )
+DEF_GM( return new ClippedBitmapShadersGM(SkShader::kMirror_TileMode, true); )
+DEF_GM( return new ClippedBitmapShadersGM(SkShader::kClamp_TileMode, true); )
+
+
 }