diff --git a/src/gpu/vulkan/SDL_gpu_vulkan.c b/src/gpu/vulkan/SDL_gpu_vulkan.c index 841cafef0e..e196954758 100644 --- a/src/gpu/vulkan/SDL_gpu_vulkan.c +++ b/src/gpu/vulkan/SDL_gpu_vulkan.c @@ -9548,15 +9548,16 @@ static SDL_GPUCommandBuffer *VULKAN_AcquireCommandBuffer( VulkanCommandBuffer *commandBuffer = VULKAN_INTERNAL_GetInactiveCommandBufferFromPool(renderer, threadID); + if (commandBuffer == NULL) { + SDL_UnlockMutex(renderer->acquireCommandBufferLock); + return NULL; + } + DescriptorSetCache *descriptorSetCache = VULKAN_INTERNAL_AcquireDescriptorSetCache(renderer); SDL_UnlockMutex(renderer->acquireCommandBufferLock); - if (commandBuffer == NULL) { - return NULL; - } - commandBuffer->descriptorSetCache = descriptorSetCache; // Reset state