yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
c5a453e56
master
1// array-resource.slang 2 3// Test direct SPIR-V emit on arrays of buffers. 4 5//TEST:SIMPLE(filecheck=CHECK):-target spirv -entry computeMain -stage compute -emit-spirv-directly 6//TEST_INPUT:set resultBuffer = out ubuffer(data=[0 0 0 0], stride=4) 7 8// Note: we can't run this test at the moment because gfx doesn't support allocating shader objects with unsized arrays. 9//TEST_DISABLED(compute, vulkan):COMPARE_COMPUTE_EX(filecheck-buffer=BUFFER):-vk -compute -output-using-type 10 11RWStructuredBuffer<uint> inputBuffers[]; 12 13RWStructuredBuffer<uint> resultBuffer; 14 15//TEST_INPUT: set inputBuffers = {ubuffer(data=[1 0 0 0], stride=4), ubuffer(data=[2 0 0 0], stride=4)} 16 17[numthreads(4,1,1)] 18void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) 19{ 20 uint threadId = dispatchThreadID.x; 21 resultBuffer[threadId] = inputBuffers[0][threadId] + inputBuffers[1][threadId]; 22 // CHECK: OpCapability RuntimeDescriptorArray 23 // BUFFER: 3 24}