| 157 instructions |
| |
| store_src_rg xy = src.rg |
| init_lane_masks CondMask = LoopMask = RetMask = true |
| store_condition_mask $12 = CondMask |
| store_condition_mask $15 = CondMask |
| store_condition_mask $21 = CondMask |
| store_condition_mask $26 = CondMask |
| store_condition_mask $32 = CondMask |
| store_condition_mask $36 = CondMask |
| store_condition_mask $40 = CondMask |
| branch_if_no_lanes_active branch_if_no_lanes_active +15 (label 8 at #25) |
| store_return_mask $41 = RetMask |
| store_loop_mask $42 = LoopMask |
| label label 0x0000000A |
| copy_constant $43 = 0xFFFFFFFF |
| copy_slot_masked [test_return].result = Mask($43) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| copy_constant $43 = 0 |
| merge_loop_mask LoopMask &= $43 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -7 (label 10 at #13) |
| label label 0x00000009 |
| load_loop_mask LoopMask = $42 |
| load_return_mask RetMask = $41 |
| copy_slot_unmasked $41 = [test_return].result |
| label label 0x00000008 |
| copy_constant $37 = 0 |
| merge_condition_mask CondMask = $40 & $41 |
| branch_if_no_lanes_active branch_if_no_lanes_active +14 (label 7 at #42) |
| store_loop_mask $38 = LoopMask |
| label label 0x0000000D |
| branch_if_all_lanes_active branch_if_all_lanes_active +6 (label 12 at #37) |
| mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) |
| copy_constant $39 = 0 |
| merge_loop_mask LoopMask &= $39 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -6 (label 13 at #30) |
| label label 0x0000000C |
| load_loop_mask LoopMask = $38 |
| copy_constant $38 = 0xFFFFFFFF |
| label label 0x0000000B |
| copy_slot_masked $37 = Mask($38) |
| label label 0x00000007 |
| load_condition_mask CondMask = $40 |
| copy_constant $33 = 0 |
| merge_condition_mask CondMask = $36 & $37 |
| branch_if_no_lanes_active branch_if_no_lanes_active +15 (label 6 at #61) |
| store_loop_mask $34 = LoopMask |
| label label 0x00000010 |
| copy_constant $40 = 0 |
| continue_op $40 |= Mask(0xFFFFFFFF); LoopMask &= ~(CondMask & LoopMask & RetMask) |
| reenable_loop_mask LoopMask |= $40 |
| copy_constant $35 = 0 |
| merge_loop_mask LoopMask &= $35 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -7 (label 16 at #48) |
| label label 0x0000000F |
| load_loop_mask LoopMask = $34 |
| copy_constant $34 = 0xFFFFFFFF |
| label label 0x0000000E |
| copy_slot_masked $33 = Mask($34) |
| label label 0x00000006 |
| load_condition_mask CondMask = $36 |
| copy_constant $27 = 0 |
| merge_condition_mask CondMask = $32 & $33 |
| branch_if_no_lanes_active branch_if_no_lanes_active +31 (label 5 at #96) |
| store_return_mask $28 = RetMask |
| store_loop_mask $29 = LoopMask |
| label label 0x00000013 |
| copy_constant $36 = 0 |
| copy_constant $30 = 0 |
| copy_uniform $31 = colorGreen(1) |
| cmplt_float $30 = lessThan($30, $31) |
| branch_if_no_active_lanes_eq branch +5 (label 20 at #78) if no lanes of $30 == 0xFFFFFFFF |
| copy_constant $31 = 0xFFFFFFFF |
| copy_slot_masked [test_if_return].result = Mask($31) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| jump jump +4 (label 21 at #81) |
| label label 0x00000014 |
| branch_if_all_lanes_active branch_if_all_lanes_active +9 (label 18 at #88) |
| mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) |
| label label 0x00000015 |
| continue_op $36 |= Mask(0xFFFFFFFF); LoopMask &= ~(CondMask & LoopMask & RetMask) |
| reenable_loop_mask LoopMask |= $36 |
| copy_constant $30 = 0 |
| merge_loop_mask LoopMask &= $30 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -19 (label 19 at #68) |
| label label 0x00000012 |
| load_loop_mask LoopMask = $29 |
| copy_constant $29 = 0 |
| copy_slot_masked [test_if_return].result = Mask($29) |
| load_return_mask RetMask = $28 |
| copy_slot_unmasked $28 = [test_if_return].result |
| label label 0x00000011 |
| copy_slot_masked $27 = Mask($28) |
| label label 0x00000005 |
| load_condition_mask CondMask = $32 |
| copy_constant $22 = 0 |
| merge_condition_mask CondMask = $26 & $27 |
| branch_if_no_lanes_active branch_if_no_lanes_active +24 (label 4 at #124) |
| store_loop_mask $23 = LoopMask |
| label label 0x00000018 |
| copy_constant $32 = 0 |
| copy_constant $24 = 0 |
| copy_uniform $25 = colorGreen(1) |
| cmplt_float $24 = lessThan($24, $25) |
| branch_if_no_active_lanes_eq branch +4 (label 25 at #111) if no lanes of $24 == 0xFFFFFFFF |
| branch_if_all_lanes_active branch_if_all_lanes_active +11 (label 23 at #119) |
| mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) |
| jump jump +3 (label 26 at #113) |
| label label 0x00000019 |
| continue_op $32 |= Mask(0xFFFFFFFF); LoopMask &= ~(CondMask & LoopMask & RetMask) |
| label label 0x0000001A |
| reenable_loop_mask LoopMask |= $32 |
| copy_constant $24 = 0 |
| merge_loop_mask LoopMask &= $24 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -16 (label 24 at #102) |
| label label 0x00000017 |
| load_loop_mask LoopMask = $23 |
| copy_constant $23 = 0xFFFFFFFF |
| label label 0x00000016 |
| copy_slot_masked $22 = Mask($23) |
| label label 0x00000004 |
| load_condition_mask CondMask = $26 |
| copy_constant $16 = 0 |
| merge_condition_mask CondMask = $21 & $22 |
| branch_if_no_lanes_active branch_if_no_lanes_active +26 (label 3 at #154) |
| store_return_mask $17 = RetMask |
| store_loop_mask $18 = LoopMask |
| label label 0x0000001D |
| copy_uniform $19 = colorGreen(1) |
| cmpeq_imm_float $19 = equal($19, 0) |
| branch_if_no_active_lanes_eq branch +5 (label 30 at #139) if no lanes of $19 == 0xFFFFFFFF |
| copy_constant $20 = 0 |
| copy_slot_masked [test_else].result = Mask($20) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| jump jump +5 (label 31 at #143) |
| label label 0x0000001E |
| copy_constant $20 = 0xFFFFFFFF |
| copy_slot_masked [test_else].result = Mask($20) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| label label 0x0000001F |
| copy_constant $19 = 0 |
| merge_loop_mask LoopMask &= $19 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -16 (label 29 at #131) |
| label label 0x0000001C |
| load_loop_mask LoopMask = $18 |
| load_return_mask RetMask = $17 |
| copy_slot_unmasked $17 = [test_else].result |
| label label 0x0000001B |
| copy_slot_masked $16 = Mask($17) |
| label label 0x00000003 |
| load_condition_mask CondMask = $21 |
| copy_constant $13 = 0 |
| merge_condition_mask CondMask = $15 & $16 |
| branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 2 at #162) |
| copy_constant $14 = 0xFFFFFFFF |
| label label 0x00000020 |
| copy_slot_masked $13 = Mask($14) |
| label label 0x00000002 |
| load_condition_mask CondMask = $15 |
| copy_constant $0 = 0 |
| merge_condition_mask CondMask = $12 & $13 |
| branch_if_no_lanes_active branch_if_no_lanes_active +21 (label 1 at #187) |
| copy_constant x = 0 |
| store_loop_mask $1 = LoopMask |
| jump jump +7 (label 35 at #176) |
| label label 0x00000024 |
| branch_if_all_lanes_active branch_if_all_lanes_active +11 (label 34 at #182) |
| mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) |
| copy_slot_unmasked $2 = x |
| add_imm_int $2 += 0x00000001 |
| copy_slot_masked x = Mask($2) |
| label label 0x00000023 |
| copy_slot_unmasked $2 = x |
| cmple_imm_int $2 = lessThanEqual($2, 0x00000001) |
| merge_loop_mask LoopMask &= $2 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -11 (label 36 at #170) |
| label label 0x00000022 |
| load_loop_mask LoopMask = $1 |
| copy_constant $1 = 0xFFFFFFFF |
| label label 0x00000021 |
| copy_slot_masked $0 = Mask($1) |
| label label 0x00000001 |
| load_condition_mask CondMask = $12 |
| swizzle_4 $0..3 = ($0..3).xxxx |
| copy_4_uniforms $4..7 = colorRed |
| copy_4_uniforms $8..11 = colorGreen |
| mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) |
| load_src src.rgba = $0..3 |