yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
23c65b873
master
1//TEST(compute, vulkan):COMPARE_COMPUTE_EX(filecheck-buffer=CHECK): -vk -compute 2 3float getData<L:IBufferDataLayout>(StructuredBuffer<float3, L> p, int index) 4{ 5 return p[index].x; 6} 7 8// GLSL: layout({{.*}}scalar{{.*}}) 9 10//TEST_INPUT:set scalarBuffer = ubuffer(data=[1 2 3 4 5 6], stride=12) 11StructuredBuffer<float3, ScalarDataLayout> scalarBuffer; 12//TEST_INPUT:set outputBuffer = out ubuffer(data=[0 0 0 0 0 0], stride=12) 13RWStructuredBuffer<float3, ScalarDataLayout> outputBuffer; 14 15[numthreads(1,1,1)] 16void computeMain() 17{ 18 // CHECK: 1 19 // CHECK: 1 20 // CHECK: 1 21 // CHECK: 4 22 // CHECK: 4 23 // CHECK: 4 24 outputBuffer[0] = float3(getData(scalarBuffer, 0)); 25 outputBuffer[1] = float3(getData(scalarBuffer, 1)); 26}