diff --git a/src/intel/vulkan_hasvk/anv_allocator.c b/src/intel/vulkan_hasvk/anv_allocator.c index 94403f385fd..3cd9c7b9ae6 100644 --- a/src/intel/vulkan_hasvk/anv_allocator.c +++ b/src/intel/vulkan_hasvk/anv_allocator.c @@ -1527,7 +1527,7 @@ anv_bo_alloc_flags_to_bo_flags(struct anv_device *device, bo_flags |= EXEC_OBJECT_WRITE; } - if (!(alloc_flags & ANV_BO_ALLOC_IMPLICIT_SYNC) && pdevice->has_exec_async) + if (!(alloc_flags & ANV_BO_ALLOC_IMPLICIT_SYNC)) bo_flags |= EXEC_OBJECT_ASYNC; if (pdevice->use_softpin) diff --git a/src/intel/vulkan_hasvk/anv_device.c b/src/intel/vulkan_hasvk/anv_device.c index 1437e30daba..8b2978519f9 100644 --- a/src/intel/vulkan_hasvk/anv_device.c +++ b/src/intel/vulkan_hasvk/anv_device.c @@ -1699,8 +1699,12 @@ anv_physical_device_try_create(struct vk_instance *vk_instance, goto fail_base; } - if (intel_gem_get_param(fd, I915_PARAM_HAS_EXEC_ASYNC, &val)) - device->has_exec_async = val; + if (!intel_gem_get_param(fd, I915_PARAM_HAS_EXEC_ASYNC, &val) || !val) { + result = vk_errorf(device, VK_ERROR_INITIALIZATION_FAILED, + "kernel missing exec async support"); + goto fail_base; + } + if (intel_gem_get_param(fd, I915_PARAM_HAS_EXEC_CAPTURE, &val)) device->has_exec_capture = val; diff --git a/src/intel/vulkan_hasvk/anv_private.h b/src/intel/vulkan_hasvk/anv_private.h index 4bea281117b..3ee3d5afa57 100644 --- a/src/intel/vulkan_hasvk/anv_private.h +++ b/src/intel/vulkan_hasvk/anv_private.h @@ -859,7 +859,6 @@ struct anv_physical_device { */ uint32_t n_perf_query_commands; int cmd_parser_version; - bool has_exec_async; bool has_exec_capture; int max_context_priority; uint64_t gtt_size;