From 134f3ec799f1ab8630ad3a2626a1e771c8565621 Mon Sep 17 00:00:00 2001 From: Robert Beckebans Date: Fri, 28 Jun 2024 22:26:56 +0200 Subject: [PATCH] Probably fixed VRAM memory leak when reloading maps. #904 --- neo/renderer/Image_load.cpp | 6 ++++++ neo/renderer/RenderBackend.cpp | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/neo/renderer/Image_load.cpp b/neo/renderer/Image_load.cpp index 6dbf48de..3296aff9 100644 --- a/neo/renderer/Image_load.cpp +++ b/neo/renderer/Image_load.cpp @@ -339,6 +339,12 @@ On exit, the idImage will have a valid OpenGL texture number that can be bound */ void idImage::FinalizeImage( bool fromBackEnd, nvrhi::ICommandList* commandList ) { + // RB: might have been called doubled by nested LoadDeferredImages + if( isLoaded ) + { + return; + } + // if we don't have a rendering context yet, just return //if( !tr.IsInitialized() ) //{ diff --git a/neo/renderer/RenderBackend.cpp b/neo/renderer/RenderBackend.cpp index 0fa4eb7b..a18d3032 100644 --- a/neo/renderer/RenderBackend.cpp +++ b/neo/renderer/RenderBackend.cpp @@ -5323,7 +5323,7 @@ void idRenderBackend::ExecuteBackEndCommands( const emptyCommand_t* cmds ) // RB: we need to load all images left before rendering // this can be expensive here because of the runtime image compression - globalImages->LoadDeferredImages( commandList ); + //globalImages->LoadDeferredImages( commandList ); if( !ssaoPass && r_useNewSsaoPass.GetBool() ) {