Add support for shader constant buffer slot indexing (#1608)
* Add support for shader constant buffer slot indexing * Fix typo
This commit is contained in:
parent
14fd9aa640
commit
b066cfc1a3
14 changed files with 207 additions and 66 deletions
10
Ryujinx.Graphics.Shader/Decoders/CbIndexMode.cs
Normal file
10
Ryujinx.Graphics.Shader/Decoders/CbIndexMode.cs
Normal file
|
@ -0,0 +1,10 @@
|
|||
namespace Ryujinx.Graphics.Shader.Decoders
|
||||
{
|
||||
enum CbIndexMode
|
||||
{
|
||||
Default = 0,
|
||||
Il = 1,
|
||||
Is = 2,
|
||||
Isl = 3
|
||||
}
|
||||
}
|
|
@ -10,6 +10,7 @@ namespace Ryujinx.Graphics.Shader.Decoders
|
|||
public int Offset { get; }
|
||||
public int Slot { get; }
|
||||
|
||||
public CbIndexMode IndexMode { get; }
|
||||
public IntegerSize Size { get; }
|
||||
|
||||
public OpCodeLdc(InstEmitter emitter, ulong address, long opCode) : base(emitter, address, opCode)
|
||||
|
@ -20,7 +21,8 @@ namespace Ryujinx.Graphics.Shader.Decoders
|
|||
Offset = (opCode.Extract(20, 16) << 16) >> 16;
|
||||
Slot = opCode.Extract(36, 5);
|
||||
|
||||
Size = (IntegerSize)opCode.Extract(48, 3);
|
||||
IndexMode = (CbIndexMode)opCode.Extract(44, 2);
|
||||
Size = (IntegerSize)opCode.Extract(48, 3);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue