1123 instructions 2 3store_src_rg coords = src.rg 4init_lane_masks CondMask = LoopMask = RetMask = true 5store_condition_mask $12 = CondMask 6store_condition_mask $18 = CondMask 7store_condition_mask $21 = CondMask 8store_condition_mask $26 = CondMask 9copy_constant $29 = 0xFFFFFFFF 10branch_if_no_active_lanes_eq branch +15 (label 5 at #23) if no lanes of $29 == 0xFFFFFFFF 11branch_if_no_lanes_active branch_if_no_lanes_active +12 (label 7 at #21) 12copy_uniform $27 = unknownInput 13cmpeq_imm_float $27 = equal($27, 0x3F800000 (1.0)) 14branch_if_no_active_lanes_eq branch +4 (label 8 at #16) if no lanes of $27 == 0xFFFFFFFF 15copy_constant $28 = 0xFFFFFFFF 16copy_slot_masked [return_on_both_sides].result = Mask($28) 17jump jump +4 (label 9 at #19) 18label label 0x00000008 19copy_constant $28 = 0xFFFFFFFF 20copy_slot_masked [return_on_both_sides].result = Mask($28) 21label label 0x00000009 22copy_slot_unmasked $27 = [return_on_both_sides].result 23label label 0x00000007 24jump jump +3 (label 6 at #25) 25label label 0x00000005 26copy_constant $27 = 0 27label label 0x00000006 28copy_constant $22 = 0 29merge_condition_mask CondMask = $26 & $27 30branch_if_no_lanes_active branch_if_no_lanes_active +24 (label 4 at #52) 31store_return_mask $23 = RetMask 32copy_constant x = 0 33store_loop_mask $24 = LoopMask 34jump jump +8 (label 12 at #40) 35label label 0x0000000D 36copy_constant $25 = 0xFFFFFFFF 37copy_slot_masked [for_inside_body].result = Mask($25) 38mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 39copy_slot_unmasked $25 = x 40add_imm_int $25 += 0x00000001 41copy_slot_masked x = Mask($25) 42label label 0x0000000C 43copy_slot_unmasked $25 = x 44cmple_imm_int $25 = lessThanEqual($25, 0x0000000A) 45merge_loop_mask LoopMask &= $25 46stack_rewind 47branch_if_any_lanes_active branch_if_any_lanes_active -12 (label 13 at #33) 48label label 0x0000000B 49load_loop_mask LoopMask = $24 50load_return_mask RetMask = $23 51copy_slot_unmasked $23 = [for_inside_body].result 52label label 0x0000000A 53copy_slot_masked $22 = Mask($23) 54label label 0x00000004 55load_condition_mask CondMask = $26 56copy_constant $19 = 0 57merge_condition_mask CondMask = $21 & $22 58branch_if_no_lanes_active branch_if_no_lanes_active +13 (label 3 at #69) 59copy_constant x₁ = 0 60label label 0x00000010 61copy_slot_unmasked $20 = x₁ 62add_imm_int $20 += 0x00000001 63copy_slot_masked x₁ = Mask($20) 64cmple_imm_int $20 = lessThanEqual($20, 0x0000000A) 65stack_rewind 66branch_if_no_active_lanes_eq branch -6 (label 16 at #58) if no lanes of $20 == 0 67label label 0x0000000F 68copy_constant $20 = 0xFFFFFFFF 69label label 0x0000000E 70copy_slot_masked $19 = Mask($20) 71label label 0x00000003 72load_condition_mask CondMask = $21 73copy_constant $13 = 0 74merge_condition_mask CondMask = $18 & $19 75branch_if_no_lanes_active branch_if_no_lanes_active +33 (label 2 at #106) 76store_return_mask $14 = RetMask 77copy_constant x₂ = 0 78store_loop_mask $15 = LoopMask 79jump jump +17 (label 19 at #94) 80label label 0x00000014 81copy_uniform $16 = unknownInput 82cmpeq_imm_float $16 = equal($16, 0x3F800000 (1.0)) 83branch_if_no_active_lanes_eq branch +5 (label 21 at #86) if no lanes of $16 == 0xFFFFFFFF 84copy_constant $17 = 0xFFFFFFFF 85copy_slot_masked [for_with_double_sided_conditional_return].result = Mask($17) 86mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 87jump jump +5 (label 22 at #90) 88label label 0x00000015 89copy_constant $17 = 0xFFFFFFFF 90copy_slot_masked [for_with_double_sided_conditional_return].result = Mask($17) 91mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 92label label 0x00000016 93copy_slot_unmasked $16 = x₂ 94add_imm_int $16 += 0x00000001 95copy_slot_masked x₂ = Mask($16) 96label label 0x00000013 97copy_slot_unmasked $16 = x₂ 98cmple_imm_int $16 = lessThanEqual($16, 0x0000000A) 99merge_loop_mask LoopMask &= $16 100stack_rewind 101branch_if_any_lanes_active branch_if_any_lanes_active -21 (label 20 at #78) 102label label 0x00000012 103load_loop_mask LoopMask = $15 104load_return_mask RetMask = $14 105copy_slot_unmasked $14 = [for_with_double_sided_conditional_return].result 106label label 0x00000011 107copy_slot_masked $13 = Mask($14) 108label label 0x00000002 109load_condition_mask CondMask = $18 110copy_constant $0 = 0 111merge_condition_mask CondMask = $12 & $13 112branch_if_no_lanes_active branch_if_no_lanes_active +38 (label 1 at #148) 113copy_uniform $1 = unknownInput 114cmpeq_imm_float $1 = equal($1, 0x3F800000 (1.0)) 115branch_if_no_active_lanes_eq branch +4 (label 24 at #117) if no lanes of $1 == 0xFFFFFFFF 116copy_constant $2 = 0xFFFFFFFF 117copy_slot_masked [if_else_chain].result = Mask($2) 118jump jump +28 (label 25 at #144) 119label label 0x00000018 120copy_uniform $2 = unknownInput 121cmpeq_imm_float $2 = equal($2, 0x40000000 (2.0)) 122branch_if_no_active_lanes_eq branch +4 (label 26 at #124) if no lanes of $2 == 0xFFFFFFFF 123copy_constant $3 = 0 124copy_slot_masked [if_else_chain].result = Mask($3) 125jump jump +20 (label 27 at #143) 126label label 0x0000001A 127copy_uniform $3 = unknownInput 128cmpeq_imm_float $3 = equal($3, 0x40400000 (3.0)) 129branch_if_no_active_lanes_eq branch +4 (label 28 at #131) if no lanes of $3 == 0xFFFFFFFF 130copy_constant $4 = 0xFFFFFFFF 131copy_slot_masked [if_else_chain].result = Mask($4) 132jump jump +12 (label 29 at #142) 133label label 0x0000001C 134copy_uniform $4 = unknownInput 135cmpeq_imm_float $4 = equal($4, 0x40800000 (4.0)) 136branch_if_no_active_lanes_eq branch +4 (label 30 at #138) if no lanes of $4 == 0xFFFFFFFF 137copy_constant $5 = 0 138copy_slot_masked [if_else_chain].result = Mask($5) 139jump jump +4 (label 31 at #141) 140label label 0x0000001E 141copy_constant $5 = 0xFFFFFFFF 142copy_slot_masked [if_else_chain].result = Mask($5) 143label label 0x0000001F 144label label 0x0000001D 145label label 0x0000001B 146label label 0x00000019 147copy_slot_unmasked $1 = [if_else_chain].result 148label label 0x00000017 149copy_slot_masked $0 = Mask($1) 150label label 0x00000001 151load_condition_mask CondMask = $12 152swizzle_4 $0..3 = ($0..3).xxxx 153copy_4_uniforms $4..7 = colorRed 154copy_4_uniforms $8..11 = colorGreen 155mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 156load_src src.rgba = $0..3 157