Move GPU emulation from Ryujinx.HLE to Ryujinx.Graphics and misc changes (#402)
* Move GPU LLE emulation from HLE to Graphics * Graphics: Move Gal/Texture to Texture * Remove Engines/ directory and namespace * Use tables for image formats * Abstract OpCode decoding * Simplify image table * Do not leak Read* symbols in TextureReader * Fixups * Rename IGalFrameBuffer -> IGalRenderTarget * Remove MaxBpp hardcoded value * Change yet again texture data and add G8R8 flipping * Rename GalFrameBufferFormat to GalSurfaceFormat * Unident EnsureSetup in ImageHandler * Add IsCompressed * Address some feedback
This commit is contained in:
parent
a0c78f7920
commit
ce1d5be212
58 changed files with 3378 additions and 3448 deletions
|
@ -7,20 +7,20 @@ namespace Ryujinx.Graphics.Gal.Shader
|
|||
public static void Out_R(ShaderIrBlock Block, long OpCode, long Position)
|
||||
{
|
||||
//TODO: Those registers have to be used for something
|
||||
ShaderIrOperGpr Gpr0 = GetOperGpr0(OpCode);
|
||||
ShaderIrOperGpr Gpr8 = GetOperGpr8(OpCode);
|
||||
ShaderIrOperGpr Gpr20 = GetOperGpr20(OpCode);
|
||||
ShaderIrOperGpr Gpr0 = OpCode.Gpr0();
|
||||
ShaderIrOperGpr Gpr8 = OpCode.Gpr8();
|
||||
ShaderIrOperGpr Gpr20 = OpCode.Gpr20();
|
||||
|
||||
int Type = (int)((OpCode >> 39) & 3);
|
||||
int Type = OpCode.Read(39, 3);
|
||||
|
||||
if ((Type & 1) != 0)
|
||||
{
|
||||
Block.AddNode(GetPredNode(new ShaderIrOp(ShaderIrInst.Emit), OpCode));
|
||||
Block.AddNode(OpCode.PredNode(new ShaderIrOp(ShaderIrInst.Emit)));
|
||||
}
|
||||
|
||||
if ((Type & 2) != 0)
|
||||
{
|
||||
Block.AddNode(GetPredNode(new ShaderIrOp(ShaderIrInst.Cut), OpCode));
|
||||
Block.AddNode(OpCode.PredNode(new ShaderIrOp(ShaderIrInst.Cut)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue