Kelsidavis-WoWee/include
Kelsi caea24f6ea Fix animated M2 flicker: free bone descriptor sets on instance removal
The boneDescPool_ had MAX_BONE_SETS=2048 but sets were never freed when
instances were removed (only when clear() reset the whole pool on map load).
As tiles streamed in/out, each new animated instance consumed 2 pool slots
(one per frame index) permanently. After ~1024 animated instances created
total, vkAllocateDescriptorSets began failing silently and returning
VK_NULL_HANDLE. render() skips instances with null boneSet[frameIndex],
making them invisible — appearing as per-frame flicker as the culling pass
included them but the render pass excluded them.

Fix: destroyInstanceBones() now calls vkFreeDescriptorSets() for each
non-null boneSet before destroying the bone SSBO. The pool already had
VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT set for this purpose.
Also increased MAX_BONE_SETS from 2048 to 8192 for extra headroom.
2026-03-09 18:09:33 -07:00
..
audio Implement MusicManager fade-out in stopMusic() — was a stub 2026-03-09 16:30:42 -07:00
auth Vanilla/Turtle WoW support: M2 loading, bone parsing, textures, auth 2026-02-13 16:53:28 -08:00
core Fix NPC orientation (server yaw convention) and nameplate Y projection 2026-03-09 17:59:55 -07:00
game Add XP_GAIN combat text type; show '+N XP' in purple on kills 2026-03-09 17:13:31 -07:00
network Optimize world socket buffer handling and logging 2026-02-22 08:16:54 -08:00
pipeline Filter WMO decorative geometry from collision, fix tram portal trigger IDs 2026-03-06 10:37:32 -08:00
platform Fix all remaining build warnings and eliminate UB in binary parsers 2026-02-23 19:58:38 -08:00
rendering Fix animated M2 flicker: free bone descriptor sets on instance removal 2026-03-09 18:09:33 -07:00
third_party Fix cross-platform FSR3 compile path and Path-A runtime wiring 2026-03-09 04:24:24 -07:00
ui Add pet frame UI below player frame 2026-03-09 17:23:28 -07:00