diff --git a/.pick_status.json b/.pick_status.json index 84712fd0a95..c4075ea9a3a 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -3964,7 +3964,7 @@ "description": "anv,hasvk: Take trace submission ID out of lock", "nominated": true, "nomination_type": 4, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/intel/vulkan/anv_batch_chain.c b/src/intel/vulkan/anv_batch_chain.c index b05cd4b1f15..8774b1291be 100644 --- a/src/intel/vulkan/anv_batch_chain.c +++ b/src/intel/vulkan/anv_batch_chain.c @@ -1645,10 +1645,9 @@ anv_queue_submit(struct vk_queue *vk_queue, if (result != VK_SUCCESS) return result; - pthread_mutex_lock(&device->mutex); - uint64_t start_ts = intel_ds_begin_submit(&queue->ds); + pthread_mutex_lock(&device->mutex); if (submit->buffer_bind_count || submit->image_opaque_bind_count || submit->image_bind_count) { @@ -1657,12 +1656,9 @@ anv_queue_submit(struct vk_queue *vk_queue, result = anv_queue_submit_cmd_buffers_locked(queue, submit, utrace_submit); } - - /* Take submission ID under lock */ - intel_ds_end_submit(&queue->ds, start_ts); - pthread_mutex_unlock(&device->mutex); + intel_ds_end_submit(&queue->ds, start_ts); intel_ds_device_process(&device->ds, false); return result; diff --git a/src/intel/vulkan_hasvk/anv_batch_chain.c b/src/intel/vulkan_hasvk/anv_batch_chain.c index 03d96c16f60..c24421bd8c6 100644 --- a/src/intel/vulkan_hasvk/anv_batch_chain.c +++ b/src/intel/vulkan_hasvk/anv_batch_chain.c @@ -2398,7 +2398,6 @@ anv_queue_submit(struct vk_queue *vk_queue, pthread_mutex_lock(&device->mutex); result = anv_queue_submit_locked(queue, submit); - /* Take submission ID under lock */ pthread_mutex_unlock(&device->mutex); intel_ds_end_submit(&queue->ds, start_ts);