Pārlūkot izejas kodu

Merge pull request #95074 from RandomShaper/d3d12_exit_crash

D3D12: Avoid crash on exit
Rémi Verschelde 11 mēneši atpakaļ
vecāks
revīzija
32eb97fd2a
1 mainītis faili ar 5 papildinājumiem un 0 dzēšanām
  1. 5 0
      drivers/d3d12/rendering_context_driver_d3d12.cpp

+ 5 - 0
drivers/d3d12/rendering_context_driver_d3d12.cpp

@@ -85,6 +85,11 @@ const GUID CLSID_D3D12SDKConfigurationGodot = { 0x7cda6aca, 0xa03e, 0x49c8, { 0x
 RenderingContextDriverD3D12::RenderingContextDriverD3D12() {}
 RenderingContextDriverD3D12::RenderingContextDriverD3D12() {}
 
 
 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) {
 	if (lib_d3d12) {
 		FreeLibrary(lib_d3d12);
 		FreeLibrary(lib_d3d12);
 	}
 	}