| 660 | } |
| 661 | |
| 662 | auto Device::submit_commands(CommandSubmitInfo const & submit_info) -> u64 |
| 663 | { |
| 664 | daxa_CommandSubmitInfo const c_submit_info = { |
| 665 | .queue = std::bit_cast<daxa_Queue>(submit_info.queue), |
| 666 | .command_lists = reinterpret_cast<daxa_ExecutableCommandList const *>(submit_info.command_lists.data()), |
| 667 | .command_list_count = submit_info.command_lists.size(), |
| 668 | .wait_binary_semaphores = reinterpret_cast<daxa_BinarySemaphore const *>(submit_info.wait_binary_semaphores.data()), |
| 669 | .wait_binary_semaphore_count = submit_info.wait_binary_semaphores.size(), |
| 670 | .signal_binary_semaphores = reinterpret_cast<daxa_BinarySemaphore const *>(submit_info.signal_binary_semaphores.data()), |
| 671 | .signal_binary_semaphore_count = submit_info.signal_binary_semaphores.size(), |
| 672 | .wait_timeline_semaphores = reinterpret_cast<daxa_TimelinePair const *>(submit_info.wait_timeline_semaphores.data()), |
| 673 | .wait_timeline_semaphore_count = submit_info.wait_timeline_semaphores.size(), |
| 674 | .signal_timeline_semaphores = reinterpret_cast<daxa_TimelinePair const *>(submit_info.signal_timeline_semaphores.data()), |
| 675 | .signal_timeline_semaphore_count = submit_info.signal_timeline_semaphores.size(), |
| 676 | .wait_queue_submit_indices = reinterpret_cast<daxa_QueueSubmitIndexPair const *>(submit_info.wait_queue_submit_indices.data()), |
| 677 | .wait_queue_submit_indices_count = submit_info.wait_queue_submit_indices.size(), |
| 678 | }; |
| 679 | u64 submit_index = {}; |
| 680 | check_result( |
| 681 | daxa_dvc_submit_commands(r_cast<daxa_Device>(this->object), &c_submit_info, &submit_index), |
| 682 | "failed to submit commands"); |
| 683 | return submit_index; |
| 684 | } |
| 685 | |
| 686 | auto Device::latest_submit_index() const -> u64 |
| 687 | { |
no test coverage detected