aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Gpu/Image/TextureBindingInfo.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Image/TextureBindingInfo.cs')
-rw-r--r--Ryujinx.Graphics.Gpu/Image/TextureBindingInfo.cs35
1 files changed, 34 insertions, 1 deletions
diff --git a/Ryujinx.Graphics.Gpu/Image/TextureBindingInfo.cs b/Ryujinx.Graphics.Gpu/Image/TextureBindingInfo.cs
index cf922ac5..94225406 100644
--- a/Ryujinx.Graphics.Gpu/Image/TextureBindingInfo.cs
+++ b/Ryujinx.Graphics.Gpu/Image/TextureBindingInfo.cs
@@ -2,17 +2,44 @@ using Ryujinx.Graphics.GAL;
namespace Ryujinx.Graphics.Gpu.Image
{
+ /// <summary>
+ /// Texture binding information.
+ /// This is used for textures that needs to be accessed from shaders.
+ /// </summary>
struct TextureBindingInfo
{
+ /// <summary>
+ /// Shader sampler target type.
+ /// </summary>
public Target Target { get; }
+ /// <summary>
+ /// Shader texture handle.
+ /// This is a index into the texture constant buffer.
+ /// </summary>
public int Handle { get; }
+ /// <summary>
+ /// Indicates if the texture is a bindless texture.
+ /// For those textures, Handle is ignored.
+ /// </summary>
public bool IsBindless { get; }
- public int CbufSlot { get; }
+ /// <summary>
+ /// Constant buffer slot with the bindless texture handle, for bindless texture.
+ /// </summary>
+ public int CbufSlot { get; }
+
+ /// <summary>
+ /// Constant buffer offset of the bindless texture handle, for bindless texture.
+ /// </summary>
public int CbufOffset { get; }
+ /// <summary>
+ /// Constructs the texture binding information structure.
+ /// </summary>
+ /// <param name="target">The shader sampler target type</param>
+ /// <param name="handle">The shader texture handle (read index into the texture constant buffer)</param>
public TextureBindingInfo(Target target, int handle)
{
Target = target;
@@ -24,6 +51,12 @@ namespace Ryujinx.Graphics.Gpu.Image
CbufOffset = 0;
}
+ /// <summary>
+ /// Constructs the bindless texture binding information structure.
+ /// </summary>
+ /// <param name="target">The shader sampler target type</param>
+ /// <param name="cbufSlot">Constant buffer slot where the bindless texture handle is located</param>
+ /// <param name="cbufOffset">Constant buffer offset of the bindless texture handle</param>
public TextureBindingInfo(Target target, int cbufSlot, int cbufOffset)
{
Target = target;