Fixup Ssy instruction
This commit is contained in:
parent
e85a6a1e17
commit
da87040d58
2 changed files with 9 additions and 2 deletions
|
@ -39,8 +39,15 @@ namespace Ryujinx.Graphics.Gal.Shader
|
|||
Block.AddNode(GetPredNode(new ShaderIrOp(ShaderIrInst.Kil), OpCode));
|
||||
}
|
||||
|
||||
public static void Ssy_I(ShaderIrBlock Block, long OpCode, long Position)
|
||||
public static void Ssy(ShaderIrBlock Block, long OpCode, long Position)
|
||||
{
|
||||
if ((OpCode & 0x20) != 0)
|
||||
{
|
||||
//This reads the target offset from the constant buffer.
|
||||
//Almost impossible to support with GLSL.
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
int Offset = ((int)(OpCode >> 20) << 8) >> 8;
|
||||
|
||||
int Target = (int)(Position + Offset);
|
||||
|
|
|
@ -112,7 +112,7 @@ namespace Ryujinx.Graphics.Gal.Shader
|
|||
Set("0100110000101x", ShaderDecode.Shr_C);
|
||||
Set("0011100x00101x", ShaderDecode.Shr_I);
|
||||
Set("0101110000101x", ShaderDecode.Shr_R);
|
||||
Set("1110001010010x", ShaderDecode.Ssy_I);
|
||||
Set("1110001010010x", ShaderDecode.Ssy);
|
||||
Set("1110111111110x", ShaderDecode.St_A);
|
||||
Set("1111000011111x", ShaderDecode.Sync);
|
||||
Set("110000xxxx111x", ShaderDecode.Tex);
|
||||
|
|
Loading…
Add table
Reference in a new issue