From 6d8e321be02ba9f280be4da2da83d87bde16b75d Mon Sep 17 00:00:00 2001 From: Adrian Cojocaru Date: Wed, 18 Mar 2026 18:44:02 +0200 Subject: [PATCH] core: Skip empty dynamic texture submissions (#4177) --- src/mbgl/vulkan/dynamic_texture.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/mbgl/vulkan/dynamic_texture.cpp b/src/mbgl/vulkan/dynamic_texture.cpp index 797453258..e0c4c602b 100644 --- a/src/mbgl/vulkan/dynamic_texture.cpp +++ b/src/mbgl/vulkan/dynamic_texture.cpp @@ -56,6 +56,10 @@ void DynamicTexture::uploadImage(const uint8_t* pixelData, gfx::TextureHandle& t void DynamicTexture::uploadDeferredImages() { std::scoped_lock lock(mutex); + if (texturesToBlit.empty()) { + return; + } + const auto& textureVK = static_cast(texture.get()); context.submitOneTimeCommand(commandPool, [&](const vk::UniqueCommandBuffer& commandBuffer) { textureVK->transitionToTransferWriteLayout(commandBuffer); @@ -147,6 +151,10 @@ void DynamicTexture::uploadImage(const uint8_t* pixelData, gfx::TextureHandle& t void DynamicTexture::uploadDeferredImages() { std::scoped_lock lock(mutex); + if (textureBuffersToUpload.empty()) { + return; + } + const auto& textureVK = static_cast(texture.get()); context.submitOneTimeCommand([&](const vk::UniqueCommandBuffer& commandBuffer) { textureVK->transitionToTransferWriteLayout(commandBuffer);