aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Gpu/Image/TextureBindingInfo.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2024-04-22 15:05:55 -0300
committerGitHub <noreply@github.com>2024-04-22 15:05:55 -0300
commitc6f8bfed904e30f7c5d890a2f0ef531eb9e298e5 (patch)
treee1c048d390867e8c9403904498184e3a64277e49 /src/Ryujinx.Graphics.Gpu/Image/TextureBindingInfo.cs
parent9b94662b4bb2ebf846e1baf45ba8097fcd7da684 (diff)
Add support for bindless textures from shader input (vertex buffer) on Vulkan (#6577)
* Add support for bindless textures from shader input (vertex buffer) * Shader cache version bump * Format whitespace * Remove cache entries on pool removal, disable for OpenGL * PR feedback
Diffstat (limited to 'src/Ryujinx.Graphics.Gpu/Image/TextureBindingInfo.cs')
-rw-r--r--src/Ryujinx.Graphics.Gpu/Image/TextureBindingInfo.cs16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/Ryujinx.Graphics.Gpu/Image/TextureBindingInfo.cs b/src/Ryujinx.Graphics.Gpu/Image/TextureBindingInfo.cs
index 12a457db..ba895c60 100644
--- a/src/Ryujinx.Graphics.Gpu/Image/TextureBindingInfo.cs
+++ b/src/Ryujinx.Graphics.Gpu/Image/TextureBindingInfo.cs
@@ -45,6 +45,11 @@ namespace Ryujinx.Graphics.Gpu.Image
public TextureUsageFlags Flags { get; }
/// <summary>
+ /// Indicates that the binding is for a sampler.
+ /// </summary>
+ public bool IsSamplerOnly { get; }
+
+ /// <summary>
/// Constructs the texture binding information structure.
/// </summary>
/// <param name="target">The shader sampler target type</param>
@@ -74,8 +79,17 @@ namespace Ryujinx.Graphics.Gpu.Image
/// <param name="cbufSlot">Constant buffer slot where the texture handle is located</param>
/// <param name="handle">The shader texture handle (read index into the texture constant buffer)</param>
/// <param name="flags">The texture's usage flags, indicating how it is used in the shader</param>
- public TextureBindingInfo(Target target, int binding, int arrayLength, int cbufSlot, int handle, TextureUsageFlags flags) : this(target, (Format)0, binding, arrayLength, cbufSlot, handle, flags)
+ /// <param name="isSamplerOnly">Indicates that the binding is for a sampler</param>
+ public TextureBindingInfo(
+ Target target,
+ int binding,
+ int arrayLength,
+ int cbufSlot,
+ int handle,
+ TextureUsageFlags flags,
+ bool isSamplerOnly) : this(target, 0, binding, arrayLength, cbufSlot, handle, flags)
{
+ IsSamplerOnly = isSamplerOnly;
}
}
}