94 instructions store_src_rg xy = src.rg init_lane_masks CondMask = LoopMask = RetMask = true copy_constant scratchVar = 0 store_condition_mask $12 = CondMask store_condition_mask $17 = CondMask store_condition_mask $22 = CondMask branch_if_no_lanes_active branch_if_no_lanes_active +6 (label 4 at #13) store_return_mask $23 = RetMask copy_constant $24 = 0xFFFFFFFF copy_slot_masked [test_flat].result = Mask($24) load_return_mask RetMask = $23 copy_slot_unmasked $23 = [test_flat].result label label 0x00000004 copy_constant $18 = 0 merge_condition_mask CondMask = $22 & $23 branch_if_no_lanes_active branch_if_no_lanes_active +24 (label 3 at #40) store_return_mask $19 = RetMask copy_constant $20 = 0 copy_uniform $21 = colorGreen(1) cmplt_float $20 = lessThan($20, $21) branch_if_no_active_lanes_eq branch +5 (label 6 at #26) if no lanes of $20 == 0xFFFFFFFF copy_constant $21 = 0xFFFFFFFF copy_slot_masked [test_if].result = Mask($21) mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) jump jump +5 (label 7 at #30) label label 0x00000006 copy_slot_unmasked $21 = scratchVar add_imm_int $21 += 0x00000001 copy_slot_masked scratchVar = Mask($21) label label 0x00000007 copy_slot_unmasked $20 = scratchVar add_imm_int $20 += 0x00000001 copy_slot_masked scratchVar = Mask($20) copy_constant $20 = 0 copy_slot_masked [test_if].result = Mask($20) load_return_mask RetMask = $19 copy_slot_unmasked $19 = [test_if].result label label 0x00000005 copy_slot_masked $18 = Mask($19) label label 0x00000003 load_condition_mask CondMask = $22 copy_constant $13 = 0 merge_condition_mask CondMask = $17 & $18 branch_if_no_lanes_active branch_if_no_lanes_active +18 (label 2 at #62) store_return_mask $14 = RetMask copy_uniform $15 = colorGreen(1) cmpeq_imm_float $15 = equal($15, 0) branch_if_no_active_lanes_eq branch +5 (label 9 at #53) if no lanes of $15 == 0xFFFFFFFF copy_constant $16 = 0 copy_slot_masked [test_else].result = Mask($16) mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) jump jump +5 (label 10 at #57) label label 0x00000009 copy_constant $16 = 0xFFFFFFFF copy_slot_masked [test_else].result = Mask($16) mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) label label 0x0000000A load_return_mask RetMask = $14 copy_slot_unmasked $14 = [test_else].result label label 0x00000008 copy_slot_masked $13 = Mask($14) label label 0x00000002 load_condition_mask CondMask = $17 copy_constant $0 = 0 merge_condition_mask CondMask = $12 & $13 branch_if_no_lanes_active branch_if_no_lanes_active +38 (label 1 at #104) store_return_mask $1 = RetMask copy_constant x = 0 store_loop_mask $2 = LoopMask jump jump +17 (label 13 at #87) label label 0x0000000E copy_uniform $3 = colorGreen(1) cmpeq_imm_float $3 = equal($3, 0) branch_if_no_active_lanes_eq branch +5 (label 15 at #79) if no lanes of $3 == 0xFFFFFFFF copy_constant $4 = 0 copy_slot_masked [test_loop_if].result = Mask($4) mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) jump jump +5 (label 16 at #83) label label 0x0000000F copy_constant $4 = 0xFFFFFFFF copy_slot_masked [test_loop_if].result = Mask($4) mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) label label 0x00000010 copy_slot_unmasked $3 = x add_imm_int $3 += 0x00000001 copy_slot_masked x = Mask($3) label label 0x0000000D copy_slot_unmasked $3 = x cmple_imm_int $3 = lessThanEqual($3, 0x00000001) merge_loop_mask LoopMask &= $3 stack_rewind branch_if_any_lanes_active branch_if_any_lanes_active -21 (label 14 at #71) label label 0x0000000C load_loop_mask LoopMask = $2 copy_slot_unmasked $2 = scratchVar add_imm_int $2 += 0x00000001 copy_slot_masked scratchVar = Mask($2) copy_constant $2 = 0xFFFFFFFF copy_slot_masked [test_loop_if].result = Mask($2) load_return_mask RetMask = $1 copy_slot_unmasked $1 = [test_loop_if].result label label 0x0000000B 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