skia2/tests/sksl
John Stiles 92d83b7b9d Add test to demonstrate out-param semantics violation.
GLSL ES2 documentation on out parameters: "Evaluation of an out
parameter results in an l-value that is used to copy out a value when
the function returns."

The inliner does not do any alias checking when inlining an `out` param.
That is, passing the same variable to two separate `out` parameters
would not generate two distinct lvalues in the inlined code; it reuses
the same variable for each out-params in the inlined code.

(Amusingly, our CFG can fully optimize away this test code so it just
returns "red".)

Change-Id: Ib781d2cfdac54f01b6abe159af0c84ff24ff6976
Bug: skia:11326
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370256
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-02-16 14:28:49 +00:00
..
blend Use guarded_divide in more blend functions 2021-02-10 21:59:26 +00:00
errors Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
folding Fix alpha channel in SelfAssignment test. 2021-02-11 14:41:15 +00:00
fp Add bool2/bool3/bool4 to GrSLType. 2021-02-02 00:25:29 +00:00
glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
inliner Add test to demonstrate out-param semantics violation. 2021-02-16 14:28:49 +00:00
intrinsics Revert "Add intrinsic tests for mod() and fract()." 2021-01-30 13:38:31 +00:00
metal Add default uniform binding value for Metal/SPIR-V. 2021-01-28 19:23:49 +00:00
runtime add fast_mul(F32,F32) 2021-02-11 01:13:01 +00:00
runtime_errors Reject array-typed vardecls and array ctors in strict ES2 mode. 2021-02-04 19:36:50 +00:00
shared Fix SPIR-V bug with swizzled out parameters. 2021-02-12 15:21:27 +00:00
spirv Improve memory layout handling in SPIRV generator 2021-01-22 22:16:48 +00:00
workarounds Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
README.txt Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00

This directory contains skslc-compiled output from matching source files
in the /resources/sksl/ directory.