- RenderGraph.Compile/Execute now return Error for better failure detection; error handling is propagated throughout compiler and executor. - Renamed ScheduleReleaseResource to ReleaseResource for clarity; updated all usages. - ResourceManager now calls ReleaseResource directly on Mesh, Material, and Shader types. - Camera exposes Actual/Virtual size properties and Render returns Error. - RenderingContext now uses IResourceManager for mesh/resource ops. - Replaced custom BinaryWriter with BufferWriter in RenderGraphHasher. - Improved variable naming, interface signatures, and code formatting. - Added Error extension for IsSuccess/IsFailure. - Minor FMOD/native interop and test code cleanups. - No breaking API changes except for new Error return values on some methods.
49 lines
956 B
C#
49 lines
956 B
C#
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,
|
|
}
|
|
|
|
/// <summary>
|
|
/// D3D12-native render device interface for creating graphics resources
|
|
/// </summary>
|
|
public interface IRenderDevice : IDisposable
|
|
{
|
|
/// <summary>
|
|
/// Graphics command queue for rendering operations
|
|
/// </summary>
|
|
ICommandQueue GraphicsQueue
|
|
{
|
|
get;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Compute command queue for compute shader operations
|
|
/// </summary>
|
|
ICommandQueue ComputeQueue
|
|
{
|
|
get;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Copy command queue for data transfer operations
|
|
/// </summary>
|
|
ICommandQueue CopyQueue
|
|
{
|
|
get;
|
|
}
|
|
|
|
FeatureSupport FeatureSupport
|
|
{
|
|
get;
|
|
}
|
|
} |