Fix FADD32I check for Ra negation

This commit is contained in:
gdkchan 2020-01-06 18:48:21 -03:00 committed by Thog
parent e3c919f086
commit 6407729a1d

View file

@ -104,7 +104,11 @@ namespace Ryujinx.Graphics.Shader.Instructions
bool absoluteA = false, negateA = false; bool absoluteA = false, negateA = false;
if (isAdd || op is IOpCodeCbuf || op is IOpCodeImm) if (op is OpCodeAluImm32 && isAdd)
{
negateA = op.RawOpCode.Extract(56);
}
else if (isAdd || op is IOpCodeCbuf || op is IOpCodeImm)
{ {
negateA = op.RawOpCode.Extract(43); negateA = op.RawOpCode.Extract(43);
absoluteA = op.RawOpCode.Extract(44); absoluteA = op.RawOpCode.Extract(44);
@ -113,10 +117,6 @@ namespace Ryujinx.Graphics.Shader.Instructions
{ {
absoluteA = op.RawOpCode.Extract(44); absoluteA = op.RawOpCode.Extract(44);
} }
else if (op is OpCodeAluImm32 && isAdd)
{
negateA = op.RawOpCode.Extract(56);
}
FPHalfSwizzle swizzle = (FPHalfSwizzle)op.RawOpCode.Extract(47, 2); FPHalfSwizzle swizzle = (FPHalfSwizzle)op.RawOpCode.Extract(47, 2);