Lines Matching refs:submit

311    /* submit a vkWriteRingExtraMESA through the renderer */
349 struct vn_ring_submit *submit;
359 vn_instance_submission_get_cs(struct vn_instance_submission *submit,
389 void *exec_data = submit->indirect.data;
390 if (exec_size > sizeof(submit->indirect.data)) {
399 submit->indirect.buffer = VN_CS_ENCODER_BUFFER_INITIALIZER(exec_data);
400 submit->indirect.cs =
401 VN_CS_ENCODER_INITIALIZER(&submit->indirect.buffer, exec_size);
402 vn_encode_vkExecuteCommandStreamsMESA(&submit->indirect.cs, 0, desc_count,
404 vn_cs_encoder_commit(&submit->indirect.cs);
409 return &submit->indirect.cs;
420 struct vn_ring_submit *submit = vn_ring_get_submit(ring, shmem_count);
421 if (!submit)
424 submit->shmem_count = shmem_count;
427 submit->shmems[i] =
432 submit->shmems[shmem_count - 1] =
436 return submit;
440 vn_instance_submission_cleanup(struct vn_instance_submission *submit)
442 if (submit->cs == &submit->indirect.cs &&
443 submit->indirect.buffer.base != submit->indirect.data)
444 free(submit->indirect.buffer.base);
448 vn_instance_submission_prepare(struct vn_instance_submission *submit,
454 submit->cs = vn_instance_submission_get_cs(submit, cs, direct);
455 if (!submit->cs)
458 submit->submit =
460 if (!submit->submit) {
461 vn_instance_submission_cleanup(submit);
520 struct vn_instance_submission submit;
522 vn_instance_submission_prepare(&submit, cs, ring, extra_shmem, direct);
527 const bool notify = vn_ring_submit(ring, submit.submit, submit.cs, &seqno);
537 vn_instance_submission_cleanup(&submit);
624 struct vn_instance_submit_command *submit)
627 submit->reply_shmem = NULL;
631 if (vn_cs_encoder_is_empty(&submit->command))
633 vn_cs_encoder_commit(&submit->command);
635 if (submit->reply_size) {
636 submit->reply_shmem = vn_instance_get_reply_shmem_locked(
637 instance, submit->reply_size, &reply_ptr);
638 if (!submit->reply_shmem)
644 instance, &submit->command, submit->reply_shmem, &ring_seqno);
648 submit->reply = VN_CS_DECODER_INITIALIZER(reply_ptr, submit->reply_size);
650 if (submit->reply_size && result == VK_SUCCESS)