summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/language-feature/no-hlsl-pack-constant-buffer-elements.slang22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/language-feature/no-hlsl-pack-constant-buffer-elements.slang b/tests/language-feature/no-hlsl-pack-constant-buffer-elements.slang
new file mode 100644
index 000000000..84b574432
--- /dev/null
+++ b/tests/language-feature/no-hlsl-pack-constant-buffer-elements.slang
@@ -0,0 +1,22 @@
+//TEST:SIMPLE(filecheck=CHECK):-target hlsl -entry main -profile cs_6_0 -no-hlsl-pack-constant-buffer-elements
+//TEST:SIMPLE(filecheck=DXIL): -target dxil -entry main -profile cs_6_0 -no-hlsl-pack-constant-buffer-elements
+
+// DXIL: define void @main()
+
+// Test that -no-hlsl-pack-constant-buffer-elements prevents packing of elements in the output HLSL code.
+
+// CHECK-DAG: cbuffer {{.*}} :
+cbuffer MyCB
+{
+ float member0;
+ float member1;
+}
+
+RWStructuredBuffer<float> MyBuffer;
+
+// CHECK-DAG: {{.*}} = member0{{.*}} + member1{{.*}};
+[numthreads(1,1,1)]
+void main()
+{
+ MyBuffer[0] = member0 + member1;
+}