diff --git a/filament/backend/src/vulkan/VulkanExternalImageManager.cpp b/filament/backend/src/vulkan/VulkanExternalImageManager.cpp index 8b1294d56a..05ace43cba 100644 --- a/filament/backend/src/vulkan/VulkanExternalImageManager.cpp +++ b/filament/backend/src/vulkan/VulkanExternalImageManager.cpp @@ -191,9 +191,11 @@ void VulkanExternalImageManager::updateSetAndLayout( VkDescriptorSet const srcSet = oldSet != VK_NULL_HANDLE ? oldSet : set->getVkSet(); copySet(mPlatform->getDevice(), srcSet, newSet, copyBindings); - set->setExternalSamplerVkSet(newSet, [&](VulkanDescriptorSet*) { - mDescriptorSetCache->manualRecycle(layout->count, newLayout, newSet); - }); + set->setExternalSamplerVkSet(newSet, + [&descriptorSetCache = mDescriptorSetCache, layoutCount = layout->count, newLayout, + newSet](VulkanDescriptorSet*) { + descriptorSetCache->manualRecycle(layoutCount, newLayout, newSet); + }); if (oldLayout != newLayout) { layout->setExternalSamplerVkLayout(newLayout); }