using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.Gpu.Image; using Ryujinx.Memory.Range; namespace Ryujinx.Graphics.Gpu.Memory { /// /// A buffer binding to apply to a buffer texture array element. /// readonly struct BufferTextureArrayBinding { /// /// Backend texture or image array. /// public T Array { get; } /// /// The buffer texture. /// public ITexture Texture { get; } /// /// Physical ranges of memory where the buffer texture data is located. /// public MultiRange Range { get; } /// /// The image or sampler binding info for the buffer texture. /// public TextureBindingInfo BindingInfo { get; } /// /// Index of the binding on the array. /// public int Index { get; } /// /// Create a new buffer texture binding. /// /// Array /// Buffer texture /// Physical ranges of memory where the buffer texture data is located /// Binding info /// Index of the binding on the array public BufferTextureArrayBinding( T array, ITexture texture, MultiRange range, TextureBindingInfo bindingInfo, int index) { Array = array; Texture = texture; Range = range; BindingInfo = bindingInfo; Index = index; } } }