skia2/gm
Michael Ludwig e88320baec Update how sample(matrix) calls are invoked in SkSL
This removes the kMixed type of SkSL::SampleMatrix. All analysis of FP
sampling due to parent-child relationships is tracked in flags on
GrFragmentProcessor now.

The sample strategy is tracked as follows:
- An FP marks itself as using the local coordinate builtin directly (automatically done for .fp code based on reference to sk_TransformedCoords2D[0]).
- This state propagates up the parent towards the root, marking FPs as using coordinates indirectly. We stop the propagation when we hit a parent FP that explicitly samples the child because it becomes the source of the child's coordinates.
   - If that parent references its local coordinates directly, that kicks off its own upwards propagation.
- Being sampled explicitly propagates down to all children, and effectively disables vertex-shader evaluation of transforms.
   - A variable matrix automatically marks this flag as well, since it's essentially a shortcut to (matrix expression) * coords.
- The matrix type also propagates down, but right now that's only for whether or not there's perspective.
   - This doesn't affect FS coord evaluation since each FP applies its action independently.
   - But for VS-promoted transforms, the child's varying may inherit perspective (or other more general matrix types) from the parent and switch from a float2 to a float3.
- A SampleMatrix no longer tracks a base or owner, GrFragmentProcessor exposes its parent FP. An FP's sample matrix is always owned by its immediate parent.
   - This means that you can have a hierarchy from root to leaf like: [uniform, none, none, uses local coords], and that leaf will have a SampleMatrix of kNone type. However, because of parent tracking, the coordinate generation can walk up to the root and detect the proper transform expression it needs to produce, and automatically de-duplicate across children.

Currently, all FP's that are explicitly sampled have a signature of (color, float2 coord). FP's that don't use local coords, or whose coords are promoted to a varying have a signature of (color).
   - In this case, the shader builder either updates args.fLocalCoords to point to the varying directly, or adds a float2 local to the function body that includes the perspective divide.

GrFragmentProcessor automatically pretends it has an identity coord transform if the FP is marked as referencing the local coord builtin. This allows these FPs to still be processed as part of GrGLSLGeometryProcessor::collectTransforms, but removes the need for FP implementations to declare an identity GrCoordTransform.
   - To test this theory, GrTextureEffect and GrSkSLFP no longer have coord transforms explicitly.
   - Later CLs can trivially remove them from a lot of the other effects.
   - The coord generation should not change because it detects in both cases that the coord transform matrices were identity.

GrGLSLGeometryProcessor's collectTransforms and emitTransformCode has been completely overhauled to recurse up an FP's parent pointers and collect the expressions that affect the result. It de-duplicates expressions between siblings, and is able to produce a single varying for the base local coord (either when there are no intervening transforms, or the root FP needs an explicit coordinate to start off with).


This also adds the fp_sample_chaining GM from Brian, with a few more configurations to fill out the cells.

Bug: skia:10396
Change-Id: I86acc0c34c9f29d6371b34370bee9a18c2acf1c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297868
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-06-25 14:48:34 +00:00
..
verifiers Reland: Initial checkin of GM verifier framework 2020-02-06 15:01:31 +00:00
3d.cpp clean up public m44 and camera api 2020-04-06 15:34:17 +00:00
aaa.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
aaclip.cpp fix gm to test unpremul etc. 2020-02-11 14:04:02 +00:00
aarectmodes.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
aaxfermodes.cpp Remove SkTMin and SkTMax 2020-02-07 18:40:09 +00:00
addarc.cpp stroke-and-fill is deprecated, introduce simpler api 2020-05-19 13:03:29 +00:00
all_bitmap_configs.cpp Add SkUNREACHABLE to definition of SK_ABORT. 2019-08-09 20:43:39 +00:00
alpha_image.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
alphagradients.cpp IWYU for gms starting with 'a'. 2019-04-30 19:39:37 +00:00
analytic_gradients.cpp IWYU for gms starting with 'a'. 2019-04-30 19:39:37 +00:00
androidblendmodes.cpp IWYU for gms starting with 'a'. 2019-04-30 19:39:37 +00:00
animated_gif.cpp use std::make_unique 2019-12-12 22:32:45 +00:00
animatedimageblurs.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
anisotropic.cpp IWYU for gms starting with 'a'. 2019-04-30 19:39:37 +00:00
annotated_text.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
arcofzorro.cpp IWYU for gms starting with 'a'. 2019-04-30 19:39:37 +00:00
arcto.cpp Revert "Reland "Revert "Use flat version of path-direction enum""" 2019-11-22 19:09:54 +00:00
arithmode.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
asyncrescaleandread.cpp Remove submit from async read pixels. User must submit. 2020-06-02 16:55:04 +00:00
b_119394958.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
backdrop_imagefilter_croprect.cpp hide savelayer's clipmask fields 2020-05-31 14:06:42 +00:00
backdrop.cpp Make backdrop_hintrect_clipping GM use kClamp tile mode 2020-05-04 15:25:19 +00:00
badpaint.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bc1_transparency.cpp Fix SW decompression of BC1 and add a GM to check it (take 2). 2020-02-04 13:41:10 +00:00
beziereffects.cpp Remove HairlineAA from the clip-edge types. 2020-06-17 17:43:35 +00:00
beziers.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bicubic.cpp add Brian's fiddle as gm/bicubic 2020-01-08 16:40:53 +00:00
bigblurs.cpp Revert "Reland "Revert "Use flat version of path-direction enum""" 2019-11-22 19:09:54 +00:00
bigmatrix.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bigrect.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bigrrectaaeffect.cpp Update GrRRectEffect to take an input FP and return a MakeResult. 2020-06-17 18:24:58 +00:00
bigtext.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
bigtileimagefilter.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
bitmapcopy.cpp basic, untested BGR 1010102 and 101010x 2020-02-11 21:44:57 +00:00
bitmapfilters.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bitmapimage.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bitmappremul.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bitmaprect.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bitmaprecttest.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bitmapshader.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bitmaptiled.cpp Remove maxCount resource cache limit 2019-09-03 14:59:51 +00:00
bleed.cpp Fix strict-constraint bleed in strict_constraint_[batch_]no_red_allowed. 2020-06-01 15:51:09 +00:00
blend.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
blurcircles2.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
blurcircles.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
blurignorexform.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
blurimagevmask.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
blurpositioning.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
blurquickreject.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
blurrect.cpp Remove GrAtlasManager.h from all other .h files 2020-04-07 12:43:46 +00:00
blurredclippedcircle.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
blurroundrect.cpp Optimize GrRRectBlurEffect by computing frag pos branchlessly. 2020-06-11 20:13:23 +00:00
blurs.cpp Revert "Reland "Revert "Use flat version of path-direction enum""" 2019-11-22 19:09:54 +00:00
blurtextsmallradii.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bmpfilterqualityrepeat.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bug5252.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bug6643.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bug6783.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
bug9331.cpp add GM for skbug.com/9331 2019-08-12 19:32:40 +00:00
bug530095.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bug615686.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
cgm.c IWYU for gms. 2019-05-02 17:48:53 +00:00
cgms.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
circle_sizes.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
circles.cpp stroke-and-fill is deprecated, introduce simpler api 2020-05-19 13:03:29 +00:00
circulararcs.cpp use strokeandfill patheffect, and fix it 2020-05-20 21:37:52 +00:00
circularclips.cpp Update complex clip GMs to only use supported clip ops 2020-06-25 14:15:25 +00:00
clip_error.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
clip_sierpinski_region.cpp Support clipRegion on GPU backend 2019-12-13 17:34:33 +00:00
clip_strokerect.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
clipdrawdraw.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
clippedbitmapshaders.cpp gm: virtual->override 2019-07-18 18:07:52 +00:00
clockwise.cpp Reland "Improve scissor state tracking in GrRTC" 2020-06-04 20:52:41 +00:00
collapsepaths.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
color4f.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
coloremoji_blendmodes.cpp more rect api simplifications 2019-08-25 10:12:57 +00:00
coloremoji.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
colorfilteralpha8.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
colorfilterimagefilter.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
colorfilters.cpp Reland: SkColorfilters::HSLAMatrix 2019-08-01 23:04:22 +00:00
colormatrix.cpp SkColorMatrix cleanup 2019-11-04 15:20:15 +00:00
colorwheel.cpp SkPaint: new constructor 2019-05-02 19:52:07 +00:00
complexclip2.cpp Update complex clip GMs to only use supported clip ops 2020-06-25 14:15:25 +00:00
complexclip3.cpp Update complex clip GMs to only use supported clip ops 2020-06-25 14:15:25 +00:00
complexclip4.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
complexclip_blur_tiled.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
complexclip.cpp Update complex clip GMs to only use supported clip ops 2020-06-25 14:15:25 +00:00
composeshader.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
compositor_quads.cpp Switch some GMs over to using create_portable_typeface 2020-05-05 13:59:48 +00:00
compressed_textures.cpp Remove SkTMin and SkTMax 2020-02-07 18:40:09 +00:00
concavepaths.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
conicpaths.cpp stroke-and-fill is deprecated, introduce simpler api 2020-05-19 13:03:29 +00:00
constcolorprocessor.cpp Update ConstColor FP to support an input FP. 2020-06-15 18:45:04 +00:00
convex_all_line_paths.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
convexpaths.cpp Revert "Reland "Revert "Use flat version of path-direction enum""" 2019-11-22 19:09:54 +00:00
convexpolyclip.cpp Remove SkMaxScalar and SkMinScalar 2020-02-06 15:43:22 +00:00
convexpolyeffect.cpp Return tuple from GrConvexPolyEffect::Make denoting success or failure. 2020-06-16 21:08:33 +00:00
copy_to_4444.cpp gm: virtual->override 2019-07-18 18:07:52 +00:00
crbug_224618.cpp clean up public m44 and camera api 2020-04-06 15:34:17 +00:00
crbug_691386.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
crbug_788500.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
crbug_847759.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
crbug_884166.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
crbug_887103.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
crbug_892988.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
crbug_899512.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
crbug_905548.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
crbug_908646.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
crbug_913349.cpp GrTessellator: improved straight skeleton implementation. 2019-05-22 16:16:59 +00:00
crbug_918512.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
crbug_938592.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
crbug_946965.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
crbug_947055.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
crbug_996140.cpp Don't use AA convex path renderer if direction can't be determined 2019-09-02 01:57:03 +00:00
crbug_1041204.cpp Add GM for crbug:10141204 2020-01-23 15:06:16 +00:00
crbug_1073670.cpp Reland "fix crbug 1073670" 2020-04-24 20:52:21 +00:00
croppedrects.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
crosscontextimage.cpp Remove MakeCrossContextFromEncoded, unused argument from ...FromPixmap 2019-08-15 17:10:28 +00:00
cubicpaths.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
daa.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
dashcircle.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
dashcubics.cpp stroke-and-fill is deprecated, introduce simpler api 2020-05-19 13:03:29 +00:00
dashing.cpp stroke-and-fill is deprecated, introduce simpler api 2020-05-19 13:03:29 +00:00
degeneratesegments.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
dftext_blob_persp.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
dftext.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
discard.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
displacement.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
distantclip.cpp Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
downsamplebitmap.cpp Remove drawBitmap et al. from SkDevice 2020-03-12 15:28:00 +00:00
draw_bitmap_rect_skbug4374.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
drawable.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
drawatlas.cpp Remove SkTMin and SkTMax 2020-02-07 18:40:09 +00:00
drawatlascolor.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
drawbitmaprect.cpp Remove SkMaxScalar and SkMinScalar 2020-02-06 15:43:22 +00:00
drawimageset.cpp Remove SkTMin and SkTMax 2020-02-07 18:40:09 +00:00
drawminibitmaprect.cpp Remove SkMaxScalar and SkMinScalar 2020-02-06 15:43:22 +00:00
drawquadset.cpp Reland "GrClips provided as pointers to GrRTC" 2020-05-29 15:09:54 +00:00
drawregion.cpp more rect api simplifications 2019-08-25 10:12:57 +00:00
drawregionmodes.cpp more rect api simplifications 2019-08-25 10:12:57 +00:00
dropshadowimagefilter.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
drrect_small_inner.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
drrect.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
dstreadshuffle.cpp Fix implicit fallthroughs throughout Skia. 2020-06-11 22:29:53 +00:00
ducky_yuv_blend.cpp move ducky images into images 2020-03-25 12:19:56 +00:00
emboss.cpp add a paint-color string to gm/emboss 2019-10-29 21:12:22 +00:00
emptypath.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
encode_alpha_jpeg.cpp Tests: re-sort gni, file name convention 2019-05-04 02:17:09 +00:00
encode_color_types.cpp Remove transform_scanline from SkWebpEncoder 2020-06-02 15:37:29 +00:00
encode_platform.cpp Tests: re-sort gni, file name convention 2019-05-04 02:17:09 +00:00
encode_srgb.cpp Tests: re-sort gni, file name convention 2019-05-04 02:17:09 +00:00
encode.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
exoticformats.cpp Make exoticformats GM a bit easier to triage 2020-02-03 18:04:25 +00:00
extractbitmap.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
fadefilter.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
fatpathfill.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
fiddle.cpp Reland "add a stub for running fiddles as GMs" 2019-08-09 16:22:51 +00:00
filltypes.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
filltypespersp.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
filterbitmap.cpp Remove drawBitmap et al. from SkDevice 2020-03-12 15:28:00 +00:00
filterbug.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
filterfastbounds.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
filterindiabox.cpp Remove drawBitmap et al. from SkDevice 2020-03-12 15:28:00 +00:00
flippity.cpp Fix flippity GM for *ooprddl configs (take 2) 2020-06-19 14:47:53 +00:00
fontcache.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
fontmgr.cpp Remove SkMin32/SkMax32 2020-02-06 17:31:51 +00:00
fontregen.cpp Update internal skia uses to use flushAndSubmit and submit calls. 2020-05-14 20:26:44 +00:00
fontscaler.cpp Add test for baseline snapping. 2019-08-28 16:35:55 +00:00
fontscalerdistortable.cpp Update fontscalerdistortable to onOnceBeforeDraw. 2020-02-06 16:25:41 +00:00
fp_sample_chaining.cpp Update how sample(matrix) calls are invoked in SkSL 2020-06-25 14:48:34 +00:00
fpcoordinateoverride.cpp Move setSampleMatrix and setSampledWithExplicitCoords into child registration 2020-06-22 21:20:20 +00:00
fwidth_squircle.cpp Reland "Improve scissor state tracking in GrRTC" 2020-06-04 20:52:41 +00:00
gammatext.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
getpostextpath.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
giantbitmap.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
glyph_pos.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
gm.cpp Add GM::gpuSetup step 2020-06-16 18:31:55 +00:00
gm.h Add GM::gpuSetup step 2020-06-16 18:31:55 +00:00
gpu_blur_utils.cpp Reland "GrClips provided as pointers to GrRTC" 2020-05-29 15:09:54 +00:00
gradient_dirty_laundry.cpp GMs: re-sort gni, script to regenerate gni, file name convention 2019-05-02 20:08:37 +00:00
gradient_matrix.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
gradients_2pt_conical.cpp gm: add some overrides 2019-07-24 19:11:35 +00:00
gradients_degenerate.cpp Switch some GMs over to using create_portable_typeface 2020-05-05 13:59:48 +00:00
gradients_no_texture.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
gradients.cpp gm: add some overrides 2019-07-24 19:11:35 +00:00
gradtext.cpp gm: virtual->override 2019-07-18 18:07:52 +00:00
grayscalejpg.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
hairlines.cpp Remove SkMaxScalar and SkMinScalar 2020-02-06 15:43:22 +00:00
hairmodes.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
hardstop_gradients.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
highcontrastfilter.cpp Include all tests, enlarge labels 2020-03-26 13:05:39 +00:00
hittestpath.cpp Don't test GPU configs on hittestpath 2020-05-26 21:48:06 +00:00
hsl.cpp move ducky images into images 2020-03-25 12:19:56 +00:00
hugepath.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
image_pict.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
image_shader.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
image.cpp more rect api simplifications 2019-08-25 10:12:57 +00:00
imagealphathreshold.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
imageblur2.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
imageblur.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
imageblurclampmode.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
imageblurrepeatmode.cpp Add GM for blur + repeat bugs 2020-04-16 15:20:39 +00:00
imageblurtiled.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
imagefilters.cpp hide savelayer's clipmask fields 2020-05-31 14:06:42 +00:00
imagefiltersbase.cpp Move the source image into Context 2019-08-15 12:31:11 +00:00
imagefiltersclipped.cpp Remove SkMaxScalar and SkMinScalar 2020-02-06 15:43:22 +00:00
imagefilterscropexpand.cpp Remove SkMaxScalar and SkMinScalar 2020-02-06 15:43:22 +00:00
imagefilterscropped.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
imagefiltersgraph.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
imagefiltersscaled.cpp Remove SkMaxScalar and SkMinScalar 2020-02-06 15:43:22 +00:00
imagefiltersstroked.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
imagefilterstransformed.cpp Implement computeFastBounds in SkLocalMatrixImageFilter 2020-06-11 16:45:33 +00:00
imagefromyuvtextures.cpp Update image_from_yuv_textures GM for *ooprddl configs 2020-06-23 13:10:02 +00:00
imagemagnifier.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
imagemakewithfilter.cpp Add d3d support for creating command lists. 2020-03-09 19:42:48 +00:00
imagemasksubset.cpp use std::make_unique 2019-12-12 22:32:45 +00:00
imageresizetiled.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
imagescalealigned.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imagesource2.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
imagesource.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
internal_links.cpp gm: virtual->override 2019-07-18 18:07:52 +00:00
inverseclip.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
inversepaths.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
jpg_color_cube.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
labyrinth.cpp Rename labrynth.cpp -> labyrinth.cpp 2019-07-29 22:16:29 +00:00
largeglyphblur.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
lattice.cpp Remove exotic legacy bitmap drawing entry points: Nine, Lattice 2020-03-11 13:11:47 +00:00
lcdblendmodes.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
lcdoverlap.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
lcdtext.cpp Restore SkCanvas::kPreserveLCDText_SaveLayerFlag 2020-05-01 20:33:04 +00:00
lighting.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
linepaths.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
localmatriximagefilter.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
localmatriximageshader.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
localmatrixshader.cpp Add localmatrix w/ perspective GM 2020-06-02 18:20:14 +00:00
lumafilter.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
mac_aa_explorer.cpp Fix compiler warnings on Mac build. 2020-06-12 18:21:19 +00:00
make_raster_image.cpp GMs: re-sort gni, script to regenerate gni, file name convention 2019-05-02 20:08:37 +00:00
makecolorspace.cpp Fix crash in reinterpretcolorspace GM with abandoned context 2019-08-15 15:06:28 +00:00
mandoline.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
manypaths.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
matrixconvolution.cpp Reland "Support large kernels on GPU in matrix convolution effect" 2020-05-12 12:47:44 +00:00
matriximagefilter.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
mipmap.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
mixedtextblobs.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
mixercolorfilter.cpp remove LerpRed shader 2020-03-12 18:37:17 +00:00
modecolorfilters.cpp Remove SkMin32/SkMax32 2020-02-06 17:31:51 +00:00
morphology.cpp Fix GMs broken during API porting 2019-08-05 14:53:45 +00:00
nested.cpp Revert "Reland "Revert "Use flat version of path-direction enum""" 2019-11-22 19:09:54 +00:00
ninepatchstretch.cpp Remove exotic legacy bitmap drawing entry points: Nine, Lattice 2020-03-11 13:11:47 +00:00
nonclosedpaths.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
offsetimagefilter.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
orientation.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
ovals.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
overdrawcanvas.cpp remove legacy factory for overdrawcolorfilter 2020-02-15 16:53:39 +00:00
overdrawcolorfilter.cpp example of overdraw CF that we can JIT 2020-04-09 18:08:36 +00:00
overstroke.cpp GMs: re-sort gni, script to regenerate gni, file name convention 2019-05-02 20:08:37 +00:00
p3.cpp add SkColorSpace param to SkPixmap::erase() 2020-04-24 14:20:54 +00:00
patch.cpp detect when the localmatrix forces us into a perspective stage 2020-03-04 23:16:41 +00:00
path_stroke_with_zero_length.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
patharcto.cpp add gm for tricky arc 2019-07-26 18:11:04 +00:00
pathcontourstart.cpp Revert "Reland "Revert "Use flat version of path-direction enum""" 2019-11-22 19:09:54 +00:00
patheffects.cpp add new patheffect for stroke-and-fill 2020-05-20 15:01:26 +00:00
pathfill.cpp remember to injectmoveto before arcTo 2020-04-28 19:52:20 +00:00
pathinterior.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
pathmaskcache.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
pathmeasure.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
pathopsinverse.cpp add gm to test pathops bug 2020-04-20 18:31:51 +00:00
pathreverse.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
pdf_never_embed.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
perlinnoise.cpp gm: virtual->override 2019-07-18 18:07:52 +00:00
perspimages.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
perspshaders.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
picture.cpp Test serializing pictures with cull rects 2019-08-14 21:59:43 +00:00
pictureimagefilter.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
pictureimagegenerator.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
pictureshader.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
pictureshadercache.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
pictureshadertile.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
pixelsnap.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
plus.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
points.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
poly2poly.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
polygonoffset.cpp Remove SkTMin and SkTMax 2020-02-07 18:40:09 +00:00
polygons.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
postercircle.cpp clean up public m44 and camera api 2020-04-06 15:34:17 +00:00
preservefillrule.cpp Add SkSurface flush call that takes a GrBackendSurfaceMutableState. 2020-06-12 20:40:54 +00:00
quadpaths.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
radial_gradient_precision.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
rasterhandleallocator.cpp use std::make_unique 2019-12-12 22:32:45 +00:00
readpixels.cpp Remove unused dstColorSpace parameter from makeTextureImage 2019-08-14 19:09:05 +00:00
recordopts.cpp Update internal skia uses to use flushAndSubmit and submit calls. 2020-05-14 20:26:44 +00:00
rectangletexture.cpp Reland "Make it easier to test rectangle textures by using createBackendTexture." 2020-06-22 16:13:04 +00:00
rects.cpp remove code now that loopers are dead (w.r.t. canvas and paint) 2019-07-30 12:49:28 +00:00
repeated_bitmap.cpp Remove SkTMin and SkTMax 2020-02-07 18:40:09 +00:00
resizeimagefilter.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
roundrects.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
rrect.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
rrectclipdrawpaint.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
rrects.cpp Update GrRRectEffect to take an input FP and return a MakeResult. 2020-06-17 18:24:58 +00:00
runtimecolorfilter.cpp allow client to pass null if there are no uniforms 2020-02-19 14:21:39 +00:00
runtimefunctions.cpp Change SkSL main() from (float x, float y) to (float2 p) 2020-02-07 20:19:13 +00:00
runtimeshader.cpp Add ceil to skvx/skvm/JIT, and floor/ceil intrinsics to ByteCode 2020-06-19 15:37:03 +00:00
sample_matrix_constant.cpp Update how sample(matrix) calls are invoked in SkSL 2020-06-25 14:48:34 +00:00
sample_matrix_variable.cpp Update how sample(matrix) calls are invoked in SkSL 2020-06-25 14:48:34 +00:00
samplelocations.cpp Reland "Improve scissor state tracking in GrRTC" 2020-06-04 20:52:41 +00:00
samplerstress.cpp more rect api simplifications 2019-08-25 10:12:57 +00:00
savelayer.cpp remove (unused) clipmask from savelayer 2020-06-15 14:26:44 +00:00
scaledemoji_rendering.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
scaledemoji.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
scaledstrokes.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
shadermaskfilter.cpp remove unused maskfilter helpers: Combine, Compose 2020-05-05 19:10:00 +00:00
shadertext3.cpp Remove SkMin32/SkMax32 2020-02-06 17:31:51 +00:00
shadowutils.cpp onProgram for SkGaussianColorFilter, plus gm and bench 2020-03-27 20:41:20 +00:00
shallowgradient.cpp gm: simplify several onName 2019-07-24 18:05:45 +00:00
shapes.cpp Remove SkTMin and SkTMax 2020-02-07 18:40:09 +00:00
sharedcorners.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
showmiplevels.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
simple_magnification.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
simpleaaclip.cpp Update complex clip GMs to only use supported clip ops 2020-06-25 14:15:25 +00:00
simplerect.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
skbug1719.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
skbug_257.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
skbug_4868.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
skbug_5321.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
skbug_8664.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
skbug_8955.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
skbug_9319.cpp Make GrRectBlurEffect be analytical rather than use a texture LUT. 2019-08-14 13:35:37 +00:00
skbug_9819.cpp tweak grading in gm/skbug_9819 for G8 2020-01-28 22:10:36 +00:00
smallarc.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
smallpaths.cpp Tweak smallpaths so new paths will show up in GM. 2019-12-19 18:51:49 +00:00
spritebitmap.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
srcmode.cpp Remove unused GM deferred canvas feature 2019-09-10 18:28:05 +00:00
srgb.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
stlouisarch.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
stringart.cpp Remove SkMin32/SkMax32 2020-02-06 17:31:51 +00:00
stroke_rect_shader.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
strokedlines.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
strokefill.cpp use strokeandfill patheffect, and fix it 2020-05-20 21:37:52 +00:00
strokerect_anisotropic.cpp Improve handling of anisotropic scaling for stroked rects 2020-01-09 14:41:44 +00:00
strokerect.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
strokerects.cpp more rect api simplifications 2019-08-25 10:12:57 +00:00
strokes.cpp Revert "Reland "Revert "Use flat version of path-direction enum""" 2019-11-22 19:09:54 +00:00
stroketext.cpp Skip degenerate contours in glyphs. 2020-02-13 16:22:42 +00:00
subsetshader.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
surface.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
swizzle.cpp Update GrFragmentProcessor::SwizzleOutput to use a child FP. 2020-06-04 17:31:46 +00:00
tablecolorfilter.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
tallstretchedbitmaps.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
tessellation.cpp Pass the primProc and uniformHandler to tessellation shader back doors 2020-06-24 23:36:06 +00:00
testgradient.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
texelsubset.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
text_scale_skew.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
textblob.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
textblobblockreordering.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
textblobcolortrans.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
textblobgeometrychange.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
textbloblooper.cpp remove code now that loopers are dead (w.r.t. canvas and paint) 2019-07-30 12:49:28 +00:00
textblobmixedsizes.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
textblobrandomfont.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
textblobshader.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
textblobtransforms.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
textblobuseaftergpufree.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
texteffects.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
thinconcavepaths.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
thinrects.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
thinstrokedrects.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
tiledscaledbitmap.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
tileimagefilter.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
tilemodes_alpha.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
tilemodes_scaled.cpp gm: simplify several onName 2019-07-24 18:05:45 +00:00
tilemodes.cpp gm: simplify several onName 2019-07-24 18:05:45 +00:00
tinybitmap.cpp gm: add some overrides 2019-07-24 19:11:35 +00:00
transparency.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
trickycubicstrokes.cpp Remove SkTMin and SkTMax 2020-02-07 18:40:09 +00:00
typeface.cpp Don't trust glyph runs in XPS. 2020-05-01 22:17:17 +00:00
unpremul.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
userfont.cpp extract original paths at big size to improve precision 2020-05-19 17:27:22 +00:00
variedtext.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
vertices.cpp For custom vector/normal/position attrs, let marker ID 0 mean CTM 2020-06-02 18:09:14 +00:00
verylargebitmap.cpp gm: simplify several onName 2019-07-24 18:05:45 +00:00
video_decoder.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
wacky_yuv_formats.cpp Update image_from_yuv_textures GM for *ooprddl configs 2020-06-23 13:10:02 +00:00
widebuttcaps.cpp Add a test for wide butt caps 2020-06-16 23:00:33 +00:00
windowrectangles.cpp Revert "Simplify GrClip API" 2020-06-24 18:58:25 +00:00
xfermodeimagefilter.cpp Update gms to use new image filter factories 2019-08-02 21:08:40 +00:00
xfermodes2.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
xfermodes3.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
xfermodes.cpp Fix implicit fallthroughs throughout Skia. 2020-06-11 22:29:53 +00:00
xform.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
ycbcrimage.cpp Fix flippity GM for *ooprddl configs (take 2) 2020-06-19 14:47:53 +00:00
yuv420_odd_dim.cpp Stop including SkCanvas.h from GrTypesPriv.h 2020-03-30 20:43:34 +00:00
yuvtorgbeffect.cpp Reland "GrClips provided as pointers to GrRTC" 2020-05-29 15:09:54 +00:00