aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Shader/StructuredIr/ShaderProperties.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Graphics.Shader/StructuredIr/ShaderProperties.cs')
-rw-r--r--src/Ryujinx.Graphics.Shader/StructuredIr/ShaderProperties.cs20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/Ryujinx.Graphics.Shader/StructuredIr/ShaderProperties.cs b/src/Ryujinx.Graphics.Shader/StructuredIr/ShaderProperties.cs
index 1da5cb65..048a260a 100644
--- a/src/Ryujinx.Graphics.Shader/StructuredIr/ShaderProperties.cs
+++ b/src/Ryujinx.Graphics.Shader/StructuredIr/ShaderProperties.cs
@@ -6,11 +6,15 @@ namespace Ryujinx.Graphics.Shader.StructuredIr
{
private readonly Dictionary<int, BufferDefinition> _constantBuffers;
private readonly Dictionary<int, BufferDefinition> _storageBuffers;
+ private readonly Dictionary<int, TextureDefinition> _textures;
+ private readonly Dictionary<int, TextureDefinition> _images;
private readonly Dictionary<int, MemoryDefinition> _localMemories;
private readonly Dictionary<int, MemoryDefinition> _sharedMemories;
public IReadOnlyDictionary<int, BufferDefinition> ConstantBuffers => _constantBuffers;
public IReadOnlyDictionary<int, BufferDefinition> StorageBuffers => _storageBuffers;
+ public IReadOnlyDictionary<int, TextureDefinition> Textures => _textures;
+ public IReadOnlyDictionary<int, TextureDefinition> Images => _images;
public IReadOnlyDictionary<int, MemoryDefinition> LocalMemories => _localMemories;
public IReadOnlyDictionary<int, MemoryDefinition> SharedMemories => _sharedMemories;
@@ -18,20 +22,32 @@ namespace Ryujinx.Graphics.Shader.StructuredIr
{
_constantBuffers = new Dictionary<int, BufferDefinition>();
_storageBuffers = new Dictionary<int, BufferDefinition>();
+ _textures = new Dictionary<int, TextureDefinition>();
+ _images = new Dictionary<int, TextureDefinition>();
_localMemories = new Dictionary<int, MemoryDefinition>();
_sharedMemories = new Dictionary<int, MemoryDefinition>();
}
- public void AddConstantBuffer(int binding, BufferDefinition definition)
+ public void AddOrUpdateConstantBuffer(int binding, BufferDefinition definition)
{
_constantBuffers[binding] = definition;
}
- public void AddStorageBuffer(int binding, BufferDefinition definition)
+ public void AddOrUpdateStorageBuffer(int binding, BufferDefinition definition)
{
_storageBuffers[binding] = definition;
}
+ public void AddOrUpdateTexture(int binding, TextureDefinition descriptor)
+ {
+ _textures[binding] = descriptor;
+ }
+
+ public void AddOrUpdateImage(int binding, TextureDefinition descriptor)
+ {
+ _images[binding] = descriptor;
+ }
+
public int AddLocalMemory(MemoryDefinition definition)
{
int id = _localMemories.Count;