summaryrefslogtreecommitdiffstats
path: root/drivers/d3d12
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/d3d12')
-rw-r--r--drivers/d3d12/rendering_context_driver_d3d12.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/d3d12/rendering_context_driver_d3d12.cpp b/drivers/d3d12/rendering_context_driver_d3d12.cpp
index d01ae5a73f..8fa495f5c4 100644
--- a/drivers/d3d12/rendering_context_driver_d3d12.cpp
+++ b/drivers/d3d12/rendering_context_driver_d3d12.cpp
@@ -85,6 +85,11 @@ const GUID CLSID_D3D12SDKConfigurationGodot = { 0x7cda6aca, 0xa03e, 0x49c8, { 0x
RenderingContextDriverD3D12::RenderingContextDriverD3D12() {}
RenderingContextDriverD3D12::~RenderingContextDriverD3D12() {
+ // Let's release manually everything that may still be holding
+ // onto the DLLs before freeing them.
+ device_factory.Reset();
+ dxgi_factory.Reset();
+
if (lib_d3d12) {
FreeLibrary(lib_d3d12);
}