Commit graph

9 commits

Author SHA1 Message Date
catbot
8e6ba49743 perf(rt): high-water-mark growth for TLAS host-input buffers (#64)
BuildTLAS reallocated the host-visible instanceBuffer and metadataBuffer
on every topology change. They only ever need to hold at least
primitiveCount entries (the AS build reads exactly primitiveCount via
tlasRangeInfo, and the copy loop writes [0, primitiveCount)), so a
shrink — or any growth that still fits the previous capacity — can reuse
the existing allocation. Gate the two Resize calls on a high-water-mark
check, removing two of the four reallocations on a count change. The AS
storage + scratch rebuild below is unchanged: it is tied to the AS
itself and dominates this path regardless.

Adds tests/TLASHighWaterMark driving the real hardware AS-build path: it
asserts a shrink (and within-capacity growth) reuses the buffers while a
growth past the high-water reallocates, that builtInstanceCount still
tracks the live count, and that feeding an oversized instance buffer to
the build produces zero Vulkan validation errors.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 18:24:09 +00:00
00d14d67cb tlas build options 2026-06-16 15:49:17 +02:00
b3db40ebec update 2026-05-05 23:49:29 +02:00
216972e73a new UI system 2026-05-01 23:35:37 +02:00
d840a81448 bugfixes 2026-04-30 23:15:43 +02:00
f8e142fb06 descriptor heap rewrite 2026-04-05 22:53:59 +02:00
7f46ac13fa rendering improvements 2026-03-12 01:07:46 +01:00
ef199b180e mouse fix 2026-03-09 21:50:24 +01:00
d661c88ee2 cleaned up renderer 2026-03-09 20:10:19 +01:00
Renamed from implementations/Crafter.Graphics-RenderingElement3DVulkan.cpp (Browse further)