Kelsidavis-WoWee/include/core
Kelsi f855327054 fix: eliminate 490ms transport-doodad stall and GPU device-loss crash
Three root causes identified from wowee.log crash at frame 134368:

1. processPendingTransportDoodads() was doing N separate synchronous
   GPU uploads (vkQueueSubmit + vkWaitForFences per texture per doodad).
   With 30+ doodads × multiple textures, this caused the 489ms stall in
   the 'gameobject/transport queues' update stage. Fixed by wrapping the
   entire batch in beginUploadBatch()/endUploadBatch() so all texture
   layout transitions are submitted in a single async command buffer.

2. Game objects whose M2 model has no geometry/particles (empty or
   unsupported format) were retried every frame because loadModel()
   returns false without adding to gameObjectDisplayIdModelCache_.
   Added gameObjectDisplayIdFailedCache_ to permanently skip these
   display IDs after the first failure, stopping the per-frame spam.

3. renderM2Ribbons() only checked ribbonPipeline_ != null, not
   ribbonAdditivePipeline_. If additive pipeline creation failed, any
   ribbon with additive blending would call vkCmdBindPipeline with
   VK_NULL_HANDLE, causing VK_ERROR_DEVICE_LOST on the GPU side.
   Extended the early-return guard to cover both ribbon pipelines.
2026-03-13 01:45:31 -07:00
..
application.hpp fix: eliminate 490ms transport-doodad stall and GPU device-loss crash 2026-03-13 01:45:31 -07:00
coordinates.hpp Fix NPC orientation (server yaw convention) and nameplate Y projection 2026-03-09 17:59:55 -07:00
input.hpp Initial commit: wowee native WoW 3.3.5a client 2026-02-02 13:03:22 -08:00
logger.hpp Fix Windows ERROR macro collision in logger 2026-02-25 11:14:53 -08:00
memory_monitor.hpp Stabilize taxi/state sync and creature spawn handling 2026-02-11 21:14:35 -08:00
spawn_presets.hpp Fix WMO spawn presets to avoid terrain snapping 2026-02-04 23:30:03 -08:00
window.hpp Vulcan Nightmare 2026-02-21 22:04:17 -08:00