mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-08-02 19:10:49 -04:00
Both ends of an upload batch decided there was nothing to do by looking at the allocator's staging list alone. An ImGui texture upload stages through plain Vulkan calls and lands in neither list, so a batch holding nothing but those looked empty: the command buffer carrying every one of the copies was freed unsubmitted and the images stayed blank. That is why no FrameXML texture ever appeared while its rectangles and text did. The same upload also freed its staging as soon as immediateSubmit returned, which is right when that submits and waits and wrong inside a batch, where it only records — pulling the source out from under a copy that has not run yet. Both are mine, from batching the widget renderer's uploads. Plain staging is now handed to the batch and freed once its copies have actually completed, on the synchronous path and when an asynchronous batch is reclaimed.