diff options
author | gdkchan <gab.dark.100@gmail.com> | 2023-07-03 14:29:27 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-03 14:29:27 -0300 |
commit | 1c7a90ef359d9974e5bd257c4d8e9bf526a6966c (patch) | |
tree | 3ab1644927819b90b0aef78ed6749c6434150490 /src/Ryujinx.Graphics.Shader/StructuredIr/TextureDefinition.cs | |
parent | 3b46bb73f781a011705ecbc8a1d3207dfb145829 (diff) |
Stop identifying shader textures with handle and cbuf, use binding instead (#5266)1.1.952
* Stop identifying shader textures with handle and cbuf, use binding instead
* Remove now unused code
* Consider image operations as having accurate type information too
I don't know why that was not the case before
* Fix missing unscale on InsertCoordNormalization, stop calling SetUsageFlagsForTextureQuery when not needed
* Shader cache version bump
* Change get texture methods to return descriptors created from ResourceManager state
This is required to ensure that reserved textures and images will not be bound as a guest texture/image
* Fix BindlessElimination.SetHandle inserting coords at the wrong place
Diffstat (limited to 'src/Ryujinx.Graphics.Shader/StructuredIr/TextureDefinition.cs')
-rw-r--r-- | src/Ryujinx.Graphics.Shader/StructuredIr/TextureDefinition.cs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/Ryujinx.Graphics.Shader/StructuredIr/TextureDefinition.cs b/src/Ryujinx.Graphics.Shader/StructuredIr/TextureDefinition.cs new file mode 100644 index 00000000..ba31dae6 --- /dev/null +++ b/src/Ryujinx.Graphics.Shader/StructuredIr/TextureDefinition.cs @@ -0,0 +1,27 @@ +namespace Ryujinx.Graphics.Shader +{ + readonly struct TextureDefinition + { + public int Set { get; } + public int Binding { get; } + public string Name { get; } + public SamplerType Type { get; } + public TextureFormat Format { get; } + public TextureUsageFlags Flags { get; } + + public TextureDefinition(int set, int binding, string name, SamplerType type, TextureFormat format, TextureUsageFlags flags) + { + Set = set; + Binding = binding; + Name = name; + Type = type; + Format = format; + Flags = flags; + } + + public TextureDefinition SetFlag(TextureUsageFlags flag) + { + return new TextureDefinition(Set, Binding, Name, Type, Format, Flags | flag); + } + } +}
\ No newline at end of file |