yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
d27557d9b
master
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