ash/extensions/khr/
device_group_creation.rs1use crate::prelude::*;
4use crate::vk;
5use core::mem;
6use core::ptr;
7
8impl crate::khr::device_group_creation::Instance {
9 #[inline]
11 pub unsafe fn enumerate_physical_device_groups_len(&self) -> VkResult<usize> {
12 let mut group_count = mem::MaybeUninit::uninit();
13 (self.fp.enumerate_physical_device_groups_khr)(
14 self.handle,
15 group_count.as_mut_ptr(),
16 ptr::null_mut(),
17 )
18 .assume_init_on_success(group_count)
19 .map(|c| c as usize)
20 }
21
22 #[inline]
27 pub unsafe fn enumerate_physical_device_groups(
28 &self,
29 out: &mut [vk::PhysicalDeviceGroupProperties<'_>],
30 ) -> VkResult<()> {
31 let mut count = out.len() as u32;
32 (self.fp.enumerate_physical_device_groups_khr)(self.handle, &mut count, out.as_mut_ptr())
33 .result()?;
34 assert_eq!(count as usize, out.len());
35 Ok(())
36 }
37}