diff --git a/src/virtio/vulkan/vn_device.c b/src/virtio/vulkan/vn_device.c index 6852cdd5c2a..a5ffe2bc4bb 100644 --- a/src/virtio/vulkan/vn_device.c +++ b/src/virtio/vulkan/vn_device.c @@ -504,9 +504,8 @@ vn_device_init(struct vn_device *dev, */ vn_device_update_shader_cache_id(dev); - dev->has_sync2 = - physical_dev->base.vk.properties.apiVersion >= VK_API_VERSION_1_3 || - dev->base.vk.enabled_extensions.KHR_synchronization2; + dev->has_sync2 = physical_dev->renderer_version >= VK_API_VERSION_1_3 || + dev->base.vk.enabled_extensions.KHR_synchronization2; return VK_SUCCESS; diff --git a/src/virtio/vulkan/vn_queue.c b/src/virtio/vulkan/vn_queue.c index 992d249eb7c..b231fbfa457 100644 --- a/src/virtio/vulkan/vn_queue.c +++ b/src/virtio/vulkan/vn_queue.c @@ -1135,7 +1135,9 @@ vn_queue_submit_2_to_1(struct vn_device *dev, bool has_wait_timeline_sem = false; for (uint32_t i = 0; i < submit->waitSemaphoreInfoCount; i++) { _wait_sem_handles[i] = submit->pWaitSemaphoreInfos[i].semaphore; - _wait_stages[i] = submit->pWaitSemaphoreInfos[i].stageMask; + _wait_stages[i] = submit->pWaitSemaphoreInfos[i].stageMask + ? submit->pWaitSemaphoreInfos[i].stageMask + : VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT; VK_FROM_HANDLE(vn_semaphore, sem, _wait_sem_handles[i]); has_wait_timeline_sem |= sem->type == VK_SEMAPHORE_TYPE_TIMELINE;