summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/shader_recompiler/frontend/maxwell/translate/impl/half_floating_point_helper.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/shader_recompiler/frontend/maxwell/translate/impl/half_floating_point_helper.cpp b/src/shader_recompiler/frontend/maxwell/translate/impl/half_floating_point_helper.cpp
index d0c6ba1aa..0dbeb7f56 100644
--- a/src/shader_recompiler/frontend/maxwell/translate/impl/half_floating_point_helper.cpp
+++ b/src/shader_recompiler/frontend/maxwell/translate/impl/half_floating_point_helper.cpp
@@ -51,9 +51,9 @@ IR::U32 MergeResult(IR::IREmitter& ir, IR::Reg dest, const IR::F16& lhs, const I
51 case Merge::MRG_H0: 51 case Merge::MRG_H0:
52 case Merge::MRG_H1: { 52 case Merge::MRG_H1: {
53 const IR::Value vector{ir.UnpackFloat2x16(ir.GetReg(dest))}; 53 const IR::Value vector{ir.UnpackFloat2x16(ir.GetReg(dest))};
54 const bool h0{merge == Merge::MRG_H0}; 54 const bool is_h0{merge == Merge::MRG_H0};
55 const IR::F16& insert{h0 ? lhs : rhs}; 55 const IR::F16 insert{ir.FPConvert(16, is_h0 ? lhs : rhs)};
56 return ir.PackFloat2x16(ir.CompositeInsert(vector, insert, h0 ? 0 : 1)); 56 return ir.PackFloat2x16(ir.CompositeInsert(vector, insert, is_h0 ? 0 : 1));
57 } 57 }
58 } 58 }
59 throw InvalidArgument("Invalid merge {}", merge); 59 throw InvalidArgument("Invalid merge {}", merge);