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,
}
///
/// D3D12-native render device interface for creating graphics resources
///
public interface IRenderDevice : IDisposable
{
///
/// Graphics command queue for rendering operations
///
public ICommandQueue GraphicsQueue
{
get;
}
///
/// Compute command queue for compute shader operations
///
public ICommandQueue ComputeQueue
{
get;
}
///
/// Copy command queue for data transfer operations
///
public ICommandQueue CopyQueue
{
get;
}
public FeatureSupport GetFeatureSupport();
}