|
@@ -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);
|
|
|
|
|
|