123 instructions store_src_rg coords = src.rg init_lane_masks CondMask = LoopMask = RetMask = true store_condition_mask $12 = CondMask store_condition_mask $18 = CondMask store_condition_mask $21 = CondMask store_condition_mask $26 = CondMask copy_constant $29 = 0xFFFFFFFF branch_if_no_active_lanes_eq branch +15 (label 5 at #23) if no lanes of $29 == 0xFFFFFFFF branch_if_no_lanes_active branch_if_no_lanes_active +12 (label 7 at #21) copy_uniform $27 = unknownInput cmpeq_imm_float $27 = equal($27, 0x3F800000 (1.0)) branch_if_no_active_lanes_eq branch +4 (label 8 at #16) if no lanes of $27 == 0xFFFFFFFF copy_constant $28 = 0xFFFFFFFF copy_slot_masked [return_on_both_sides].result = Mask($28) jump jump +4 (label 9 at #19) label label 0x00000008 copy_constant $28 = 0xFFFFFFFF copy_slot_masked [return_on_both_sides].result = Mask($28) label label 0x00000009 copy_slot_unmasked $27 = [return_on_both_sides].result label label 0x00000007 jump jump +3 (label 6 at #25) label label 0x00000005 copy_constant $27 = 0 label label 0x00000006 copy_constant $22 = 0 merge_condition_mask CondMask = $26 & $27 branch_if_no_lanes_active branch_if_no_lanes_active +24 (label 4 at #52) store_return_mask $23 = RetMask copy_constant x = 0 store_loop_mask $24 = LoopMask jump jump +8 (label 12 at #40) label label 0x0000000D copy_constant $25 = 0xFFFFFFFF copy_slot_masked [for_inside_body].result = Mask($25) mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) copy_slot_unmasked $25 = x add_imm_int $25 += 0x00000001 copy_slot_masked x = Mask($25) label label 0x0000000C copy_slot_unmasked $25 = x cmple_imm_int $25 = lessThanEqual($25, 0x0000000A) merge_loop_mask LoopMask &= $25 stack_rewind branch_if_any_lanes_active branch_if_any_lanes_active -12 (label 13 at #33) label label 0x0000000B load_loop_mask LoopMask = $24 load_return_mask RetMask = $23 copy_slot_unmasked $23 = [for_inside_body].result label label 0x0000000A copy_slot_masked $22 = Mask($23) label label 0x00000004 load_condition_mask CondMask = $26 copy_constant $19 = 0 merge_condition_mask CondMask = $21 & $22 branch_if_no_lanes_active branch_if_no_lanes_active +13 (label 3 at #69) copy_constant x₁ = 0 label label 0x00000010 copy_slot_unmasked $20 = x₁ add_imm_int $20 += 0x00000001 copy_slot_masked x₁ = Mask($20) cmple_imm_int $20 = lessThanEqual($20, 0x0000000A) stack_rewind branch_if_no_active_lanes_eq branch -6 (label 16 at #58) if no lanes of $20 == 0 label label 0x0000000F copy_constant $20 = 0xFFFFFFFF label label 0x0000000E copy_slot_masked $19 = Mask($20) label label 0x00000003 load_condition_mask CondMask = $21 copy_constant $13 = 0 merge_condition_mask CondMask = $18 & $19 branch_if_no_lanes_active branch_if_no_lanes_active +33 (label 2 at #106) store_return_mask $14 = RetMask copy_constant x₂ = 0 store_loop_mask $15 = LoopMask jump jump +17 (label 19 at #94) label label 0x00000014 copy_uniform $16 = unknownInput cmpeq_imm_float $16 = equal($16, 0x3F800000 (1.0)) branch_if_no_active_lanes_eq branch +5 (label 21 at #86) if no lanes of $16 == 0xFFFFFFFF copy_constant $17 = 0xFFFFFFFF copy_slot_masked [for_with_double_sided_conditional_return].result = Mask($17) mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) jump jump +5 (label 22 at #90) label label 0x00000015 copy_constant $17 = 0xFFFFFFFF copy_slot_masked [for_with_double_sided_conditional_return].result = Mask($17) mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) label label 0x00000016 copy_slot_unmasked $16 = x₂ add_imm_int $16 += 0x00000001 copy_slot_masked x₂ = Mask($16) label label 0x00000013 copy_slot_unmasked $16 = x₂ cmple_imm_int $16 = lessThanEqual($16, 0x0000000A) merge_loop_mask LoopMask &= $16 stack_rewind branch_if_any_lanes_active branch_if_any_lanes_active -21 (label 20 at #78) label label 0x00000012 load_loop_mask LoopMask = $15 load_return_mask RetMask = $14 copy_slot_unmasked $14 = [for_with_double_sided_conditional_return].result label label 0x00000011 copy_slot_masked $13 = Mask($14) label label 0x00000002 load_condition_mask CondMask = $18 copy_constant $0 = 0 merge_condition_mask CondMask = $12 & $13 branch_if_no_lanes_active branch_if_no_lanes_active +38 (label 1 at #148) copy_uniform $1 = unknownInput cmpeq_imm_float $1 = equal($1, 0x3F800000 (1.0)) branch_if_no_active_lanes_eq branch +4 (label 24 at #117) if no lanes of $1 == 0xFFFFFFFF copy_constant $2 = 0xFFFFFFFF copy_slot_masked [if_else_chain].result = Mask($2) jump jump +28 (label 25 at #144) label label 0x00000018 copy_uniform $2 = unknownInput cmpeq_imm_float $2 = equal($2, 0x40000000 (2.0)) branch_if_no_active_lanes_eq branch +4 (label 26 at #124) if no lanes of $2 == 0xFFFFFFFF copy_constant $3 = 0 copy_slot_masked [if_else_chain].result = Mask($3) jump jump +20 (label 27 at #143) label label 0x0000001A copy_uniform $3 = unknownInput cmpeq_imm_float $3 = equal($3, 0x40400000 (3.0)) branch_if_no_active_lanes_eq branch +4 (label 28 at #131) if no lanes of $3 == 0xFFFFFFFF copy_constant $4 = 0xFFFFFFFF copy_slot_masked [if_else_chain].result = Mask($4) jump jump +12 (label 29 at #142) label label 0x0000001C copy_uniform $4 = unknownInput cmpeq_imm_float $4 = equal($4, 0x40800000 (4.0)) branch_if_no_active_lanes_eq branch +4 (label 30 at #138) if no lanes of $4 == 0xFFFFFFFF copy_constant $5 = 0 copy_slot_masked [if_else_chain].result = Mask($5) jump jump +4 (label 31 at #141) label label 0x0000001E copy_constant $5 = 0xFFFFFFFF copy_slot_masked [if_else_chain].result = Mask($5) label label 0x0000001F label label 0x0000001D label label 0x0000001B label label 0x00000019 copy_slot_unmasked $1 = [if_else_chain].result label label 0x00000017 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