aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/spritebitmap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gm/spritebitmap.cpp')
-rw-r--r--gm/spritebitmap.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/gm/spritebitmap.cpp b/gm/spritebitmap.cpp
index 5cf0ece241..6aac09fbce 100644
--- a/gm/spritebitmap.cpp
+++ b/gm/spritebitmap.cpp
@@ -141,6 +141,11 @@ typedef SkImageFilter* (*ImageFilterFactory)();
// hence this cast function
template <typename T> ImageFilterFactory IFCCast(T arg) { return arg; }
+// We expect that applying the filter will keep us in the same domain (raster or gpu)
+static void check_same_domain(SkImage* a, SkImage* b) {
+ SkASSERT(a->isTextureBacked() == b->isTextureBacked());
+}
+
/**
* Compare output of drawSprite and drawBitmap (esp. clipping and imagefilters)
*/
@@ -180,6 +185,9 @@ protected:
SkAutoTUnref<SkImage> image1(image0->applyFilter(filter, &offset1, true));
SkAutoTUnref<SkImage> image2(image0->applyFilter(filter, &offset2, false));
+ check_same_domain(image0, image1);
+ check_same_domain(image0, image2);
+
canvas->save();
canvas->translate(30, 30);
show_image(canvas, image0, SkIPoint::Make(0, 0)); // original