SPIRV-Cross/reference/opt/shaders/comp
Hans-Kristian Arntzen 7a6c2da9aa GLSL: Handle more proper semantics for RelaxedPrecision.
GLSL and RelaxedPrecision are quite different in what they affect.
RelaxedPrecision affects operations, while this is merely implied in
GLSL based on inputs.

This leads to situations where we have to promote mediump inputs to
highp, and the simplest approach is to force highp temporaries for
inputs which are consumed in a highp context. For completeness, we also
demote RelaxedPrecision inputs to mediump variables.

PHI is handled by copying the PHI into a temporary.

We have to be very careful with hoisted temporaries, since the child
temporary will not be analyzed up-front. We inherit the hoisted-ness
state and emit the hoisted child temporary as necessary. When faking the
temporaries with OpCopyObject, we make sure to block any variable
hoisting.

Hoisting children of PHI variables is fine, since PHIs are not hoisted with
the same framework as other temporaries.
2022-05-02 15:11:24 +02:00
..
atomic.comp Add reference output for --opt. 2017-11-23 09:50:11 +01:00
bake_gradient.comp GLSL: Handle more proper semantics for RelaxedPrecision. 2022-05-02 15:11:24 +02:00
barriers.comp Don't emit memoryBarrierShared() in workgroup control barriers. 2019-12-04 15:06:19 +01:00
basic.comp Add reference output for --opt. 2017-11-23 09:50:11 +01:00
casts.comp Handle SPIR-V 1.4 selection constructs. 2021-06-28 12:23:44 +02:00
cfg-preserve-parameter.comp Add reference output for --opt. 2017-11-23 09:50:11 +01:00
cfg.comp Add relax_nan_checks options. 2022-03-03 14:50:56 +01:00
coherent-block.comp Add reference output for --opt. 2017-11-23 09:50:11 +01:00
coherent-image.comp Add reference output for --opt. 2017-11-23 09:50:11 +01:00
composite-array-initialization.comp Rewrite how IDs are iterated over. 2019-01-10 12:52:56 +01:00
composite-construct.comp Update glslang and SPIRV-Tools. 2018-09-27 11:10:22 +02:00
culling.comp Add reference output for --opt. 2017-11-23 09:50:11 +01:00
defer-parens.comp Update tests for latest SPIRV-Tools and glslang. 2018-03-12 15:11:55 +01:00
dowhile.comp Update external/ to SPIR-V 1.5 2019-09-18 16:04:27 -04:00
generate_height.comp Roll dependencies 2020-05-20 10:27:51 -04:00
image.comp Update tests for latest SPIRV-Tools and glslang. 2018-03-12 15:11:55 +01:00
insert.comp Update external/ to SPIR-V 1.5 2019-09-18 16:04:27 -04:00
mat3.comp Add reference output for --opt. 2017-11-23 09:50:11 +01:00
mod.comp Add reference output for --opt. 2017-11-23 09:50:11 +01:00
modf.comp Add reference output for --opt. 2017-11-23 09:50:11 +01:00
outer-product.comp MSL/HLSL: Support OpOuterProduct. 2019-07-01 10:57:27 +02:00
read-write-only.comp Add reference output for --opt. 2017-11-23 09:50:11 +01:00
rmw-matrix.comp Do not use RMW rewrite for matrices. 2018-05-04 10:35:56 +02:00
rmw-opt.comp Update tests for latest SPIRV-Tools and glslang. 2018-03-12 15:11:55 +01:00
scalar-std450-distance-length-normalize.comp Deal with scalar input values for distance/length/normalize. 2019-06-28 11:20:14 +02:00
shared.comp Don't emit memoryBarrierShared() in workgroup control barriers. 2019-12-04 15:06:19 +01:00
ssbo-array-length.comp GLSL: Return correct sign for OpArrayLength. 2019-05-07 19:02:32 +02:00
ssbo-array.comp Add reference output for --opt. 2017-11-23 09:50:11 +01:00
struct-layout.comp Add reference output for --opt. 2017-11-23 09:50:11 +01:00
struct-packing.comp GLSL: Be more aggressive about using type_alias. 2020-07-29 12:48:41 +02:00
torture-loop.comp Update external/ to SPIR-V 1.5 2019-09-18 16:04:27 -04:00
type-alias.comp Update glslang and SPIRV-Tools. 2018-09-27 11:10:22 +02:00
udiv.comp Update glslang and SPIRV-Tools. 2018-09-27 11:10:22 +02:00