yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
639978008
master
1//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -shaderobj -output-using-type -xslang -fvk-use-gl-layout 2//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-cuda -compute -shaderobj -output-using-type -xslang -fvk-use-gl-layout 3 4//TEST_INPUT:ubuffer(data=[0], stride=4):out,name=outputBuffer 5RWStructuredBuffer<float> outputBuffer; 6 7//TEST_INPUT:set inBuffer = ubuffer(data=[1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0], stride=4) 8RWByteAddressBuffer inBuffer; 9 10struct MyStruct 11{ 12 float v0; 13 float2 v1; 14 float2 v2; 15} 16 17[numthreads(1, 1, 1)] 18void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) 19{ 20 var v = inBuffer.Load<MyStruct>(0); 21 var g = inBuffer.Load<float4>(4); 22 outputBuffer[dispatchThreadID.x] = v.v2.x + v.v1.x + g.x; // expect 10.0 23}