yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
4ae6e9d8b
master
1//TEST:SIMPLE(filecheck=CHECK): -target hlsl -stage compute -entry computeMain 2RWStructuredBuffer<int> outputBuffer; 3 4#pragma warning(disable:30816) 5 6//CHECK: error 30851 7 8struct DefaultStructNoInit_base 9{ 10 int data0 = 2; 11 int data1 = 2; 12}; 13extension DefaultStructNoInit_base 14{ 15 __init(int indata) 16 { 17 //unused 18 } 19} 20struct DefaultStructNoInit : DefaultStructNoInit_base 21{ 22 int dataInherit = 2; 23}; 24 25struct DefaultStructWithInit_base 26{ 27 int data0; 28 int data1 = 3; 29}; 30extension DefaultStructWithInit_base 31{ 32 __init(int indata) 33 { 34 //unused 35 } 36 __init() 37 { 38 data0 = 3; 39 } 40} 41struct DefaultStructWithInit : DefaultStructWithInit_base 42{ 43 int dataInherit = 3; 44}; 45 46[numthreads(1, 1, 1)] 47void computeMain(uint3 dispatchThreadID: SV_DispatchThreadID) 48{ 49 DefaultStructNoInit noInit = DefaultStructNoInit(); 50 DefaultStructWithInit withInit = DefaultStructWithInit(); 51 // BUF: 1 52 outputBuffer[0] = true 53 && noInit.data0 == 2 54 && noInit.data1 == 2 55 && noInit.dataInherit == 2 56 57 && withInit.data0 == 3 58 && withInit.data1 == 3 59 && withInit.dataInherit == 3 60 ; 61}