Sign-extend shader memory instruction offsets (#934)
This commit is contained in:
@ -17,7 +17,7 @@ namespace Ryujinx.Graphics.Shader.Decoders
|
||||
Rd = new Register(opCode.Extract(0, 8), RegisterType.Gpr);
|
||||
Ra = new Register(opCode.Extract(8, 8), RegisterType.Gpr);
|
||||
|
||||
Offset = opCode.Extract(22, 14);
|
||||
Offset = (opCode.Extract(20, 16) << 16) >> 16;
|
||||
Slot = opCode.Extract(36, 5);
|
||||
|
||||
Size = (IntegerSize)opCode.Extract(48, 3);
|
||||
|
@ -18,7 +18,7 @@ namespace Ryujinx.Graphics.Shader.Decoders
|
||||
Rd = new Register(opCode.Extract(0, 8), RegisterType.Gpr);
|
||||
Ra = new Register(opCode.Extract(8, 8), RegisterType.Gpr);
|
||||
|
||||
Offset = opCode.Extract(20, 24);
|
||||
Offset = (opCode.Extract(20, 24) << 8) >> 8;
|
||||
|
||||
Extended = opCode.Extract(45);
|
||||
|
||||
|
@ -24,7 +24,7 @@ namespace Ryujinx.Graphics.Shader.Decoders
|
||||
|
||||
AtomicOp = (AtomicOp)opCode.Extract(23, 3);
|
||||
|
||||
Offset = opCode.Extract(28, 20);
|
||||
Offset = (opCode.Extract(28, 20) << 12) >> 12;
|
||||
|
||||
Extended = opCode.Extract(48);
|
||||
}
|
||||
|
Reference in New Issue
Block a user