RobertBeckebans / RBDOOM-3-BFG

Doom 3 BFG Edition source port with updated DX12 / Vulkan renderer and modern game engine features
https://www.moddb.com/mods/rbdoom-3-bfg
GNU General Public License v3.0
1.38k stars 247 forks source link

Fix Doom Classic crash on quit, fix Sync timer for timedemo "twice" mode #793

Closed SRSaunders closed 10 months ago

SRSaunders commented 10 months ago

This PR solves several things:

  1. Solves #792 by synchronizing selectively on exit, i.e. only call backend.GL_BlockingSwapBuffers() on quit when in Doom3 mode, skip when quitting from a Classic game
  2. Also solves a Doom Classic change game hang/crash on linux and macOS by zeroing out the commandList refcount within idRenderLog::Shutdown(). Windows seems more tolerant of this, but the fix is general.
  3. Fixes the "Sync" timer during demo playback first pass when using "timedemo twice" mode. Previously the Sync timer was inaccurate for that specific case (it's fine for all other cases)
  4. Also removed unneeded references to the com_smp cvar