From a412c80b2468f4d8d512417ae9165bb0f828acd6 Mon Sep 17 00:00:00 2001 From: patrickvl Date: Fri, 23 Oct 2020 01:05:24 +0200 Subject: [PATCH] Fix how our current pixel shader conversion calculates the final combiner special purpose register 'sum' : it was accidentally multiplying instead of adding it's arguments! --- src/core/hle/D3D8/XbPixelShader.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/hle/D3D8/XbPixelShader.cpp b/src/core/hle/D3D8/XbPixelShader.cpp index 26cf966af..955a2a9bf 100644 --- a/src/core/hle/D3D8/XbPixelShader.cpp +++ b/src/core/hle/D3D8/XbPixelShader.cpp @@ -3925,8 +3925,8 @@ void PSH_XBOX_SHADER::ConvertXFCToNative(int i) if (NeedsSum) { - // Add a new opcode that calculates r0*v1 : - Ins.Initialize(PO_MUL); + // Add a new opcode that calculates r0+v1 : + Ins.Initialize(PO_ADD); Ins.Output[0].SetRegister(PARAM_T, FakeRegNr_Sum, MASK_RGBA); // 'r2' Ins.Parameters[0].SetRegister(PARAM_R, 0, MASK_RGB);