diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 4f4abf70187..0fb86e9d846 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -1562,8 +1562,7 @@ VkResult anv_AllocateMemory( alloc_flags |= ANV_BO_ALLOC_EXTERNAL; /* wsi has its own way of synchronizing with the compositor */ - if (pdevice->instance->external_memory_implicit_sync && - !wsi_info && dedicated_info && + if (!wsi_info && dedicated_info && dedicated_info->image != VK_NULL_HANDLE) { ANV_FROM_HANDLE(anv_image, image, dedicated_info->image); @@ -1578,7 +1577,8 @@ VkResult anv_AllocateMemory( * consumer side relying on implicit fencing can have a fence to * wait for render complete. */ - if (image->vk.usage & VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT) + if (pdevice->instance->external_memory_implicit_sync && + (image->vk.usage & VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT)) alloc_flags |= ANV_BO_ALLOC_IMPLICIT_WRITE; } }