skia2/tests/sksl/runtime_errors
Brian Osman cbb60bd0b0 Add runtime color filter and shader modes to the SkSL compiler
These enforce stricter rules about the signature of main, and each one
uses a separate pre-include module. That prevents color filters from
being able to reference sk_FragCoord (or coords passed to main) at all.
It also limits the versions of sample() that are exposed.

In the new world, an effect created for a specific stage of the Skia
pipeline can only be used to create instances of that stage (SkShader or
SkColorFilter). For now, SkRuntimeEffect::Make uses kRuntimeEffect,
which continues to be more lenient and allow creation of either shaders
or color filters from a single effect. After we migrate all clients, we
can deprecate and then delete that mode.

Bug: skia:11813
Change-Id: I0afd79a72beeec84da42c86146e8fcd8d0e4c09f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/395716
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-04-15 13:30:59 +00:00
..
FirstClassArrays.skvm Reject array-typed vardecls and array ctors in strict ES2 mode. 2021-02-04 19:36:50 +00:00
IllegalArrayOps.skvm Runtime Effects: Disallow all operators on arrays or arrays-in-structs 2021-02-17 18:05:04 +00:00
IllegalIndexing.skvm Align SkSL const rules more closely with GLSL 2021-02-26 17:44:11 +00:00
IllegalOperators.skvm Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
IllegalShaderUse.skvm Require that runtime effect child variables are 'uniform' 2021-04-07 13:16:28 +00:00
IllegalStatements.skvm Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
InvalidColorFilterFeatures.skvm Add runtime color filter and shader modes to the SkSL compiler 2021-04-15 13:30:59 +00:00
InvalidColorFilterMain.skvm Add runtime color filter and shader modes to the SkSL compiler 2021-04-15 13:30:59 +00:00
InvalidShaderMain.skvm Add runtime color filter and shader modes to the SkSL compiler 2021-04-15 13:30:59 +00:00
LoopConditionErrors.skvm Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
LoopExpressionErrors.skvm Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
LoopInitializerErrors.skvm Reject array-typed vardecls and array ctors in strict ES2 mode. 2021-02-04 19:36:50 +00:00
LoopStructureErrors.skvm Optimize away no-op arithmetic in ConstantFolder. 2021-03-06 01:33:35 +00:00
UnsupportedTypeFragmentProcessor.skvm Make 'shader' and 'colorFilter' first class types in SkSL 2021-04-05 14:55:46 +00:00
UnsupportedTypeSampler.skvm Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
UnsupportedTypeTexture.skvm Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00