From fdf061e278720ec066a1fac8f1f35a22e817bf2d Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 21 Nov 2024 14:07:23 -0800 Subject: 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. --- tests/spirv/push-constant-layout.slang | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 tests/spirv/push-constant-layout.slang (limited to 'tests/spirv/push-constant-layout.slang') 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 transform1; + +RWStructuredBuffer outputBuffer; + +[numthreads(1,1,1)] +void computeMain1() +{ + outputBuffer[0] = transform1.Translation.x; +} + +[numthreads(1,1,1)] +void computeMain2( + [vk::push_constant] ConstantBuffer transform2) +{ + outputBuffer[0] = transform2.Translation.x; +} \ No newline at end of file -- cgit v1.2.3