fix: dispose textures correctly in ReShade mode

This commit is contained in:
goat 2023-08-02 18:51:27 +02:00
parent e6ef219b80
commit 44ca7ce848
No known key found for this signature in database
GPG key ID: 49E2AA8C6A76498B

View file

@ -609,12 +609,19 @@ internal class InterfaceManager : IDisposable, IServiceType
var pRes = this.presentHook.Original(swapChain, syncInterval, presentFlags); var pRes = this.presentHook.Original(swapChain, syncInterval, presentFlags);
this.RenderImGui(); this.RenderImGui();
this.DisposeTextures();
return pRes; return pRes;
} }
this.RenderImGui(); this.RenderImGui();
this.DisposeTextures();
return this.presentHook.Original(swapChain, syncInterval, presentFlags);
}
private void DisposeTextures()
{
if (this.deferredDisposeTextures.Count > 0) if (this.deferredDisposeTextures.Count > 0)
{ {
Log.Verbose("[IM] Disposing {Count} textures", this.deferredDisposeTextures.Count); Log.Verbose("[IM] Disposing {Count} textures", this.deferredDisposeTextures.Count);
@ -625,8 +632,6 @@ internal class InterfaceManager : IDisposable, IServiceType
this.deferredDisposeTextures.Clear(); this.deferredDisposeTextures.Clear();
} }
return this.presentHook.Original(swapChain, syncInterval, presentFlags);
} }
[MethodImpl(MethodImplOptions.AggressiveInlining)] [MethodImpl(MethodImplOptions.AggressiveInlining)]