yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

James Helferty (NVIDIA)Enable metal tests (#8446)8086adc90

master
895 B36 linesraw
1//TEST:SIMPLE(filecheck=LIB):-target metallib -entry computeMain -stage compute
2//TEST:SIMPLE(filecheck=METAL):-target metal -entry computeMain -stage compute
3//TEST(compute, metal):COMPARE_COMPUTE_EX(filecheck-buffer=BUF):-metal -compute -output-using-type
4//TEST(compute, vulkan):COMPARE_COMPUTE_EX(filecheck-buffer=BUF):-vk -compute -output-using-type
5
6// METAL-NOT: struct emptyStruct
7struct emptyStruct
8{
9    void set(RWStructuredBuffer<int> buffer, int value) {buffer[0] = value;}
10}
11
12
13struct MyStruct
14{
15    RWStructuredBuffer<int> buffer;
16    int value;
17    void set()
18    {
19        e.set(buffer, value);
20    }
21    emptyStruct e;
22}
23
24//TEST_INPUT: set param = new MyStruct{ out ubuffer(data=[0]), 5, {}}
25ParameterBlock<MyStruct> param;
26
27// LIB: @computeMain
28[shader("compute")]
29[numthreads(1, 1, 1)]
30void computeMain(
31    uint tid: SV_DispatchThreadID,
32)
33{
34    // BUF: 5
35    param.set();
36}