blob: 64fd8a64c92434ee69da99bff8420d92a917702b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
// precompiled-spirv-generics.slang
// A test that uses slang-modules with embedded precompiled SPIRV and a library containing generics.
// The test compiles a library slang (export-library-generics.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/export-library-generics.slang -o tests/library/export-library-generics.slang-module -target spirv -embed-downstream-ir -profile lib_6_6 -incomplete-library
//TEST:COMPILE: tests/library/precompiled-spirv-generics.slang -target spirv -stage anyhit -entry anyhit -o tests/library/linked.spirv
import "export-library-generics";
struct Payload
{
int val;
}
struct Attributes
{
float2 bary;
}
[shader("anyhit")]
void anyhit(inout Payload payload, Attributes attrib)
{
payload.val = normalFunc(floor(x * y), x) + normalFuncUsesGeneric(y);
}
|