Lines Matching defs:queue
566 * they've actually submitted any of them to a queue. This is a
814 tu_queue_submit_create_locked(struct tu_queue *queue,
823 bool u_trace_enabled = u_trace_context_actively_tracing(&queue->device->trace_context);
832 tu_insert_dynamic_cmdbufs(queue->device, &new_submit->cmd_buffers,
857 new_submit->cmds = vk_zalloc(&queue->device->vk.alloc,
862 result = vk_error(queue, VK_ERROR_OUT_OF_HOST_MEMORY);
869 queue->device, new_submit->cmd_buffers,
879 new_submit->in_syncobjs = vk_zalloc(&queue->device->vk.alloc,
884 result = vk_error(queue, VK_ERROR_OUT_OF_HOST_MEMORY);
889 new_submit->out_syncobjs = vk_zalloc(&queue->device->vk.alloc,
894 result = vk_error(queue, VK_ERROR_OUT_OF_HOST_MEMORY);
907 vk_free(&queue->device->vk.alloc, new_submit->in_syncobjs);
910 tu_u_trace_submission_data_finish(queue->device,
913 vk_free(&queue->device->vk.alloc, new_submit->cmds);
919 tu_queue_submit_finish(struct tu_queue *queue, struct tu_queue_submit *submit)
921 vk_free(&queue->device->vk.alloc, submit->cmds);
922 vk_free(&queue->device->vk.alloc, submit->in_syncobjs);
923 vk_free(&queue->device->vk.alloc, submit->out_syncobjs);
925 vk_free(&queue->device->vk.alloc, submit->cmd_buffers);
943 tu_queue_build_msm_gem_submit_cmds(struct tu_queue *queue,
947 struct tu_device *dev = queue->device;
952 struct tu_device *dev = queue->device;
986 tu_queue_submit_locked(struct tu_queue *queue, struct tu_queue_submit *submit)
988 queue->device->submit_count++;
992 autotune_cs = tu_autotune_on_submit(queue->device,
993 &queue->device->autotune,
1006 mtx_lock(&queue->device->bo_mutex);
1008 if (queue->device->implicit_sync_bo_count == 0)
1015 tu_queue_build_msm_gem_submit_cmds(queue, submit, autotune_cs);
1019 .queueid = queue->msm_queue_id,
1020 .bos = (uint64_t)(uintptr_t) queue->device->bo_list,
1021 .nr_bos = submit->entry_count ? queue->device->bo_count : 0,
1031 int ret = drmCommandWriteRead(queue->device->fd,
1035 mtx_unlock(&queue->device->bo_mutex);
1038 return vk_device_set_lost(&queue->device->vk, "submit failed: %m");
1041 tu_perfetto_submit(queue->device, queue->device->submit_count);
1047 submission_data->submission_id = queue->device->submit_count;
1050 vk_alloc(&queue->device->vk.alloc, sizeof(struct tu_u_trace_syncobj),
1053 submission_data->syncobj->msm_queue_id = queue->msm_queue_id;
1099 pthread_cond_broadcast(&queue->device->timeline_cond);
1136 struct tu_queue *queue = container_of(vk_queue, struct tu_queue, vk);
1137 uint32_t perf_pass_index = queue->device->perfcntrs_pass_cs ?
1141 if (unlikely(queue->device->physical_device->instance->debug_flags &
1143 tu_dbg_log_gmem_load_store_skips(queue->device);
1146 pthread_mutex_lock(&queue->device->submit_mutex);
1148 VkResult ret = tu_queue_submit_create_locked(queue, submit,
1153 pthread_mutex_unlock(&queue->device->submit_mutex);
1181 ret = tu_queue_submit_locked(queue, &submit_req);
1183 pthread_mutex_unlock(&queue->device->submit_mutex);
1184 tu_queue_submit_finish(queue, &submit_req);
1189 u_trace_context_process(&queue->device->trace_context, true);