using Ghost.Core; namespace Ghost.Graphics.RHI; [Flags] public enum FeatureSupport { None = 0, RayTracing = 1 << 0, VariableRateShading = 1 << 1, MeshShaders = 1 << 2, SamplerFeedback = 1 << 3, BindlessResources = 1 << 4, WorkGraphs = 1 << 5, AliasBuffersAndTextures = 1 << 6, } /// /// D3D12-native render device interface for creating graphics resources /// public interface IRenderDevice : IDisposable { /// /// Graphics command queue for rendering operations /// ICommandQueue GraphicsQueue { get; } /// /// Compute command queue for compute shader operations /// ICommandQueue ComputeQueue { get; } /// /// Copy command queue for data transfer operations /// ICommandQueue CopyQueue { get; } FeatureSupport FeatureSupport { get; } }