yum-mirror/slang

Making it easier to work with shaders

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

Ellie HermaszewskaDiagnose on structured buffers containing resources (#8222)a766d2744

master
677 B27 linesraw
1//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK): -target spirv
2
3struct HasResource
4{
5    Texture2D tex;
6}
7
8//CHECK-DAG: ([[# @LINE+1]]): error 38204
9StructuredBuffer<HasResource> bufferArray[4];
10
11//CHECK-DAG: ([[# @LINE+1]]): error 38204
12RWStructuredBuffer<Texture2D> rwBufferArray[2];
13
14SamplerState sampler;
15RWStructuredBuffer<float> output;
16
17[numthreads(4, 1, 1)]
18void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
19{
20    uint i = dispatchThreadID.x;
21
22    // Force usage of all array elements and struct members
23    float result = bufferArray[i % 4][i].tex.Sample(sampler, float2(0, 0)).x;
24    rwBufferArray[i % 2][i] = bufferArray[0][i].tex;
25    output[i] = result;
26}
27