1*c8dee2aaSAndroid Build Coastguard Worker125 instructions 2*c8dee2aaSAndroid Build Coastguard Worker 3*c8dee2aaSAndroid Build Coastguard Workerstore_src_rg coords = src.rg 4*c8dee2aaSAndroid Build Coastguard Workerinit_lane_masks CondMask = LoopMask = RetMask = true 5*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $0 = colorGreen(1) 6*c8dee2aaSAndroid Build Coastguard Workercast_to_int_from_float $0 = FloatToInt($0) 7*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked x = $0 8*c8dee2aaSAndroid Build Coastguard Workercopy_constant _0_val = 0 9*c8dee2aaSAndroid Build Coastguard Workerstore_loop_mask $0 = LoopMask 10*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = x 11*c8dee2aaSAndroid Build Coastguard Workerstore_loop_mask $2 = LoopMask 12*c8dee2aaSAndroid Build Coastguard Workermask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 13*c8dee2aaSAndroid Build Coastguard Workercase_op if ($1 == 0x00000001) { LoopMask = true; $2 = false; } 14*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +21 (label 1 at #33) 15*c8dee2aaSAndroid Build Coastguard Workercopy_constant _1_i = 0 16*c8dee2aaSAndroid Build Coastguard Workerstore_loop_mask $3 = LoopMask 17*c8dee2aaSAndroid Build Coastguard Workerjump jump +10 (label 3 at #25) 18*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000004 19*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $4 = _0_val 20*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $4 += 0x00000001 21*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked _0_val = Mask($4) 22*c8dee2aaSAndroid Build Coastguard Workerbranch_if_all_lanes_active branch_if_all_lanes_active +11 (label 2 at #31) 23*c8dee2aaSAndroid Build Coastguard Workermask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 24*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $4 = _1_i 25*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $4 += 0x00000001 26*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked _1_i = Mask($4) 27*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000003 28*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $4 = _1_i 29*c8dee2aaSAndroid Build Coastguard Workercmplt_imm_int $4 = lessThan($4, 0x0000000A) 30*c8dee2aaSAndroid Build Coastguard Workermerge_loop_mask LoopMask &= $4 31*c8dee2aaSAndroid Build Coastguard Workerstack_rewind 32*c8dee2aaSAndroid Build Coastguard Workerbranch_if_any_lanes_active branch_if_any_lanes_active -14 (label 4 at #16) 33*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000002 34*c8dee2aaSAndroid Build Coastguard Workerload_loop_mask LoopMask = $3 35*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000001 36*c8dee2aaSAndroid Build Coastguard Workerreenable_loop_mask LoopMask |= $2 37*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +4 (label 5 at #39) 38*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = _0_val 39*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $2 += 0x00000001 40*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked _0_val = Mask($2) 41*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000005 42*c8dee2aaSAndroid Build Coastguard Workerlabel label 0 43*c8dee2aaSAndroid Build Coastguard Workerload_loop_mask LoopMask = $0 44*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $12 = CondMask 45*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $19 = CondMask 46*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $20 = _0_val 47*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_int $20 = equal($20, 0x00000002) 48*c8dee2aaSAndroid Build Coastguard Workercopy_constant $13 = 0 49*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $19 & $20 50*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +42 (label 8 at #90) 51*c8dee2aaSAndroid Build Coastguard Workercopy_constant val = 0 52*c8dee2aaSAndroid Build Coastguard Workerstore_loop_mask $14 = LoopMask 53*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $15 = x 54*c8dee2aaSAndroid Build Coastguard Workerstore_loop_mask $16 = LoopMask 55*c8dee2aaSAndroid Build Coastguard Workermask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 56*c8dee2aaSAndroid Build Coastguard Workercase_op if ($15 == 0x00000001) { LoopMask = true; $16 = false; } 57*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +22 (label 11 at #77) 58*c8dee2aaSAndroid Build Coastguard Workercopy_constant i = 0 59*c8dee2aaSAndroid Build Coastguard Workerstore_loop_mask $17 = LoopMask 60*c8dee2aaSAndroid Build Coastguard Workerjump jump +11 (label 13 at #69) 61*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000E 62*c8dee2aaSAndroid Build Coastguard Workercopy_constant $21 = 0 63*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $18 = val 64*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $18 += 0x00000001 65*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked val = Mask($18) 66*c8dee2aaSAndroid Build Coastguard Workercontinue_op $21 |= Mask(0xFFFFFFFF); LoopMask &= ~(CondMask & LoopMask & RetMask) 67*c8dee2aaSAndroid Build Coastguard Workerreenable_loop_mask LoopMask |= $21 68*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $18 = i 69*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $18 += 0x00000001 70*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked i = Mask($18) 71*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000D 72*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $18 = i 73*c8dee2aaSAndroid Build Coastguard Workercmplt_imm_int $18 = lessThan($18, 0x0000000A) 74*c8dee2aaSAndroid Build Coastguard Workermerge_loop_mask LoopMask &= $18 75*c8dee2aaSAndroid Build Coastguard Workerstack_rewind 76*c8dee2aaSAndroid Build Coastguard Workerbranch_if_any_lanes_active branch_if_any_lanes_active -15 (label 14 at #59) 77*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000C 78*c8dee2aaSAndroid Build Coastguard Workerload_loop_mask LoopMask = $17 79*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000B 80*c8dee2aaSAndroid Build Coastguard Workerreenable_loop_mask LoopMask |= $16 81*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +4 (label 15 at #83) 82*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $16 = val 83*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $16 += 0x00000001 84*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked val = Mask($16) 85*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000F 86*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000A 87*c8dee2aaSAndroid Build Coastguard Workerload_loop_mask LoopMask = $14 88*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $14 = val 89*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_int $14 = equal($14, 0x0000000B) 90*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000009 91*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $13 = Mask($14) 92*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000008 93*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $19 94*c8dee2aaSAndroid Build Coastguard Workercopy_constant $0 = 0 95*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $12 & $13 96*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +47 (label 7 at #141) 97*c8dee2aaSAndroid Build Coastguard Workerstore_return_mask $1 = RetMask 98*c8dee2aaSAndroid Build Coastguard Workersplat_2_constants val₁, i₁ = 0 99*c8dee2aaSAndroid Build Coastguard Workerstore_loop_mask $2 = LoopMask 100*c8dee2aaSAndroid Build Coastguard Workerjump jump +28 (label 18 at #126) 101*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000013 102*c8dee2aaSAndroid Build Coastguard Workerstore_loop_mask $3 = LoopMask 103*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $4 = x 104*c8dee2aaSAndroid Build Coastguard Workerstore_loop_mask $5 = LoopMask 105*c8dee2aaSAndroid Build Coastguard Workermask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 106*c8dee2aaSAndroid Build Coastguard Workercase_op if ($4 == 0x00000001) { LoopMask = true; $5 = false; } 107*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +6 (label 21 at #111) 108*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $6 = val₁ 109*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $6 += 0x00000001 110*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked val₁ = Mask($6) 111*c8dee2aaSAndroid Build Coastguard Workerbranch_if_all_lanes_active branch_if_all_lanes_active +9 (label 20 at #118) 112*c8dee2aaSAndroid Build Coastguard Workermask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 113*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000015 114*c8dee2aaSAndroid Build Coastguard Workerreenable_loop_mask LoopMask |= $5 115*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +4 (label 22 at #117) 116*c8dee2aaSAndroid Build Coastguard Workercopy_constant $5 = 0 117*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked [loop_with_break_in_switch].result = Mask($5) 118*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 119*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000016 120*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000014 121*c8dee2aaSAndroid Build Coastguard Workerload_loop_mask LoopMask = $3 122*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $3 = val₁ 123*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $3 += 0x00000001 124*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked val₁ = Mask($3) 125*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $3 = i₁ 126*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $3 += 0x00000001 127*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked i₁ = Mask($3) 128*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000012 129*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $3 = i₁ 130*c8dee2aaSAndroid Build Coastguard Workercmplt_imm_int $3 = lessThan($3, 0x0000000A) 131*c8dee2aaSAndroid Build Coastguard Workermerge_loop_mask LoopMask &= $3 132*c8dee2aaSAndroid Build Coastguard Workerstack_rewind 133*c8dee2aaSAndroid Build Coastguard Workerbranch_if_any_lanes_active branch_if_any_lanes_active -32 (label 19 at #99) 134*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000011 135*c8dee2aaSAndroid Build Coastguard Workerload_loop_mask LoopMask = $2 136*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = val₁ 137*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_int $2 = equal($2, 0x00000014) 138*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked [loop_with_break_in_switch].result = Mask($2) 139*c8dee2aaSAndroid Build Coastguard Workerload_return_mask RetMask = $1 140*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = [loop_with_break_in_switch].result 141*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000010 142*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $0 = Mask($1) 143*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000007 144*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $12 145*c8dee2aaSAndroid Build Coastguard Workerswizzle_4 $0..3 = ($0..3).xxxx 146*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $4..7 = colorRed 147*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $8..11 = colorGreen 148*c8dee2aaSAndroid Build Coastguard Workermix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 149*c8dee2aaSAndroid Build Coastguard Workerload_src src.rgba = $0..3 150