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
833 B28 linesraw
1//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK): -target spirv
2
3// Direct resource types as StructuredBuffer elements
4
5//CHECK-DAG: ([[# @LINE+1]]): error 38204
6StructuredBuffer<Texture2D<float>> textureBuffer;
7
8//CHECK-DAG: ([[# @LINE+1]]): error 38204
9StructuredBuffer<SamplerState> samplerBuffer;
10
11//CHECK-DAG: ([[# @LINE+1]]): error 38204
12StructuredBuffer<StructuredBuffer<float>> nestedBuffer;
13
14//CHECK-DAG: ([[# @LINE+1]]): error 38204
15RWStructuredBuffer<Texture2D<float>> rwTextureBuffer;
16
17RWStructuredBuffer<float> output;
18
19[numthreads(4, 1, 1)]
20void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
21{
22    uint i = dispatchThreadID.x;
23    float result = textureBuffer[i].Sample(samplerBuffer[i], float2(0, 0)).x 
24                 + nestedBuffer[i][0];
25
26    rwTextureBuffer[i] = textureBuffer[i];
27    output[i] = result;
28}