yum-mirror/slang

Making it easier to work with shaders

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

jsmall-nvidiaTest for specialization problem with undefined resource (#1785)d27557d9b

master
783 B36 linesraw
1//DISABLE_TEST:SIMPLE:-target dxil -entry computeMain -profile cs_6_2
2
3struct ValueContainer
4{
5    Texture2D<uint> values;
6 
7    uint getValue(uint2 at)
8    {
9        return values[at];
10    }
11};
12  
13ParameterBlock<ValueContainer> gContainer;
14
15Texture2D<uint> gValues;    
16    
17RWStructuredBuffer<int> outputBuffer;    
18    
19[numthreads(4, 4, 1)]
20void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
21{
22    ValueContainer container;
23
24    // This will work
25    // container = gContainer;
26    // Or just setting directly
27    // container.values = gValues; 
28    
29    // But if values in container is not .... then specialization fails
30    // and invalid HLSL is output.
31    
32    uint2 pos = dispatchThreadID.xy;
33    
34    outputBuffer[pos.x + pos.y] = container.getValue(pos);
35}
36