1uniform half4 colorGreen, colorRed; 2 3bool test_float() { 4 float2x3 m23 = float2x3(23); 5 float2x4 m24 = float2x4(24); 6 float3x2 m32 = float3x2(32); 7 float3x4 m34 = float3x4(34); 8 float4x2 m42 = float4x2(42); 9 float4x3 m43 = float4x3(44); 10 11 float2x2 m22 = m32 * m23; m22 *= m22; 12 float3x3 m33 = m43 * m34; m33 *= m33; 13 float4x4 m44 = m24 * m42; m44 *= m44; 14 15 return true; 16} 17 18bool test_half() { 19 half2x3 m23 = half2x3(23); 20 half2x4 m24 = half2x4(24); 21 half3x2 m32 = half3x2(32); 22 half3x4 m34 = half3x4(34); 23 half4x2 m42 = half4x2(42); 24 half4x3 m43 = half4x3(44); 25 26 half2x2 m22 = m32 * m23; m22 *= m22; 27 half3x3 m33 = m43 * m34; m33 *= m33; 28 half4x4 m44 = m24 * m42; m44 *= m44; 29 30 return true; 31} 32 33half4 main(float2 coords) { 34 return test_float() && test_half() ? colorGreen : colorRed; 35} 36