| uniform half4 colorGreen, colorRed; |
| |
| bool test_float() { |
| float3 v1 = float3x3(1) * float3(2); |
| float3 v2 = float3(2) * float3x3(1); |
| |
| float2x2 m1 = float2x2(float4(1, 2, 3, 4)); |
| float2x2 m2 = float2x2(float4(0)); |
| float2x2 m3 = float2x2(m1); |
| float2x2 m4 = float2x2(1); |
| m3 *= m4; |
| float2x2 m5 = float2x2(m1[0][0]); |
| float2x2 m6 = float2x2(1, 2, 3, 4); |
| m6 += m5; |
| float2x2 m7 = float2x2(5, float3(6, 7, 8)); |
| float3x3 m9 = float3x3(1); |
| float4x4 m10 = float4x4(1); |
| float4x4 m11 = float4x4(2); |
| m11 -= m10; |
| |
| return true; |
| } |
| |
| bool test_half() { |
| half3 v1 = half3x3(1) * half3(2); |
| half3 v2 = half3(2) * half3x3(1); |
| |
| half2x2 m1 = half2x2(half4(1, 2, 3, 4)); |
| half2x2 m2 = half2x2(half4(0)); |
| half2x2 m3 = half2x2(m1); |
| half2x2 m4 = half2x2(1); |
| m3 *= m4; |
| half2x2 m5 = half2x2(m1[0][0]); |
| half2x2 m6 = half2x2(1, 2, 3, 4); |
| m6 += m5; |
| half2x2 m7 = half2x2(5, half3(6, 7, 8)); |
| half3x3 m9 = half3x3(1); |
| half4x4 m10 = half4x4(1); |
| half4x4 m11 = half4x4(2); |
| m11 -= m10; |
| |
| return true; |
| } |
| |
| half4 main() { |
| return test_float() && test_half() ? colorGreen : colorRed; |
| } |