skia2/tests/sksl
John Stiles 2756b0ee02 Reduce the number of extra bit_and ops caused by SkVM traces.
Previously, the trace opcodes took a single mask argument, which was
computed as `execution mask & trace mask`. This led to extra bit_ands in
the output, as this value would be need to be recalculated every time
the execution mask changed.

To reduce this cost on program size, the trace ops now take two mask
arguments and require that both must be true. We have four register
slots at our disposal in an Op, which is more than we need, so this
doesn't really cost us anything.

(As an extra minor optimization, if one of the masks is "always-on", we
optimize it away. This avoids burning a register just to hold a ~0
immediate value.)

Change-Id: I9eb71292a1983e71b03c7ac842534beb3d6bbf17
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478456
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-12-02 18:15:34 +00:00
..
blend Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
errors Prevent 'binding' and 'set' on struct/interface block fields 2021-11-29 15:53:57 +00:00
folding Replace getConstantSubexpression with getConstantValue. 2021-11-15 14:46:21 +00:00
glsl Report an error if sk_LastFragColor is referenced without fbFetchSupport 2021-09-15 15:41:49 +00:00
inliner Allow inlining of functions with unassigned out-params. 2021-11-11 19:33:06 +00:00
intrinsics Add support for clamp($genUType, ...) in SkSL. 2021-11-11 18:43:42 +00:00
metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
runtime Reduce the number of extra bit_and ops caused by SkVM traces. 2021-12-02 18:15:34 +00:00
runtime_errors Fix fuzzer-discovered error with child calls. 2021-11-17 15:44:21 +00:00
shared Enable various switch tests in ES2 mode. 2021-12-02 17:17:43 +00:00
spirv Roll SPIRV-Headers and SPIRV-Tools 2021-11-19 19:22:54 +00:00
workarounds Remove the "in blend modes randomly fail for all zero vec" workaround 2021-10-21 16:54:51 +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.