1*c8dee2aaSAndroid Build Coastguard Worker190 instructions 2*c8dee2aaSAndroid Build Coastguard Worker 3*c8dee2aaSAndroid Build Coastguard Workerstore_device_xy01 $12..15 = DeviceCoords.xy01 4*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_float $12 = equal($12, 0x3F000000 (0.5)) 5*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_float $13 = equal($13, 0x3F000000 (0.5)) 6*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $12 &= $13 7*c8dee2aaSAndroid Build Coastguard Workerstore_src_rg xy = src.rg 8*c8dee2aaSAndroid Build Coastguard Workerinit_lane_masks CondMask = LoopMask = RetMask = true 9*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms u1[0], u1[1], u1[2], u1[3] = u1[0], u1[1], u1[2], u1[3] 10*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(u1[0], u1[1], u1[2], u1[3]) when $12 is true 11*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms u2[0], u2[1], u2[2], u2[3] = u2[0], u2[1], u2[2], u2[3] 12*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(u2[0], u2[1], u2[2], u2[3]) when $12 is true 13*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms u3[0], u3[1], u3[2], u3[3] = u3[0], u3[1], u3[2], u3[3] 14*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(u3[0], u3[1], u3[2], u3[3]) when $12 is true 15*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms u4[0], u4[1], u4[2], u4[3] = u4[0], u4[1], u4[2], u4[3] 16*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms u4[4], u4[5], u4[6], u4[7] = u4[4], u4[5], u4[6], u4[7] 17*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms u4[8], u4[9], u4[10], u4[11] = u4[8], u4[9], u4[10], u4[11] 18*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms u4[12], u4[13], u4[14], u4[15] = u4[12], u4[13], u4[14], u4[15] 19*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(u4[0], u4[1], u4[2], u4[3], u4[4], u4[5], u4[6], u4[7], u4[8], u4[9], u4[10], u4[11], u4[12], u4[13], u4[14], u4[15]) when $12 is true 20*c8dee2aaSAndroid Build Coastguard Workertrace_enter TraceEnter(float4 main(float2 xy)) when $12 is true 21*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(xy) when $12 is true 22*c8dee2aaSAndroid Build Coastguard Workercopy_constant $0 = 0 23*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = $12 24*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $0 = Mask($1) 25*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(+1) when $0 is true 26*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(38) when $12 is true 27*c8dee2aaSAndroid Build Coastguard Workertrace_enter TraceEnter(float index_by_literal()) when $12 is true 28*c8dee2aaSAndroid Build Coastguard Workercopy_constant $1 = 0 29*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = $12 30*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $1 = Mask($2) 31*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(+1) when $1 is true 32*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(5) when $12 is true 33*c8dee2aaSAndroid Build Coastguard Workercopy_uniform [index_by_literal].result = u1[0] 34*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar([index_by_literal].result) when $12 is true 35*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(-1) when $1 is true 36*c8dee2aaSAndroid Build Coastguard Workertrace_exit TraceExit(float index_by_literal()) when $12 is true 37*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = [index_by_literal].result 38*c8dee2aaSAndroid Build Coastguard Workerlabel label 0 39*c8dee2aaSAndroid Build Coastguard Workertrace_enter TraceEnter(float index_by_loop()) when $12 is true 40*c8dee2aaSAndroid Build Coastguard Workercopy_constant $2 = 0 41*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $3 = $12 42*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $2 = Mask($3) 43*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(+1) when $2 is true 44*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(10) when $12 is true 45*c8dee2aaSAndroid Build Coastguard Workercopy_constant sum = 0 46*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(sum) when $12 is true 47*c8dee2aaSAndroid Build Coastguard Workercopy_constant $3 = 0 48*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $4 = $12 49*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $3 = Mask($4) 50*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(+1) when $3 is true 51*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(11) when $12 is true 52*c8dee2aaSAndroid Build Coastguard Workercopy_constant i = 0x00000003 (4.203895e-45) 53*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(i) when $12 is true 54*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000003 55*c8dee2aaSAndroid Build Coastguard Workercopy_constant $4 = 0 56*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $5 = $12 57*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $4 = Mask($5) 58*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(+1) when $4 is true 59*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(12) when $12 is true 60*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $5 = sum 61*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $16 = i 62*c8dee2aaSAndroid Build Coastguard Workercopy_from_indirect_uniform_unm $6 = Indirect(u2[0] + $16) 63*c8dee2aaSAndroid Build Coastguard Workeradd_float $5 += $6 64*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked sum = $5 65*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(sum) when $12 is true 66*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(-1) when $4 is true 67*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(11) when $12 is true 68*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $4 = i 69*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $4 += 0xFFFFFFFF 70*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked i = $4 71*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(i) when $12 is true 72*c8dee2aaSAndroid Build Coastguard Workercopy_constant $4 = 0 73*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $5 = i 74*c8dee2aaSAndroid Build Coastguard Workercmple_int $4 = lessThanEqual($4, $5) 75*c8dee2aaSAndroid Build Coastguard Workerstack_rewind 76*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_active_lanes_eq branch -22 (label 3 at #52) if no lanes of $4 == 0 77*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000002 78*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(-1) when $3 is true 79*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(14) when $12 is true 80*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked [index_by_loop].result = sum 81*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar([index_by_loop].result) when $12 is true 82*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(-1) when $2 is true 83*c8dee2aaSAndroid Build Coastguard Workertrace_exit TraceExit(float index_by_loop()) when $12 is true 84*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = [index_by_loop].result 85*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000001 86*c8dee2aaSAndroid Build Coastguard Workertrace_enter TraceEnter(float index_by_complex_loop()) when $12 is true 87*c8dee2aaSAndroid Build Coastguard Workercopy_constant $3 = 0 88*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $4 = $12 89*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $3 = Mask($4) 90*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(+1) when $3 is true 91*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(19) when $12 is true 92*c8dee2aaSAndroid Build Coastguard Workercopy_constant prod = 0x3F800000 (1.0) 93*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(prod) when $12 is true 94*c8dee2aaSAndroid Build Coastguard Workercopy_constant $4 = 0 95*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $5 = $12 96*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $4 = Mask($5) 97*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(+1) when $4 is true 98*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(20) when $12 is true 99*c8dee2aaSAndroid Build Coastguard Workercopy_constant i₁ = 0 100*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(i₁) when $12 is true 101*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000006 102*c8dee2aaSAndroid Build Coastguard Workercopy_constant $5 = 0 103*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $6 = $12 104*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $5 = Mask($6) 105*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(+1) when $5 is true 106*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(21) when $12 is true 107*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $6 = prod 108*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $16 = i₁ 109*c8dee2aaSAndroid Build Coastguard Workercmplt_imm_int $16 = lessThan($16, 0x00000002) 110*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $17 = i₁ 111*c8dee2aaSAndroid Build Coastguard Workercopy_constant $18 = 0 112*c8dee2aaSAndroid Build Coastguard Workermix_int $16 = mix($17, $18, $16) 113*c8dee2aaSAndroid Build Coastguard Workercopy_from_indirect_uniform_unm $7 = Indirect(u3[0] + $16) 114*c8dee2aaSAndroid Build Coastguard Workermul_float $6 *= $7 115*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked prod = $6 116*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(prod) when $12 is true 117*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(-1) when $5 is true 118*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(20) when $12 is true 119*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $5 = i₁ 120*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $5 += 0x00000001 121*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked i₁ = $5 122*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(i₁) when $12 is true 123*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $5 = i₁ 124*c8dee2aaSAndroid Build Coastguard Workercmplt_imm_int $5 = lessThan($5, 0x00000004) 125*c8dee2aaSAndroid Build Coastguard Workerstack_rewind 126*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_active_lanes_eq branch -25 (label 6 at #99) if no lanes of $5 == 0 127*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000005 128*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(-1) when $4 is true 129*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(23) when $12 is true 130*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked [index_by_complex_loop].result = prod 131*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar([index_by_complex_loop].result) when $12 is true 132*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(-1) when $3 is true 133*c8dee2aaSAndroid Build Coastguard Workertrace_exit TraceExit(float index_by_complex_loop()) when $12 is true 134*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $3 = [index_by_complex_loop].result 135*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000004 136*c8dee2aaSAndroid Build Coastguard Workertrace_enter TraceEnter(float index_out_of_bounds_checked()) when $12 is true 137*c8dee2aaSAndroid Build Coastguard Workercopy_constant $4 = 0 138*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $5 = $12 139*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $4 = Mask($5) 140*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(+1) when $4 is true 141*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(28) when $12 is true 142*c8dee2aaSAndroid Build Coastguard Workercopy_constant sum₁ = 0 143*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(sum₁) when $12 is true 144*c8dee2aaSAndroid Build Coastguard Workercopy_constant $5 = 0 145*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $6 = $12 146*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $5 = Mask($6) 147*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(+1) when $5 is true 148*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(29) when $12 is true 149*c8dee2aaSAndroid Build Coastguard Workercopy_constant f = 0xC0133333 (-2.3) 150*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(f) when $12 is true 151*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000A 152*c8dee2aaSAndroid Build Coastguard Workercopy_constant $6 = 0 153*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $7 = $12 154*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $6 = Mask($7) 155*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(+1) when $6 is true 156*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(30) when $12 is true 157*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $7 = CondMask 158*c8dee2aaSAndroid Build Coastguard Workercopy_constant $8 = 0 159*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $9 = f 160*c8dee2aaSAndroid Build Coastguard Workercmplt_float $8 = lessThan($8, $9) 161*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $9 = f 162*c8dee2aaSAndroid Build Coastguard Workercmplt_imm_float $9 = lessThan($9, 0x41800000 (16.0)) 163*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $8 &= $9 164*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $7 & $8 165*c8dee2aaSAndroid Build Coastguard Workercopy_constant $9 = 0 166*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $10 = $12 167*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $9 = Mask($10) 168*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(+1) when $9 is true 169*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(31) when $12 is true 170*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $10 = sum₁ 171*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $16 = f 172*c8dee2aaSAndroid Build Coastguard Workercast_to_int_from_float $16 = FloatToInt($16) 173*c8dee2aaSAndroid Build Coastguard Workercopy_from_indirect_uniform_unm $11 = Indirect(u4[0] + $16) 174*c8dee2aaSAndroid Build Coastguard Workersub_float $10 -= $11 175*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked sum₁ = Mask($10) 176*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(sum₁) when $12 is true 177*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(-1) when $9 is true 178*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $7 179*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(-1) when $6 is true 180*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(29) when $12 is true 181*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $6 = f 182*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float $6 += 0x406CCCCD (3.7) 183*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked f = $6 184*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(f) when $12 is true 185*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $6 = f 186*c8dee2aaSAndroid Build Coastguard Workercmplt_imm_float $6 = lessThan($6, 0x41880000 (17.0)) 187*c8dee2aaSAndroid Build Coastguard Workerstack_rewind 188*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_active_lanes_eq branch -37 (label 10 at #149) if no lanes of $6 == 0 189*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000009 190*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(-1) when $5 is true 191*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(34) when $12 is true 192*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked [index_out_of_bounds_checked].result = sum₁ 193*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar([index_out_of_bounds_checked].result) when $12 is true 194*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(-1) when $4 is true 195*c8dee2aaSAndroid Build Coastguard Workertrace_exit TraceExit(float index_out_of_bounds_checked()) when $12 is true 196*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $4 = [index_out_of_bounds_checked].result 197*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000008 198*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked [main].result = $1..4 199*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar([main].result) when $12 is true 200*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(-1) when $0 is true 201*c8dee2aaSAndroid Build Coastguard Workertrace_exit TraceExit(float4 main(float2 xy)) when $12 is true 202*c8dee2aaSAndroid Build Coastguard Workerload_src src.rgba = [main].result 203