aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Shader/StructuredIr
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/StructuredIr
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/StructuredIr')
-rw-r--r--Ryujinx.Graphics.Shader/StructuredIr/AstTextureOperation.cs11
-rw-r--r--Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs1
2 files changed, 8 insertions, 4 deletions
diff --git a/Ryujinx.Graphics.Shader/StructuredIr/AstTextureOperation.cs b/Ryujinx.Graphics.Shader/StructuredIr/AstTextureOperation.cs
index 7261b9ff..d6d40732 100644
--- a/Ryujinx.Graphics.Shader/StructuredIr/AstTextureOperation.cs
+++ b/Ryujinx.Graphics.Shader/StructuredIr/AstTextureOperation.cs
@@ -7,19 +7,22 @@ namespace Ryujinx.Graphics.Shader.StructuredIr
public SamplerType Type { get; }
public TextureFlags Flags { get; }
- public int Handle { get; }
+ public int Handle { get; }
+ public int ArraySize { get; }
public AstTextureOperation(
Instruction inst,
SamplerType type,
TextureFlags flags,
int handle,
+ int arraySize,
int compMask,
params IAstNode[] sources) : base(inst, compMask, sources)
{
- Type = type;
- Flags = flags;
- Handle = handle;
+ Type = type;
+ Flags = flags;
+ Handle = handle;
+ ArraySize = arraySize;
}
}
} \ No newline at end of file
diff --git a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs
index c4ffbe1a..ef8443ab 100644
--- a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs
+++ b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs
@@ -60,6 +60,7 @@ namespace Ryujinx.Graphics.Shader.StructuredIr
texOp.Type,
texOp.Flags,
texOp.Handle,
+ 4, // TODO: Non-hardcoded array size.
componentMask,
sources);
}