diff options
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Image/TextureBindingInfo.cs')
| -rw-r--r-- | Ryujinx.Graphics.Gpu/Image/TextureBindingInfo.cs | 35 |
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; |
