diff --git a/neo/renderer/RenderSystem_init.cpp b/neo/renderer/RenderSystem_init.cpp index 7db1f552..a2d9287c 100644 --- a/neo/renderer/RenderSystem_init.cpp +++ b/neo/renderer/RenderSystem_init.cpp @@ -2245,6 +2245,8 @@ idRenderSystemLocal::Shutdown */ void idRenderSystemLocal::Shutdown() { + extern idCVar com_smp; + common->Printf( "idRenderSystem::Shutdown()\n" ); fonts.DeleteContents(); @@ -2270,7 +2272,11 @@ void idRenderSystemLocal::Shutdown() UnbindBufferObjects(); // SRS - wait for fence to hit before freeing any resources the GPU may be using, otherwise get Vulkan validation layer errors on shutdown - backend.GL_BlockingSwapBuffers(); + // SRS - skip this step if we are in Doom 3 mode (com_smp = -1) which has already finished and presented + if( com_smp.GetInteger() != -1 ) + { + backend.GL_BlockingSwapBuffers(); + } // free the vertex cache, which should have nothing allocated now vertexCache.Shutdown();