summaryrefslogtreecommitdiffstats
path: root/tests/spirv/pointer-array-2.slang
blob: e6f002b5d54eca2c5906c31685916d33b1e9bcfb (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
struct input_t {
    uint32_t i : 8;
    uint32_t j : 24;
};

struct output_t {
    uint32_t i;
    uint32_t j;
};

uniform void *parameters[1000];

//TEST:SIMPLE(filecheck=CHECK): -target spirv

//CHECK: OpEntryPoint

[shader("compute")]
[numthreads(1, 1, 1)]
void main(uint3 dispatchThreadID: SV_DispatchThreadID, uint groupIndex: SV_GroupIndex) {
    // buffer 0 is input
    // buffer 1 is output
    input_t *input = (input_t *)(parameters[0]);
    output_t *output = (output_t *)(parameters[1]);

    output->i = input->i;
    output->j = input->j;
}