Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Kristian Arntzen <post@arntzen-software.no>2021-09-30 17:17:04 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2021-09-30 17:29:30 +0300
commitf72bb3c6f5f734cfe1fbd2b00d1b90d2262c2722 (patch)
tree928fc11f011ff4d1de2566cc17e82333b8b45dd2 /shaders-hlsl-no-opt
parent9462b90067f60c8dcd406e1dcfdd15a206ddba5f (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.comp18
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);
+}