| store_src_rg coords = src.rg |
| init_lane_masks CondMask = LoopMask = RetMask = true |
| store_condition_mask $12 = CondMask |
| store_condition_mask $20 = CondMask |
| store_condition_mask $28 = CondMask |
| store_condition_mask $36 = CondMask |
| store_condition_mask $42 = CondMask |
| store_condition_mask $49 = CondMask |
| store_condition_mask $56 = CondMask |
| store_condition_mask $60 = CondMask |
| store_condition_mask $64 = CondMask |
| store_condition_mask $69 = CondMask |
| store_condition_mask $74 = CondMask |
| branch_if_no_lanes_active branch_if_no_lanes_active +20 (label 12 at #34) |
| store_return_mask $75 = RetMask |
| store_loop_mask $76 = LoopMask |
| jump jump +5 (label 14 at #22) |
| label label 0x0000000F |
| copy_constant $77 = 0 |
| copy_slot_masked [inside_while_loop].result = Mask($77) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| label label 0x0000000E |
| copy_uniform $77 = unknownInput |
| cmpeq_imm_float $77 = equal($77, 0x42F60000 (123.0)) |
| merge_loop_mask LoopMask &= $77 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -9 (label 15 at #18) |
| label label 0x0000000D |
| load_loop_mask LoopMask = $76 |
| copy_constant $76 = 0xFFFFFFFF |
| copy_slot_masked [inside_while_loop].result = Mask($76) |
| load_return_mask RetMask = $75 |
| copy_slot_unmasked $75 = [inside_while_loop].result |
| label label 0x0000000C |
| copy_constant $70 = 0 |
| merge_condition_mask CondMask = $74 & $75 |
| branch_if_no_lanes_active branch_if_no_lanes_active +17 (label 11 at #54) |
| store_return_mask $71 = RetMask |
| store_loop_mask $72 = LoopMask |
| label label 0x00000012 |
| copy_constant $73 = 0xFFFFFFFF |
| copy_slot_masked [inside_infinite_do_loop].result = Mask($73) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| copy_constant $73 = 0xFFFFFFFF |
| merge_loop_mask LoopMask &= $73 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -7 (label 18 at #40) |
| label label 0x00000011 |
| load_loop_mask LoopMask = $72 |
| load_return_mask RetMask = $71 |
| copy_slot_unmasked $71 = [inside_infinite_do_loop].result |
| label label 0x00000010 |
| copy_slot_masked $70 = Mask($71) |
| label label 0x0000000B |
| load_condition_mask CondMask = $74 |
| copy_constant $65 = 0 |
| merge_condition_mask CondMask = $69 & $70 |
| branch_if_no_lanes_active branch_if_no_lanes_active +19 (label 10 at #77) |
| store_return_mask $66 = RetMask |
| store_loop_mask $67 = LoopMask |
| jump jump +5 (label 21 at #66) |
| label label 0x00000016 |
| copy_constant $68 = 0xFFFFFFFF |
| copy_slot_masked [inside_infinite_while_loop].result = Mask($68) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| label label 0x00000015 |
| copy_constant $68 = 0xFFFFFFFF |
| merge_loop_mask LoopMask &= $68 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -8 (label 22 at #62) |
| label label 0x00000014 |
| load_loop_mask LoopMask = $67 |
| load_return_mask RetMask = $66 |
| copy_slot_unmasked $66 = [inside_infinite_while_loop].result |
| label label 0x00000013 |
| copy_slot_masked $65 = Mask($66) |
| label label 0x0000000A |
| load_condition_mask CondMask = $69 |
| copy_constant $61 = 0 |
| merge_condition_mask CondMask = $64 & $65 |
| branch_if_no_lanes_active branch_if_no_lanes_active +14 (label 9 at #95) |
| store_loop_mask $62 = LoopMask |
| label label 0x00000019 |
| branch_if_all_lanes_active branch_if_all_lanes_active +6 (label 24 at #90) |
| mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) |
| copy_constant $63 = 0xFFFFFFFF |
| merge_loop_mask LoopMask &= $63 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -6 (label 25 at #83) |
| label label 0x00000018 |
| load_loop_mask LoopMask = $62 |
| copy_constant $62 = 0xFFFFFFFF |
| label label 0x00000017 |
| copy_slot_masked $61 = Mask($62) |
| label label 0x00000009 |
| load_condition_mask CondMask = $64 |
| copy_constant $57 = 0 |
| merge_condition_mask CondMask = $60 & $61 |
| branch_if_no_lanes_active branch_if_no_lanes_active +16 (label 8 at #115) |
| store_loop_mask $58 = LoopMask |
| jump jump +4 (label 28 at #105) |
| label label 0x0000001D |
| branch_if_all_lanes_active branch_if_all_lanes_active +7 (label 27 at #110) |
| mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) |
| label label 0x0000001C |
| copy_constant $59 = 0xFFFFFFFF |
| merge_loop_mask LoopMask &= $59 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -7 (label 29 at #102) |
| label label 0x0000001B |
| load_loop_mask LoopMask = $58 |
| copy_constant $58 = 0xFFFFFFFF |
| label label 0x0000001A |
| copy_slot_masked $57 = Mask($58) |
| label label 0x00000008 |
| load_condition_mask CondMask = $60 |
| copy_constant $50 = 0 |
| merge_condition_mask CondMask = $56 & $57 |
| branch_if_no_lanes_active branch_if_no_lanes_active +31 (label 7 at #150) |
| store_return_mask $51 = RetMask |
| store_loop_mask $52 = LoopMask |
| copy_uniform $53 = unknownInput |
| cast_to_int_from_float $53 = FloatToInt($53) |
| store_loop_mask $54 = LoopMask |
| mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) |
| case_op if ($53 == 0x00000001) { LoopMask = true; $54 = false; } |
| branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 32 at #131) |
| copy_constant $55 = 0xFFFFFFFF |
| copy_slot_masked [switch_with_all_returns].result = Mask($55) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| label label 0x00000020 |
| case_op if ($53 == 0x00000002) { LoopMask = true; $54 = false; } |
| branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 33 at #137) |
| copy_constant $55 = 0 |
| copy_slot_masked [switch_with_all_returns].result = Mask($55) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| label label 0x00000021 |
| reenable_loop_mask LoopMask |= $54 |
| branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 34 at #143) |
| copy_constant $54 = 0 |
| copy_slot_masked [switch_with_all_returns].result = Mask($54) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| label label 0x00000022 |
| label label 0x0000001F |
| load_loop_mask LoopMask = $52 |
| load_return_mask RetMask = $51 |
| copy_slot_unmasked $51 = [switch_with_all_returns].result |
| label label 0x0000001E |
| copy_slot_masked $50 = Mask($51) |
| label label 0x00000007 |
| load_condition_mask CondMask = $56 |
| copy_constant $43 = 0 |
| merge_condition_mask CondMask = $49 & $50 |
| branch_if_no_lanes_active branch_if_no_lanes_active +27 (label 6 at #181) |
| store_return_mask $44 = RetMask |
| store_loop_mask $45 = LoopMask |
| copy_uniform $46 = unknownInput |
| cast_to_int_from_float $46 = FloatToInt($46) |
| store_loop_mask $47 = LoopMask |
| mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) |
| case_op if ($46 == 0x00000001) { LoopMask = true; $47 = false; } |
| branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 37 at #166) |
| copy_constant $48 = 0xFFFFFFFF |
| copy_slot_masked [switch_fallthrough].result = Mask($48) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| label label 0x00000025 |
| case_op if ($46 == 0x00000002) { LoopMask = true; $47 = false; } |
| label label 0x00000026 |
| reenable_loop_mask LoopMask |= $47 |
| branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 39 at #174) |
| copy_constant $47 = 0 |
| copy_slot_masked [switch_fallthrough].result = Mask($47) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| label label 0x00000027 |
| label label 0x00000024 |
| load_loop_mask LoopMask = $45 |
| load_return_mask RetMask = $44 |
| copy_slot_unmasked $44 = [switch_fallthrough].result |
| label label 0x00000023 |
| copy_slot_masked $43 = Mask($44) |
| label label 0x00000006 |
| load_condition_mask CondMask = $49 |
| copy_constant $37 = 0 |
| merge_condition_mask CondMask = $42 & $43 |
| branch_if_no_lanes_active branch_if_no_lanes_active +23 (label 5 at #208) |
| store_return_mask $38 = RetMask |
| store_loop_mask $39 = LoopMask |
| copy_uniform $40 = unknownInput |
| cast_to_int_from_float $40 = FloatToInt($40) |
| store_loop_mask $41 = LoopMask |
| mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) |
| case_op if ($40 == 0x00000001) { LoopMask = true; $41 = false; } |
| label label 0x0000002A |
| case_op if ($40 == 0x00000002) { LoopMask = true; $41 = false; } |
| label label 0x0000002B |
| reenable_loop_mask LoopMask |= $41 |
| branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 44 at #201) |
| copy_constant $41 = 0xFFFFFFFF |
| copy_slot_masked [switch_fallthrough_twice].result = Mask($41) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| label label 0x0000002C |
| label label 0x00000029 |
| load_loop_mask LoopMask = $39 |
| load_return_mask RetMask = $38 |
| copy_slot_unmasked $38 = [switch_fallthrough_twice].result |
| label label 0x00000028 |
| copy_slot_masked $37 = Mask($38) |
| label label 0x00000005 |
| load_condition_mask CondMask = $42 |
| copy_constant $29 = 0 |
| merge_condition_mask CondMask = $36 & $37 |
| branch_if_no_lanes_active branch_if_no_lanes_active +39 (label 4 at #251) |
| store_return_mask $30 = RetMask |
| store_loop_mask $31 = LoopMask |
| copy_uniform $32 = unknownInput |
| cast_to_int_from_float $32 = FloatToInt($32) |
| store_loop_mask $33 = LoopMask |
| mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) |
| case_op if ($32 == 0x00000001) { LoopMask = true; $33 = false; } |
| branch_if_no_lanes_active branch_if_no_lanes_active +18 (label 47 at #238) |
| copy_constant x = 0 |
| store_loop_mask $34 = LoopMask |
| jump jump +7 (label 49 at #230) |
| label label 0x00000032 |
| branch_if_all_lanes_active branch_if_all_lanes_active +11 (label 48 at #236) |
| mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) |
| copy_slot_unmasked $35 = x |
| add_imm_int $35 += 0x00000001 |
| copy_slot_masked x = Mask($35) |
| label label 0x00000031 |
| copy_slot_unmasked $35 = x |
| cmple_imm_int $35 = lessThanEqual($35, 0x0000000A) |
| merge_loop_mask LoopMask &= $35 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -11 (label 50 at #224) |
| label label 0x00000030 |
| load_loop_mask LoopMask = $34 |
| label label 0x0000002F |
| reenable_loop_mask LoopMask |= $33 |
| branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 51 at #244) |
| copy_constant $33 = 0xFFFFFFFF |
| copy_slot_masked [switch_with_break_in_loop].result = Mask($33) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| label label 0x00000033 |
| label label 0x0000002E |
| load_loop_mask LoopMask = $31 |
| load_return_mask RetMask = $30 |
| copy_slot_unmasked $30 = [switch_with_break_in_loop].result |
| label label 0x0000002D |
| copy_slot_masked $29 = Mask($30) |
| label label 0x00000004 |
| load_condition_mask CondMask = $36 |
| copy_constant $21 = 0 |
| merge_condition_mask CondMask = $28 & $29 |
| branch_if_no_lanes_active branch_if_no_lanes_active +40 (label 3 at #295) |
| store_return_mask $22 = RetMask |
| store_loop_mask $23 = LoopMask |
| copy_uniform $24 = unknownInput |
| cast_to_int_from_float $24 = FloatToInt($24) |
| store_loop_mask $25 = LoopMask |
| mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) |
| case_op if ($24 == 0x00000001) { LoopMask = true; $25 = false; } |
| branch_if_no_lanes_active branch_if_no_lanes_active +19 (label 54 at #282) |
| copy_constant x₁ = 0 |
| store_loop_mask $26 = LoopMask |
| jump jump +8 (label 56 at #274) |
| label label 0x00000039 |
| copy_constant $36 = 0 |
| continue_op $36 |= Mask(0xFFFFFFFF); LoopMask &= ~(CondMask & LoopMask & RetMask) |
| reenable_loop_mask LoopMask |= $36 |
| copy_slot_unmasked $27 = x₁ |
| add_imm_int $27 += 0x00000001 |
| copy_slot_masked x₁ = Mask($27) |
| label label 0x00000038 |
| copy_slot_unmasked $27 = x₁ |
| cmple_imm_int $27 = lessThanEqual($27, 0x0000000A) |
| merge_loop_mask LoopMask &= $27 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -12 (label 57 at #267) |
| label label 0x00000037 |
| load_loop_mask LoopMask = $26 |
| label label 0x00000036 |
| reenable_loop_mask LoopMask |= $25 |
| branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 58 at #288) |
| copy_constant $25 = 0xFFFFFFFF |
| copy_slot_masked [switch_with_continue_in_loop].result = Mask($25) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| label label 0x0000003A |
| label label 0x00000035 |
| load_loop_mask LoopMask = $23 |
| load_return_mask RetMask = $22 |
| copy_slot_unmasked $22 = [switch_with_continue_in_loop].result |
| label label 0x00000034 |
| copy_slot_masked $21 = Mask($22) |
| label label 0x00000003 |
| load_condition_mask CondMask = $28 |
| copy_constant $13 = 0 |
| merge_condition_mask CondMask = $20 & $21 |
| branch_if_no_lanes_active branch_if_no_lanes_active +34 (label 2 at #333) |
| store_return_mask $14 = RetMask |
| store_loop_mask $15 = LoopMask |
| copy_uniform $16 = unknownInput |
| cast_to_int_from_float $16 = FloatToInt($16) |
| store_loop_mask $17 = LoopMask |
| mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) |
| case_op if ($16 == 0x00000001) { LoopMask = true; $17 = false; } |
| branch_if_no_lanes_active branch_if_no_lanes_active +13 (label 61 at #320) |
| copy_uniform $18 = unknownInput |
| cmpeq_imm_float $18 = equal($18, 0x42F60000 (123.0)) |
| branch_if_no_active_lanes_eq branch +5 (label 62 at #315) if no lanes of $18 == 0xFFFFFFFF |
| copy_constant $19 = 0 |
| copy_slot_masked [switch_with_if_that_returns].result = Mask($19) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| jump jump +5 (label 63 at #319) |
| label label 0x0000003E |
| copy_constant $19 = 0xFFFFFFFF |
| copy_slot_masked [switch_with_if_that_returns].result = Mask($19) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| label label 0x0000003F |
| label label 0x0000003D |
| reenable_loop_mask LoopMask |= $17 |
| branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 64 at #326) |
| copy_constant $17 = 0xFFFFFFFF |
| copy_slot_masked [switch_with_if_that_returns].result = Mask($17) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| label label 0x00000040 |
| label label 0x0000003C |
| load_loop_mask LoopMask = $15 |
| load_return_mask RetMask = $14 |
| copy_slot_unmasked $14 = [switch_with_if_that_returns].result |
| label label 0x0000003B |
| copy_slot_masked $13 = Mask($14) |
| label label 0x00000002 |
| load_condition_mask CondMask = $20 |
| copy_constant $0 = 0 |
| merge_condition_mask CondMask = $12 & $13 |
| branch_if_no_lanes_active branch_if_no_lanes_active +29 (label 1 at #366) |
| store_return_mask $1 = RetMask |
| store_loop_mask $2 = LoopMask |
| copy_uniform $3 = unknownInput |
| cast_to_int_from_float $3 = FloatToInt($3) |
| store_loop_mask $4 = LoopMask |
| mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) |
| case_op if ($3 == 0x00000001) { LoopMask = true; $4 = false; } |
| branch_if_no_lanes_active branch_if_no_lanes_active +8 (label 67 at #353) |
| copy_uniform $5 = unknownInput |
| cmpeq_imm_float $5 = equal($5, 0x42F60000 (123.0)) |
| branch_if_no_active_lanes_eq branch +4 (label 68 at #352) if no lanes of $5 == 0xFFFFFFFF |
| copy_constant $6 = 0 |
| copy_slot_masked [switch_with_one_sided_if_then_fallthrough].result = Mask($6) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| label label 0x00000044 |
| label label 0x00000043 |
| reenable_loop_mask LoopMask |= $4 |
| branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 70 at #359) |
| copy_constant $4 = 0xFFFFFFFF |
| copy_slot_masked [switch_with_one_sided_if_then_fallthrough].result = Mask($4) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| label label 0x00000046 |
| label label 0x00000042 |
| load_loop_mask LoopMask = $2 |
| load_return_mask RetMask = $1 |
| copy_slot_unmasked $1 = [switch_with_one_sided_if_then_fallthrough].result |
| label label 0x00000041 |
| 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 |