summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2025-02-27 22:22:46 -0800
committerGitHub <noreply@github.com>2025-02-27 22:22:46 -0800
commita09d554721ecf0c6d967d5f55b3416e3284e71f2 (patch)
treebd42082eb500c7ef67bb13782bdf87362a35336a /tests
parent4872eebaa26dad7809fb6c58f5569ec64099e0c1 (diff)
Fix regression in float to bool conversion. (#6497)
Diffstat (limited to 'tests')
-rw-r--r--tests/bugs/float-to-bool.slang25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/bugs/float-to-bool.slang b/tests/bugs/float-to-bool.slang
new file mode 100644
index 000000000..5ee605f5a
--- /dev/null
+++ b/tests/bugs/float-to-bool.slang
@@ -0,0 +1,25 @@
+//TEST:COMPARE_COMPUTE(filecheck-buffer=CHECK): -xslang -Wno-30081
+//TEST:COMPARE_COMPUTE(filecheck-buffer=CHECK): -vk -xslang -Wno-30081
+
+//TEST_INPUT: set outputBuffer = out ubuffer(data=[0 0 0 0 0], stride = 4)
+RWStructuredBuffer<int> outputBuffer;
+
+//TEST_INPUT: set inputBuffer = ubuffer(data=[0.0 0.2 1.0 1.2], stride = 4)
+RWStructuredBuffer<float4> inputBuffer;
+[numthreads(1,1,1)]
+void computeMain()
+{
+ bool4 bv = inputBuffer[0];
+ outputBuffer[0] = bv.x;
+ outputBuffer[1] = bv.y;
+ outputBuffer[2] = bv.z;
+ outputBuffer[3] = bv.w;
+ bool b = inputBuffer[0].y;
+ outputBuffer[4] = b;
+}
+
+// CHECK: 0
+// CHECK: 1
+// CHECK: 1
+// CHECK: 1
+// CHECK: 1 \ No newline at end of file