From 6209f69f335a604604a5032b0f5c38b4b8bc861a Mon Sep 17 00:00:00 2001 From: Darren Wihandi <65404740+fairywreath@users.noreply.github.com> Date: Fri, 23 May 2025 00:57:08 -0400 Subject: Add default constructor for Ptr type (#7214) * Add default constructor for Ptr type * Make pointers c-style type, remove __init() constructor --- tests/spirv/pointer-default-constructor.slang | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 tests/spirv/pointer-default-constructor.slang (limited to 'tests/spirv') diff --git a/tests/spirv/pointer-default-constructor.slang b/tests/spirv/pointer-default-constructor.slang new file mode 100644 index 000000000..6ab29f125 --- /dev/null +++ b/tests/spirv/pointer-default-constructor.slang @@ -0,0 +1,26 @@ +//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-vk -emit-spirv-directly -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer outputBuffer; + +struct MyStruct +{ + int* ptr; +} + +[shader("compute")] +[numthreads(1, 1, 1)] +void computeMain() +{ + float* a = {}; + MyStruct ms = {}; + + // CHECK: 0 + outputBuffer[0] = uint(uint64_t(a)); + // CHECK: 1 + outputBuffer[1] = uint(a == nullptr); + // CHECK: 0 + outputBuffer[2] = uint(uint64_t(ms.ptr)); + // CHECK: 1 + outputBuffer[3] = uint(ms.ptr == nullptr); +} -- cgit v1.2.3