1*c8dee2aaSAndroid Build Coastguard Workeruniform half4 colorGreen, colorRed; 2*c8dee2aaSAndroid Build Coastguard Workeruniform float3x3 testMatrix3x3; 3*c8dee2aaSAndroid Build Coastguard Workeruniform float4x4 testMatrix4x4; 4*c8dee2aaSAndroid Build Coastguard Worker 5*c8dee2aaSAndroid Build Coastguard Workerbool test3x3() { 6*c8dee2aaSAndroid Build Coastguard Worker float3 expected = float3(3, 2, 1); 7*c8dee2aaSAndroid Build Coastguard Worker float3 vec; 8*c8dee2aaSAndroid Build Coastguard Worker for (int c=0; c<3; ++c) { 9*c8dee2aaSAndroid Build Coastguard Worker for (int r=0; r<3; ++r) { 10*c8dee2aaSAndroid Build Coastguard Worker vec.zyx[r] = testMatrix3x3[c][r]; 11*c8dee2aaSAndroid Build Coastguard Worker } 12*c8dee2aaSAndroid Build Coastguard Worker if (vec != expected) { 13*c8dee2aaSAndroid Build Coastguard Worker return false; 14*c8dee2aaSAndroid Build Coastguard Worker } 15*c8dee2aaSAndroid Build Coastguard Worker expected += 3; 16*c8dee2aaSAndroid Build Coastguard Worker } 17*c8dee2aaSAndroid Build Coastguard Worker return true; 18*c8dee2aaSAndroid Build Coastguard Worker} 19*c8dee2aaSAndroid Build Coastguard Worker 20*c8dee2aaSAndroid Build Coastguard Workerbool test4x4() { 21*c8dee2aaSAndroid Build Coastguard Worker float4 expected = float4(4, 3, 2, 1); 22*c8dee2aaSAndroid Build Coastguard Worker float4 vec; 23*c8dee2aaSAndroid Build Coastguard Worker for (int c=0; c<4; ++c) { 24*c8dee2aaSAndroid Build Coastguard Worker for (int r=0; r<4; ++r) { 25*c8dee2aaSAndroid Build Coastguard Worker vec.wzyx[r] = testMatrix4x4[c][r]; 26*c8dee2aaSAndroid Build Coastguard Worker } 27*c8dee2aaSAndroid Build Coastguard Worker if (vec != expected) { 28*c8dee2aaSAndroid Build Coastguard Worker return false; 29*c8dee2aaSAndroid Build Coastguard Worker } 30*c8dee2aaSAndroid Build Coastguard Worker expected += 4; 31*c8dee2aaSAndroid Build Coastguard Worker } 32*c8dee2aaSAndroid Build Coastguard Worker return true; 33*c8dee2aaSAndroid Build Coastguard Worker} 34*c8dee2aaSAndroid Build Coastguard Worker 35*c8dee2aaSAndroid Build Coastguard Workerhalf4 main(float2 coords) { 36*c8dee2aaSAndroid Build Coastguard Worker return test3x3() && test4x4() ? colorGreen : colorRed; 37*c8dee2aaSAndroid Build Coastguard Worker} 38