417f3a54fb
The 'pts' coordinates should be transformed by the view matrix. We could instead apply the inverse src rotation to ptsRot when determining the perpendicular and parallel scales, but this is valid and straight forward. When determining the device segment lengths in onPrepare, we do need to transform the ptsRot by fSrcInvRot (which includes the view matrix), instead of just the view matrix. This fixes the linked chromium bug, which drew a wider stroked dash because on a perfect vertical, the rotation to a canonical x-axis geometry would end up swapping perpendicular and parallel scale factors. Bug: chromium:1113794 Change-Id: Ibc37f8a24688a76e0d0947b0c53c8bd13cd769cc Reviewed-on: https://skia-review.googlesource.com/c/skia/+/309443 Reviewed-by: John Stiles <johnstiles@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
404 lines
11 KiB
Plaintext
404 lines
11 KiB
Plaintext
# Copyright 2016 Google Inc.
|
|
#
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
# Things are easiest for everyone if these source paths are absolute.
|
|
_gm = get_path_info("../gm", "abspath")
|
|
|
|
gm_sources = [
|
|
"$_gm/3d.cpp",
|
|
"$_gm/aaa.cpp",
|
|
"$_gm/aaclip.cpp",
|
|
"$_gm/aarectmodes.cpp",
|
|
"$_gm/aaxfermodes.cpp",
|
|
"$_gm/addarc.cpp",
|
|
"$_gm/all_bitmap_configs.cpp",
|
|
"$_gm/alpha_image.cpp",
|
|
"$_gm/alphagradients.cpp",
|
|
"$_gm/analytic_gradients.cpp",
|
|
"$_gm/androidblendmodes.cpp",
|
|
"$_gm/animated_gif.cpp",
|
|
"$_gm/animatedimageblurs.cpp",
|
|
"$_gm/anisotropic.cpp",
|
|
"$_gm/annotated_text.cpp",
|
|
"$_gm/arcofzorro.cpp",
|
|
"$_gm/arcto.cpp",
|
|
"$_gm/arithmode.cpp",
|
|
"$_gm/asyncrescaleandread.cpp",
|
|
"$_gm/b_119394958.cpp",
|
|
"$_gm/backdrop.cpp",
|
|
"$_gm/backdrop_imagefilter_croprect.cpp",
|
|
"$_gm/badpaint.cpp",
|
|
"$_gm/bc1_transparency.cpp",
|
|
"$_gm/beziereffects.cpp",
|
|
"$_gm/beziers.cpp",
|
|
"$_gm/bicubic.cpp",
|
|
"$_gm/bigblurs.cpp",
|
|
"$_gm/bigmatrix.cpp",
|
|
"$_gm/bigrect.cpp",
|
|
"$_gm/bigrrectaaeffect.cpp",
|
|
"$_gm/bigtext.cpp",
|
|
"$_gm/bigtileimagefilter.cpp",
|
|
"$_gm/bitmapcopy.cpp",
|
|
"$_gm/bitmapfilters.cpp",
|
|
"$_gm/bitmapimage.cpp",
|
|
"$_gm/bitmappremul.cpp",
|
|
"$_gm/bitmaprect.cpp",
|
|
"$_gm/bitmaprecttest.cpp",
|
|
"$_gm/bitmapshader.cpp",
|
|
"$_gm/bitmaptiled.cpp",
|
|
"$_gm/bleed.cpp",
|
|
"$_gm/blend.cpp",
|
|
"$_gm/blurcircles.cpp",
|
|
"$_gm/blurcircles2.cpp",
|
|
"$_gm/blurignorexform.cpp",
|
|
"$_gm/blurimagevmask.cpp",
|
|
"$_gm/blurpositioning.cpp",
|
|
"$_gm/blurquickreject.cpp",
|
|
"$_gm/blurrect.cpp",
|
|
"$_gm/blurredclippedcircle.cpp",
|
|
"$_gm/blurroundrect.cpp",
|
|
"$_gm/blurs.cpp",
|
|
"$_gm/blurtextsmallradii.cpp",
|
|
"$_gm/bmpfilterqualityrepeat.cpp",
|
|
"$_gm/bug5252.cpp",
|
|
"$_gm/bug530095.cpp",
|
|
"$_gm/bug615686.cpp",
|
|
"$_gm/bug6643.cpp",
|
|
"$_gm/bug6783.cpp",
|
|
"$_gm/bug9331.cpp",
|
|
"$_gm/cgm.c",
|
|
"$_gm/cgms.cpp",
|
|
"$_gm/circle_sizes.cpp",
|
|
"$_gm/circles.cpp",
|
|
"$_gm/circulararcs.cpp",
|
|
"$_gm/circularclips.cpp",
|
|
"$_gm/clip_error.cpp",
|
|
"$_gm/clip_sierpinski_region.cpp",
|
|
"$_gm/clip_strokerect.cpp",
|
|
"$_gm/clipdrawdraw.cpp",
|
|
"$_gm/clippedbitmapshaders.cpp",
|
|
"$_gm/clockwise.cpp",
|
|
"$_gm/collapsepaths.cpp",
|
|
"$_gm/color4f.cpp",
|
|
"$_gm/coloremoji.cpp",
|
|
"$_gm/coloremoji_blendmodes.cpp",
|
|
"$_gm/colorfilteralpha8.cpp",
|
|
"$_gm/colorfilterimagefilter.cpp",
|
|
"$_gm/colorfilters.cpp",
|
|
"$_gm/colormatrix.cpp",
|
|
"$_gm/colorwheel.cpp",
|
|
"$_gm/complexclip.cpp",
|
|
"$_gm/complexclip2.cpp",
|
|
"$_gm/complexclip3.cpp",
|
|
"$_gm/complexclip4.cpp",
|
|
"$_gm/complexclip_blur_tiled.cpp",
|
|
"$_gm/composeshader.cpp",
|
|
"$_gm/compositor_quads.cpp",
|
|
"$_gm/compressed_textures.cpp",
|
|
"$_gm/concavepaths.cpp",
|
|
"$_gm/conicpaths.cpp",
|
|
"$_gm/constcolorprocessor.cpp",
|
|
"$_gm/convex_all_line_paths.cpp",
|
|
"$_gm/convexpaths.cpp",
|
|
"$_gm/convexpolyclip.cpp",
|
|
"$_gm/convexpolyeffect.cpp",
|
|
"$_gm/copy_to_4444.cpp",
|
|
"$_gm/crbug_1041204.cpp",
|
|
"$_gm/crbug_1073670.cpp",
|
|
"$_gm/crbug_1086705.cpp",
|
|
"$_gm/crbug_1113794.cpp",
|
|
"$_gm/crbug_224618.cpp",
|
|
"$_gm/crbug_691386.cpp",
|
|
"$_gm/crbug_788500.cpp",
|
|
"$_gm/crbug_847759.cpp",
|
|
"$_gm/crbug_884166.cpp",
|
|
"$_gm/crbug_887103.cpp",
|
|
"$_gm/crbug_892988.cpp",
|
|
"$_gm/crbug_899512.cpp",
|
|
"$_gm/crbug_905548.cpp",
|
|
"$_gm/crbug_908646.cpp",
|
|
"$_gm/crbug_913349.cpp",
|
|
"$_gm/crbug_918512.cpp",
|
|
"$_gm/crbug_938592.cpp",
|
|
"$_gm/crbug_946965.cpp",
|
|
"$_gm/crbug_947055.cpp",
|
|
"$_gm/crbug_996140.cpp",
|
|
"$_gm/croppedrects.cpp",
|
|
"$_gm/crosscontextimage.cpp",
|
|
"$_gm/cubicpaths.cpp",
|
|
"$_gm/daa.cpp",
|
|
"$_gm/dashcircle.cpp",
|
|
"$_gm/dashcubics.cpp",
|
|
"$_gm/dashing.cpp",
|
|
"$_gm/degeneratesegments.cpp",
|
|
"$_gm/dftext.cpp",
|
|
"$_gm/dftext_blob_persp.cpp",
|
|
"$_gm/discard.cpp",
|
|
"$_gm/displacement.cpp",
|
|
"$_gm/distantclip.cpp",
|
|
"$_gm/downsamplebitmap.cpp",
|
|
"$_gm/draw_bitmap_rect_skbug4374.cpp",
|
|
"$_gm/drawable.cpp",
|
|
"$_gm/drawatlas.cpp",
|
|
"$_gm/drawatlascolor.cpp",
|
|
"$_gm/drawbitmaprect.cpp",
|
|
"$_gm/drawimageset.cpp",
|
|
"$_gm/drawminibitmaprect.cpp",
|
|
"$_gm/drawquadset.cpp",
|
|
"$_gm/drawregion.cpp",
|
|
"$_gm/drawregionmodes.cpp",
|
|
"$_gm/dropshadowimagefilter.cpp",
|
|
"$_gm/drrect.cpp",
|
|
"$_gm/drrect_small_inner.cpp",
|
|
"$_gm/dstreadshuffle.cpp",
|
|
"$_gm/ducky_yuv_blend.cpp",
|
|
"$_gm/emboss.cpp",
|
|
"$_gm/emptypath.cpp",
|
|
"$_gm/encode.cpp",
|
|
"$_gm/encode_alpha_jpeg.cpp",
|
|
"$_gm/encode_color_types.cpp",
|
|
"$_gm/encode_platform.cpp",
|
|
"$_gm/encode_srgb.cpp",
|
|
"$_gm/exoticformats.cpp",
|
|
"$_gm/extractbitmap.cpp",
|
|
"$_gm/fadefilter.cpp",
|
|
"$_gm/fatpathfill.cpp",
|
|
"$_gm/filltypes.cpp",
|
|
"$_gm/filltypespersp.cpp",
|
|
"$_gm/filterbitmap.cpp",
|
|
"$_gm/filterbug.cpp",
|
|
"$_gm/filterfastbounds.cpp",
|
|
"$_gm/filterindiabox.cpp",
|
|
"$_gm/flippity.cpp",
|
|
"$_gm/fontcache.cpp",
|
|
"$_gm/fontmgr.cpp",
|
|
"$_gm/fontregen.cpp",
|
|
"$_gm/fontscaler.cpp",
|
|
"$_gm/fontscalerdistortable.cpp",
|
|
"$_gm/fp_sample_chaining.cpp",
|
|
"$_gm/fpcoordinateoverride.cpp",
|
|
"$_gm/fwidth_squircle.cpp",
|
|
"$_gm/gammatext.cpp",
|
|
"$_gm/getpostextpath.cpp",
|
|
"$_gm/giantbitmap.cpp",
|
|
"$_gm/glyph_pos.cpp",
|
|
"$_gm/gm.cpp",
|
|
"$_gm/gpu_blur_utils.cpp",
|
|
"$_gm/gradient_dirty_laundry.cpp",
|
|
"$_gm/gradient_matrix.cpp",
|
|
"$_gm/gradients.cpp",
|
|
"$_gm/gradients_2pt_conical.cpp",
|
|
"$_gm/gradients_degenerate.cpp",
|
|
"$_gm/gradients_no_texture.cpp",
|
|
"$_gm/gradtext.cpp",
|
|
"$_gm/grayscalejpg.cpp",
|
|
"$_gm/hairlines.cpp",
|
|
"$_gm/hairmodes.cpp",
|
|
"$_gm/hardstop_gradients.cpp",
|
|
"$_gm/highcontrastfilter.cpp",
|
|
"$_gm/hittestpath.cpp",
|
|
"$_gm/hsl.cpp",
|
|
"$_gm/hugepath.cpp",
|
|
"$_gm/image.cpp",
|
|
"$_gm/image_pict.cpp",
|
|
"$_gm/image_shader.cpp",
|
|
"$_gm/imagealphathreshold.cpp",
|
|
"$_gm/imageblur.cpp",
|
|
"$_gm/imageblur2.cpp",
|
|
"$_gm/imageblurclampmode.cpp",
|
|
"$_gm/imageblurrepeatmode.cpp",
|
|
"$_gm/imageblurtiled.cpp",
|
|
"$_gm/imagefilters.cpp",
|
|
"$_gm/imagefiltersbase.cpp",
|
|
"$_gm/imagefiltersclipped.cpp",
|
|
"$_gm/imagefilterscropexpand.cpp",
|
|
"$_gm/imagefilterscropped.cpp",
|
|
"$_gm/imagefiltersgraph.cpp",
|
|
"$_gm/imagefiltersscaled.cpp",
|
|
"$_gm/imagefiltersstroked.cpp",
|
|
"$_gm/imagefilterstransformed.cpp",
|
|
"$_gm/imagefromyuvtextures.cpp",
|
|
"$_gm/imagemagnifier.cpp",
|
|
"$_gm/imagemakewithfilter.cpp",
|
|
"$_gm/imagemasksubset.cpp",
|
|
"$_gm/imageresizetiled.cpp",
|
|
"$_gm/imagescalealigned.cpp",
|
|
"$_gm/imagesource.cpp",
|
|
"$_gm/imagesource2.cpp",
|
|
"$_gm/internal_links.cpp",
|
|
"$_gm/inverseclip.cpp",
|
|
"$_gm/inversepaths.cpp",
|
|
"$_gm/jpg_color_cube.cpp",
|
|
"$_gm/labyrinth.cpp",
|
|
"$_gm/largeglyphblur.cpp",
|
|
"$_gm/lattice.cpp",
|
|
"$_gm/lcdblendmodes.cpp",
|
|
"$_gm/lcdoverlap.cpp",
|
|
"$_gm/lcdtext.cpp",
|
|
"$_gm/lighting.cpp",
|
|
"$_gm/linepaths.cpp",
|
|
"$_gm/localmatriximagefilter.cpp",
|
|
"$_gm/localmatriximageshader.cpp",
|
|
"$_gm/localmatrixshader.cpp",
|
|
"$_gm/lumafilter.cpp",
|
|
"$_gm/mac_aa_explorer.cpp",
|
|
"$_gm/make_raster_image.cpp",
|
|
"$_gm/makecolorspace.cpp",
|
|
"$_gm/mandoline.cpp",
|
|
"$_gm/manypaths.cpp",
|
|
"$_gm/matrixconvolution.cpp",
|
|
"$_gm/matriximagefilter.cpp",
|
|
"$_gm/mipmap.cpp",
|
|
"$_gm/mixedtextblobs.cpp",
|
|
"$_gm/mixercolorfilter.cpp",
|
|
"$_gm/modecolorfilters.cpp",
|
|
"$_gm/morphology.cpp",
|
|
"$_gm/nested.cpp",
|
|
"$_gm/ninepatchstretch.cpp",
|
|
"$_gm/nonclosedpaths.cpp",
|
|
"$_gm/offsetimagefilter.cpp",
|
|
"$_gm/orientation.cpp",
|
|
"$_gm/ovals.cpp",
|
|
"$_gm/overdrawcanvas.cpp",
|
|
"$_gm/overdrawcolorfilter.cpp",
|
|
"$_gm/overstroke.cpp",
|
|
"$_gm/p3.cpp",
|
|
"$_gm/patch.cpp",
|
|
"$_gm/path_stroke_with_zero_length.cpp",
|
|
"$_gm/patharcto.cpp",
|
|
"$_gm/pathcontourstart.cpp",
|
|
"$_gm/patheffects.cpp",
|
|
"$_gm/pathfill.cpp",
|
|
"$_gm/pathinterior.cpp",
|
|
"$_gm/pathmaskcache.cpp",
|
|
"$_gm/pathmeasure.cpp",
|
|
"$_gm/pathopsinverse.cpp",
|
|
"$_gm/pathreverse.cpp",
|
|
"$_gm/pdf_never_embed.cpp",
|
|
"$_gm/perlinnoise.cpp",
|
|
"$_gm/perspimages.cpp",
|
|
"$_gm/perspshaders.cpp",
|
|
"$_gm/picture.cpp",
|
|
"$_gm/pictureimagefilter.cpp",
|
|
"$_gm/pictureimagegenerator.cpp",
|
|
"$_gm/pictureshader.cpp",
|
|
"$_gm/pictureshadercache.cpp",
|
|
"$_gm/pictureshadertile.cpp",
|
|
"$_gm/pixelsnap.cpp",
|
|
"$_gm/plus.cpp",
|
|
"$_gm/points.cpp",
|
|
"$_gm/poly2poly.cpp",
|
|
"$_gm/polygonoffset.cpp",
|
|
"$_gm/polygons.cpp",
|
|
"$_gm/postercircle.cpp",
|
|
"$_gm/preservefillrule.cpp",
|
|
"$_gm/quadpaths.cpp",
|
|
"$_gm/radial_gradient_precision.cpp",
|
|
"$_gm/rasterhandleallocator.cpp",
|
|
"$_gm/readpixels.cpp",
|
|
"$_gm/recordopts.cpp",
|
|
"$_gm/rects.cpp",
|
|
"$_gm/repeated_bitmap.cpp",
|
|
"$_gm/resizeimagefilter.cpp",
|
|
"$_gm/roundrects.cpp",
|
|
"$_gm/rrect.cpp",
|
|
"$_gm/rrectclipdrawpaint.cpp",
|
|
"$_gm/rrects.cpp",
|
|
"$_gm/runtimecolorfilter.cpp",
|
|
"$_gm/runtimefunctions.cpp",
|
|
"$_gm/runtimeshader.cpp",
|
|
"$_gm/sample_matrix_constant.cpp",
|
|
"$_gm/sample_matrix_variable.cpp",
|
|
"$_gm/samplelocations.cpp",
|
|
"$_gm/samplerstress.cpp",
|
|
"$_gm/savelayer.cpp",
|
|
"$_gm/scaledemoji.cpp",
|
|
"$_gm/scaledemoji_rendering.cpp",
|
|
"$_gm/scaledstrokes.cpp",
|
|
"$_gm/shadermaskfilter.cpp",
|
|
"$_gm/shadertext3.cpp",
|
|
"$_gm/shadowutils.cpp",
|
|
"$_gm/shallowgradient.cpp",
|
|
"$_gm/shapes.cpp",
|
|
"$_gm/sharedcorners.cpp",
|
|
"$_gm/showmiplevels.cpp",
|
|
"$_gm/simple_magnification.cpp",
|
|
"$_gm/simpleaaclip.cpp",
|
|
"$_gm/simplerect.cpp",
|
|
"$_gm/skbug1719.cpp",
|
|
"$_gm/skbug_257.cpp",
|
|
"$_gm/skbug_4868.cpp",
|
|
"$_gm/skbug_5321.cpp",
|
|
"$_gm/skbug_8664.cpp",
|
|
"$_gm/skbug_8955.cpp",
|
|
"$_gm/skbug_9319.cpp",
|
|
"$_gm/skbug_9819.cpp",
|
|
"$_gm/smallarc.cpp",
|
|
"$_gm/smallpaths.cpp",
|
|
"$_gm/spritebitmap.cpp",
|
|
"$_gm/srcmode.cpp",
|
|
"$_gm/srgb.cpp",
|
|
"$_gm/stlouisarch.cpp",
|
|
"$_gm/stringart.cpp",
|
|
"$_gm/stroke_rect_shader.cpp",
|
|
"$_gm/strokedlines.cpp",
|
|
"$_gm/strokefill.cpp",
|
|
"$_gm/strokerect.cpp",
|
|
"$_gm/strokerect_anisotropic.cpp",
|
|
"$_gm/strokerects.cpp",
|
|
"$_gm/strokes.cpp",
|
|
"$_gm/stroketext.cpp",
|
|
"$_gm/subsetshader.cpp",
|
|
"$_gm/surface.cpp",
|
|
"$_gm/swizzle.cpp",
|
|
"$_gm/tablecolorfilter.cpp",
|
|
"$_gm/tallstretchedbitmaps.cpp",
|
|
"$_gm/tessellation.cpp",
|
|
"$_gm/testgradient.cpp",
|
|
"$_gm/texelsubset.cpp",
|
|
"$_gm/text_scale_skew.cpp",
|
|
"$_gm/textblob.cpp",
|
|
"$_gm/textblobblockreordering.cpp",
|
|
"$_gm/textblobcolortrans.cpp",
|
|
"$_gm/textblobgeometrychange.cpp",
|
|
"$_gm/textbloblooper.cpp",
|
|
"$_gm/textblobmixedsizes.cpp",
|
|
"$_gm/textblobrandomfont.cpp",
|
|
"$_gm/textblobshader.cpp",
|
|
"$_gm/textblobtransforms.cpp",
|
|
"$_gm/textblobuseaftergpufree.cpp",
|
|
"$_gm/texteffects.cpp",
|
|
"$_gm/thinconcavepaths.cpp",
|
|
"$_gm/thinrects.cpp",
|
|
"$_gm/thinstrokedrects.cpp",
|
|
"$_gm/tiledscaledbitmap.cpp",
|
|
"$_gm/tileimagefilter.cpp",
|
|
"$_gm/tilemodes.cpp",
|
|
"$_gm/tilemodes_alpha.cpp",
|
|
"$_gm/tilemodes_scaled.cpp",
|
|
"$_gm/tinybitmap.cpp",
|
|
"$_gm/transparency.cpp",
|
|
"$_gm/trickycubicstrokes.cpp",
|
|
"$_gm/typeface.cpp",
|
|
"$_gm/unpremul.cpp",
|
|
"$_gm/userfont.cpp",
|
|
"$_gm/variedtext.cpp",
|
|
"$_gm/verifiers/gmverifier.cpp",
|
|
"$_gm/vertices.cpp",
|
|
"$_gm/verylargebitmap.cpp",
|
|
"$_gm/wacky_yuv_formats.cpp",
|
|
"$_gm/widebuttcaps.cpp",
|
|
"$_gm/windowrectangles.cpp",
|
|
"$_gm/xfermodeimagefilter.cpp",
|
|
"$_gm/xfermodes.cpp",
|
|
"$_gm/xfermodes2.cpp",
|
|
"$_gm/xfermodes3.cpp",
|
|
"$_gm/ycbcrimage.cpp",
|
|
"$_gm/yuv420_odd_dim.cpp",
|
|
"$_gm/yuvtorgbeffect.cpp",
|
|
]
|
|
|
|
gl_gm_sources = [ "$_gm/rectangletexture.cpp" ]
|