| 127 instructions |
| |
| store_src_rg coords = src.rg |
| init_lane_masks CondMask = LoopMask = RetMask = true |
| copy_uniform $0 = colorGreen(1) |
| cast_to_int_from_float $0 = FloatToInt($0) |
| copy_slot_unmasked x = $0 |
| copy_constant _0_val = 0 |
| store_loop_mask $0 = LoopMask |
| copy_slot_unmasked $1 = x |
| store_loop_mask $2 = LoopMask |
| mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) |
| case_op if ($1 == 0x00000001) { LoopMask = true; $2 = false; } |
| branch_if_no_lanes_active branch_if_no_lanes_active +21 (label 1 at #33) |
| copy_constant _1_i = 0 |
| store_loop_mask $3 = LoopMask |
| jump jump +10 (label 3 at #25) |
| label label 0x00000004 |
| copy_slot_unmasked $4 = _0_val |
| add_imm_int $4 += 0x00000001 |
| copy_slot_masked _0_val = Mask($4) |
| branch_if_all_lanes_active branch_if_all_lanes_active +11 (label 2 at #31) |
| mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) |
| copy_slot_unmasked $4 = _1_i |
| add_imm_int $4 += 0x00000001 |
| copy_slot_masked _1_i = Mask($4) |
| label label 0x00000003 |
| copy_slot_unmasked $4 = _1_i |
| cmplt_imm_int $4 = lessThan($4, 0x0000000A) |
| merge_loop_mask LoopMask &= $4 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -14 (label 4 at #16) |
| label label 0x00000002 |
| load_loop_mask LoopMask = $3 |
| label label 0x00000001 |
| reenable_loop_mask LoopMask |= $2 |
| branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 5 at #39) |
| copy_slot_unmasked $2 = _0_val |
| add_imm_int $2 += 0x00000001 |
| copy_slot_masked _0_val = Mask($2) |
| label label 0x00000005 |
| label label 0 |
| load_loop_mask LoopMask = $0 |
| store_condition_mask $12 = CondMask |
| store_condition_mask $19 = CondMask |
| copy_slot_unmasked $20 = _0_val |
| cmpeq_imm_int $20 = equal($20, 0x00000002) |
| copy_constant $13 = 0 |
| merge_condition_mask CondMask = $19 & $20 |
| branch_if_no_lanes_active branch_if_no_lanes_active +43 (label 8 at #91) |
| copy_slot_unmasked x₁ = x |
| copy_constant val = 0 |
| store_loop_mask $14 = LoopMask |
| copy_slot_unmasked $15 = x₁ |
| store_loop_mask $16 = LoopMask |
| mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) |
| case_op if ($15 == 0x00000001) { LoopMask = true; $16 = false; } |
| branch_if_no_lanes_active branch_if_no_lanes_active +22 (label 11 at #78) |
| copy_constant i = 0 |
| store_loop_mask $17 = LoopMask |
| jump jump +11 (label 13 at #70) |
| label label 0x0000000E |
| copy_constant $21 = 0 |
| copy_slot_unmasked $18 = val |
| add_imm_int $18 += 0x00000001 |
| copy_slot_masked val = Mask($18) |
| continue_op $21 |= Mask(0xFFFFFFFF); LoopMask &= ~(CondMask & LoopMask & RetMask) |
| reenable_loop_mask LoopMask |= $21 |
| copy_slot_unmasked $18 = i |
| add_imm_int $18 += 0x00000001 |
| copy_slot_masked i = Mask($18) |
| label label 0x0000000D |
| copy_slot_unmasked $18 = i |
| cmplt_imm_int $18 = lessThan($18, 0x0000000A) |
| merge_loop_mask LoopMask &= $18 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -15 (label 14 at #60) |
| label label 0x0000000C |
| load_loop_mask LoopMask = $17 |
| label label 0x0000000B |
| reenable_loop_mask LoopMask |= $16 |
| branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 15 at #84) |
| copy_slot_unmasked $16 = val |
| add_imm_int $16 += 0x00000001 |
| copy_slot_masked val = Mask($16) |
| label label 0x0000000F |
| label label 0x0000000A |
| load_loop_mask LoopMask = $14 |
| copy_slot_unmasked $14 = val |
| cmpeq_imm_int $14 = equal($14, 0x0000000B) |
| label label 0x00000009 |
| copy_slot_masked $13 = Mask($14) |
| label label 0x00000008 |
| load_condition_mask CondMask = $19 |
| copy_constant $0 = 0 |
| merge_condition_mask CondMask = $12 & $13 |
| branch_if_no_lanes_active branch_if_no_lanes_active +48 (label 7 at #143) |
| copy_slot_unmasked x₂ = x |
| store_return_mask $1 = RetMask |
| splat_2_constants val₁, i₁ = 0 |
| store_loop_mask $2 = LoopMask |
| jump jump +28 (label 18 at #128) |
| label label 0x00000013 |
| store_loop_mask $3 = LoopMask |
| copy_slot_unmasked $4 = x₂ |
| store_loop_mask $5 = LoopMask |
| mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) |
| case_op if ($4 == 0x00000001) { LoopMask = true; $5 = false; } |
| branch_if_no_lanes_active branch_if_no_lanes_active +6 (label 21 at #113) |
| copy_slot_unmasked $6 = val₁ |
| add_imm_int $6 += 0x00000001 |
| copy_slot_masked val₁ = Mask($6) |
| branch_if_all_lanes_active branch_if_all_lanes_active +9 (label 20 at #120) |
| mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) |
| label label 0x00000015 |
| reenable_loop_mask LoopMask |= $5 |
| branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 22 at #119) |
| copy_constant $5 = 0 |
| copy_slot_masked [loop_with_break_in_switch].result = Mask($5) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| label label 0x00000016 |
| label label 0x00000014 |
| load_loop_mask LoopMask = $3 |
| copy_slot_unmasked $3 = val₁ |
| add_imm_int $3 += 0x00000001 |
| copy_slot_masked val₁ = Mask($3) |
| copy_slot_unmasked $3 = i₁ |
| add_imm_int $3 += 0x00000001 |
| copy_slot_masked i₁ = Mask($3) |
| label label 0x00000012 |
| copy_slot_unmasked $3 = i₁ |
| cmplt_imm_int $3 = lessThan($3, 0x0000000A) |
| merge_loop_mask LoopMask &= $3 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -32 (label 19 at #101) |
| label label 0x00000011 |
| load_loop_mask LoopMask = $2 |
| copy_slot_unmasked $2 = val₁ |
| cmpeq_imm_int $2 = equal($2, 0x00000014) |
| copy_slot_masked [loop_with_break_in_switch].result = Mask($2) |
| load_return_mask RetMask = $1 |
| copy_slot_unmasked $1 = [loop_with_break_in_switch].result |
| label label 0x00000010 |
| copy_slot_masked $0 = Mask($1) |
| label label 0x00000007 |
| 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 |