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
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
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
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
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
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
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
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
system_preferences_mac.mm
system_preferences.h
tablecolorfilter.cpp
techtalk1.cpp
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
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