yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
ccdb2e39d
master
1//TEST(compute, vulkan):COMPARE_COMPUTE(filecheck-buffer=BUF):-vk 2 3struct MyStruct 4{ 5 half a; 6 half b; 7} 8 9 10 11//TEST_INPUT:set inputBuffer = ubuffer(data=[1.0 3.0 4.0], stride=4) 12RWStructuredBuffer<float> inputBuffer; 13 14 15//TEST_INPUT:ubuffer(data=[0 0], stride=4):out,name=outputBuffer 16RWStructuredBuffer<uint> outputBuffer; 17 18[shader("compute")] 19void computeMain() 20{ 21 vector<float, 1> a = {inputBuffer[0]}; 22 23 outputBuffer[0] = bit_cast<uint>(a); 24 // BUF: 3F800000 25 26 MyStruct s = MyStruct(half(inputBuffer[1]), half(inputBuffer[2])); 27 outputBuffer[1] = bit_cast<uint>(s); 28 // 2.0 : 0x4000 29 // 3.0 : 0x4200 30 // BUF-NEXT: 44004200 31 32}