1*c8dee2aaSAndroid Build Coastguard Workeruniform shader shaderGreen, shaderRed; 2*c8dee2aaSAndroid Build Coastguard Workeruniform half4 colorGreen; 3*c8dee2aaSAndroid Build Coastguard Worker 4*c8dee2aaSAndroid Build Coastguard Worker// This code generates a 2^n fan-out of specialized functions. 5*c8dee2aaSAndroid Build Coastguard Worker 6*c8dee2aaSAndroid Build Coastguard Workernoinline half4 fn(shader a, shader b, shader c, shader d, shader e, shader f, shader g) { 7*c8dee2aaSAndroid Build Coastguard Worker return colorGreen; 8*c8dee2aaSAndroid Build Coastguard Worker} 9*c8dee2aaSAndroid Build Coastguard Worker 10*c8dee2aaSAndroid Build Coastguard Workernoinline half4 fn(shader a, shader b, shader c, shader d, shader e, shader f) { 11*c8dee2aaSAndroid Build Coastguard Worker return fn(a, b, c, d, e, f, shaderGreen) * fn(a, b, c, d, e, f, shaderRed); 12*c8dee2aaSAndroid Build Coastguard Worker} 13*c8dee2aaSAndroid Build Coastguard Worker 14*c8dee2aaSAndroid Build Coastguard Workernoinline half4 fn(shader a, shader b, shader c, shader d, shader e) { 15*c8dee2aaSAndroid Build Coastguard Worker return fn(a, b, c, d, e, shaderGreen) * fn(a, b, c, d, e, shaderRed); 16*c8dee2aaSAndroid Build Coastguard Worker} 17*c8dee2aaSAndroid Build Coastguard Worker 18*c8dee2aaSAndroid Build Coastguard Workernoinline half4 fn(shader a, shader b, shader c, shader d) { 19*c8dee2aaSAndroid Build Coastguard Worker return fn(a, b, c, d, shaderGreen) * fn(a, b, c, d, shaderRed); 20*c8dee2aaSAndroid Build Coastguard Worker} 21*c8dee2aaSAndroid Build Coastguard Worker 22*c8dee2aaSAndroid Build Coastguard Workernoinline half4 fn(shader a, shader b, shader c) { 23*c8dee2aaSAndroid Build Coastguard Worker return fn(a, b, c, shaderGreen) * fn(a, b, c, shaderRed); 24*c8dee2aaSAndroid Build Coastguard Worker} 25*c8dee2aaSAndroid Build Coastguard Worker 26*c8dee2aaSAndroid Build Coastguard Workernoinline half4 fn(shader a, shader b) { 27*c8dee2aaSAndroid Build Coastguard Worker return fn(a, b, shaderGreen) * fn(a, b, shaderRed); 28*c8dee2aaSAndroid Build Coastguard Worker} 29*c8dee2aaSAndroid Build Coastguard Worker 30*c8dee2aaSAndroid Build Coastguard Workernoinline half4 fn(shader a) { 31*c8dee2aaSAndroid Build Coastguard Worker return fn(a, shaderGreen) * fn(a, shaderRed); 32*c8dee2aaSAndroid Build Coastguard Worker} 33*c8dee2aaSAndroid Build Coastguard Worker 34*c8dee2aaSAndroid Build Coastguard Workerhalf4 main(float2) { 35*c8dee2aaSAndroid Build Coastguard Worker return fn(shaderGreen) * fn(shaderRed); 36*c8dee2aaSAndroid Build Coastguard Worker} 37