From faefcf8ec16b63536b59f423e4c4aff2986db9b6 Mon Sep 17 00:00:00 2001 From: kd-11 Date: Tue, 2 Aug 2016 23:54:19 +0300 Subject: [PATCH] rsx_decompiler: completely ignore src swizzle mask if disable_swizzle_as_dst is set --- rsx_decompiler/rsx_fp_decompiler.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rsx_decompiler/rsx_fp_decompiler.cpp b/rsx_decompiler/rsx_fp_decompiler.cpp index 96046aa..70a596a 100644 --- a/rsx_decompiler/rsx_fp_decompiler.cpp +++ b/rsx_decompiler/rsx_fp_decompiler.cpp @@ -522,11 +522,11 @@ namespace rsx for (std::pair channels : entry.second) { - src_swizzle += src.swizzle(flags & disable_swizzle_as_dst ? channels.second : channels.first).mask[0]; + src_swizzle += src.swizzle(channels.first).mask[0]; dst_swizzle += dest.swizzle(channels.second).mask[0]; } - float_point_expr<4> expression{ src.with_mask(src_swizzle) }; + float_point_expr<4> expression{ (flags & disable_swizzle_as_dst)? src: src.with_mask(src_swizzle) }; if (!instruction.data.dst.no_dest) {