Implement BFI, BRK, FLO, FSWZADD, PBK, SHFL and TXD shader instructions, misc. fixes
This commit is contained in:
parent
d786d8d2b9
commit
278a4c317c
38 changed files with 972 additions and 166 deletions
|
@ -7,6 +7,7 @@ namespace Ryujinx.Graphics.Shader.IntermediateRepresentation
|
|||
{
|
||||
Absolute = 1,
|
||||
Add,
|
||||
BitCount,
|
||||
BitfieldExtractS32,
|
||||
BitfieldExtractU32,
|
||||
BitfieldInsert,
|
||||
|
@ -38,11 +39,15 @@ namespace Ryujinx.Graphics.Shader.IntermediateRepresentation
|
|||
ConvertU32ToFP,
|
||||
Copy,
|
||||
Cosine,
|
||||
Ddx,
|
||||
Ddy,
|
||||
Discard,
|
||||
Divide,
|
||||
EmitVertex,
|
||||
EndPrimitive,
|
||||
ExponentB2,
|
||||
FindFirstSetS32,
|
||||
FindFirstSetU32,
|
||||
Floor,
|
||||
FusedMultiplyAdd,
|
||||
ImageLoad,
|
||||
|
@ -75,12 +80,17 @@ namespace Ryujinx.Graphics.Shader.IntermediateRepresentation
|
|||
ShiftLeft,
|
||||
ShiftRightS32,
|
||||
ShiftRightU32,
|
||||
Shuffle,
|
||||
ShuffleDown,
|
||||
ShuffleUp,
|
||||
ShuffleXor,
|
||||
Sine,
|
||||
SquareRoot,
|
||||
StoreGlobal,
|
||||
StoreLocal,
|
||||
StoreStorage,
|
||||
Subtract,
|
||||
SwizzleAdd,
|
||||
TextureSample,
|
||||
TextureSize,
|
||||
Truncate,
|
||||
|
|
|
@ -80,7 +80,12 @@ namespace Ryujinx.Graphics.Shader.IntermediateRepresentation
|
|||
|
||||
public void TurnIntoCopy(Operand source)
|
||||
{
|
||||
Inst = Instruction.Copy;
|
||||
TurnInto(Instruction.Copy, source);
|
||||
}
|
||||
|
||||
public void TurnInto(Instruction newInst, Operand source)
|
||||
{
|
||||
Inst = newInst;
|
||||
|
||||
foreach (Operand oldSrc in _sources)
|
||||
{
|
||||
|
|
|
@ -5,13 +5,14 @@ namespace Ryujinx.Graphics.Shader.IntermediateRepresentation
|
|||
[Flags]
|
||||
enum TextureFlags
|
||||
{
|
||||
None = 0,
|
||||
Bindless = 1 << 0,
|
||||
Gather = 1 << 1,
|
||||
IntCoords = 1 << 2,
|
||||
LodBias = 1 << 3,
|
||||
LodLevel = 1 << 4,
|
||||
Offset = 1 << 5,
|
||||
Offsets = 1 << 6
|
||||
None = 0,
|
||||
Bindless = 1 << 0,
|
||||
Gather = 1 << 1,
|
||||
Derivatives = 1 << 2,
|
||||
IntCoords = 1 << 3,
|
||||
LodBias = 1 << 4,
|
||||
LodLevel = 1 << 5,
|
||||
Offset = 1 << 6,
|
||||
Offsets = 1 << 7
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue