feat(render): add meshlet rendering and ECS query ref API

Introduces meshlet-based rendering pipeline with new HLSL structures and push constant layouts. Refactors meshlet upload/cooking, updates RenderGraphContext for global/view/instance data, and enhances ECS QueryBuilder with ref returns and [UnscopedRef] for fluent chaining. Improves resource management and disposal patterns, updates D3D12 interop for compatibility, and refines test/app infrastructure. Includes dependency updates, bug fixes, and code cleanups.
This commit is contained in:
2026-03-25 20:27:46 +09:00
parent b729ca86f5
commit 447a4e6904
28 changed files with 407 additions and 165 deletions

View File

@@ -53,8 +53,9 @@ internal static unsafe class D3D12Utility
var ptr = uPtr.Get();
if (ptr != null)
{
Debug.Assert(ptr != other);
var refCount = ptr->Release();
Debug.Assert((refCount != 0) || (ptr != other));
Debug.Assert(refCount == 0);
}
uPtr = new UniquePtr<T>(other);
@@ -68,7 +69,7 @@ internal static unsafe class D3D12Utility
if (ptr != null)
{
var refCount = ptr->Release();
Debug.Assert(refCount != 0);
//Debug.Assert(refCount == 0);
}
}
@@ -433,7 +434,7 @@ internal static unsafe class D3D12Utility
{
var flags = D3D12_RESOURCE_FLAG_NONE;
if (usage.HasFlag(BufferUsage.Raw) || usage.HasFlag(BufferUsage.UnorderedAccess))
if (usage.HasFlag(BufferUsage.UnorderedAccess))
{
flags |= D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS;
}