yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
9ec6b9168
master
1//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=BUFFER):-shaderobj -vk 2//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=BUFFER):-shaderobj 3 4struct DefaultMember { 5 int x = 0; 6 int y = 1; 7 // compiler synthesizes: 8 // __init(int x = 0, int y = 1); 9} 10 11//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer 12RWStructuredBuffer<int> outputBuffer; 13void test() 14{ 15 DefaultMember m1 = {1}; // calls `__init(1)`, initialized to `{1,1}`. 16 17 // BUFFER: 1 18 outputBuffer[0] = m1.x; 19 20 // BUFFER-NEXT: 1 21 outputBuffer[1] = m1.y; 22 23 DefaultMember m2 = {1,2}; // calls `__init(1,2)`, initialized to `{1,2}`. 24 25 // BUFFER-NEXT: 1 26 outputBuffer[2] = m2.x; 27 // BUFFER-NEXT: 2 28 outputBuffer[3] = m2.y; 29} 30 31[shader("compute")] 32void computeMain() 33{ 34 test(); 35}