1cb93a386Sopenharmony_ciuniform half4 colorGreen, colorRed; 2cb93a386Sopenharmony_ciuniform half2x2 testMatrix2x2; 3cb93a386Sopenharmony_ci 4cb93a386Sopenharmony_cihalf4 main(float2 coords) { 5cb93a386Sopenharmony_ci const half2x2 mat1234 = half2x2(1, 2, 3, 4); 6cb93a386Sopenharmony_ci const half2x2 bmat1234 = half2x2(1, 0, 1, 0); 7cb93a386Sopenharmony_ci 8cb93a386Sopenharmony_ci bool ok = true; 9cb93a386Sopenharmony_ci 10cb93a386Sopenharmony_ci ok = ok && half4(testMatrix2x2) == half4(1, 2, 3, 4); 11cb93a386Sopenharmony_ci ok = ok && half4(half2x2(1, 2, 3, 4)) == half4(1, 2, 3, 4); 12cb93a386Sopenharmony_ci ok = ok && half4(mat1234) == half4(1, 2, 3, 4); 13cb93a386Sopenharmony_ci ok = ok && half4(half2x2(2)) == half4(2, 0, 0, 2); 14cb93a386Sopenharmony_ci ok = ok && half4(half2x2(2, 2, 2, 2)) == half4(2); 15cb93a386Sopenharmony_ci 16cb93a386Sopenharmony_ci ok = ok && float4(testMatrix2x2) == float4(1, 2, 3, 4); 17cb93a386Sopenharmony_ci ok = ok && float4(half2x2(1, 2, 3, 4)) == float4(1, 2, 3, 4); 18cb93a386Sopenharmony_ci ok = ok && float4(mat1234) == float4(1, 2, 3, 4); 19cb93a386Sopenharmony_ci ok = ok && float4(float2x2(4)) == float4(4, 0, 0, 4); 20cb93a386Sopenharmony_ci ok = ok && float4(float2x2(2, 2, 2, 2)) == float4(2); 21cb93a386Sopenharmony_ci 22cb93a386Sopenharmony_ci ok = ok && int4(testMatrix2x2) == int4(1, 2, 3, 4); 23cb93a386Sopenharmony_ci ok = ok && int4(half2x2(1, 2, 3, 4)) == int4(1, 2, 3, 4); 24cb93a386Sopenharmony_ci ok = ok && int4(mat1234) == int4(1, 2, 3, 4); 25cb93a386Sopenharmony_ci ok = ok && int4(float2x2(8)) == int4(8, 0, 0, 8); 26cb93a386Sopenharmony_ci ok = ok && int4(float2x2(8, 8, 8, 8)) == int4(8); 27cb93a386Sopenharmony_ci 28cb93a386Sopenharmony_ci ok = ok && bool4(testMatrix2x2) == bool4(true, true, true, true); 29cb93a386Sopenharmony_ci ok = ok && bool4(half2x2(0, 1, 0, 1)) == bool4(false, true, false, true); 30cb93a386Sopenharmony_ci ok = ok && bool4(bmat1234) == bool4(true, false, true, false); 31cb93a386Sopenharmony_ci ok = ok && bool4(half2x2(1)) == bool4(true, false, false, true); 32cb93a386Sopenharmony_ci ok = ok && bool4(half2x2(1, 1, 1, 1)) == bool4(true); 33cb93a386Sopenharmony_ci 34cb93a386Sopenharmony_ci return ok ? colorGreen : colorRed; 35cb93a386Sopenharmony_ci} 36