Lines Matching defs:submit

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);
924 if (submit->cmd_buffers != (void *) submit->vk_submit->command_buffers)
925 vk_free(&queue->device->vk.alloc, submit->cmd_buffers);
944 struct tu_queue_submit *submit,
948 struct drm_msm_gem_submit_cmd *cmds = submit->cmds;
951 for (uint32_t j = 0; j < submit->nr_cmd_buffers; ++j) {
953 struct tu_cmd_buffer *cmdbuf = submit->cmd_buffers[j];
956 if (submit->perf_pass_index != ~0) {
958 &dev->perfcntrs_pass_cs_entries[submit->perf_pass_index];
968 if (submit->u_trace_submission_data) {
970 submit->u_trace_submission_data->cmd_trace_data[j].timestamp_copy_cs;
986 tu_queue_submit_locked(struct tu_queue *queue, struct tu_queue_submit *submit)
991 if (submit->autotune_fence) {
994 submit->cmd_buffers,
995 submit->nr_cmd_buffers);
1000 if (submit->vk_submit->wait_count)
1003 if (submit->vk_submit->signal_count)
1012 * time when bo_mutex is not locked. So we build submit cmds here the real
1013 * place to submit.
1015 tu_queue_build_msm_gem_submit_cmds(queue, submit, autotune_cs);
1021 .nr_bos = submit->entry_count ? queue->device->bo_count : 0,
1022 .cmds = (uint64_t)(uintptr_t)submit->cmds,
1023 .nr_cmds = submit->entry_count,
1024 .in_syncobjs = (uint64_t)(uintptr_t)submit->in_syncobjs,
1025 .out_syncobjs = (uint64_t)(uintptr_t)submit->out_syncobjs,
1026 .nr_in_syncobjs = submit->nr_in_syncobjs,
1027 .nr_out_syncobjs = submit->nr_out_syncobjs,
1038 return vk_device_set_lost(&queue->device->vk, "submit failed: %m");
1044 if (submit->u_trace_submission_data) {
1046 submit->u_trace_submission_data;
1055 submit->u_trace_submission_data = NULL;
1070 for (uint32_t i = 0; i < submit->vk_submit->wait_count; i++) {
1071 if (!vk_sync_is_tu_timeline_sync(submit->vk_submit->waits[i].sync))
1075 container_of(submit->vk_submit->waits[i].sync, struct tu_timeline_sync, base);
1085 for (uint32_t i = 0; i < submit->vk_submit->signal_count; i++) {
1086 if (!vk_sync_is_tu_timeline_sync(submit->vk_submit->signals[i].sync))
1090 container_of(submit->vk_submit->signals[i].sync, struct tu_timeline_sync, base);
1134 tu_queue_submit(struct vk_queue *vk_queue, struct vk_queue_submit *submit)
1138 submit->perf_pass_index : ~0;
1148 VkResult ret = tu_queue_submit_create_locked(queue, submit,
1149 submit->wait_count, submit->signal_count,
1163 for (uint32_t i = 0; i < submit->wait_count; i++) {
1164 struct vk_sync *sync = submit->waits[i].sync;
1172 for (uint32_t i = 0; i < submit->signal_count; i++) {
1173 struct vk_sync *sync = submit->signals[i].sync;