From 3e84726f45c66b477569be9e62da71956ab78e94 Mon Sep 17 00:00:00 2001 From: Yong He Date: Mon, 21 Oct 2024 08:49:15 -0700 Subject: Fix spirv codegen for pointer to empty structs. (#5355) --- tests/spirv/ptr-unsized-array-2.slang | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 tests/spirv/ptr-unsized-array-2.slang (limited to 'tests/spirv/ptr-unsized-array-2.slang') diff --git a/tests/spirv/ptr-unsized-array-2.slang b/tests/spirv/ptr-unsized-array-2.slang new file mode 100644 index 000000000..ac0911d76 --- /dev/null +++ b/tests/spirv/ptr-unsized-array-2.slang @@ -0,0 +1,25 @@ +//TEST:SIMPLE(filecheck=CHECK): -target spirv + +// CHECK-DAG: %[[cbuffer__t:[A-Za-z0-9_]+]] = OpTypeStruct %_ptr_PhysicalStorageBuffer_uint +// CHECK-DAG: %light_buffer = OpVariable %_ptr_PushConstant_[[cbuffer__t]] PushConstant + +// CHECK: OpAccessChain %_ptr_PushConstant +// CHECK-NEXT: OpLoad +// CHECK-NEXT: OpBitcast %_ptr_PhysicalStorageBuffer + +struct LightBuffer { + uint8_t lights[]; +} + +[vk::push_constant] +LightBuffer* light_buffer; + +[shader("vertex")] +float4 vertMain() : SV_Position { + return float4(light_buffer.lights[0]); +} + +[shader("fragment")] +float4 fragMain() : COLOR0 { + return float4(1.0); +} \ No newline at end of file -- cgit v1.2.3