using Ghost.Core; namespace Ghost.Graphics.D3D12; internal readonly struct RTVDescriptor : IIdentifierType; internal readonly struct DSVDescriptor : IIdentifierType; internal readonly struct CbvSrvUavDescriptor : IIdentifierType; internal readonly struct SamplerDescriptor : IIdentifierType; internal struct ResourceViewGroup { public Identifier rtv; public Identifier dsv; public Identifier srv; public Identifier cbv; public Identifier uav; public Identifier sampler; public static ResourceViewGroup Invalid => new() { rtv = Identifier.Invalid, dsv = Identifier.Invalid, srv = Identifier.Invalid, cbv = Identifier.Invalid, uav = Identifier.Invalid, sampler = Identifier.Invalid, }; }