ash/extensions/khr/
display_swapchain.rs

1//! <https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_display_swapchain.html>
2
3use crate::prelude::*;
4use crate::vk;
5use crate::RawPtr;
6use alloc::vec::Vec;
7
8impl crate::khr::display_swapchain::Device {
9    /// <https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCreateSharedSwapchainsKHR.html>
10    #[inline]
11    pub unsafe fn create_shared_swapchains(
12        &self,
13        create_infos: &[vk::SwapchainCreateInfoKHR<'_>],
14        allocation_callbacks: Option<&vk::AllocationCallbacks<'_>>,
15    ) -> VkResult<Vec<vk::SwapchainKHR>> {
16        let mut swapchains = Vec::with_capacity(create_infos.len());
17        (self.fp.create_shared_swapchains_khr)(
18            self.handle,
19            create_infos.len() as u32,
20            create_infos.as_ptr(),
21            allocation_callbacks.as_raw_ptr(),
22            swapchains.as_mut_ptr(),
23        )
24        .set_vec_len_on_success(swapchains, create_infos.len())
25    }
26}