1cb93a386Sopenharmony_ci/*#pragma settings NoInline*/ 2cb93a386Sopenharmony_ci 3cb93a386Sopenharmony_civoid out_half (out half v) { v = 1; } 4cb93a386Sopenharmony_civoid out_half2(out half2 v) { v = half2(2); } 5cb93a386Sopenharmony_civoid out_half3(out half3 v) { v = half3(3); } 6cb93a386Sopenharmony_civoid out_half4(out half4 v) { v = half4(4); } 7cb93a386Sopenharmony_ci 8cb93a386Sopenharmony_civoid out_half2x2(out half2x2 v) { v = half2x2(2); } 9cb93a386Sopenharmony_civoid out_half3x3(out half3x3 v) { v = half3x3(3); } 10cb93a386Sopenharmony_civoid out_half4x4(out half4x4 v) { v = half4x4(4); } 11cb93a386Sopenharmony_ci 12cb93a386Sopenharmony_civoid out_int (out int v) { v = 1; } 13cb93a386Sopenharmony_civoid out_int2(out int2 v) { v = int2(2); } 14cb93a386Sopenharmony_civoid out_int3(out int3 v) { v = int3(3); } 15cb93a386Sopenharmony_civoid out_int4(out int4 v) { v = int4(4); } 16cb93a386Sopenharmony_ci 17cb93a386Sopenharmony_civoid out_float (out float v) { v = 1; } 18cb93a386Sopenharmony_civoid out_float2(out float2 v) { v = float2(2); } 19cb93a386Sopenharmony_civoid out_float3(out float3 v) { v = float3(3); } 20cb93a386Sopenharmony_civoid out_float4(out float4 v) { v = float4(4); } 21cb93a386Sopenharmony_ci 22cb93a386Sopenharmony_civoid out_float2x2(out float2x2 v) { v = float2x2(2); } 23cb93a386Sopenharmony_civoid out_float3x3(out float3x3 v) { v = float3x3(3); } 24cb93a386Sopenharmony_civoid out_float4x4(out float4x4 v) { v = float4x4(4); } 25cb93a386Sopenharmony_ci 26cb93a386Sopenharmony_civoid out_bool (out bool v) { v = true; } 27cb93a386Sopenharmony_civoid out_bool2(out bool2 v) { v = bool2(false); } 28cb93a386Sopenharmony_civoid out_bool3(out bool3 v) { v = bool3(true); } 29cb93a386Sopenharmony_civoid out_bool4(out bool4 v) { v = bool4(false); } 30cb93a386Sopenharmony_ci 31cb93a386Sopenharmony_civoid out_pair(out half v1, out half v2) { v1 = 1; v2 = 2; } 32cb93a386Sopenharmony_ci 33cb93a386Sopenharmony_civoid main() { 34cb93a386Sopenharmony_ci half h; out_half (h); 35cb93a386Sopenharmony_ci half2 h2; out_half2(h2); 36cb93a386Sopenharmony_ci half3 h3; out_half3(h3); 37cb93a386Sopenharmony_ci half4 h4; out_half4(h4); 38cb93a386Sopenharmony_ci out_half(h3[1]); 39cb93a386Sopenharmony_ci out_half2(h3.xz); 40cb93a386Sopenharmony_ci out_half4(h4.zwxy); 41cb93a386Sopenharmony_ci sk_FragColor = half4(h, h2.x, h3.x, h4.x); 42cb93a386Sopenharmony_ci 43cb93a386Sopenharmony_ci half h1; 44cb93a386Sopenharmony_ci out_pair(h, h1); 45cb93a386Sopenharmony_ci out_pair(h, h); 46cb93a386Sopenharmony_ci out_pair(h2.x, h2.y); 47cb93a386Sopenharmony_ci out_pair(h2.x, h2.x); 48cb93a386Sopenharmony_ci out_pair(h2.x, h3.x); 49cb93a386Sopenharmony_ci 50cb93a386Sopenharmony_ci half2x2 h2x2; out_half2x2(h2x2); 51cb93a386Sopenharmony_ci half3x3 h3x3; out_half3x3(h3x3); 52cb93a386Sopenharmony_ci half4x4 h4x4; out_half4x4(h4x4); 53cb93a386Sopenharmony_ci out_half3(h3x3[1]); 54cb93a386Sopenharmony_ci out_half4(h4x4[3].zwxy); 55cb93a386Sopenharmony_ci out_half2(h2x2[0]); 56cb93a386Sopenharmony_ci sk_FragColor = half4(h2x2[0][0], h3x3[0][0], h4x4[0][0], 1); 57cb93a386Sopenharmony_ci 58cb93a386Sopenharmony_ci int i; out_int (i); 59cb93a386Sopenharmony_ci int2 i2; out_int2(i2); 60cb93a386Sopenharmony_ci int3 i3; out_int3(i3); 61cb93a386Sopenharmony_ci int4 i4; out_int4(i4); 62cb93a386Sopenharmony_ci out_int3(i4.xyz); 63cb93a386Sopenharmony_ci sk_FragColor = half4(i, i2.x, i3.x, i4.x); 64cb93a386Sopenharmony_ci 65cb93a386Sopenharmony_ci float f; out_float (f); 66cb93a386Sopenharmony_ci float2 f2; out_float2(f2); 67cb93a386Sopenharmony_ci float3 f3; out_float3(f3); 68cb93a386Sopenharmony_ci float4 f4; out_float4(f4); 69cb93a386Sopenharmony_ci out_float2(f3.xy); 70cb93a386Sopenharmony_ci out_float(f2[0]); 71cb93a386Sopenharmony_ci sk_FragColor = half4(f, f2.x, f3.x, f4.x); 72cb93a386Sopenharmony_ci 73cb93a386Sopenharmony_ci float2x2 f2x2; out_float2x2(f2x2); 74cb93a386Sopenharmony_ci float3x3 f3x3; out_float3x3(f3x3); 75cb93a386Sopenharmony_ci float4x4 f4x4; out_float4x4(f4x4); 76cb93a386Sopenharmony_ci out_float(f2x2[0][0]); 77cb93a386Sopenharmony_ci out_float4(f4x4[1]); 78cb93a386Sopenharmony_ci sk_FragColor = half4(f2x2[0][0], f3x3[0][0], f4x4[0][0], 1); 79cb93a386Sopenharmony_ci 80cb93a386Sopenharmony_ci bool b; out_bool (b); 81cb93a386Sopenharmony_ci bool2 b2; out_bool2(b2); 82cb93a386Sopenharmony_ci bool3 b3; out_bool3(b3); 83cb93a386Sopenharmony_ci bool4 b4; out_bool4(b4); 84cb93a386Sopenharmony_ci out_bool2(b4.xw); 85cb93a386Sopenharmony_ci out_bool(b3[2]); 86cb93a386Sopenharmony_ci sk_FragColor = half4(b, b2.x, b3.x, b4.x); 87cb93a386Sopenharmony_ci} 88