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