aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Shader/IntermediateRepresentation
diff options
context:
space:
mode:
authorgdk <gab.dark.100@gmail.com>2019-11-02 23:07:21 -0300
committerThog <thog@protonmail.com>2020-01-09 02:13:00 +0100
commit3ab5c23f492183ae6f5cf8f62c4239bf181d2630 (patch)
tree288daa576efbbe3220d835834acd562dff7d6cbd /Ryujinx.Graphics.Shader/IntermediateRepresentation
parent63345a3098e05e0d0692bc46852dfbfccfdcfae2 (diff)
Add partial support for array of samplers, and add pass to identify them from bindless texture accesses
Diffstat (limited to 'Ryujinx.Graphics.Shader/IntermediateRepresentation')
-rw-r--r--Ryujinx.Graphics.Shader/IntermediateRepresentation/TextureOperation.cs15
1 files changed, 12 insertions, 3 deletions
diff --git a/Ryujinx.Graphics.Shader/IntermediateRepresentation/TextureOperation.cs b/Ryujinx.Graphics.Shader/IntermediateRepresentation/TextureOperation.cs
index b96c55e8..718d2c2e 100644
--- a/Ryujinx.Graphics.Shader/IntermediateRepresentation/TextureOperation.cs
+++ b/Ryujinx.Graphics.Shader/IntermediateRepresentation/TextureOperation.cs
@@ -2,10 +2,10 @@ namespace Ryujinx.Graphics.Shader.IntermediateRepresentation
{
class TextureOperation : Operation
{
- public SamplerType Type { get; }
- public TextureFlags Flags { get; }
+ public SamplerType Type { get; private set; }
+ public TextureFlags Flags { get; private set; }
- public int Handle { get; }
+ public int Handle { get; private set; }
public TextureOperation(
Instruction inst,
@@ -20,5 +20,14 @@ namespace Ryujinx.Graphics.Shader.IntermediateRepresentation
Flags = flags;
Handle = handle;
}
+
+ public void TurnIntoIndexed(int handle)
+ {
+ Type |= SamplerType.Indexed;
+
+ Flags &= ~TextureFlags.Bindless;
+
+ Handle = handle;
+ }
}
} \ No newline at end of file