skia2/gm
senorblanco@chromium.org 2bfe36b68d Apply the CTM to filter parameters for SkBlurImageFilter, SkDropShadowImageFilter, SkDisplacementMapEffect and SkMorphologyImageFilter. I had resisted this (and may later put in an assert that the CTM contains no rotation, skew or perspective), but it just makes the filters play better with Skia generally.
This revealed that the displacement map was not handling clipping or upstream cropping at all well (the color would "swim" through the displacement at the edge of the clip rect). Fixed by passing through the correct offsets to the bitmap accesses in both raster and GPU paths. Same for morphology.

R=sugoi@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13127 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-20 19:58:28 +00:00
..
rebaseline_server rebaseline_server: ignore TSAN, ASAN, Valgrind bots 2014-01-15 19:16:09 +00:00
tests make ignored-tests.txt specify full test name, not partial name 2014-01-14 02:54:11 +00:00
viewer Create AJAX live-viewer of expected-vs-actual GM results 2013-08-02 19:08:52 +00:00
__init__.py rebaseline.py: if --tests is not specified, get test list from actual-results.json 2013-06-05 15:43:37 +00:00
aaclip.cpp Sanitizing source files in Housekeeper-Nightly 2013-08-16 07:01:49 +00:00
aarectmodes.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
alphagradients.cpp Sanitizing source files in Housekeeper-Nightly 2013-05-25 07:01:12 +00:00
androidfallback.cpp skip android_paint GM in pipe mode 2013-10-28 20:40:41 +00:00
arcofzorro.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
arithmode.cpp Provide a GPU implementation of SkArithmeticMode, using a custom GrEffect exposed via asNewEffectOrCoeff(). 2013-05-29 20:55:09 +00:00
beziereffects.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
bicubicfilter.cpp Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
bigblurs.cpp Sanitizing source files in Housekeeper-Nightly 2013-11-08 07:01:56 +00:00
bigmatrix.cpp Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
bigtext.cpp Sanitizing source files in Housekeeper-Nightly 2013-06-06 07:01:37 +00:00
bitmapcopy.cpp Reverting r12427 2013-12-02 13:50:38 +00:00
bitmapfilters.cpp Reverting r12427 2013-12-02 13:50:38 +00:00
bitmapmatrix.cpp Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
bitmappremul.cpp [PDF] Add unpremultiply support and a GM (try5) 2013-10-24 15:20:00 +00:00
bitmaprect.cpp Fixed remaining clang compiler warnings 2012-12-03 17:35:19 +00:00
bitmaprecttest.cpp augmenting fix in 8700 and 8701, be careful NOT to "sort" the result of mapRect 2013-04-18 15:37:14 +00:00
bitmapscroll.cpp fix warning from scalar --> int32 conversion 2013-01-07 19:54:40 +00:00
bitmapshader.cpp Sanitizing source files in Housekeeper-Nightly 2013-12-07 07:02:21 +00:00
bitmapsource.cpp Implement srcRect and dstRect functionality in SkBitmapSource. This is required for the "preserveAspectRatio" options of SVG's feImage. Covered by new GM "bitmapsource". 2013-12-09 18:31:42 +00:00
bleed.cpp [GPU] Use view matrix + rect to implement subrect for drawBitmap when there is a mask filter and bleed. 2013-11-22 20:34:59 +00:00
blurquickreject.cpp Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
blurrect.cpp merge multiple blurrect GMs into one GM and add versions 2014-01-10 23:10:13 +00:00
blurroundrect.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
blurs.cpp remove SK_SCALAR_IS_[FLOAT,FIXED] and assume floats 2013-12-17 16:44:46 +00:00
canvasstate.cpp Third wave of Win64 warning cleanup 2013-10-16 17:48:11 +00:00
circles.cpp Sanitizing source files in Housekeeper-Nightly 2013-09-10 07:01:44 +00:00
circularclips.cpp Use Path Ops to generate PDF clips 2013-08-08 02:52:05 +00:00
clippedbitmapshaders.cpp Sanitizing source files in Housekeeper-Nightly 2013-10-24 07:01:59 +00:00
cmykjpeg.cpp Sanitizing source files in Housekeeper-Nightly 2013-05-30 07:01:29 +00:00
coloremoji.cpp improve bitmap font support (FreeType only) 2013-12-10 18:09:36 +00:00
colorfilterimagefilter.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
colormatrix.cpp Make leak counters thread-safe and turn them on by default for Debug 2014-01-17 17:55:02 +00:00
colortype.cpp if we can't load Times, use default font 2013-06-03 17:45:29 +00:00
complexclip2.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
complexclip.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
composeshader.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
conicpaths.cpp Sanitizing source files in Housekeeper-Nightly 2013-06-21 07:00:53 +00:00
convexpaths.cpp Make leak counters thread-safe and turn them on by default for Debug 2014-01-17 17:55:02 +00:00
copyTo4444.cpp Fix build. 2013-08-07 19:39:56 +00:00
cubicpaths.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
dashcubics.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
dashing.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
degeneratesegments.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
deviceproperties.cpp Split SkDevice into SkBaseDevice and SkBitmapDevice 2013-08-29 11:54:56 +00:00
displacement.cpp Accept displacement with no displacement input 2013-12-19 17:00:46 +00:00
display_json_results.py gm_json.py: add ability to load JSON file from a string, not just a local file 2013-06-04 17:50:36 +00:00
distantclip.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2012-09-18 02:01:09 +00:00
downsamplebitmap.cpp clean up printf usage in gm 2013-07-25 19:14:37 +00:00
drawbitmaprect.cpp Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
drawlooper.cpp Push sigma-based blur interface into our GMs/benches/tests/samplecode 2013-09-06 14:16:12 +00:00
dropshadowimagefilter.cpp Enhance SkDropShadowImageFilter to support separate X & Y sigmas, and crop rect. This required a new flavour of the constructor. 2013-11-26 21:52:38 +00:00
emptypath.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
extractbitmap.cpp Split SkDevice into SkBaseDevice and SkBitmapDevice 2013-08-29 11:54:56 +00:00
factory.cpp Add Options to SkDecodingImageGenerator, simplify API. 2014-01-02 13:15:13 +00:00
fatpathfill.cpp promote SkImage::AlphaType to SkAlphaType 2013-09-20 19:33:52 +00:00
filltypes.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
filltypespersp.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
filterbitmap.cpp Tweaks in how to apply bitmap filter levels in GPU. 2013-12-16 21:02:29 +00:00
fontcache.cpp Sanitizing source files in Housekeeper-Nightly 2013-10-10 07:01:40 +00:00
fontmgr.cpp Fix leak detected in FontMgrMatchGM::onDraw by Valgrind. 2013-11-12 15:25:29 +00:00
fontscaler.cpp Reduce number of glyphs drawn by fontscaler GM to avoid N4 MSAA4 crash 2013-09-09 16:19:40 +00:00
gammatext.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
getpostextpath.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
giantbitmap.cpp Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
gm_error.h Add SkPDFDeviceFlatenner which extends SkPDFDevice to add support to flatten the path and the text when we have perspective. 2013-10-14 13:42:12 +00:00
gm_expectations.cpp Fix compilation with SK_ENABLE_INST_COUNT=1 2013-12-05 12:08:12 +00:00
gm_expectations.h Add JSON output option to bench. 2013-12-03 18:16:48 +00:00
gm_json.py rebaseline_server: allow spaces within test/config names 2014-01-07 17:21:11 +00:00
gm.cpp Implement a benchmark for GrResourceCache 2013-11-21 06:21:58 +00:00
gm.h Implement a benchmark for GrResourceCache 2013-11-21 06:21:58 +00:00
gmmain.cpp make ignored-tests.txt specify full test name, not partial name 2014-01-14 02:54:11 +00:00
gradient_matrix.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
gradientDirtyLaundry.cpp Sanitizing source files in Housekeeper-Nightly 2013-07-10 07:00:58 +00:00
gradients_no_texture.cpp Two and three color GPU gradients without textures. 2013-09-09 15:36:26 +00:00
gradients.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
gradtext.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
hairlines.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
hairmodes.cpp add onOnceBeforeDraw() virtual, so gm's can easily perform lazy initialization 2012-11-27 15:15:58 +00:00
hittestpath.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
image.cpp use some helper Make functions to initialize SkImageInfo 2014-01-15 02:38:22 +00:00
image.h check-point for image/surface work 2012-07-29 20:38:16 +00:00
imagealphathreshold.cpp Sanitizing source files in Housekeeper-Nightly 2014-01-08 07:01:49 +00:00
imageblur.cpp NEON fast path for box blur 2014-01-13 08:16:45 +00:00
imagefiltersbase.cpp Adding more validation 2013-11-25 21:46:31 +00:00
imagefilterscropped.cpp Remove support for SK_CROP_RECT_IS_INT, now that it is no longer used in Blink or Chrome. 2013-10-16 15:46:00 +00:00
imagefiltersgraph.cpp Make SkImageFilter crop rects relative to the primitive origin, instead of relative to their parent's crop rect. This is required by SVG semantics, and is more sane anyway. 2014-01-03 21:48:22 +00:00
imagefiltersscaled.cpp Apply the CTM to filter parameters for SkBlurImageFilter, SkDropShadowImageFilter, SkDisplacementMapEffect and SkMorphologyImageFilter. I had resisted this (and may later put in an assert that the CTM contains no rotation, skew or perspective), but it just makes the filters play better with Skia generally. 2014-01-20 19:58:28 +00:00
imagemagnifier.cpp Magnifier gpu path fix 2013-10-21 15:59:26 +00:00
internal_links.cpp Fix pipe/annotation. 2013-10-29 19:23:26 +00:00
inversepaths.cpp Inverse fill support in PDF 2013-07-31 22:54:31 +00:00
lcdtext.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
lerpmode.cpp Sanitizing source files in Housekeeper-Nightly 2013-05-22 07:01:13 +00:00
lighting.cpp Remove support for SK_CROP_RECT_IS_INT, now that it is no longer used in Blink or Chrome. 2013-10-16 15:46:00 +00:00
linepaths.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
lumafilter.cpp Align SkLumaColorFilter with the spec. 2013-10-10 20:13:51 +00:00
matrixconvolution.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
megalooper.cpp Push sigma-based blur interface into our GMs/benches/tests/samplecode 2013-09-06 14:16:12 +00:00
mixedxfermodes.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
modecolorfilters.cpp Work around stack overflow 2013-03-14 17:24:16 +00:00
morphology.cpp Remove support for SK_CROP_RECT_IS_INT, now that it is no longer used in Blink or Chrome. 2013-10-16 15:46:00 +00:00
nested.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
ninepatchstretch.cpp Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
nonclosedpaths.cpp add GM case nonclosedpaths. The 2 bugs below showed some non-closed paths which are easy to get wrong rendering results. So add a GM case for this kind paths to avoid potential bugs to be introduced. 2013-11-09 01:37:30 +00:00
offsetimagefilter.cpp Make SkImageFilter crop rects relative to the primitive origin, instead of relative to their parent's crop rect. This is required by SVG semantics, and is more sane anyway. 2014-01-03 21:48:22 +00:00
optimizations.cpp Disable optimizations GM for 565 targets. 2014-01-09 16:45:38 +00:00
ovals.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
patheffects.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:19:56 +00:00
pathfill.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
pathinterior.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
pathopsinverse.cpp path ops -- crap, I checked in the wrong file 2013-04-22 20:12:47 +00:00
pathopsskpclip.cpp path ops : make it real 2013-04-25 13:34:40 +00:00
pathreverse.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
perlinnoise.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
pictureimagefilter.cpp Don't run the GM in serialization modes. 2013-12-12 23:54:33 +00:00
points.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
poly2poly.cpp Sanitizing source files in Housekeeper-Nightly 2013-06-22 07:00:58 +00:00
polygons.cpp Fix warning as error on Mac for implicit narrowing conversion from r12413. 2013-11-27 16:08:37 +00:00
quadpaths.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
rects.cpp add some GM tests for rects 2013-11-01 11:54:29 +00:00
resizeimagefilter.cpp Implement a resize image filter. This is needed for the "filterRes" feature in SVG filter effects, which specifies the required size for intermediate processing buffers. In order to make this work, we need to render the primitive at the given resolution (doable at the callsite in Blink), and then to resize the result to the actual on-screen size. The latter is where this filter comes in. 2014-01-15 04:49:18 +00:00
roundrects.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
rrect.cpp GM : Unused parameters cleanup 2013-02-27 15:41:12 +00:00
rrects.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
samplerstress.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:19:56 +00:00
scalebitmap.cpp Sanitizing source files in Housekeeper-Nightly 2013-07-10 07:00:58 +00:00
selftest.cpp gm: record IntentionallySkipped tests 2013-04-10 12:17:34 +00:00
shaderbounds.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
shadertext2.cpp Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
shadertext3.cpp Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
shadertext.cpp Third wave of Win64 warning cleanup 2013-10-16 17:48:11 +00:00
shadows.cpp Push sigma-based blur interface into our GMs/benches/tests/samplecode 2013-09-06 14:16:12 +00:00
shallowgradient.cpp Fix minor memory leaks 2013-03-27 21:31:21 +00:00
simpleaaclip.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
skbug1719.cpp detach blur result texture when it is the same texture used to render path mask 2013-10-16 13:53:54 +00:00
spritebitmap.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-17 07:06:06 +00:00
srcmode.cpp use some helper Make functions to initialize SkImageInfo 2014-01-15 02:38:22 +00:00
stringart.cpp One more try at fixing warnings 2013-09-19 17:21:39 +00:00
strokefill.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:19:56 +00:00
strokerect.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
strokerects.cpp Just a typo. Rename StrokeRect to StrokeRects in strokerects.cpp, making it different from the class name in strokerect.cpp for debugging. 2013-12-09 09:14:59 +00:00
strokes.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
system_preferences_default.cpp Set LCD font smoothing to "medium" for gm on Mac, regardless of system settings 2012-02-14 14:53:59 +00:00
system_preferences_mac.mm gm: Include system_preferences.h in mac file. 2012-09-26 15:41:42 +00:00
system_preferences.h Set LCD font smoothing to "medium" for gm on Mac, regardless of system settings 2012-02-14 14:53:59 +00:00
tablecolorfilter.cpp Defining new color constat for transparent color 2012-12-06 21:47:40 +00:00
techtalk1.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
testimagefilters.cpp Move SkComposeImageFilter into its own {.h, .cpp} files 2013-08-07 00:07:51 +00:00
texdata.cpp Implement a benchmark for GrResourceCache 2013-11-21 06:21:58 +00:00
texteffects.cpp Third wave of Win64 warning cleanup 2013-10-16 17:48:11 +00:00
thinrects.cpp Sanitizing source files in Housekeeper-Nightly 2013-05-15 07:01:09 +00:00
thinstrokedrects.cpp Add a new GM for very thin stroke widths 2013-06-26 17:06:45 +00:00
tileimagefilter.cpp Make SkImageFilter crop rects relative to the primitive origin, instead of relative to their parent's crop rect. This is required by SVG semantics, and is more sane anyway. 2014-01-03 21:48:22 +00:00
tilemodes_scaled.cpp Sanitizing source files in Housekeeper-Nightly 2013-09-05 07:01:19 +00:00
tilemodes.cpp Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
tinybitmap.cpp Revert "Revert "change SkColorTable to be immutable"" 2013-10-10 14:44:56 +00:00
twopointradial.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
typeface.cpp Sanitizing source files in Housekeeper-Nightly 2013-10-31 07:01:53 +00:00
valgrind.supp Yet another round of valgrind suppressions 2013-12-19 13:41:48 +00:00
vertices.cpp Remove GPU-only flag for vertices GM 2014-01-08 21:19:12 +00:00
verttext2.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:19:56 +00:00
verttext.cpp Revert unwanted change to verttext.cpp. 2013-10-24 22:38:48 +00:00
verylargebitmap.cpp Exclude verylargebitmap test from replay modes on windows. 2013-10-30 18:58:03 +00:00
xfermodeimagefilter.cpp Implement srcRect and dstRect functionality in SkBitmapSource. This is required for the "preserveAspectRatio" options of SVG's feImage. Covered by new GM "bitmapsource". 2013-12-09 18:31:42 +00:00
xfermodes2.cpp store SkAlphaType inside SkBitmap, on road to support unpremul 2013-10-21 14:00:07 +00:00
xfermodes3.cpp store SkAlphaType inside SkBitmap, on road to support unpremul 2013-10-21 14:00:07 +00:00
xfermodes.cpp [PDF] Fix clipping in xfermode improvement. 2013-12-17 23:38:28 +00:00