From: José Roberto de Souza Date: Fri, 10 Feb 2023 16:01:59 +0000 (-0800) Subject: anv: Handle external objects allocation in Xe X-Git-Tag: upstream/23.3.3~11593 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=eec5ddd0ed24a3903f32b278db818b6bbaf4b51e;p=platform%2Fupstream%2Fmesa.git anv: Handle external objects allocation in Xe External(imported or exported) objects needs to have vm_id set to 0. Signed-off-by: José Roberto de Souza Reviewed-by: Lionel Landwerlin Part-of: --- diff --git a/src/intel/vulkan/xe/anv_kmd_backend.c b/src/intel/vulkan/xe/anv_kmd_backend.c index 01784ee..b76ba0b 100644 --- a/src/intel/vulkan/xe/anv_kmd_backend.c +++ b/src/intel/vulkan/xe/anv_kmd_backend.c @@ -35,7 +35,11 @@ xe_gem_create(struct anv_device *device, enum anv_bo_alloc_flags alloc_flags) { struct drm_xe_gem_create gem_create = { - .vm_id = device->vm_id, + /* From xe_drm.h: If a VM is specified, this BO must: + * 1. Only ever be bound to that VM. + * 2. Cannot be exported as a PRIME fd. + */ + .vm_id = alloc_flags & ANV_BO_ALLOC_EXTERNAL ? 0 : device->vm_id, .size = size, .flags = alloc_flags & ANV_BO_ALLOC_SCANOUT ? XE_GEM_CREATE_FLAG_SCANOUT : 0, };