1*c8dee2aaSAndroid Build Coastguard Worker 2*c8dee2aaSAndroid Build Coastguard Workerout vec4 sk_FragColor; 3*c8dee2aaSAndroid Build Coastguard Workeruniform vec4 colorGreen; 4*c8dee2aaSAndroid Build Coastguard Workeruniform vec4 colorRed; 5*c8dee2aaSAndroid Build Coastguard Workeruniform mat3 testMatrix3x3; 6*c8dee2aaSAndroid Build Coastguard Workeruniform mat4 testMatrix4x4; 7*c8dee2aaSAndroid Build Coastguard Workerbool test3x3_b() { 8*c8dee2aaSAndroid Build Coastguard Worker vec3 expected = vec3(3.0, 2.0, 1.0); 9*c8dee2aaSAndroid Build Coastguard Worker vec3 vec; 10*c8dee2aaSAndroid Build Coastguard Worker for (int c = 0;c < 3; ++c) { 11*c8dee2aaSAndroid Build Coastguard Worker for (int r = 0;r < 3; ++r) { 12*c8dee2aaSAndroid Build Coastguard Worker vec.zyx[r] = testMatrix3x3[c][r]; 13*c8dee2aaSAndroid Build Coastguard Worker } 14*c8dee2aaSAndroid Build Coastguard Worker if (vec != expected) { 15*c8dee2aaSAndroid Build Coastguard Worker return false; 16*c8dee2aaSAndroid Build Coastguard Worker } 17*c8dee2aaSAndroid Build Coastguard Worker expected += 3.0; 18*c8dee2aaSAndroid Build Coastguard Worker } 19*c8dee2aaSAndroid Build Coastguard Worker return true; 20*c8dee2aaSAndroid Build Coastguard Worker} 21*c8dee2aaSAndroid Build Coastguard Workerbool test4x4_b() { 22*c8dee2aaSAndroid Build Coastguard Worker vec4 expected = vec4(4.0, 3.0, 2.0, 1.0); 23*c8dee2aaSAndroid Build Coastguard Worker vec4 vec; 24*c8dee2aaSAndroid Build Coastguard Worker for (int c = 0;c < 4; ++c) { 25*c8dee2aaSAndroid Build Coastguard Worker for (int r = 0;r < 4; ++r) { 26*c8dee2aaSAndroid Build Coastguard Worker vec.wzyx[r] = testMatrix4x4[c][r]; 27*c8dee2aaSAndroid Build Coastguard Worker } 28*c8dee2aaSAndroid Build Coastguard Worker if (vec != expected) { 29*c8dee2aaSAndroid Build Coastguard Worker return false; 30*c8dee2aaSAndroid Build Coastguard Worker } 31*c8dee2aaSAndroid Build Coastguard Worker expected += 4.0; 32*c8dee2aaSAndroid Build Coastguard Worker } 33*c8dee2aaSAndroid Build Coastguard Worker return true; 34*c8dee2aaSAndroid Build Coastguard Worker} 35*c8dee2aaSAndroid Build Coastguard Workervec4 main() { 36*c8dee2aaSAndroid Build Coastguard Worker return test3x3_b() && test4x4_b() ? colorGreen : colorRed; 37*c8dee2aaSAndroid Build Coastguard Worker} 38