1*c8dee2aaSAndroid Build Coastguard Worker// This is almost a clone of OutParamsFunctionCallInArgument; `out_param_func1` has a small 2*c8dee2aaSAndroid Build Coastguard Worker// change which allows its body to be eliminated. 3*c8dee2aaSAndroid Build Coastguard Worker 4*c8dee2aaSAndroid Build Coastguard Workeruniform half4 colorGreen, colorRed; 5*c8dee2aaSAndroid Build Coastguard Worker 6*c8dee2aaSAndroid Build Coastguard Workervoid out_param_func1(inout half v) { 7*c8dee2aaSAndroid Build Coastguard Worker v < colorGreen.g; 8*c8dee2aaSAndroid Build Coastguard Worker} 9*c8dee2aaSAndroid Build Coastguard Worker 10*c8dee2aaSAndroid Build Coastguard Workerint out_param_func2(out half v) { 11*c8dee2aaSAndroid Build Coastguard Worker v = colorRed.r; 12*c8dee2aaSAndroid Build Coastguard Worker return int(v); 13*c8dee2aaSAndroid Build Coastguard Worker} 14*c8dee2aaSAndroid Build Coastguard Worker 15*c8dee2aaSAndroid Build Coastguard Workerhalf4 main(float2 c) { 16*c8dee2aaSAndroid Build Coastguard Worker half testArray[2]; 17*c8dee2aaSAndroid Build Coastguard Worker out_param_func1(testArray[out_param_func2(testArray[0])]); 18*c8dee2aaSAndroid Build Coastguard Worker return (testArray[0] == 1 && testArray[1] == 1) ? colorGreen : colorRed; 19*c8dee2aaSAndroid Build Coastguard Worker} 20