diff options
Diffstat (limited to 'tests/library/precompiled-spirv-pointer-param.slang')
| -rw-r--r-- | tests/library/precompiled-spirv-pointer-param.slang | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/library/precompiled-spirv-pointer-param.slang b/tests/library/precompiled-spirv-pointer-param.slang new file mode 100644 index 000000000..10cd7124b --- /dev/null +++ b/tests/library/precompiled-spirv-pointer-param.slang @@ -0,0 +1,31 @@ +// precompiled-spirv-pointer-param.slang + +// A test that uses slang-modules with embedded precompiled SPIRV and a library containing +// a function with a pointer parameter. +// The test compiles a library slang (module-library-pointer-param.slang) with -embed-downstream-ir then links the +// library to entrypoint slang (this file). +// The test passes if there is no errror thrown. +// TODO: Check if final linkage used only the precompiled spirv. + +//TEST:COMPILE: tests/library/module-library-pointer-param.slang -o tests/library/module-library-pointer-param.slang-module -target spirv -embed-downstream-ir -incomplete-library +//TEST:COMPILE: tests/library/precompiled-spirv-pointer-param.slang -target spirv -stage anyhit -entry anyhit -o tests/library/linked.spirv + +import "module-library-pointer-param"; + +struct Payload +{ + int val; +} + +struct Attributes +{ + float2 bary; +} + +[vk::push_constant] int* g_int; + +[shader("anyhit")] +void anyhit(inout Payload payload, Attributes attrib) +{ + payload.val = ptrFunc(g_int); +} |
