skia2/gm
caryclark 6df8e3495a break out of cubic stroker loop on degenerate case
The looper can generate more than one quad, but if any one is degenerate,
give up, but not before generating the state for the line join to
produce the correct end.

Before, the early return allowed the inside path to contain multiple
movetos that caused reversePath to assert.

R=reed@google.com

Review URL: https://codereview.chromium.org/948043002
2015-02-23 12:47:03 -08:00
..
aaclip.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
aarectmodes.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
addarc.cpp add gm for path-arcs, and catch degenerate arc in conic-case 2015-02-17 11:43:14 -08:00
alphagradients.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
arcofzorro.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
arithmode.cpp use platform-independent font for gm 2014-06-23 11:25:00 -07:00
astcbitmap.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
beziereffects.cpp GMs now use batch 2015-02-11 13:45:51 -08:00
beziers.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
bigblurs.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
bigmatrix.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
bigtext.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
bitmapcopy.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
bitmapfilters.cpp use platform-independent font for gm 2014-06-23 11:25:00 -07:00
bitmappremul.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
bitmaprect.cpp fix gm to not rely on SkColor's swizzle == SkPMColor's 2015-01-27 07:26:51 -08:00
bitmaprecttest.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
bitmapscroll.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
bitmapshader.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
bitmapsource.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
bleed.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
blurcircles.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
blurquickreject.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
blurrect.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
blurroundrect.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
blurs.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
cgm.c disable using codecs until that can work in chrome 2014-12-25 20:41:13 -08:00
cgms.cpp more c 2014-11-24 19:11:48 -08:00
circles.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
circularclips.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
clip_strokerect.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
clipdrawdraw.cpp Clean up clipping code a bit 2015-02-10 08:16:55 -08:00
clippedbitmapshaders.cpp Move SkShader::fLocalMatrix into SkShader constructor. 2014-04-28 14:55:39 +00:00
cmykjpeg.cpp Add missing SK_OVERRIDE 2015-02-02 12:08:18 -08:00
colorcube.cpp Adding 3D lut color filter 2014-10-09 05:27:23 -07:00
coloremoji.cpp Add sbix font to coloremoji gm. 2015-01-26 14:08:52 -08:00
colorfilterimagefilter.cpp Factory methods for heap-allocated SkImageFilter objects. 2014-03-10 10:51:58 +00:00
colorfilters.cpp Add missing SK_OVERRIDE 2015-02-02 12:08:18 -08: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 GM flags 2015-01-23 11:07:08 -08:00
colortypexfermode.cpp Add missing SK_OVERRIDE 2015-02-02 12:08:18 -08:00
colorwheel.cpp s/sk_tools::DrawCheckerboard/sk_tool_utils::draw_checkerboard/ 2015-01-26 12:49:00 -08:00
complexclip2.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
complexclip3.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
complexclip.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
composeshader.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
conicpaths.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
convexpaths.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
convexpolyclip.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
convexpolyeffect.cpp GMs now use batch 2015-02-11 13:45:51 -08:00
copyTo4444.cpp Cleanup usage of GetResourcePath() after commit bcbc1788b4. 2014-07-01 12:35:49 -07:00
cubicpaths.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
dashcubics.cpp break out of cubic stroker loop on degenerate case 2015-02-23 12:47:03 -08:00
dashing.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
dcshader.cpp Add standard way to indicate GM is GPU-only. 2015-01-31 07:51:14 -08:00
degeneratesegments.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
dftext.cpp Add missing SK_OVERRIDE 2015-02-02 12:08:18 -08:00
discard.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
displacement.cpp s/sk_tools::DrawCheckerboard/sk_tool_utils::draw_checkerboard/ 2015-01-26 12:49:00 -08:00
distantclip.cpp Change SkPicture::draw to playback 2014-09-04 08:42:50 -07:00
downsamplebitmap.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
drawbitmaprect.cpp add newImage API 2015-01-23 05:58:07 -08:00
drawlooper.cpp Add missing SK_OVERRIDE 2015-02-02 12:08:18 -08:00
dropshadowimagefilter.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
drrect.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
dstreadshuffle.cpp dstread gm 2015-01-28 11:08:01 -08:00
emboss.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
emptypath.cpp There can be only one (SkRandom)! 2014-12-15 12:54:51 -08:00
etc1bitmap.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
extractbitmap.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
factory.cpp Add missing SK_OVERRIDE 2015-02-02 12:08:18 -08:00
fatpathfill.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
filltypes.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
filltypespersp.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
filterbitmap.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
filterfastbounds.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
filterindiabox.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
fontcache.cpp Update fontcache gm to actually stress font atlas 2015-02-19 08:28:02 -08:00
fontmgr.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
fontscaler.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
gammatext.cpp Revert of disable gammatext gm for a while, looking for other flakes (patchset #1 id:1 of https://codereview.chromium.org/725303002/) 2015-02-19 07:45:14 -08:00
getpostextpath.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
giantbitmap.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
glyph_pos_align.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
glyph_pos.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
gm_expectations.h In Android framework, make tools depend on jsoncpp 2014-06-18 10:31:40 -07:00
gm.cpp add SkAnimTimer, SPACE = pause/resume, ESP = stop 2015-02-02 12:55:02 -08:00
gm.h add SkAnimTimer, SPACE = pause/resume, ESP = stop 2015-02-02 12:55:02 -08:00
gradient_matrix.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
gradientDirtyLaundry.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
gradients_2pt_conical.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
gradients_no_texture.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
gradients.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
gradtext.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
grayscalejpg.cpp Remove PDF JPEG shortcut, since it fails on grayscale JPEGs. 2014-12-02 06:37:21 -08:00
hairlines.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
hairmodes.cpp Add missing SK_OVERRIDE 2015-02-02 12:08:18 -08:00
hittestpath.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
image.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
image.h check-point for image/surface work 2012-07-29 20:38:16 +00:00
imagealphathreshold.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
imageblur2.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
imageblur.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
imageblurtiled.cpp Add standard fonts to all GMs. 2014-07-31 08:58:44 -04:00
imagefiltersbase.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
imagefiltersclipped.cpp s/sk_tools::DrawCheckerboard/sk_tool_utils::draw_checkerboard/ 2015-01-26 12:49:00 -08:00
imagefilterscropexpand.cpp Adding an option to render only the shadow in SkDropShadowImageFilter 2014-10-23 13:59:52 -07:00
imagefilterscropped.cpp Add missing SK_OVERRIDE 2015-02-02 12:08:18 -08:00
imagefiltersgraph.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
imagefiltersscaled.cpp s/sk_tools::DrawCheckerboard/sk_tool_utils::draw_checkerboard/ 2015-01-26 12:49:00 -08:00
imagemagnifier.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
imageresizetiled.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
internal_links.cpp Add standard fonts to all GMs. 2014-07-31 08:58:44 -04:00
inversepaths.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
lcdtext.cpp remove dead code (covered by surfaceprops) 2015-02-23 07:37:40 -08:00
lerpmode.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
lighting.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
linepaths.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
lumafilter.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
matrixconvolution.cpp remove unused GM flags 2015-01-23 11:07:08 -08: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
mipmap.cpp gm to illustrate mipmap layer choice 2015-02-19 11:39:46 -08:00
mixedxfermodes.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
modecolorfilters.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
morphology.cpp Add standard fonts to all GMs. 2014-07-31 08:58:44 -04:00
multipicturedraw.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
nested.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
ninepatchstretch.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
nonclosedpaths.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
offsetimagefilter.cpp s/sk_tools::DrawCheckerboard/sk_tool_utils::draw_checkerboard/ 2015-01-26 12:49:00 -08:00
ovals.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
patch.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
patchgrid.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
patheffects.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
pathfill.cpp update sampleapp for stroking experiment 2015-02-18 10:56:00 -08:00
pathinterior.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
pathopsinverse.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
pathopsskpclip.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
pathreverse.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
peekpixels.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
perlinnoise.cpp Fix tiled perlin noise. 2014-06-12 11:24:20 -07:00
picture.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
pictureimagefilter.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
pictureshader.cpp GM for http://skbug.com/3398 2015-02-05 10:26:27 -08:00
pictureshadertile.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
points.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
poly2poly.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
polygons.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
quadpaths.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
recordopts.cpp Fix Windows build 2015-01-26 05:39:26 -08:00
rects.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
repeated_bitmap.cpp PDF: Add (low-memory) SkPDFBitmap class 2015-02-18 11:29:57 -08:00
resizeimagefilter.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
roundrects.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
rrect.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
rrects.cpp Add standard way to indicate GM is GPU-only. 2015-01-31 07:51:14 -08:00
samplerstress.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
selftest.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
shaderbounds.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
shadertext2.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
shadertext3.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
shadertext.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
shadows.cpp Add always-threaded SkRecord quilt tests. 2014-07-07 10:41:04 -07:00
shallowgradient.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
simpleaaclip.cpp Add standard fonts to all GMs. 2014-07-31 08:58:44 -04:00
SkAnimTimer.h add SkAnimTimer, SPACE = pause/resume, ESP = stop 2015-02-02 12:55:02 -08:00
skbug1719.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
smallarc.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
smallimage.cpp work in progress 2014-12-02 14:01:46 -08:00
spritebitmap.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
srcmode.cpp Add standard fonts to all GMs. 2014-07-31 08:58:44 -04:00
stlouisarch.cpp gm to test hairlines which fill RenderTarget 2015-02-19 10:25:21 -08:00
stringart.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
strokefill.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
strokerect.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
strokerects.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
strokes.cpp make strokes3 full size 2015-02-23 06:51:04 -08:00
stroketext.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
surface.cpp Require budget decision when creating a RenderTarget SkSurface. 2015-01-16 07:32:33 -08: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 Collapse consecutive SkTableColorFilters 2015-01-26 07:45:53 -08:00
tallstretchedbitmaps.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
techtalk1.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
testimagefilters.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
texdata.cpp Pass Rendertarget into context. 2015-02-18 12:29:52 -08:00
textblob.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
textblobshader.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
texteffects.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
texturedomaineffect.cpp Add standard way to indicate GM is GPU-only. 2015-01-31 07:51:14 -08:00
thinrects.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
thinstrokedrects.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
tiledscaledbitmap.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
tileimagefilter.cpp s/sk_tools::DrawCheckerboard/sk_tool_utils::draw_checkerboard/ 2015-01-26 12:49:00 -08:00
tilemodes_scaled.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
tilemodes.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
tinybitmap.cpp Cleanup: Get rid of make_isize() function from gm.h. 2014-06-09 23:59:03 -07:00
transparency.cpp Modify transparency_check GM to always tile correctly. 2015-01-08 12:11:42 -08:00
twopointradial.cpp Add standard fonts to all GMs. 2014-07-31 08:58:44 -04:00
typeface.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
variedtext.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
vertices.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
verttext2.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
verttext.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
verylargebitmap.cpp remove unused GM flags 2015-01-23 11:07:08 -08:00
xfermodeimagefilter.cpp s/sk_tools::DrawCheckerboard/sk_tool_utils::draw_checkerboard/ 2015-01-26 12:49:00 -08:00
xfermodes2.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
xfermodes3.cpp Require budget decision when creating a RenderTarget SkSurface. 2015-01-16 07:32:33 -08:00
xfermodes.cpp Fix up all the easy virtual ... SK_OVERRIDE cases. 2015-01-09 10:06:40 -08:00
yuvtorgbeffect.cpp YUV scale fix 2015-02-13 13:57:09 -08:00