diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 1e09efd12bf..6a8b1ff35cf 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -3805,9 +3805,12 @@ VkResult anv_AllocateMemory( if (mem->vk.alloc_flags & VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT) alloc_flags |= ANV_BO_ALLOC_CLIENT_VISIBLE_ADDRESS; - /* Anything imported or exported is EXTERNAL */ + /* Anything imported or exported is EXTERNAL. Apply implicit sync to be + * compatible with clients relying on implicit fencing. This matches the + * behavior in iris i915_batch_submit. An example client is VA-API. + */ if (mem->vk.export_handle_types || mem->vk.import_handle_type) - alloc_flags |= ANV_BO_ALLOC_EXTERNAL; + alloc_flags |= (ANV_BO_ALLOC_EXTERNAL | ANV_BO_ALLOC_IMPLICIT_SYNC); if (mem->vk.ahardware_buffer) { result = anv_import_ahw_memory(_device, mem);