diff --git a/src/gallium/drivers/d3d12/d3d12_screen.cpp b/src/gallium/drivers/d3d12/d3d12_screen.cpp index bb3e3a2e3cb..f17b3fdc4e7 100644 --- a/src/gallium/drivers/d3d12/d3d12_screen.cpp +++ b/src/gallium/drivers/d3d12/d3d12_screen.cpp @@ -766,15 +766,15 @@ d3d12_deinit_screen(struct d3d12_screen *screen) screen->dev->Release(); screen->dev = nullptr; } - if (screen->winsys) { - screen->winsys->destroy(screen->winsys); - screen->winsys = nullptr; - } } void d3d12_destroy_screen(struct d3d12_screen *screen) { + if (screen->winsys) { + screen->winsys->destroy(screen->winsys); + screen->winsys = nullptr; + } slab_destroy_parent(&screen->transfer_pool); mtx_destroy(&screen->submit_mutex); mtx_destroy(&screen->descriptor_pool_mutex);