summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPema Malling <pema99@users.noreply.github.com>2024-04-22 01:51:18 +0200
committerGitHub <noreply@github.com>2024-04-21 16:51:18 -0700
commit51dc26eaa3895ce9493703243963a0577e318eb9 (patch)
treed8a4a03979dbcf5ac16cdc6dab36409c345bfdd4 /tests
parent8362c2d46e2da0c20fbd3daf511ccdf425f9a1f0 (diff)
Flag to prevent packing of cbuffer elements in HLSL backend. (#3993)
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;
+}