From ca29f3b7da4a28c0eec54d53e21bda3f32aa9735 Mon Sep 17 00:00:00 2001 From: Caleb Cornett Date: Tue, 6 Feb 2024 22:40:16 -0600 Subject: [PATCH] Release DLLs after releasing D3D11/DXGI objects (and release dxgi.dll!) --- src/Refresh_Driver_D3D11.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Refresh_Driver_D3D11.c b/src/Refresh_Driver_D3D11.c index 7af1aa8..17bc85b 100644 --- a/src/Refresh_Driver_D3D11.c +++ b/src/Refresh_Driver_D3D11.c @@ -606,16 +606,18 @@ static void D3D11_DestroyDevice( SDL_DestroyMutex(renderer->contextLock); SDL_DestroyMutex(renderer->uniformBufferLock); - /* Release the DLLs */ - SDL_UnloadObject(renderer->d3d11_dll); - SDL_UnloadObject(renderer->d3dcompiler_dll); - /* Release the device and associated objects */ ID3D11DeviceContext_Release(renderer->immediateContext); ID3D11Device_Release(renderer->device); IDXGIAdapter_Release(renderer->adapter); IDXGIFactory_Release(renderer->factory); + /* Release the DLLs */ + SDL_UnloadObject(renderer->d3d11_dll); + SDL_UnloadObject(renderer->dxgi_dll); + SDL_UnloadObject(renderer->d3dcompiler_dll); + + /* Free the primary Refresh structures */ SDL_free(renderer); SDL_free(device); }