1*c8dee2aaSAndroid Build Coastguard Worker61 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_ok = 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 == 0x00000002) { LoopMask = true; $2 = false; } 14*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +3 (label 1 at #15) 15*c8dee2aaSAndroid Build Coastguard Workerbranch_if_all_lanes_active branch_if_all_lanes_active +17 (label 0 at #30) 16*c8dee2aaSAndroid Build Coastguard Workermask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 17*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000001 18*c8dee2aaSAndroid Build Coastguard Workercase_op if ($1 == 0x00000001) { LoopMask = true; $2 = false; } 19*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000002 20*c8dee2aaSAndroid Build Coastguard Workercase_op if ($1 == 0) { LoopMask = true; $2 = false; } 21*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +5 (label 3 at #24) 22*c8dee2aaSAndroid Build Coastguard Workercopy_constant $3 = 0xFFFFFFFF 23*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked _0_ok = Mask($3) 24*c8dee2aaSAndroid Build Coastguard Workerbranch_if_all_lanes_active branch_if_all_lanes_active +8 (label 0 at #30) 25*c8dee2aaSAndroid Build Coastguard Workermask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 26*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000003 27*c8dee2aaSAndroid Build Coastguard Workerreenable_loop_mask LoopMask |= $2 28*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +3 (label 4 at #29) 29*c8dee2aaSAndroid Build Coastguard Workerbranch_if_all_lanes_active branch_if_all_lanes_active +3 (label 0 at #30) 30*c8dee2aaSAndroid Build Coastguard Workermask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 31*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000004 32*c8dee2aaSAndroid Build Coastguard Workerlabel label 0 33*c8dee2aaSAndroid Build Coastguard Workerload_loop_mask LoopMask = $0 34*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $12 = CondMask 35*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $13 = _0_ok 36*c8dee2aaSAndroid Build Coastguard Workercopy_constant $0 = 0 37*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $12 & $13 38*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +32 (label 6 at #68) 39*c8dee2aaSAndroid Build Coastguard Workercopy_constant ok = 0 40*c8dee2aaSAndroid Build Coastguard Workerstore_loop_mask $1 = LoopMask 41*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = x 42*c8dee2aaSAndroid Build Coastguard Workerstore_loop_mask $3 = LoopMask 43*c8dee2aaSAndroid Build Coastguard Workermask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 44*c8dee2aaSAndroid Build Coastguard Workercase_op if ($2 == 0) { LoopMask = true; $3 = false; } 45*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +3 (label 9 at #46) 46*c8dee2aaSAndroid Build Coastguard Workerbranch_if_all_lanes_active branch_if_all_lanes_active +19 (label 8 at #63) 47*c8dee2aaSAndroid Build Coastguard Workermask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 48*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000009 49*c8dee2aaSAndroid Build Coastguard Workercase_op if ($2 == 0x00000001) { LoopMask = true; $3 = false; } 50*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000A 51*c8dee2aaSAndroid Build Coastguard Workercase_op if ($2 == 0x00000002) { LoopMask = true; $3 = false; } 52*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000B 53*c8dee2aaSAndroid Build Coastguard Workercase_op if ($2 == 0x00000003) { LoopMask = true; $3 = false; } 54*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +5 (label 12 at #57) 55*c8dee2aaSAndroid Build Coastguard Workercopy_constant $4 = 0xFFFFFFFF 56*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked ok = Mask($4) 57*c8dee2aaSAndroid Build Coastguard Workerbranch_if_all_lanes_active branch_if_all_lanes_active +8 (label 8 at #63) 58*c8dee2aaSAndroid Build Coastguard Workermask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 59*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000C 60*c8dee2aaSAndroid Build Coastguard Workerreenable_loop_mask LoopMask |= $3 61*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +3 (label 13 at #62) 62*c8dee2aaSAndroid Build Coastguard Workerbranch_if_all_lanes_active branch_if_all_lanes_active +3 (label 8 at #63) 63*c8dee2aaSAndroid Build Coastguard Workermask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 64*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000D 65*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000008 66*c8dee2aaSAndroid Build Coastguard Workerload_loop_mask LoopMask = $1 67*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = ok 68*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000007 69*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $0 = Mask($1) 70*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000006 71*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $12 72*c8dee2aaSAndroid Build Coastguard Workerswizzle_4 $0..3 = ($0..3).xxxx 73*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $4..7 = colorRed 74*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $8..11 = colorGreen 75*c8dee2aaSAndroid Build Coastguard Workermix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 76*c8dee2aaSAndroid Build Coastguard Workerload_src src.rgba = $0..3 77