vidya/crates/renderer
janis 5e4bc0ccf0
rendergraph: correct transient-resource aliasing with pooled placement
Lifetimes derive from the real dependency ordering (retained DAG +
compile-time happens-before closure), not command-index intervals.
Aliasing is restricted to the single-queue contract; alias reuse is
synchronized with memory/image barriers anchored at first-use commands.

- renderer_device: aliasable shared allocations (CAN_ALIAS), memory-
  requirements queries incl. dedicated hints, offset-aware
  bind_buffer/image_memory2, grouped bind under one allocator lock
- renderer_resources: unallocated resource creation, requirements
  cached in Allocation::Unmanaged (OnceLock), MemoryGroup pooling with
  intersecting memoryTypeBits, bind-time validation
- renderer_rendergraph: retained dependency DAG, happens_before
  closure, batch lifetimes, Placement type, plan_placements with
  pooled aliasing (first-fit over offset-sorted ranges, pool classes
  split by bufferImageGranularity), alias-barrier construction,
  placement/bind error variants
- perf: quadratic compile/resolve paths eliminated (per-resource
  indexing, frontier caching, backward-scan prune, cached recording
  index, recorder scratch reuse); single requirements query per
  resource through plan/validate/bind
- design plan + GPU-gated validation tests
2026-10-27 01:57:27 +01:00
..
renderer_macros extract device into renderer_device 2026-10-24 17:36:43 +02:00
shaders almost done! 2026-04-04 00:28:43 +02:00
src rendergraph: correct transient-resource aliasing with pooled placement 2026-10-27 01:57:27 +01:00
.gitignore initial commit 2024-10-19 00:21:43 +02:00
AGENTS.md rendergraph: correct transient-resource aliasing with pooled placement 2026-10-27 01:57:27 +01:00
Cargo.toml feat: migrate GPU memory allocator from gpu-allocator to VMA (vk-mem) 2026-10-26 13:44:17 +01:00
rendered.png a lot! 2025-09-20 15:27:21 +02:00