diff options
author | Hans-Kristian Arntzen <post@arntzen-software.no> | 2021-09-30 17:17:04 +0300 |
---|---|---|
committer | Hans-Kristian Arntzen <post@arntzen-software.no> | 2021-09-30 17:29:30 +0300 |
commit | f72bb3c6f5f734cfe1fbd2b00d1b90d2262c2722 (patch) | |
tree | 928fc11f011ff4d1de2566cc17e82333b8b45dd2 /shaders-hlsl-no-opt | |
parent | 9462b90067f60c8dcd406e1dcfdd15a206ddba5f (diff) |
Improve handling of INT_MIN/INT64_MIN literals.
We cannot naively convert these to decimal literals. C/C++ (and thus
MSL) has extremely awkward literal promotion rules.
Diffstat (limited to 'shaders-hlsl-no-opt')
-rw-r--r-- | shaders-hlsl-no-opt/comp/intmin-literal.comp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/shaders-hlsl-no-opt/comp/intmin-literal.comp b/shaders-hlsl-no-opt/comp/intmin-literal.comp new file mode 100644 index 00000000..ee35ceda --- /dev/null +++ b/shaders-hlsl-no-opt/comp/intmin-literal.comp @@ -0,0 +1,18 @@ +#version 450 + +layout(local_size_x = 1) in; + +layout(set = 0, binding = 1) buffer SSBO +{ + float a; +}; + +layout(set = 0, binding = 0) uniform UBO +{ + float b; +}; + +void main() +{ + a = intBitsToFloat(floatBitsToInt(b) ^ 0x80000000); +} |