feat(graphics): refactor pipeline keying and allocators
Major refactor of graphics pipeline keying, shader cache, and resource allocation. Replaced most Allocator usage with AllocationHandle, modernized logger usage, and unified pipeline state keys. Updated MeshUtility to use AllocationHandle.FreeList. Added new shader pipeline architecture docs and improved error handling throughout. BREAKING CHANGE: Pipeline keying and resource allocation APIs have changed.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using Ghost.Core;
|
||||
using Ghost.Core.Graphics;
|
||||
|
||||
namespace Ghost.Graphics.RHI;
|
||||
|
||||
@@ -97,7 +98,7 @@ public interface ICommandBuffer : IRHIObject
|
||||
/// Sets the pipeline state object
|
||||
/// </summary>
|
||||
/// <param name="pipelineKey">Pipeline state to set</param>
|
||||
void SetPipelineState(Key128<GraphicsPipeline> pipelineKey);
|
||||
void SetPipelineState(Key128<PipelineState> pipelineKey);
|
||||
|
||||
/// <summary>
|
||||
/// Sets the constant buffer view for the specified slot in the graphics pipeline.
|
||||
@@ -216,4 +217,4 @@ public interface ICommandBuffer : IRHIObject
|
||||
/// <param name="intermediate">A handle to an intermediate GPU resource used to stage the subresource data before copying to the destination resource.</param>
|
||||
/// <param name="subResources">A span containing the data for each subresource to update. Each element represents a subresource and its associated data.</param>
|
||||
void UpdateSubResources(Handle<GPUResource> resource, Handle<GPUResource> intermediate, params ReadOnlySpan<SubResourceData> subResources);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user