1*c8dee2aaSAndroid Build Coastguard Workeruniform float4 u1; 2*c8dee2aaSAndroid Build Coastguard Workerfloat index_by_literal() { 3*c8dee2aaSAndroid Build Coastguard Worker return u1[0]; 4*c8dee2aaSAndroid Build Coastguard Worker} 5*c8dee2aaSAndroid Build Coastguard Worker 6*c8dee2aaSAndroid Build Coastguard Workeruniform float4 u2; 7*c8dee2aaSAndroid Build Coastguard Workerfloat index_by_loop() { 8*c8dee2aaSAndroid Build Coastguard Worker float sum = 0; 9*c8dee2aaSAndroid Build Coastguard Worker for (int i = 0; i < 4; ++i) { 10*c8dee2aaSAndroid Build Coastguard Worker sum += u2[i]; 11*c8dee2aaSAndroid Build Coastguard Worker } 12*c8dee2aaSAndroid Build Coastguard Worker return sum; 13*c8dee2aaSAndroid Build Coastguard Worker} 14*c8dee2aaSAndroid Build Coastguard Worker 15*c8dee2aaSAndroid Build Coastguard Workeruniform float4 u3; 16*c8dee2aaSAndroid Build Coastguard Workerfloat index_by_complex_loop() { 17*c8dee2aaSAndroid Build Coastguard Worker float prod = 1; 18*c8dee2aaSAndroid Build Coastguard Worker for (int i = 0; i < 4; ++i) { 19*c8dee2aaSAndroid Build Coastguard Worker prod *= u3[i < 2 ? 0 : i]; 20*c8dee2aaSAndroid Build Coastguard Worker } 21*c8dee2aaSAndroid Build Coastguard Worker return prod; 22*c8dee2aaSAndroid Build Coastguard Worker} 23*c8dee2aaSAndroid Build Coastguard Worker 24*c8dee2aaSAndroid Build Coastguard Workeruniform float4 u4; 25*c8dee2aaSAndroid Build Coastguard Workerfloat index_clamped_out_of_bounds() { 26*c8dee2aaSAndroid Build Coastguard Worker for (int i = 7; i < 8; i++) { 27*c8dee2aaSAndroid Build Coastguard Worker return u4[i]; 28*c8dee2aaSAndroid Build Coastguard Worker } 29*c8dee2aaSAndroid Build Coastguard Worker} 30*c8dee2aaSAndroid Build Coastguard Worker 31*c8dee2aaSAndroid Build Coastguard Workerfloat4 main(float2 xy) { 32*c8dee2aaSAndroid Build Coastguard Worker return float4( 33*c8dee2aaSAndroid Build Coastguard Worker index_by_literal(), 34*c8dee2aaSAndroid Build Coastguard Worker index_by_loop(), 35*c8dee2aaSAndroid Build Coastguard Worker index_by_complex_loop(), 36*c8dee2aaSAndroid Build Coastguard Worker index_clamped_out_of_bounds()); 37*c8dee2aaSAndroid Build Coastguard Worker} 38