diff options
Diffstat (limited to 'Ryujinx.Graphics.Shader/IntermediateRepresentation')
| -rw-r--r-- | Ryujinx.Graphics.Shader/IntermediateRepresentation/TextureOperation.cs | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/Ryujinx.Graphics.Shader/IntermediateRepresentation/TextureOperation.cs b/Ryujinx.Graphics.Shader/IntermediateRepresentation/TextureOperation.cs index 9c5cd25c..52f02bfb 100644 --- a/Ryujinx.Graphics.Shader/IntermediateRepresentation/TextureOperation.cs +++ b/Ryujinx.Graphics.Shader/IntermediateRepresentation/TextureOperation.cs @@ -2,9 +2,13 @@ namespace Ryujinx.Graphics.Shader.IntermediateRepresentation { class TextureOperation : Operation { + private const int DefaultCbufSlot = -1; + public SamplerType Type { get; private set; } public TextureFlags Flags { get; private set; } + public int CbufSlot { get; private set; } + public int Handle { get; private set; } public TextureFormat Format { get; set; } @@ -18,9 +22,10 @@ namespace Ryujinx.Graphics.Shader.IntermediateRepresentation Operand dest, params Operand[] sources) : base(inst, compIndex, dest, sources) { - Type = type; - Flags = flags; - Handle = handle; + Type = type; + Flags = flags; + CbufSlot = DefaultCbufSlot; + Handle = handle; } public void TurnIntoIndexed(int handle) @@ -30,7 +35,7 @@ namespace Ryujinx.Graphics.Shader.IntermediateRepresentation Handle = handle; } - public void SetHandle(int handle) + public void SetHandle(int handle, int cbufSlot = DefaultCbufSlot) { if ((Flags & TextureFlags.Bindless) != 0) { @@ -39,7 +44,8 @@ namespace Ryujinx.Graphics.Shader.IntermediateRepresentation RemoveSource(0); } - Handle = handle; + CbufSlot = cbufSlot; + Handle = handle; } } }
\ No newline at end of file |
