skia2/gm
senorblanco 837f5321a4 Fix for saveLayer() with filters vs. the BBox Hierarchy.
When building acceleration structures for SkPicture, we must transform
the primitive's bounds not only by its own SkPaint, but by the paints of
any saveLayer()s currently active above it.

We do this by pushing the SkPaint onto a stack on
saveLayer(), and popping them on restore(). We also push
a NULL paint in save(), so that the pushes and pops are
balanced.

BUG=skia:2734
R=mtklein@google.com, reed@google.com, robertphillips@google.com

Committed: https://skia.googlesource.com/skia/+/6ca0b6a46cbe9bef3e2b9b9db813ec864efd62de

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/380373003
2014-07-14 10:19:55 -07:00
..
rebaseline_server roll "common" DEPS, and replace tools/pyutils with it 2014-07-11 08:52:35 -07:00
tests add some .gitignores related to gm and tools 2014-04-11 14:49:50 +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 Disable cgimage GM 2014-04-23 18:05:36 +00:00
aarectmodes.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
alphagradients.cpp Remove unused (by clients) SkUnitMapper 2014-05-22 12:27:41 +00:00
androidfallback.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
arcofzorro.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
arithmode.cpp use platform-independent font for gm 2014-06-23 11:25:00 -07:00
beziereffects.cpp Goodbye GrEffectRef. 2014-07-08 09:56:11 -07:00
bigblurs.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
bigmatrix.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
bigtext.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
bitmapcopy.cpp use platform-independent font for gm 2014-06-23 11:25:00 -07:00
bitmapfilters.cpp use platform-independent font for gm 2014-06-23 11:25:00 -07:00
bitmapmatrix.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
bitmappremul.cpp Revert of Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/234243002/) 2014-04-11 17:15:40 +00:00
bitmaprect.cpp using real tiles when simulating tiling 2014-05-30 15:06:24 +00:00
bitmaprecttest.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
bitmapscroll.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
bitmapshader.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
bitmapsource.cpp use platform-independent font for gm 2014-06-23 11:25:00 -07:00
bleed.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
blurcircles.cpp New GM for testing circle blur optimization 2014-05-07 17:50:03 +00:00
blurquickreject.cpp move common blur types into central header 2014-04-28 16:25:35 +00:00
blurrect.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
blurroundrect.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
blurs.cpp use platform-independent font for gm 2014-06-23 11:25:00 -07:00
circles.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
circularclips.cpp optimize circularclips to act as a bench, fix null-check bug in etcbench 2014-06-20 11:33:59 -07:00
clippedbitmapshaders.cpp Move SkShader::fLocalMatrix into SkShader constructor. 2014-04-28 14:55:39 +00:00
cmykjpeg.cpp Cleanup usage of GetResourcePath() after commit bcbc1788b4. 2014-07-01 12:35:49 -07:00
coloremoji.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
colorfilterimagefilter.cpp Factory methods for heap-allocated SkImageFilter objects. 2014-03-10 10:51:58 +00:00
colorfilters.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
colormatrix.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
colortype.cpp Remove unused (by clients) SkUnitMapper 2014-05-22 12:27:41 +00:00
complexclip2.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
complexclip.cpp use platform-independent font for gm 2014-06-23 11:25:00 -07:00
composeshader.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
conicpaths.cpp Sanitizing source files in Housekeeper-Nightly 2013-06-21 07:00:53 +00:00
convexpaths.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
convexpolyclip.cpp use platform-independent font for gm 2014-06-23 11:25:00 -07:00
convexpolyeffect.cpp Goodbye GrEffectRef. 2014-07-08 09:56:11 -07:00
copyTo4444.cpp Cleanup usage of GetResourcePath() after commit bcbc1788b4. 2014-07-01 12:35:49 -07:00
cubicpaths.cpp use platform-independent font for gm 2014-06-23 11:25:00 -07:00
dashcubics.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
dashing.cpp Use vertex attributes for dash effect in gpu 2014-06-12 10:24:21 -07:00
degeneratesegments.cpp use platform-independent font for gm 2014-06-23 11:25:00 -07:00
deviceproperties.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
discard.cpp Fix int->scalar warning on windows 2014-04-24 21:23:37 +00:00
displacement.cpp use platform-independent font for gm 2014-06-23 11:25:00 -07: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 Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
downsamplebitmap.cpp Cleanup usage of GetResourcePath() after commit bcbc1788b4. 2014-07-01 12:35:49 -07:00
drawbitmaprect.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
drawlooper.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
dropshadowimagefilter.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
drrect.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
emptypath.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
etc1bitmap.cpp Cleanup usage of GetResourcePath() after commit bcbc1788b4. 2014-07-01 12:35:49 -07:00
extractbitmap.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
factory.cpp Cleanup usage of GetResourcePath() after commit bcbc1788b4. 2014-07-01 12:35:49 -07:00
fatpathfill.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
filltypes.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
filltypespersp.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
filterbitmap.cpp Cleanup usage of GetResourcePath() after commit bcbc1788b4. 2014-07-01 12:35:49 -07:00
filterindiabox.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
fontcache.cpp Sanitizing source files in Housekeeper-Nightly 2013-10-10 07:01:40 +00:00
fontmgr.cpp Pass the IDWriteFactory instead of relying on a global creator. 2014-03-31 19:18:07 +00:00
fontscaler.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
gammatext.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
getpostextpath.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
giantbitmap.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
glyph_pos.cpp Revert of Revert of Fix SkPaint::measureText for stroked hairline text (https://codereview.chromium.org/354433002/) 2014-06-23 06:59:15 -07: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 In Android framework, make tools depend on jsoncpp 2014-06-18 10:31:40 -07:00
gm_expectations.h In Android framework, make tools depend on jsoncpp 2014-06-18 10:31:40 -07:00
gm_json.py make compare_rendered_pictures process render_pictures's new JSON output format 2014-05-06 15:31:31 +00:00
gm.cpp Refactor how we handle resources path in Tests. 2014-06-18 14:32:49 -07:00
gm.h Merge Replay and Quilt tasks, adding in all BBH implementations. 2014-07-09 13:10:58 -07:00
gmmain.cpp gpu and cpu flags for gm and bench. 2014-07-07 10:46:59 -07:00
gradient_matrix.cpp Remove unused (by clients) SkUnitMapper 2014-05-22 12:27:41 +00:00
gradientDirtyLaundry.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
gradients_2pt_conical.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
gradients_no_texture.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
gradients.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
gradtext.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
hairlines.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
hairmodes.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
hittestpath.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
image.cpp remove picture-backed surfaces 2014-04-11 18:34:35 +00:00
image.h check-point for image/surface work 2012-07-29 20:38:16 +00:00
imagealphathreshold.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
imageblur.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
imageblurtiled.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
imagefiltersbase.cpp Clean up SkImageFilter constructors. 2014-07-08 09:16:22 -07:00
imagefiltersclipped.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
imagefilterscropexpand.cpp Sanitizing source files in Housekeeper-Nightly 2014-03-15 03:02:32 +00:00
imagefilterscropped.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
imagefiltersgraph.cpp Clean up SkImageFilter constructors. 2014-07-08 09:16:22 -07:00
imagefiltersscaled.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
imagemagnifier.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
imageresizetiled.cpp Merge Replay and Quilt tasks, adding in all BBH implementations. 2014-07-09 13:10:58 -07:00
internal_links.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
inversepaths.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
lcdtext.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
lerpmode.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
lighting.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
linepaths.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
lumafilter.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
matrixconvolution.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
matriximagefilter.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
megalooper.cpp move common blur types into central header 2014-04-28 16:25:35 +00:00
mixedxfermodes.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
modecolorfilters.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
morphology.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
nested.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
ninepatchstretch.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
nonclosedpaths.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
offsetimagefilter.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
optimizations.cpp Staging for cleanup of SkPicture-related headers 2014-04-18 18:04:41 +00:00
ovals.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
patheffects.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
pathfill.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
pathinterior.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
pathopsinverse.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
pathopsskpclip.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
pathreverse.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
peekpixels.cpp Revert "Revert of add colortable support to imagegenerator (https://codereview.chromium.org/304443003/)" 2014-05-29 15:57:20 +00:00
perlinnoise.cpp Fix tiled perlin noise. 2014-06-12 11:24:20 -07:00
pictureimagefilter.cpp Staging for cleanup of SkPicture-related headers 2014-04-18 18:04:41 +00:00
pictureshader.cpp Remove setLocalMatrix calls from picture shader GM. 2014-05-02 21:23:52 +00:00
points.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
poly2poly.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
polygons.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
quadpaths.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
rects.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
resizeimagefilter.cpp Fix for saveLayer() with filters vs. the BBox Hierarchy. 2014-07-14 10:19:55 -07:00
roundrects.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
rrect.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
rrects.cpp Goodbye GrEffectRef. 2014-07-08 09:56:11 -07:00
samplerstress.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
selftest.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
shaderbounds.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
shadertext2.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
shadertext3.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
shadertext.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
shadows.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
shallowgradient.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
simpleaaclip.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
skbug1719.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
spritebitmap.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
srcmode.cpp stop calling SkCanvas::getDevice 2014-06-30 09:05:34 -07:00
stringart.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
strokefill.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
strokerect.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
strokerects.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
strokes.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
stroketext.cpp hide SkBitmap::setConfig 2014-06-09 19:52:07 -07: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 add legacy/helper allocN32Pixels, and convert gm to use it 2014-01-25 16:46:20 +00:00
techtalk1.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
testimagefilters.cpp Turn on quilt mode in DM. 2014-04-30 13:20:45 +00:00
texdata.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
texteffects.cpp move common blur types into central header 2014-04-28 16:25:35 +00:00
texturedomaineffect.cpp Goodbye GrEffectRef. 2014-07-08 09:56:11 -07:00
thinrects.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
thinstrokedrects.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
tileimagefilter.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
tilemodes_scaled.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
tilemodes.cpp Remove unused (by clients) SkUnitMapper 2014-05-22 12:27:41 +00:00
tinybitmap.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
twopointradial.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
typeface.cpp fix more 64bit warnings 2014-01-27 13:42:58 +00:00
variedtext.cpp GM/bench for text draws with various parameters and clip rects. 2014-06-09 15:11:30 -07:00
vertices.cpp new vertices gm to test alpha 2014-05-05 20:41:21 +00:00
verttext2.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
verttext.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
verylargebitmap.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
xfermodeimagefilter.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
xfermodes2.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
xfermodes3.cpp stop calling SkCanvas::getDevice 2014-06-30 09:05:34 -07:00
xfermodes.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
yuvtorgbeffect.cpp Goodbye GrEffectRef. 2014-07-08 09:56:11 -07:00