yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
09a9d6733
master
1//TEST:COMPARE_COMPUTE(filecheck-buffer=CHECK): -vk -emit-spirv-directly 2//DISABLED_TEST: COMPARE_COMPUTE(filecheck-buffer=CHECK): -wgpu 3//DISABLED_TEST: COMPARE_COMPUTE(filecheck-buffer=CHECK): -d3d11 4//DISABLED_TEST: COMPARE_COMPUTE(filecheck-buffer=CHECK): -d3d12 5//DISABLED_TEST: COMPARE_COMPUTE(filecheck-buffer=CHECK): -metal 6 7// Test a pointer to a struct that has only one field and is an unsized array. 8struct MeshStorage { 9 uint64_t QuadData[]; 10}; 11 12//TEST_INPUT: set pStorage = ubuffer(data=[1 2 3 4 5 6 7 8],stride=4); 13uniform MeshStorage* pStorage; 14 15//TEST_INPUT: set outputBuffer = out ubuffer(data=[0 0 0 0],stride=4); 16uniform RWStructuredBuffer<uint> outputBuffer; 17 18[numthreads(1,1,1)] 19void computeMain() 20{ 21 // CHECK: 3 22 // CHECK: 4 23 outputBuffer[0] = (int)(pStorage.QuadData[1]&0xFFFFFFFF); 24 outputBuffer[1] = (int)(pStorage.QuadData[1]>>32); 25}