yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
e3f2c8f9
main
1// function selection under type conversion 2void foo1 (double a ,bool b ) {} 3void foo1 (double a ,uint b ) {} 4void foo1 (double a ,int b ) {} 5void foo1 (double a ,float b ) {} 6void foo1 (double a ,double b ){} 7 8// uint -> int 9void foo2 (int a ,bool b ) {} 10void foo2 (int a ,uint b ) {} 11void foo2 (int a ,int b ) {} 12void foo2 (int a ,float b ) {} 13void foo2 (int a ,double b ){} 14 15// everything can promote 16void foo3 (bool b ) {} 17void foo4 (uint b ) {} 18void foo5 (int b ) {} 19void foo6 (float b ) {} 20void foo7 (double b ){} 21 22// shorter forward chain better than longer or backward chain 23void foo8 (float ) {} 24void foo8 (double ) {} 25void foo9 (int ) {} 26void foo9 (uint ) {} 27void foo10 (bool ) {} 28void foo10 (int ) {} 29 30// shape change is worse 31void foo11 (float3 ) {} 32void foo11 (double ) {} 33void foo11 (int3 ) {} 34void foo11 (uint ) {} 35void foo12 (float1 ) {} 36void foo12 (double3 ) {} 37void foo16 (uint ) {} 38void foo16 (uint2 ) {} 39 40// shape change 41void foo13 (float3 ) {} 42void foo14 (int1 ) {} 43void foo15 (bool1 ) {} 44 45float4 PixelShaderFunction (float4 input ) :COLOR0 46{ 47bool b ; 48double d ; 49uint u ; 50int i ; 51float f ; 52 53foo1 (d ,b ); 54foo1 (d ,d ); 55foo1 (d ,u ); 56foo1 (d ,i ); 57foo1 (d ,f ); 58 59foo1 (f ,b ); 60foo1 (f ,d ); 61foo1 (f ,u ); 62foo1 (f ,i ); 63foo1 (f ,f ); 64 65foo1 (u ,b ); 66foo1 (u ,d ); 67foo1 (u ,u ); 68foo1 (u ,i ); 69foo1 (u ,f ); 70 71foo1 (i ,b ); 72foo1 (i ,d ); 73foo1 (i ,u ); 74foo1 (i ,i ); 75foo1 (i ,f ); 76 77foo2 (u ,b ); 78foo2 (u ,d ); 79foo2 (u ,u ); 80foo2 (u ,i ); 81foo2 (u ,f ); 82 83foo2 (i ,b ); 84foo2 (i ,d ); 85foo2 (i ,u ); 86foo2 (i ,i ); 87foo2 (i ,f ); 88 89foo3 (b ); 90foo3 (d ); 91foo3 (u ); 92foo3 (i ); 93foo3 (f ); 94 95foo4 (b ); 96foo4 (d ); 97foo4 (u ); 98foo4 (i ); 99foo4 (f ); 100 101foo5 (b ); 102foo5 (d ); 103foo5 (u ); 104foo5 (i ); 105foo5 (f ); 106 107foo6 (b ); 108foo6 (d ); 109foo6 (u ); 110foo6 (i ); 111foo6 (f ); 112 113foo7 (b ); 114foo7 (d ); 115foo7 (u ); 116foo7 (i ); 117foo7 (f ); 118 119foo8 (b ); 120foo8 (u ); 121foo8 (i ); 122 123foo9 (b ); 124foo9 (f ); 125foo9 (d ); 126 127foo10 (u ); 128foo10 (f ); 129foo10 (d ); 130 131foo11 (b ); 132foo11 (f ); 133foo12 (float3 (f )); 134foo16 (int2 (i ,i )); 135 136foo13 (f ); 137foo14 (int4 (i )); 138foo15 (b ); 139foo15 (bool3 (b )); 140 141return input ; 142}