1*c8dee2aaSAndroid Build Coastguard Workeruniform half4 colorGreen, colorRed; 2*c8dee2aaSAndroid Build Coastguard Worker 3*c8dee2aaSAndroid Build Coastguard Workernoinline half4 clear_blue(half4 param) { 4*c8dee2aaSAndroid Build Coastguard Worker return param.rg0a; 5*c8dee2aaSAndroid Build Coastguard Worker} 6*c8dee2aaSAndroid Build Coastguard Worker 7*c8dee2aaSAndroid Build Coastguard Workerhalf4 main(float2) { 8*c8dee2aaSAndroid Build Coastguard Worker // First, pass a variable directly to `clear_blue`; the function parameter can be aliased 9*c8dee2aaSAndroid Build Coastguard Worker // directly to `red`. 10*c8dee2aaSAndroid Build Coastguard Worker half4 red = colorRed; 11*c8dee2aaSAndroid Build Coastguard Worker half4 result = clear_blue(red); 12*c8dee2aaSAndroid Build Coastguard Worker 13*c8dee2aaSAndroid Build Coastguard Worker // Now, call `clear_blue` with an expression that cannot be aliased directly onto a variable. 14*c8dee2aaSAndroid Build Coastguard Worker // The parameter should now get dedicated slots. 15*c8dee2aaSAndroid Build Coastguard Worker result = clear_blue(colorGreen.rgb1); 16*c8dee2aaSAndroid Build Coastguard Worker return result; 17*c8dee2aaSAndroid Build Coastguard Worker} 18