skia2/resources/sksl
John Stiles c412688798 Reland "Implement statements and expressions in DSL C++ code generator."
This is a reland of 16cbfb41df

Tests now rely on `shaderDerivativeSupport` and `integerSupport` as
proxies to indicate ES3 support. The SwitchStatement test has been
adjusted to hopefully confuse fewer compilers.

Original change's description:
> Implement statements and expressions in DSL C++ code generator.
>
> This CL removes the bulk of the existing C++ code generator, especially
> all the complex format-string assembly code. It has been replaced with
> actual DSL code generation. Simple IR can now be successfully translated
> to a working DSL fragment processor.
>
> This CL also adds a simple test harness which is patterned after the
> existing SkSLTest; it renders a pixel, reads it back, and fails the test
> if the result isn't solid green (RGBA=0101).
>
> This CL doesn't implement every feature. Some obvious gaps include:
> - Sampling from children
> - Uniforms/inputs of any kind
> - Function calls of any kind
>
> Change-Id: Ib80c23fe1ba4453f7c3cb43b65f93c5ea0deb709
> Bug: skia:11854
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/396757
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>

Bug: skia:11854, skia:11891
Change-Id: I91363e31f34611d15ae350b52d6fc459feeace9c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399076
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-04-21 20:17:07 +00:00
..
blend Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
dslfp Reland "Implement statements and expressions in DSL C++ code generator." 2021-04-21 20:17:07 +00:00
errors Simplify for init-stmts at the IR level. 2021-04-20 14:38:36 +00:00
folding Represent matrix resizes as a dedicated expression type. 2021-04-06 18:35:06 +00:00
fp Reland "Implement statements and expressions in DSL C++ code generator." 2021-04-21 20:17:07 +00:00
glsl Remove specific blend mode layout qualifiers 2021-02-23 15:45:55 +00:00
inliner Run SkSL inliner tests as part of dm. 2021-03-25 22:58:54 +00:00
intrinsics Mangle function names in GLSL. 2021-03-22 17:18:26 +00:00
metal Allow repeated params in Metal out-params helper. 2021-02-16 15:45:45 +00:00
runtime Add ivec GLSL type aliases to runtime effects 2021-04-12 16:55:41 +00:00
runtime_errors Remove layout(marker) from runtime effect SkSL 2021-04-19 18:48:45 +00:00
shared Simplify for init-stmts at the IR level. 2021-04-20 14:38:36 +00:00
spirv Revert "Fixed a number of spots where we should have been using RelaxedPrecision" 2021-03-12 18:48:57 +00:00
workarounds Add caps bit for RewriteMatrixVectorMultiply. 2021-03-23 22:40:02 +00:00
README.txt Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00

This directory contains source files for testing skslc compilation.
The compiled output files are in the /tests/sksl/ directory.