yum-mirror/slang

Making it easier to work with shaders

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

Yong HeDeclare `VariablePointers` capability when needed. (#6231)21893763c

master
692 B25 linesraw
1//TEST:SIMPLE(filecheck=SPIRV): -target spirv
2
3//DISABLED_TEST:COMPARE_COMPUTE(filecheck-buffer=CHECK): -vk -output-using-type
4
5// SPIRV: OpCapability VariablePointers
6
7//TEST_INPUT:set buffer1 = ubuffer(data=[1.0], stride=4)
8StructuredBuffer<float> buffer1;
9//TEST_INPUT:set buffer2 = ubuffer(data=[2.0], stride=4)
10StructuredBuffer<float> buffer2;
11//TEST_INPUT:set output = out ubuffer(data=[0.0], stride=4)
12RWStructuredBuffer<float> output;
13
14[numthreads(2,1,1)]
15void computeMain(int id : SV_DispatchThreadID)
16{
17    StructuredBuffer<float> buffer;
18    if (id == 0)
19        buffer = buffer1;
20    else
21        buffer = buffer2;
22    output[id] = buffer[0];
23    // CHECK: 1.0
24    // CHECK: 2.0
25}