summaryrefslogtreecommitdiff
path: root/tests/spirv/push-constant-layout.slang
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2024-11-21 14:07:23 -0800
committerGitHub <noreply@github.com>2024-11-21 14:07:23 -0800
commitfdf061e278720ec066a1fac8f1f35a22e817bf2d (patch)
treedb6cc05613afacdb9c67a26695355ff1b0086d79 /tests/spirv/push-constant-layout.slang
parentdcc7c6f009afc0f55e79ced050b772ea9d3b25ae (diff)
Add datalayout for constant buffers. (#5608)
* Add datalayout for constant buffers. * Fixes. * Fix test. * Fix glsl codegen. * Update spirv-specific doc. * Fix test. * Fix binding in the presense of specialization constants. * address comments. * Add a test for constant buffer layout.
Diffstat (limited to 'tests/spirv/push-constant-layout.slang')
-rw-r--r--tests/spirv/push-constant-layout.slang26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/spirv/push-constant-layout.slang b/tests/spirv/push-constant-layout.slang
new file mode 100644
index 000000000..eb7d80f75
--- /dev/null
+++ b/tests/spirv/push-constant-layout.slang
@@ -0,0 +1,26 @@
+//TEST:SIMPLE(filecheck=CHECK): -target spirv -fvk-use-entrypoint-name
+// CHECK-NOT: std140
+struct Transform
+{
+ float4 Tint;
+ float2x2 ScaleRot;
+ float2 Translation;
+};
+
+[[vk::push_constant]]
+ConstantBuffer<Transform> transform1;
+
+RWStructuredBuffer<float> outputBuffer;
+
+[numthreads(1,1,1)]
+void computeMain1()
+{
+ outputBuffer[0] = transform1.Translation.x;
+}
+
+[numthreads(1,1,1)]
+void computeMain2(
+ [vk::push_constant] ConstantBuffer<Transform> transform2)
+{
+ outputBuffer[0] = transform2.Translation.x;
+} \ No newline at end of file