Refactor render graph & DSL; remove material system
- Major optimization of Ghost.RenderGraph.Concept: pooled resources, zero-allocation hot paths, explicit queue types, and batch barrier APIs. - Migrated Ghost.DSL shader compiler to ANTLR4-based parser; removed hand-written parser, added grammar files and semantic model conversion. - Added CollectionPool/ListPool for pooled list management. - Updated documentation for new architecture and performance. - Removed Ghost.Shader.Concept (material/material system) from repo and solution. - README.md replaced with a brief project statement.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
namespace Ghost.RenderGraph.Concept;
|
||||
|
||||
internal class ResourceUsage
|
||||
internal struct ResourceUsage
|
||||
{
|
||||
public RenderGraphResourceHandle Handle { get; }
|
||||
public ResourceState State { get; }
|
||||
@@ -14,16 +14,23 @@ internal class ResourceUsage
|
||||
}
|
||||
}
|
||||
|
||||
internal class ResourceLifetime
|
||||
internal struct ResourceLifetime
|
||||
{
|
||||
public RenderGraphResourceHandle Handle { get; }
|
||||
public RenderGraphResourceHandle Handle { get; private set; }
|
||||
public int FirstUse { get; set; } = int.MaxValue;
|
||||
public int LastUse { get; set; } = -1;
|
||||
public List<ResourceUsage> Usages { get; } = new();
|
||||
|
||||
public ResourceLifetime(RenderGraphResourceHandle handle)
|
||||
public ResourceLifetime()
|
||||
{
|
||||
}
|
||||
|
||||
public void Initialize(RenderGraphResourceHandle handle)
|
||||
{
|
||||
Handle = handle;
|
||||
FirstUse = int.MaxValue;
|
||||
LastUse = -1;
|
||||
Usages.Clear();
|
||||
}
|
||||
|
||||
public void AddUsage(ResourceState state, int passIndex)
|
||||
|
||||
Reference in New Issue
Block a user