anv: Disable anv_bo_sync_type for Xe kmd

anv_bo_sync_type is only supported with i915, if necessary it will be
implemented for Xe kmd.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22171>
This commit is contained in:
José Roberto de Souza
2022-09-15 06:46:23 -07:00
committed by Marge Bot
parent fdea48df5e
commit 74ff665bd0
2 changed files with 17 additions and 7 deletions

View File

@@ -921,12 +921,18 @@ anv_physical_device_try_create(struct vk_instance *vk_instance,
device->sync_syncobj_type.features &= ~VK_SYNC_FEATURE_TIMELINE;
device->sync_types[st_idx++] = &device->sync_syncobj_type;
if (!(device->sync_syncobj_type.features & VK_SYNC_FEATURE_CPU_WAIT))
device->sync_types[st_idx++] = &anv_bo_sync_type;
/* anv_bo_sync_type is only supported with i915 for now */
if (device->info.kmd_type == INTEL_KMD_TYPE_I915) {
if (!(device->sync_syncobj_type.features & VK_SYNC_FEATURE_CPU_WAIT))
device->sync_types[st_idx++] = &anv_bo_sync_type;
if (!(device->sync_syncobj_type.features & VK_SYNC_FEATURE_TIMELINE)) {
device->sync_timeline_type = vk_sync_timeline_get_type(&anv_bo_sync_type);
device->sync_types[st_idx++] = &device->sync_timeline_type.sync;
if (!(device->sync_syncobj_type.features & VK_SYNC_FEATURE_TIMELINE)) {
device->sync_timeline_type = vk_sync_timeline_get_type(&anv_bo_sync_type);
device->sync_types[st_idx++] = &device->sync_timeline_type.sync;
}
} else {
assert(device->sync_syncobj_type.features & VK_SYNC_FEATURE_TIMELINE);
assert(device->sync_syncobj_type.features & VK_SYNC_FEATURE_CPU_WAIT);
}
device->sync_types[st_idx++] = NULL;
@@ -3051,6 +3057,8 @@ VkResult anv_CreateDevice(
device->vk.command_buffer_ops = &anv_cmd_buffer_ops;
device->vk.create_sync_for_memory = anv_create_sync_for_memory;
if (physical_device->info.kmd_type == INTEL_KMD_TYPE_I915)
device->vk.create_sync_for_memory = anv_create_sync_for_memory;
vk_device_set_drm_fd(&device->vk, device->fd);
uint32_t num_queues = 0;

View File

@@ -65,9 +65,11 @@ anv_init_wsi(struct anv_physical_device *physical_device)
return result;
physical_device->wsi_device.supports_modifiers = true;
physical_device->wsi_device.signal_semaphore_with_memory = true;
physical_device->wsi_device.signal_fence_with_memory = true;
physical_device->wsi_device.get_blit_queue = anv_wsi_get_prime_blit_queue;
if (physical_device->info.kmd_type == INTEL_KMD_TYPE_I915) {
physical_device->wsi_device.signal_semaphore_with_memory = true;
physical_device->wsi_device.signal_fence_with_memory = true;
}
physical_device->vk.wsi_device = &physical_device->wsi_device;