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