1#[doc(alias = "VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION")]
4pub const KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION: u32 = 1;
5#[doc(alias = "VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME")]
7pub const KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME: *const std::os::raw::c_char = crate::cstr!(
8 "VK_KHR_get_display_properties2"
9);
10pub const FN_GET_PHYSICAL_DEVICE_DISPLAY_PROPERTIES2_KHR: *const std::os::raw::c_char = crate::cstr!(
12 "vkGetPhysicalDeviceDisplayProperties2KHR"
13);
14pub const FN_GET_PHYSICAL_DEVICE_DISPLAY_PLANE_PROPERTIES2_KHR: *const std::os::raw::c_char = crate::cstr!(
16 "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"
17);
18pub const FN_GET_DISPLAY_MODE_PROPERTIES2_KHR: *const std::os::raw::c_char = crate::cstr!(
20 "vkGetDisplayModeProperties2KHR"
21);
22pub const FN_GET_DISPLAY_PLANE_CAPABILITIES2_KHR: *const std::os::raw::c_char = crate::cstr!(
24 "vkGetDisplayPlaneCapabilities2KHR"
25);
26impl crate::vk1_0::StructureType {
28 pub const DISPLAY_PROPERTIES_2_KHR: Self = Self(1000121000);
29 pub const DISPLAY_PLANE_PROPERTIES_2_KHR: Self = Self(1000121001);
30 pub const DISPLAY_MODE_PROPERTIES_2_KHR: Self = Self(1000121002);
31 pub const DISPLAY_PLANE_INFO_2_KHR: Self = Self(1000121003);
32 pub const DISPLAY_PLANE_CAPABILITIES_2_KHR: Self = Self(1000121004);
33}
34#[allow(non_camel_case_types)]
36pub type PFN_vkGetPhysicalDeviceDisplayProperties2KHR = unsafe extern "system" fn(
37 physical_device: crate::vk1_0::PhysicalDevice,
38 p_property_count: *mut u32,
39 p_properties: *mut crate::extensions::khr_get_display_properties2::DisplayProperties2KHR,
40) -> crate::vk1_0::Result;
41#[allow(non_camel_case_types)]
43pub type PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR = unsafe extern "system" fn(
44 physical_device: crate::vk1_0::PhysicalDevice,
45 p_property_count: *mut u32,
46 p_properties: *mut crate::extensions::khr_get_display_properties2::DisplayPlaneProperties2KHR,
47) -> crate::vk1_0::Result;
48#[allow(non_camel_case_types)]
50pub type PFN_vkGetDisplayModeProperties2KHR = unsafe extern "system" fn(
51 physical_device: crate::vk1_0::PhysicalDevice,
52 display: crate::extensions::khr_display::DisplayKHR,
53 p_property_count: *mut u32,
54 p_properties: *mut crate::extensions::khr_get_display_properties2::DisplayModeProperties2KHR,
55) -> crate::vk1_0::Result;
56#[allow(non_camel_case_types)]
58pub type PFN_vkGetDisplayPlaneCapabilities2KHR = unsafe extern "system" fn(
59 physical_device: crate::vk1_0::PhysicalDevice,
60 p_display_plane_info: *const crate::extensions::khr_get_display_properties2::DisplayPlaneInfo2KHR,
61 p_capabilities: *mut crate::extensions::khr_get_display_properties2::DisplayPlaneCapabilities2KHR,
62) -> crate::vk1_0::Result;
63#[doc(alias = "VkDisplayProperties2KHR")]
65#[derive(Copy, Clone)]
66#[repr(C)]
67pub struct DisplayProperties2KHR {
68 pub s_type: crate::vk1_0::StructureType,
69 pub p_next: *mut std::ffi::c_void,
70 pub display_properties: crate::extensions::khr_display::DisplayPropertiesKHR,
71}
72impl DisplayProperties2KHR {
73 pub const STRUCTURE_TYPE: crate::vk1_0::StructureType = crate::vk1_0::StructureType::DISPLAY_PROPERTIES_2_KHR;
74}
75impl Default for DisplayProperties2KHR {
76 fn default() -> Self {
77 Self {
78 s_type: Self::STRUCTURE_TYPE,
79 p_next: std::ptr::null_mut(),
80 display_properties: Default::default(),
81 }
82 }
83}
84impl std::fmt::Debug for DisplayProperties2KHR {
85 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
86 f.debug_struct("DisplayProperties2KHR")
87 .field("s_type", &self.s_type)
88 .field("p_next", &self.p_next)
89 .field("display_properties", &self.display_properties)
90 .finish()
91 }
92}
93impl DisplayProperties2KHR {
94 #[inline]
95 pub fn into_builder<'a>(self) -> DisplayProperties2KHRBuilder<'a> {
96 DisplayProperties2KHRBuilder(self, std::marker::PhantomData)
97 }
98}
99#[derive(Copy, Clone)]
100#[repr(transparent)]
102pub struct DisplayProperties2KHRBuilder<'a>(
103 DisplayProperties2KHR,
104 std::marker::PhantomData<&'a ()>,
105);
106impl<'a> DisplayProperties2KHRBuilder<'a> {
107 #[inline]
108 pub fn new() -> DisplayProperties2KHRBuilder<'a> {
109 DisplayProperties2KHRBuilder(Default::default(), std::marker::PhantomData)
110 }
111 #[inline]
112 #[must_use]
113 pub fn display_properties(
114 mut self,
115 display_properties: crate::extensions::khr_display::DisplayPropertiesKHR,
116 ) -> Self {
117 self.0.display_properties = display_properties as _;
118 self
119 }
120 #[inline]
121 pub fn build_dangling(self) -> DisplayProperties2KHR {
124 self.0
125 }
126}
127impl<'a> std::default::Default for DisplayProperties2KHRBuilder<'a> {
128 fn default() -> DisplayProperties2KHRBuilder<'a> {
129 Self::new()
130 }
131}
132impl<'a> std::fmt::Debug for DisplayProperties2KHRBuilder<'a> {
133 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
134 std::fmt::Debug::fmt(&self.0, f)
135 }
136}
137impl<'a> std::ops::Deref for DisplayProperties2KHRBuilder<'a> {
138 type Target = DisplayProperties2KHR;
139 fn deref(&self) -> &Self::Target {
140 &self.0
141 }
142}
143impl<'a> std::ops::DerefMut for DisplayProperties2KHRBuilder<'a> {
144 fn deref_mut(&mut self) -> &mut Self::Target {
145 &mut self.0
146 }
147}
148#[doc(alias = "VkDisplayPlaneProperties2KHR")]
150#[derive(Copy, Clone)]
151#[repr(C)]
152pub struct DisplayPlaneProperties2KHR {
153 pub s_type: crate::vk1_0::StructureType,
154 pub p_next: *mut std::ffi::c_void,
155 pub display_plane_properties: crate::extensions::khr_display::DisplayPlanePropertiesKHR,
156}
157impl DisplayPlaneProperties2KHR {
158 pub const STRUCTURE_TYPE: crate::vk1_0::StructureType = crate::vk1_0::StructureType::DISPLAY_PLANE_PROPERTIES_2_KHR;
159}
160impl Default for DisplayPlaneProperties2KHR {
161 fn default() -> Self {
162 Self {
163 s_type: Self::STRUCTURE_TYPE,
164 p_next: std::ptr::null_mut(),
165 display_plane_properties: Default::default(),
166 }
167 }
168}
169impl std::fmt::Debug for DisplayPlaneProperties2KHR {
170 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
171 f.debug_struct("DisplayPlaneProperties2KHR")
172 .field("s_type", &self.s_type)
173 .field("p_next", &self.p_next)
174 .field("display_plane_properties", &self.display_plane_properties)
175 .finish()
176 }
177}
178impl DisplayPlaneProperties2KHR {
179 #[inline]
180 pub fn into_builder<'a>(self) -> DisplayPlaneProperties2KHRBuilder<'a> {
181 DisplayPlaneProperties2KHRBuilder(self, std::marker::PhantomData)
182 }
183}
184#[derive(Copy, Clone)]
185#[repr(transparent)]
187pub struct DisplayPlaneProperties2KHRBuilder<'a>(
188 DisplayPlaneProperties2KHR,
189 std::marker::PhantomData<&'a ()>,
190);
191impl<'a> DisplayPlaneProperties2KHRBuilder<'a> {
192 #[inline]
193 pub fn new() -> DisplayPlaneProperties2KHRBuilder<'a> {
194 DisplayPlaneProperties2KHRBuilder(Default::default(), std::marker::PhantomData)
195 }
196 #[inline]
197 #[must_use]
198 pub fn display_plane_properties(
199 mut self,
200 display_plane_properties: crate::extensions::khr_display::DisplayPlanePropertiesKHR,
201 ) -> Self {
202 self.0.display_plane_properties = display_plane_properties as _;
203 self
204 }
205 #[inline]
206 pub fn build_dangling(self) -> DisplayPlaneProperties2KHR {
209 self.0
210 }
211}
212impl<'a> std::default::Default for DisplayPlaneProperties2KHRBuilder<'a> {
213 fn default() -> DisplayPlaneProperties2KHRBuilder<'a> {
214 Self::new()
215 }
216}
217impl<'a> std::fmt::Debug for DisplayPlaneProperties2KHRBuilder<'a> {
218 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
219 std::fmt::Debug::fmt(&self.0, f)
220 }
221}
222impl<'a> std::ops::Deref for DisplayPlaneProperties2KHRBuilder<'a> {
223 type Target = DisplayPlaneProperties2KHR;
224 fn deref(&self) -> &Self::Target {
225 &self.0
226 }
227}
228impl<'a> std::ops::DerefMut for DisplayPlaneProperties2KHRBuilder<'a> {
229 fn deref_mut(&mut self) -> &mut Self::Target {
230 &mut self.0
231 }
232}
233#[doc(alias = "VkDisplayModeProperties2KHR")]
235#[derive(Copy, Clone)]
236#[repr(C)]
237pub struct DisplayModeProperties2KHR {
238 pub s_type: crate::vk1_0::StructureType,
239 pub p_next: *mut std::ffi::c_void,
240 pub display_mode_properties: crate::extensions::khr_display::DisplayModePropertiesKHR,
241}
242impl DisplayModeProperties2KHR {
243 pub const STRUCTURE_TYPE: crate::vk1_0::StructureType = crate::vk1_0::StructureType::DISPLAY_MODE_PROPERTIES_2_KHR;
244}
245impl Default for DisplayModeProperties2KHR {
246 fn default() -> Self {
247 Self {
248 s_type: Self::STRUCTURE_TYPE,
249 p_next: std::ptr::null_mut(),
250 display_mode_properties: Default::default(),
251 }
252 }
253}
254impl std::fmt::Debug for DisplayModeProperties2KHR {
255 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
256 f.debug_struct("DisplayModeProperties2KHR")
257 .field("s_type", &self.s_type)
258 .field("p_next", &self.p_next)
259 .field("display_mode_properties", &self.display_mode_properties)
260 .finish()
261 }
262}
263impl DisplayModeProperties2KHR {
264 #[inline]
265 pub fn into_builder<'a>(self) -> DisplayModeProperties2KHRBuilder<'a> {
266 DisplayModeProperties2KHRBuilder(self, std::marker::PhantomData)
267 }
268}
269#[derive(Copy, Clone)]
270#[repr(transparent)]
272pub struct DisplayModeProperties2KHRBuilder<'a>(
273 DisplayModeProperties2KHR,
274 std::marker::PhantomData<&'a ()>,
275);
276impl<'a> DisplayModeProperties2KHRBuilder<'a> {
277 #[inline]
278 pub fn new() -> DisplayModeProperties2KHRBuilder<'a> {
279 DisplayModeProperties2KHRBuilder(Default::default(), std::marker::PhantomData)
280 }
281 #[inline]
282 #[must_use]
283 pub fn display_mode_properties(
284 mut self,
285 display_mode_properties: crate::extensions::khr_display::DisplayModePropertiesKHR,
286 ) -> Self {
287 self.0.display_mode_properties = display_mode_properties as _;
288 self
289 }
290 #[inline]
291 pub fn build_dangling(self) -> DisplayModeProperties2KHR {
294 self.0
295 }
296}
297impl<'a> std::default::Default for DisplayModeProperties2KHRBuilder<'a> {
298 fn default() -> DisplayModeProperties2KHRBuilder<'a> {
299 Self::new()
300 }
301}
302impl<'a> std::fmt::Debug for DisplayModeProperties2KHRBuilder<'a> {
303 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
304 std::fmt::Debug::fmt(&self.0, f)
305 }
306}
307impl<'a> std::ops::Deref for DisplayModeProperties2KHRBuilder<'a> {
308 type Target = DisplayModeProperties2KHR;
309 fn deref(&self) -> &Self::Target {
310 &self.0
311 }
312}
313impl<'a> std::ops::DerefMut for DisplayModeProperties2KHRBuilder<'a> {
314 fn deref_mut(&mut self) -> &mut Self::Target {
315 &mut self.0
316 }
317}
318#[doc(alias = "VkDisplayPlaneInfo2KHR")]
320#[derive(Copy, Clone)]
321#[repr(C)]
322pub struct DisplayPlaneInfo2KHR {
323 pub s_type: crate::vk1_0::StructureType,
324 pub p_next: *const std::ffi::c_void,
325 pub mode: crate::extensions::khr_display::DisplayModeKHR,
326 pub plane_index: u32,
327}
328impl DisplayPlaneInfo2KHR {
329 pub const STRUCTURE_TYPE: crate::vk1_0::StructureType = crate::vk1_0::StructureType::DISPLAY_PLANE_INFO_2_KHR;
330}
331impl Default for DisplayPlaneInfo2KHR {
332 fn default() -> Self {
333 Self {
334 s_type: Self::STRUCTURE_TYPE,
335 p_next: std::ptr::null(),
336 mode: Default::default(),
337 plane_index: Default::default(),
338 }
339 }
340}
341impl std::fmt::Debug for DisplayPlaneInfo2KHR {
342 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
343 f.debug_struct("DisplayPlaneInfo2KHR")
344 .field("s_type", &self.s_type)
345 .field("p_next", &self.p_next)
346 .field("mode", &self.mode)
347 .field("plane_index", &self.plane_index)
348 .finish()
349 }
350}
351impl DisplayPlaneInfo2KHR {
352 #[inline]
353 pub fn into_builder<'a>(self) -> DisplayPlaneInfo2KHRBuilder<'a> {
354 DisplayPlaneInfo2KHRBuilder(self, std::marker::PhantomData)
355 }
356}
357#[derive(Copy, Clone)]
358#[repr(transparent)]
360pub struct DisplayPlaneInfo2KHRBuilder<'a>(
361 DisplayPlaneInfo2KHR,
362 std::marker::PhantomData<&'a ()>,
363);
364impl<'a> DisplayPlaneInfo2KHRBuilder<'a> {
365 #[inline]
366 pub fn new() -> DisplayPlaneInfo2KHRBuilder<'a> {
367 DisplayPlaneInfo2KHRBuilder(Default::default(), std::marker::PhantomData)
368 }
369 #[inline]
370 #[must_use]
371 pub fn mode(mut self, mode: crate::extensions::khr_display::DisplayModeKHR) -> Self {
372 self.0.mode = mode as _;
373 self
374 }
375 #[inline]
376 #[must_use]
377 pub fn plane_index(mut self, plane_index: u32) -> Self {
378 self.0.plane_index = plane_index as _;
379 self
380 }
381 #[inline]
382 pub fn build_dangling(self) -> DisplayPlaneInfo2KHR {
385 self.0
386 }
387}
388impl<'a> std::default::Default for DisplayPlaneInfo2KHRBuilder<'a> {
389 fn default() -> DisplayPlaneInfo2KHRBuilder<'a> {
390 Self::new()
391 }
392}
393impl<'a> std::fmt::Debug for DisplayPlaneInfo2KHRBuilder<'a> {
394 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
395 std::fmt::Debug::fmt(&self.0, f)
396 }
397}
398impl<'a> std::ops::Deref for DisplayPlaneInfo2KHRBuilder<'a> {
399 type Target = DisplayPlaneInfo2KHR;
400 fn deref(&self) -> &Self::Target {
401 &self.0
402 }
403}
404impl<'a> std::ops::DerefMut for DisplayPlaneInfo2KHRBuilder<'a> {
405 fn deref_mut(&mut self) -> &mut Self::Target {
406 &mut self.0
407 }
408}
409#[doc(alias = "VkDisplayPlaneCapabilities2KHR")]
411#[derive(Copy, Clone)]
412#[repr(C)]
413pub struct DisplayPlaneCapabilities2KHR {
414 pub s_type: crate::vk1_0::StructureType,
415 pub p_next: *mut std::ffi::c_void,
416 pub capabilities: crate::extensions::khr_display::DisplayPlaneCapabilitiesKHR,
417}
418impl DisplayPlaneCapabilities2KHR {
419 pub const STRUCTURE_TYPE: crate::vk1_0::StructureType = crate::vk1_0::StructureType::DISPLAY_PLANE_CAPABILITIES_2_KHR;
420}
421impl Default for DisplayPlaneCapabilities2KHR {
422 fn default() -> Self {
423 Self {
424 s_type: Self::STRUCTURE_TYPE,
425 p_next: std::ptr::null_mut(),
426 capabilities: Default::default(),
427 }
428 }
429}
430impl std::fmt::Debug for DisplayPlaneCapabilities2KHR {
431 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
432 f.debug_struct("DisplayPlaneCapabilities2KHR")
433 .field("s_type", &self.s_type)
434 .field("p_next", &self.p_next)
435 .field("capabilities", &self.capabilities)
436 .finish()
437 }
438}
439impl DisplayPlaneCapabilities2KHR {
440 #[inline]
441 pub fn into_builder<'a>(self) -> DisplayPlaneCapabilities2KHRBuilder<'a> {
442 DisplayPlaneCapabilities2KHRBuilder(self, std::marker::PhantomData)
443 }
444}
445#[derive(Copy, Clone)]
446#[repr(transparent)]
448pub struct DisplayPlaneCapabilities2KHRBuilder<'a>(
449 DisplayPlaneCapabilities2KHR,
450 std::marker::PhantomData<&'a ()>,
451);
452impl<'a> DisplayPlaneCapabilities2KHRBuilder<'a> {
453 #[inline]
454 pub fn new() -> DisplayPlaneCapabilities2KHRBuilder<'a> {
455 DisplayPlaneCapabilities2KHRBuilder(Default::default(), std::marker::PhantomData)
456 }
457 #[inline]
458 #[must_use]
459 pub fn capabilities(
460 mut self,
461 capabilities: crate::extensions::khr_display::DisplayPlaneCapabilitiesKHR,
462 ) -> Self {
463 self.0.capabilities = capabilities as _;
464 self
465 }
466 #[inline]
467 pub fn build_dangling(self) -> DisplayPlaneCapabilities2KHR {
470 self.0
471 }
472}
473impl<'a> std::default::Default for DisplayPlaneCapabilities2KHRBuilder<'a> {
474 fn default() -> DisplayPlaneCapabilities2KHRBuilder<'a> {
475 Self::new()
476 }
477}
478impl<'a> std::fmt::Debug for DisplayPlaneCapabilities2KHRBuilder<'a> {
479 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
480 std::fmt::Debug::fmt(&self.0, f)
481 }
482}
483impl<'a> std::ops::Deref for DisplayPlaneCapabilities2KHRBuilder<'a> {
484 type Target = DisplayPlaneCapabilities2KHR;
485 fn deref(&self) -> &Self::Target {
486 &self.0
487 }
488}
489impl<'a> std::ops::DerefMut for DisplayPlaneCapabilities2KHRBuilder<'a> {
490 fn deref_mut(&mut self) -> &mut Self::Target {
491 &mut self.0
492 }
493}
494impl crate::InstanceLoader {
496 #[inline]
497 #[track_caller]
498 #[doc(alias = "vkGetPhysicalDeviceDisplayProperties2KHR")]
500 pub unsafe fn get_physical_device_display_properties2_khr(
501 &self,
502 physical_device: crate::vk1_0::PhysicalDevice,
503 property_count: Option<u32>,
504 properties_callback: impl FnMut(
505 &mut crate::SmallVec<
506 crate::extensions::khr_get_display_properties2::DisplayProperties2KHR,
507 >,
508 ) -> (),
509 ) -> crate::utils::VulkanResult<
510 crate::SmallVec<
511 crate::extensions::khr_get_display_properties2::DisplayProperties2KHR,
512 >,
513 > {
514 let _function = self
515 .get_physical_device_display_properties2_khr
516 .expect(crate::NOT_LOADED_MESSAGE);
517 let mut property_count = match property_count {
518 Some(v) => v,
519 None => {
520 let mut v = Default::default();
521 _function(physical_device as _, &mut v, std::ptr::null_mut());
522 v
523 }
524 };
525 let mut properties = crate::SmallVec::from_elem(
526 Default::default(),
527 property_count as _,
528 );
529 let mut _callback = properties_callback;
530 _callback(&mut properties);
531 let _return = _function(
532 physical_device as _,
533 &mut property_count,
534 properties.as_mut_ptr(),
535 );
536 crate::utils::VulkanResult::new(_return, properties)
537 }
538 #[inline]
539 #[track_caller]
540 #[doc(alias = "vkGetPhysicalDeviceDisplayPlaneProperties2KHR")]
542 pub unsafe fn get_physical_device_display_plane_properties2_khr(
543 &self,
544 physical_device: crate::vk1_0::PhysicalDevice,
545 property_count: Option<u32>,
546 properties_callback: impl FnMut(
547 &mut crate::SmallVec<
548 crate::extensions::khr_get_display_properties2::DisplayPlaneProperties2KHR,
549 >,
550 ) -> (),
551 ) -> crate::utils::VulkanResult<
552 crate::SmallVec<
553 crate::extensions::khr_get_display_properties2::DisplayPlaneProperties2KHR,
554 >,
555 > {
556 let _function = self
557 .get_physical_device_display_plane_properties2_khr
558 .expect(crate::NOT_LOADED_MESSAGE);
559 let mut property_count = match property_count {
560 Some(v) => v,
561 None => {
562 let mut v = Default::default();
563 _function(physical_device as _, &mut v, std::ptr::null_mut());
564 v
565 }
566 };
567 let mut properties = crate::SmallVec::from_elem(
568 Default::default(),
569 property_count as _,
570 );
571 let mut _callback = properties_callback;
572 _callback(&mut properties);
573 let _return = _function(
574 physical_device as _,
575 &mut property_count,
576 properties.as_mut_ptr(),
577 );
578 crate::utils::VulkanResult::new(_return, properties)
579 }
580 #[inline]
581 #[track_caller]
582 #[doc(alias = "vkGetDisplayModeProperties2KHR")]
584 pub unsafe fn get_display_mode_properties2_khr(
585 &self,
586 physical_device: crate::vk1_0::PhysicalDevice,
587 display: crate::extensions::khr_display::DisplayKHR,
588 property_count: Option<u32>,
589 properties_callback: impl FnMut(
590 &mut crate::SmallVec<
591 crate::extensions::khr_get_display_properties2::DisplayModeProperties2KHR,
592 >,
593 ) -> (),
594 ) -> crate::utils::VulkanResult<
595 crate::SmallVec<
596 crate::extensions::khr_get_display_properties2::DisplayModeProperties2KHR,
597 >,
598 > {
599 let _function = self
600 .get_display_mode_properties2_khr
601 .expect(crate::NOT_LOADED_MESSAGE);
602 let mut property_count = match property_count {
603 Some(v) => v,
604 None => {
605 let mut v = Default::default();
606 _function(
607 physical_device as _,
608 display as _,
609 &mut v,
610 std::ptr::null_mut(),
611 );
612 v
613 }
614 };
615 let mut properties = crate::SmallVec::from_elem(
616 Default::default(),
617 property_count as _,
618 );
619 let mut _callback = properties_callback;
620 _callback(&mut properties);
621 let _return = _function(
622 physical_device as _,
623 display as _,
624 &mut property_count,
625 properties.as_mut_ptr(),
626 );
627 crate::utils::VulkanResult::new(_return, properties)
628 }
629 #[inline]
630 #[track_caller]
631 #[doc(alias = "vkGetDisplayPlaneCapabilities2KHR")]
633 pub unsafe fn get_display_plane_capabilities2_khr(
634 &self,
635 physical_device: crate::vk1_0::PhysicalDevice,
636 display_plane_info: &crate::extensions::khr_get_display_properties2::DisplayPlaneInfo2KHR,
637 capabilities: &mut crate::extensions::khr_get_display_properties2::DisplayPlaneCapabilities2KHR,
638 ) -> crate::utils::VulkanResult<()> {
639 let _function = self
640 .get_display_plane_capabilities2_khr
641 .expect(crate::NOT_LOADED_MESSAGE);
642 let _return = _function(
643 physical_device as _,
644 display_plane_info as _,
645 capabilities as _,
646 );
647 crate::utils::VulkanResult::new(_return, ())
648 }
649}