61 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_ok = 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 == 0x00000002) { LoopMask = true; $2 = false; } branch_if_no_lanes_active branch_if_no_lanes_active +3 (label 1 at #15) branch_if_all_lanes_active branch_if_all_lanes_active +17 (label 0 at #30) mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) label label 0x00000001 case_op if ($1 == 0x00000001) { LoopMask = true; $2 = false; } label label 0x00000002 case_op if ($1 == 0) { LoopMask = true; $2 = false; } branch_if_no_lanes_active branch_if_no_lanes_active +5 (label 3 at #24) copy_constant $3 = 0xFFFFFFFF copy_slot_masked _0_ok = Mask($3) branch_if_all_lanes_active branch_if_all_lanes_active +8 (label 0 at #30) mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) label label 0x00000003 reenable_loop_mask LoopMask |= $2 branch_if_no_lanes_active branch_if_no_lanes_active +3 (label 4 at #29) branch_if_all_lanes_active branch_if_all_lanes_active +3 (label 0 at #30) mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) label label 0x00000004 label label 0 load_loop_mask LoopMask = $0 store_condition_mask $12 = CondMask copy_slot_unmasked $13 = _0_ok copy_constant $0 = 0 merge_condition_mask CondMask = $12 & $13 branch_if_no_lanes_active branch_if_no_lanes_active +32 (label 6 at #68) copy_constant ok = 0 store_loop_mask $1 = LoopMask copy_slot_unmasked $2 = x store_loop_mask $3 = LoopMask mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) case_op if ($2 == 0) { LoopMask = true; $3 = false; } branch_if_no_lanes_active branch_if_no_lanes_active +3 (label 9 at #46) branch_if_all_lanes_active branch_if_all_lanes_active +19 (label 8 at #63) mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) label label 0x00000009 case_op if ($2 == 0x00000001) { LoopMask = true; $3 = false; } label label 0x0000000A case_op if ($2 == 0x00000002) { LoopMask = true; $3 = false; } label label 0x0000000B case_op if ($2 == 0x00000003) { LoopMask = true; $3 = false; } branch_if_no_lanes_active branch_if_no_lanes_active +5 (label 12 at #57) copy_constant $4 = 0xFFFFFFFF copy_slot_masked ok = Mask($4) branch_if_all_lanes_active branch_if_all_lanes_active +8 (label 8 at #63) mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) label label 0x0000000C reenable_loop_mask LoopMask |= $3 branch_if_no_lanes_active branch_if_no_lanes_active +3 (label 13 at #62) branch_if_all_lanes_active branch_if_all_lanes_active +3 (label 8 at #63) mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) label label 0x0000000D label label 0x00000008 load_loop_mask LoopMask = $1 copy_slot_unmasked $1 = ok label label 0x00000007 copy_slot_masked $0 = Mask($1) label label 0x00000006 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