vulk_ext/vkx/
queue.rs

1use super::*;
2
3pub unsafe fn queue_submit(
4    device: &Device,
5    command_buffer: &CommandBuffer,
6    wait_semaphores: &[vk::SemaphoreSubmitInfo],
7    signal_semaphores: &[vk::SemaphoreSubmitInfo],
8) -> Result<()> {
9    device.queue_submit2(
10        device.queue_handle(),
11        1,
12        &vk::SubmitInfo2 {
13            s_type: vk::StructureType::SubmitInfo2,
14            p_next: null(),
15            flags: vk::SubmitFlags::empty(),
16            wait_semaphore_info_count: wait_semaphores.len() as _,
17            p_wait_semaphore_infos: wait_semaphores.as_ptr(),
18            command_buffer_info_count: 1,
19            p_command_buffer_infos: &vk::CommandBufferSubmitInfo {
20                s_type: vk::StructureType::CommandBufferSubmitInfo,
21                p_next: null(),
22                command_buffer: command_buffer.handle(),
23                device_mask: 0,
24            },
25            signal_semaphore_info_count: signal_semaphores.len() as _,
26            p_signal_semaphore_infos: signal_semaphores.as_ptr(),
27        },
28        vk::Fence::null(),
29    )?;
30    Ok(())
31}