diff --git a/src/mbgl/vulkan/context.cpp b/src/mbgl/vulkan/context.cpp index d56181f45..ad665f198 100644 --- a/src/mbgl/vulkan/context.cpp +++ b/src/mbgl/vulkan/context.cpp @@ -68,8 +68,6 @@ Context::Context(RendererBackend& backend_) Context::~Context() noexcept { MBGL_VERIFY_THREAD(tid); - backend.getThreadPool().runRenderJobs(true /* closeQueue */); - destroyResources(); { diff --git a/src/mbgl/vulkan/renderer_backend.cpp b/src/mbgl/vulkan/renderer_backend.cpp index 54b8ad62d..92dd650e9 100644 --- a/src/mbgl/vulkan/renderer_backend.cpp +++ b/src/mbgl/vulkan/renderer_backend.cpp @@ -634,6 +634,9 @@ void RendererBackend::initCommandPool() { void RendererBackend::destroyResources() { if (device) device->waitIdle(dispatcher); + gfx::BackendScope scope(*this, gfx::BackendScope::ScopeType::Implicit); + getThreadPool().runRenderJobs(true /* closeQueue */); + context.reset(); commandPool.reset();