anv: fixup locking for utrace submission increments
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Sat, 18 Mar 2023 21:47:01 +0000 (23:47 +0200)
committerLionel Landwerlin <lionel.g.landwerlin@intel.com>
Fri, 24 Mar 2023 07:38:13 +0000 (09:38 +0200)
This is supposed to happen under the device lock.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: e760c5b37b ("anv: add perfetto source")
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22006>

src/intel/vulkan/anv_batch_chain.c

index 7923646..d32212a 100644 (file)
@@ -1342,17 +1342,17 @@ anv_queue_submit(struct vk_queue *vk_queue,
       return VK_SUCCESS;
    }
 
-   uint64_t start_ts = intel_ds_begin_submit(&queue->ds);
-
    pthread_mutex_lock(&device->mutex);
+
+   uint64_t start_ts = intel_ds_begin_submit(&queue->ds);
    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);
 
    u_trace_context_process(&device->ds.trace_context, true);
 
+   pthread_mutex_unlock(&device->mutex);
+
    return result;
 }