Fix Stockades crash: suppress area triggers on initial login, handle VK_ERROR_DEVICE_LOST

Root cause: LOGIN_VERIFY_WORLD path did not set areaTriggerCheckTimer_ or
areaTriggerSuppressFirst_, so the Stockades exit portal (AT 503) fired
immediately on login, teleporting the player back to Stormwind and crashing
the GPU during the unexpected map transition.

Fixes:
- Set 5s area trigger cooldown + suppress-first in handleLoginVerifyWorld
  (same as SMSG_NEW_WORLD handler already did for teleports)
- Add deviceLost_ flag to VkContext so beginFrame returns immediately once
  VK_ERROR_DEVICE_LOST is detected, preventing infinite retry loops
- Track device lost from both fence wait and queue submit paths
This commit is contained in:
Kelsi 2026-03-02 08:19:14 -08:00
parent 3c55b09a3f
commit f1caf8c03e
4 changed files with 18 additions and 0 deletions

View file

@ -946,6 +946,7 @@ void Renderer::applyMsaaChange() {
void Renderer::beginFrame() {
if (!vkCtx) return;
if (vkCtx->isDeviceLost()) return;
// Apply deferred MSAA change between frames (before any rendering state is used)
if (msaaChangePending_) {