using Win32.Graphics.Direct3D12; namespace Ghost.Graphics.Data; /// /// Render target view (RTV) descriptor. /// public readonly struct RenderTargetDescriptor { public uint Index { get; init; } public static RenderTargetDescriptor Invalid => new() { Index = ~0u }; public bool IsValid => Index != ~0u; } /// /// Depth stencil view (DSV) descriptor. /// public readonly struct DepthStencilDescriptor { public uint Index { get; init; } public static DepthStencilDescriptor Invalid => new() { Index = ~0u }; public bool IsValid => Index != ~0u; } /// /// Shader resource view (SRV) descriptor. /// public readonly struct ShaderResourceDescriptor { public uint Index { get; init; } public static ShaderResourceDescriptor Invalid => new() { Index = ~0u }; public bool IsValid => Index != ~0u; } /// /// Sampler descriptor. /// public readonly struct SamplerDescriptor { public uint Index { get; init; } public static SamplerDescriptor Invalid => new() { Index = ~0u }; public bool IsValid => Index != ~0u; } /// /// Bindless descriptor /// public readonly struct BindlessDescriptor { public uint Index { get; init; } public static BindlessDescriptor Invalid => new() { Index = ~0u }; public bool IsValid => Index != ~0u; }