1#[doc(alias = "VK_KHR_DISPLAY_SPEC_VERSION")]
4pub const KHR_DISPLAY_SPEC_VERSION: u32 = 23;
5#[doc(alias = "VK_KHR_DISPLAY_EXTENSION_NAME")]
7pub const KHR_DISPLAY_EXTENSION_NAME: *const std::os::raw::c_char = crate::cstr!(
8 "VK_KHR_display"
9);
10pub const FN_GET_PHYSICAL_DEVICE_DISPLAY_PROPERTIES_KHR: *const std::os::raw::c_char = crate::cstr!(
12 "vkGetPhysicalDeviceDisplayPropertiesKHR"
13);
14pub const FN_GET_PHYSICAL_DEVICE_DISPLAY_PLANE_PROPERTIES_KHR: *const std::os::raw::c_char = crate::cstr!(
16 "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"
17);
18pub const FN_GET_DISPLAY_PLANE_SUPPORTED_DISPLAYS_KHR: *const std::os::raw::c_char = crate::cstr!(
20 "vkGetDisplayPlaneSupportedDisplaysKHR"
21);
22pub const FN_GET_DISPLAY_MODE_PROPERTIES_KHR: *const std::os::raw::c_char = crate::cstr!(
24 "vkGetDisplayModePropertiesKHR"
25);
26pub const FN_CREATE_DISPLAY_MODE_KHR: *const std::os::raw::c_char = crate::cstr!(
28 "vkCreateDisplayModeKHR"
29);
30pub const FN_GET_DISPLAY_PLANE_CAPABILITIES_KHR: *const std::os::raw::c_char = crate::cstr!(
32 "vkGetDisplayPlaneCapabilitiesKHR"
33);
34pub const FN_CREATE_DISPLAY_PLANE_SURFACE_KHR: *const std::os::raw::c_char = crate::cstr!(
36 "vkCreateDisplayPlaneSurfaceKHR"
37);
38crate::non_dispatchable_handle!(
39 DisplayKHR, DISPLAY_KHR,
40 "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkDisplayKHR.html) · Non-dispatchable Handle",
41 "VkDisplayKHR"
42);
43crate::non_dispatchable_handle!(
44 DisplayModeKHR, DISPLAY_MODE_KHR,
45 "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkDisplayModeKHR.html) · Non-dispatchable Handle",
46 "VkDisplayModeKHR"
47);
48bitflags::bitflags! {
49 #[doc =
50 "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkDisplayModeCreateFlagsKHR.html) · Bitmask of [`DisplayModeCreateFlagBitsKHR`]"]
51 #[doc(alias = "VkDisplayModeCreateFlagsKHR")] #[derive(Default)] #[repr(transparent)]
52 pub struct DisplayModeCreateFlagsKHR : u32 { #[cfg(empty_bitflag_workaround)] const
53 EMPTY_BITFLAG_WORKAROUND = 0; }
54}
55#[doc(alias = "VkDisplayModeCreateFlagBitsKHR")]
57#[derive(Copy, Clone, PartialEq, Eq, Hash, Default, Ord, PartialOrd)]
58#[repr(transparent)]
59pub struct DisplayModeCreateFlagBitsKHR(pub u32);
60impl DisplayModeCreateFlagBitsKHR {
61 #[inline]
62 pub const fn bitmask(&self) -> DisplayModeCreateFlagsKHR {
64 DisplayModeCreateFlagsKHR::from_bits_truncate(self.0)
65 }
66}
67impl std::fmt::Debug for DisplayModeCreateFlagBitsKHR {
68 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
69 f.write_str(
70 match self {
71 _ => "(unknown variant)",
72 },
73 )
74 }
75}
76bitflags::bitflags! {
77 #[doc =
78 "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkDisplaySurfaceCreateFlagsKHR.html) · Bitmask of [`DisplaySurfaceCreateFlagBitsKHR`]"]
79 #[doc(alias = "VkDisplaySurfaceCreateFlagsKHR")] #[derive(Default)]
80 #[repr(transparent)] pub struct DisplaySurfaceCreateFlagsKHR : u32 {
81 #[cfg(empty_bitflag_workaround)] const EMPTY_BITFLAG_WORKAROUND = 0; }
82}
83#[doc(alias = "VkDisplaySurfaceCreateFlagBitsKHR")]
85#[derive(Copy, Clone, PartialEq, Eq, Hash, Default, Ord, PartialOrd)]
86#[repr(transparent)]
87pub struct DisplaySurfaceCreateFlagBitsKHR(pub u32);
88impl DisplaySurfaceCreateFlagBitsKHR {
89 #[inline]
90 pub const fn bitmask(&self) -> DisplaySurfaceCreateFlagsKHR {
92 DisplaySurfaceCreateFlagsKHR::from_bits_truncate(self.0)
93 }
94}
95impl std::fmt::Debug for DisplaySurfaceCreateFlagBitsKHR {
96 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
97 f.write_str(
98 match self {
99 _ => "(unknown variant)",
100 },
101 )
102 }
103}
104impl crate::vk1_0::StructureType {
106 pub const DISPLAY_MODE_CREATE_INFO_KHR: Self = Self(1000002000);
107 pub const DISPLAY_SURFACE_CREATE_INFO_KHR: Self = Self(1000002001);
108}
109impl crate::vk1_0::ObjectType {
111 pub const DISPLAY_KHR: Self = Self(1000002000);
112 pub const DISPLAY_MODE_KHR: Self = Self(1000002001);
113}
114bitflags::bitflags! {
115 #[doc =
116 "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkDisplayPlaneAlphaFlagsKHR.html) · Bitmask of [`DisplayPlaneAlphaFlagBitsKHR`]"]
117 #[doc(alias = "VkDisplayPlaneAlphaFlagsKHR")] #[derive(Default)] #[repr(transparent)]
118 pub struct DisplayPlaneAlphaFlagsKHR : u32 { const OPAQUE_KHR =
119 DisplayPlaneAlphaFlagBitsKHR::OPAQUE_KHR.0; const GLOBAL_KHR =
120 DisplayPlaneAlphaFlagBitsKHR::GLOBAL_KHR.0; const PER_PIXEL_KHR =
121 DisplayPlaneAlphaFlagBitsKHR::PER_PIXEL_KHR.0; const PER_PIXEL_PREMULTIPLIED_KHR =
122 DisplayPlaneAlphaFlagBitsKHR::PER_PIXEL_PREMULTIPLIED_KHR.0; }
123}
124#[doc(alias = "VkDisplayPlaneAlphaFlagBitsKHR")]
126#[derive(Copy, Clone, PartialEq, Eq, Hash, Default, Ord, PartialOrd)]
127#[repr(transparent)]
128pub struct DisplayPlaneAlphaFlagBitsKHR(pub u32);
129impl DisplayPlaneAlphaFlagBitsKHR {
130 #[inline]
131 pub const fn bitmask(&self) -> DisplayPlaneAlphaFlagsKHR {
133 DisplayPlaneAlphaFlagsKHR::from_bits_truncate(self.0)
134 }
135}
136impl std::fmt::Debug for DisplayPlaneAlphaFlagBitsKHR {
137 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
138 f.write_str(
139 match self {
140 &Self::OPAQUE_KHR => "OPAQUE_KHR",
141 &Self::GLOBAL_KHR => "GLOBAL_KHR",
142 &Self::PER_PIXEL_KHR => "PER_PIXEL_KHR",
143 &Self::PER_PIXEL_PREMULTIPLIED_KHR => "PER_PIXEL_PREMULTIPLIED_KHR",
144 _ => "(unknown variant)",
145 },
146 )
147 }
148}
149impl crate::extensions::khr_display::DisplayPlaneAlphaFlagBitsKHR {
151 pub const OPAQUE_KHR: Self = Self(1);
152 pub const GLOBAL_KHR: Self = Self(2);
153 pub const PER_PIXEL_KHR: Self = Self(4);
154 pub const PER_PIXEL_PREMULTIPLIED_KHR: Self = Self(8);
155}
156#[allow(non_camel_case_types)]
158pub type PFN_vkGetPhysicalDeviceDisplayPropertiesKHR = unsafe extern "system" fn(
159 physical_device: crate::vk1_0::PhysicalDevice,
160 p_property_count: *mut u32,
161 p_properties: *mut crate::extensions::khr_display::DisplayPropertiesKHR,
162) -> crate::vk1_0::Result;
163#[allow(non_camel_case_types)]
165pub type PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR = unsafe extern "system" fn(
166 physical_device: crate::vk1_0::PhysicalDevice,
167 p_property_count: *mut u32,
168 p_properties: *mut crate::extensions::khr_display::DisplayPlanePropertiesKHR,
169) -> crate::vk1_0::Result;
170#[allow(non_camel_case_types)]
172pub type PFN_vkGetDisplayPlaneSupportedDisplaysKHR = unsafe extern "system" fn(
173 physical_device: crate::vk1_0::PhysicalDevice,
174 plane_index: u32,
175 p_display_count: *mut u32,
176 p_displays: *mut crate::extensions::khr_display::DisplayKHR,
177) -> crate::vk1_0::Result;
178#[allow(non_camel_case_types)]
180pub type PFN_vkGetDisplayModePropertiesKHR = unsafe extern "system" fn(
181 physical_device: crate::vk1_0::PhysicalDevice,
182 display: crate::extensions::khr_display::DisplayKHR,
183 p_property_count: *mut u32,
184 p_properties: *mut crate::extensions::khr_display::DisplayModePropertiesKHR,
185) -> crate::vk1_0::Result;
186#[allow(non_camel_case_types)]
188pub type PFN_vkCreateDisplayModeKHR = unsafe extern "system" fn(
189 physical_device: crate::vk1_0::PhysicalDevice,
190 display: crate::extensions::khr_display::DisplayKHR,
191 p_create_info: *const crate::extensions::khr_display::DisplayModeCreateInfoKHR,
192 p_allocator: *const crate::vk1_0::AllocationCallbacks,
193 p_mode: *mut crate::extensions::khr_display::DisplayModeKHR,
194) -> crate::vk1_0::Result;
195#[allow(non_camel_case_types)]
197pub type PFN_vkGetDisplayPlaneCapabilitiesKHR = unsafe extern "system" fn(
198 physical_device: crate::vk1_0::PhysicalDevice,
199 mode: crate::extensions::khr_display::DisplayModeKHR,
200 plane_index: u32,
201 p_capabilities: *mut crate::extensions::khr_display::DisplayPlaneCapabilitiesKHR,
202) -> crate::vk1_0::Result;
203#[allow(non_camel_case_types)]
205pub type PFN_vkCreateDisplayPlaneSurfaceKHR = unsafe extern "system" fn(
206 instance: crate::vk1_0::Instance,
207 p_create_info: *const crate::extensions::khr_display::DisplaySurfaceCreateInfoKHR,
208 p_allocator: *const crate::vk1_0::AllocationCallbacks,
209 p_surface: *mut crate::extensions::khr_surface::SurfaceKHR,
210) -> crate::vk1_0::Result;
211#[doc(alias = "VkDisplayPropertiesKHR")]
213#[derive(Copy, Clone)]
214#[repr(C)]
215pub struct DisplayPropertiesKHR {
216 pub display: crate::extensions::khr_display::DisplayKHR,
217 pub display_name: *const std::os::raw::c_char,
218 pub physical_dimensions: crate::vk1_0::Extent2D,
219 pub physical_resolution: crate::vk1_0::Extent2D,
220 pub supported_transforms: crate::extensions::khr_surface::SurfaceTransformFlagsKHR,
221 pub plane_reorder_possible: crate::vk1_0::Bool32,
222 pub persistent_content: crate::vk1_0::Bool32,
223}
224impl Default for DisplayPropertiesKHR {
225 fn default() -> Self {
226 Self {
227 display: Default::default(),
228 display_name: std::ptr::null(),
229 physical_dimensions: Default::default(),
230 physical_resolution: Default::default(),
231 supported_transforms: Default::default(),
232 plane_reorder_possible: Default::default(),
233 persistent_content: Default::default(),
234 }
235 }
236}
237impl std::fmt::Debug for DisplayPropertiesKHR {
238 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
239 f.debug_struct("DisplayPropertiesKHR")
240 .field("display", &self.display)
241 .field("display_name", &self.display_name)
242 .field("physical_dimensions", &self.physical_dimensions)
243 .field("physical_resolution", &self.physical_resolution)
244 .field("supported_transforms", &self.supported_transforms)
245 .field("plane_reorder_possible", &(self.plane_reorder_possible != 0))
246 .field("persistent_content", &(self.persistent_content != 0))
247 .finish()
248 }
249}
250impl DisplayPropertiesKHR {
251 #[inline]
252 pub fn into_builder<'a>(self) -> DisplayPropertiesKHRBuilder<'a> {
253 DisplayPropertiesKHRBuilder(self, std::marker::PhantomData)
254 }
255}
256#[derive(Copy, Clone)]
257#[repr(transparent)]
259pub struct DisplayPropertiesKHRBuilder<'a>(
260 DisplayPropertiesKHR,
261 std::marker::PhantomData<&'a ()>,
262);
263impl<'a> DisplayPropertiesKHRBuilder<'a> {
264 #[inline]
265 pub fn new() -> DisplayPropertiesKHRBuilder<'a> {
266 DisplayPropertiesKHRBuilder(Default::default(), std::marker::PhantomData)
267 }
268 #[inline]
269 #[must_use]
270 pub fn display(
271 mut self,
272 display: crate::extensions::khr_display::DisplayKHR,
273 ) -> Self {
274 self.0.display = display as _;
275 self
276 }
277 #[inline]
278 #[must_use]
279 pub fn display_name(mut self, display_name: &'a std::ffi::CStr) -> Self {
280 self.0.display_name = display_name.as_ptr();
281 self
282 }
283 #[inline]
284 #[must_use]
285 pub fn physical_dimensions(
286 mut self,
287 physical_dimensions: crate::vk1_0::Extent2D,
288 ) -> Self {
289 self.0.physical_dimensions = physical_dimensions as _;
290 self
291 }
292 #[inline]
293 #[must_use]
294 pub fn physical_resolution(
295 mut self,
296 physical_resolution: crate::vk1_0::Extent2D,
297 ) -> Self {
298 self.0.physical_resolution = physical_resolution as _;
299 self
300 }
301 #[inline]
302 #[must_use]
303 pub fn supported_transforms(
304 mut self,
305 supported_transforms: crate::extensions::khr_surface::SurfaceTransformFlagsKHR,
306 ) -> Self {
307 self.0.supported_transforms = supported_transforms as _;
308 self
309 }
310 #[inline]
311 #[must_use]
312 pub fn plane_reorder_possible(mut self, plane_reorder_possible: bool) -> Self {
313 self.0.plane_reorder_possible = plane_reorder_possible as _;
314 self
315 }
316 #[inline]
317 #[must_use]
318 pub fn persistent_content(mut self, persistent_content: bool) -> Self {
319 self.0.persistent_content = persistent_content as _;
320 self
321 }
322 #[inline]
323 pub fn build_dangling(self) -> DisplayPropertiesKHR {
326 self.0
327 }
328}
329impl<'a> std::default::Default for DisplayPropertiesKHRBuilder<'a> {
330 fn default() -> DisplayPropertiesKHRBuilder<'a> {
331 Self::new()
332 }
333}
334impl<'a> std::fmt::Debug for DisplayPropertiesKHRBuilder<'a> {
335 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
336 std::fmt::Debug::fmt(&self.0, f)
337 }
338}
339impl<'a> std::ops::Deref for DisplayPropertiesKHRBuilder<'a> {
340 type Target = DisplayPropertiesKHR;
341 fn deref(&self) -> &Self::Target {
342 &self.0
343 }
344}
345impl<'a> std::ops::DerefMut for DisplayPropertiesKHRBuilder<'a> {
346 fn deref_mut(&mut self) -> &mut Self::Target {
347 &mut self.0
348 }
349}
350#[doc(alias = "VkDisplayPlanePropertiesKHR")]
352#[derive(Copy, Clone, Hash, PartialEq, Eq)]
353#[repr(C)]
354pub struct DisplayPlanePropertiesKHR {
355 pub current_display: crate::extensions::khr_display::DisplayKHR,
356 pub current_stack_index: u32,
357}
358impl Default for DisplayPlanePropertiesKHR {
359 fn default() -> Self {
360 Self {
361 current_display: Default::default(),
362 current_stack_index: Default::default(),
363 }
364 }
365}
366impl std::fmt::Debug for DisplayPlanePropertiesKHR {
367 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
368 f.debug_struct("DisplayPlanePropertiesKHR")
369 .field("current_display", &self.current_display)
370 .field("current_stack_index", &self.current_stack_index)
371 .finish()
372 }
373}
374impl DisplayPlanePropertiesKHR {
375 #[inline]
376 pub fn into_builder<'a>(self) -> DisplayPlanePropertiesKHRBuilder<'a> {
377 DisplayPlanePropertiesKHRBuilder(self, std::marker::PhantomData)
378 }
379}
380#[derive(Copy, Clone)]
381#[repr(transparent)]
383pub struct DisplayPlanePropertiesKHRBuilder<'a>(
384 DisplayPlanePropertiesKHR,
385 std::marker::PhantomData<&'a ()>,
386);
387impl<'a> DisplayPlanePropertiesKHRBuilder<'a> {
388 #[inline]
389 pub fn new() -> DisplayPlanePropertiesKHRBuilder<'a> {
390 DisplayPlanePropertiesKHRBuilder(Default::default(), std::marker::PhantomData)
391 }
392 #[inline]
393 #[must_use]
394 pub fn current_display(
395 mut self,
396 current_display: crate::extensions::khr_display::DisplayKHR,
397 ) -> Self {
398 self.0.current_display = current_display as _;
399 self
400 }
401 #[inline]
402 #[must_use]
403 pub fn current_stack_index(mut self, current_stack_index: u32) -> Self {
404 self.0.current_stack_index = current_stack_index as _;
405 self
406 }
407 #[inline]
408 pub fn build(self) -> DisplayPlanePropertiesKHR {
409 self.0
410 }
411}
412impl<'a> std::default::Default for DisplayPlanePropertiesKHRBuilder<'a> {
413 fn default() -> DisplayPlanePropertiesKHRBuilder<'a> {
414 Self::new()
415 }
416}
417impl<'a> std::fmt::Debug for DisplayPlanePropertiesKHRBuilder<'a> {
418 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
419 std::fmt::Debug::fmt(&self.0, f)
420 }
421}
422impl<'a> std::ops::Deref for DisplayPlanePropertiesKHRBuilder<'a> {
423 type Target = DisplayPlanePropertiesKHR;
424 fn deref(&self) -> &Self::Target {
425 &self.0
426 }
427}
428impl<'a> std::ops::DerefMut for DisplayPlanePropertiesKHRBuilder<'a> {
429 fn deref_mut(&mut self) -> &mut Self::Target {
430 &mut self.0
431 }
432}
433#[doc(alias = "VkDisplayModeParametersKHR")]
435#[derive(Copy, Clone, Hash, PartialEq, Eq)]
436#[repr(C)]
437pub struct DisplayModeParametersKHR {
438 pub visible_region: crate::vk1_0::Extent2D,
439 pub refresh_rate: u32,
440}
441impl Default for DisplayModeParametersKHR {
442 fn default() -> Self {
443 Self {
444 visible_region: Default::default(),
445 refresh_rate: Default::default(),
446 }
447 }
448}
449impl std::fmt::Debug for DisplayModeParametersKHR {
450 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
451 f.debug_struct("DisplayModeParametersKHR")
452 .field("visible_region", &self.visible_region)
453 .field("refresh_rate", &self.refresh_rate)
454 .finish()
455 }
456}
457impl DisplayModeParametersKHR {
458 #[inline]
459 pub fn into_builder<'a>(self) -> DisplayModeParametersKHRBuilder<'a> {
460 DisplayModeParametersKHRBuilder(self, std::marker::PhantomData)
461 }
462}
463#[derive(Copy, Clone)]
464#[repr(transparent)]
466pub struct DisplayModeParametersKHRBuilder<'a>(
467 DisplayModeParametersKHR,
468 std::marker::PhantomData<&'a ()>,
469);
470impl<'a> DisplayModeParametersKHRBuilder<'a> {
471 #[inline]
472 pub fn new() -> DisplayModeParametersKHRBuilder<'a> {
473 DisplayModeParametersKHRBuilder(Default::default(), std::marker::PhantomData)
474 }
475 #[inline]
476 #[must_use]
477 pub fn visible_region(mut self, visible_region: crate::vk1_0::Extent2D) -> Self {
478 self.0.visible_region = visible_region as _;
479 self
480 }
481 #[inline]
482 #[must_use]
483 pub fn refresh_rate(mut self, refresh_rate: u32) -> Self {
484 self.0.refresh_rate = refresh_rate as _;
485 self
486 }
487 #[inline]
488 pub fn build(self) -> DisplayModeParametersKHR {
489 self.0
490 }
491}
492impl<'a> std::default::Default for DisplayModeParametersKHRBuilder<'a> {
493 fn default() -> DisplayModeParametersKHRBuilder<'a> {
494 Self::new()
495 }
496}
497impl<'a> std::fmt::Debug for DisplayModeParametersKHRBuilder<'a> {
498 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
499 std::fmt::Debug::fmt(&self.0, f)
500 }
501}
502impl<'a> std::ops::Deref for DisplayModeParametersKHRBuilder<'a> {
503 type Target = DisplayModeParametersKHR;
504 fn deref(&self) -> &Self::Target {
505 &self.0
506 }
507}
508impl<'a> std::ops::DerefMut for DisplayModeParametersKHRBuilder<'a> {
509 fn deref_mut(&mut self) -> &mut Self::Target {
510 &mut self.0
511 }
512}
513#[doc(alias = "VkDisplayModePropertiesKHR")]
515#[derive(Copy, Clone, Hash, PartialEq, Eq)]
516#[repr(C)]
517pub struct DisplayModePropertiesKHR {
518 pub display_mode: crate::extensions::khr_display::DisplayModeKHR,
519 pub parameters: crate::extensions::khr_display::DisplayModeParametersKHR,
520}
521impl Default for DisplayModePropertiesKHR {
522 fn default() -> Self {
523 Self {
524 display_mode: Default::default(),
525 parameters: Default::default(),
526 }
527 }
528}
529impl std::fmt::Debug for DisplayModePropertiesKHR {
530 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
531 f.debug_struct("DisplayModePropertiesKHR")
532 .field("display_mode", &self.display_mode)
533 .field("parameters", &self.parameters)
534 .finish()
535 }
536}
537impl DisplayModePropertiesKHR {
538 #[inline]
539 pub fn into_builder<'a>(self) -> DisplayModePropertiesKHRBuilder<'a> {
540 DisplayModePropertiesKHRBuilder(self, std::marker::PhantomData)
541 }
542}
543#[derive(Copy, Clone)]
544#[repr(transparent)]
546pub struct DisplayModePropertiesKHRBuilder<'a>(
547 DisplayModePropertiesKHR,
548 std::marker::PhantomData<&'a ()>,
549);
550impl<'a> DisplayModePropertiesKHRBuilder<'a> {
551 #[inline]
552 pub fn new() -> DisplayModePropertiesKHRBuilder<'a> {
553 DisplayModePropertiesKHRBuilder(Default::default(), std::marker::PhantomData)
554 }
555 #[inline]
556 #[must_use]
557 pub fn display_mode(
558 mut self,
559 display_mode: crate::extensions::khr_display::DisplayModeKHR,
560 ) -> Self {
561 self.0.display_mode = display_mode as _;
562 self
563 }
564 #[inline]
565 #[must_use]
566 pub fn parameters(
567 mut self,
568 parameters: crate::extensions::khr_display::DisplayModeParametersKHR,
569 ) -> Self {
570 self.0.parameters = parameters as _;
571 self
572 }
573 #[inline]
574 pub fn build(self) -> DisplayModePropertiesKHR {
575 self.0
576 }
577}
578impl<'a> std::default::Default for DisplayModePropertiesKHRBuilder<'a> {
579 fn default() -> DisplayModePropertiesKHRBuilder<'a> {
580 Self::new()
581 }
582}
583impl<'a> std::fmt::Debug for DisplayModePropertiesKHRBuilder<'a> {
584 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
585 std::fmt::Debug::fmt(&self.0, f)
586 }
587}
588impl<'a> std::ops::Deref for DisplayModePropertiesKHRBuilder<'a> {
589 type Target = DisplayModePropertiesKHR;
590 fn deref(&self) -> &Self::Target {
591 &self.0
592 }
593}
594impl<'a> std::ops::DerefMut for DisplayModePropertiesKHRBuilder<'a> {
595 fn deref_mut(&mut self) -> &mut Self::Target {
596 &mut self.0
597 }
598}
599#[doc(alias = "VkDisplayModeCreateInfoKHR")]
601#[derive(Copy, Clone)]
602#[repr(C)]
603pub struct DisplayModeCreateInfoKHR {
604 pub s_type: crate::vk1_0::StructureType,
605 pub p_next: *const std::ffi::c_void,
606 pub flags: crate::extensions::khr_display::DisplayModeCreateFlagsKHR,
607 pub parameters: crate::extensions::khr_display::DisplayModeParametersKHR,
608}
609impl DisplayModeCreateInfoKHR {
610 pub const STRUCTURE_TYPE: crate::vk1_0::StructureType = crate::vk1_0::StructureType::DISPLAY_MODE_CREATE_INFO_KHR;
611}
612impl Default for DisplayModeCreateInfoKHR {
613 fn default() -> Self {
614 Self {
615 s_type: Self::STRUCTURE_TYPE,
616 p_next: std::ptr::null(),
617 flags: Default::default(),
618 parameters: Default::default(),
619 }
620 }
621}
622impl std::fmt::Debug for DisplayModeCreateInfoKHR {
623 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
624 f.debug_struct("DisplayModeCreateInfoKHR")
625 .field("s_type", &self.s_type)
626 .field("p_next", &self.p_next)
627 .field("flags", &self.flags)
628 .field("parameters", &self.parameters)
629 .finish()
630 }
631}
632impl DisplayModeCreateInfoKHR {
633 #[inline]
634 pub fn into_builder<'a>(self) -> DisplayModeCreateInfoKHRBuilder<'a> {
635 DisplayModeCreateInfoKHRBuilder(self, std::marker::PhantomData)
636 }
637}
638#[derive(Copy, Clone)]
639#[repr(transparent)]
641pub struct DisplayModeCreateInfoKHRBuilder<'a>(
642 DisplayModeCreateInfoKHR,
643 std::marker::PhantomData<&'a ()>,
644);
645impl<'a> DisplayModeCreateInfoKHRBuilder<'a> {
646 #[inline]
647 pub fn new() -> DisplayModeCreateInfoKHRBuilder<'a> {
648 DisplayModeCreateInfoKHRBuilder(Default::default(), std::marker::PhantomData)
649 }
650 #[inline]
651 #[must_use]
652 pub fn flags(
653 mut self,
654 flags: crate::extensions::khr_display::DisplayModeCreateFlagsKHR,
655 ) -> Self {
656 self.0.flags = flags as _;
657 self
658 }
659 #[inline]
660 #[must_use]
661 pub fn parameters(
662 mut self,
663 parameters: crate::extensions::khr_display::DisplayModeParametersKHR,
664 ) -> Self {
665 self.0.parameters = parameters as _;
666 self
667 }
668 #[inline]
669 pub fn build_dangling(self) -> DisplayModeCreateInfoKHR {
672 self.0
673 }
674}
675impl<'a> std::default::Default for DisplayModeCreateInfoKHRBuilder<'a> {
676 fn default() -> DisplayModeCreateInfoKHRBuilder<'a> {
677 Self::new()
678 }
679}
680impl<'a> std::fmt::Debug for DisplayModeCreateInfoKHRBuilder<'a> {
681 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
682 std::fmt::Debug::fmt(&self.0, f)
683 }
684}
685impl<'a> std::ops::Deref for DisplayModeCreateInfoKHRBuilder<'a> {
686 type Target = DisplayModeCreateInfoKHR;
687 fn deref(&self) -> &Self::Target {
688 &self.0
689 }
690}
691impl<'a> std::ops::DerefMut for DisplayModeCreateInfoKHRBuilder<'a> {
692 fn deref_mut(&mut self) -> &mut Self::Target {
693 &mut self.0
694 }
695}
696#[doc(alias = "VkDisplayPlaneCapabilitiesKHR")]
698#[derive(Copy, Clone, Hash, PartialEq, Eq)]
699#[repr(C)]
700pub struct DisplayPlaneCapabilitiesKHR {
701 pub supported_alpha: crate::extensions::khr_display::DisplayPlaneAlphaFlagsKHR,
702 pub min_src_position: crate::vk1_0::Offset2D,
703 pub max_src_position: crate::vk1_0::Offset2D,
704 pub min_src_extent: crate::vk1_0::Extent2D,
705 pub max_src_extent: crate::vk1_0::Extent2D,
706 pub min_dst_position: crate::vk1_0::Offset2D,
707 pub max_dst_position: crate::vk1_0::Offset2D,
708 pub min_dst_extent: crate::vk1_0::Extent2D,
709 pub max_dst_extent: crate::vk1_0::Extent2D,
710}
711impl Default for DisplayPlaneCapabilitiesKHR {
712 fn default() -> Self {
713 Self {
714 supported_alpha: Default::default(),
715 min_src_position: Default::default(),
716 max_src_position: Default::default(),
717 min_src_extent: Default::default(),
718 max_src_extent: Default::default(),
719 min_dst_position: Default::default(),
720 max_dst_position: Default::default(),
721 min_dst_extent: Default::default(),
722 max_dst_extent: Default::default(),
723 }
724 }
725}
726impl std::fmt::Debug for DisplayPlaneCapabilitiesKHR {
727 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
728 f.debug_struct("DisplayPlaneCapabilitiesKHR")
729 .field("supported_alpha", &self.supported_alpha)
730 .field("min_src_position", &self.min_src_position)
731 .field("max_src_position", &self.max_src_position)
732 .field("min_src_extent", &self.min_src_extent)
733 .field("max_src_extent", &self.max_src_extent)
734 .field("min_dst_position", &self.min_dst_position)
735 .field("max_dst_position", &self.max_dst_position)
736 .field("min_dst_extent", &self.min_dst_extent)
737 .field("max_dst_extent", &self.max_dst_extent)
738 .finish()
739 }
740}
741impl DisplayPlaneCapabilitiesKHR {
742 #[inline]
743 pub fn into_builder<'a>(self) -> DisplayPlaneCapabilitiesKHRBuilder<'a> {
744 DisplayPlaneCapabilitiesKHRBuilder(self, std::marker::PhantomData)
745 }
746}
747#[derive(Copy, Clone)]
748#[repr(transparent)]
750pub struct DisplayPlaneCapabilitiesKHRBuilder<'a>(
751 DisplayPlaneCapabilitiesKHR,
752 std::marker::PhantomData<&'a ()>,
753);
754impl<'a> DisplayPlaneCapabilitiesKHRBuilder<'a> {
755 #[inline]
756 pub fn new() -> DisplayPlaneCapabilitiesKHRBuilder<'a> {
757 DisplayPlaneCapabilitiesKHRBuilder(Default::default(), std::marker::PhantomData)
758 }
759 #[inline]
760 #[must_use]
761 pub fn supported_alpha(
762 mut self,
763 supported_alpha: crate::extensions::khr_display::DisplayPlaneAlphaFlagsKHR,
764 ) -> Self {
765 self.0.supported_alpha = supported_alpha as _;
766 self
767 }
768 #[inline]
769 #[must_use]
770 pub fn min_src_position(mut self, min_src_position: crate::vk1_0::Offset2D) -> Self {
771 self.0.min_src_position = min_src_position as _;
772 self
773 }
774 #[inline]
775 #[must_use]
776 pub fn max_src_position(mut self, max_src_position: crate::vk1_0::Offset2D) -> Self {
777 self.0.max_src_position = max_src_position as _;
778 self
779 }
780 #[inline]
781 #[must_use]
782 pub fn min_src_extent(mut self, min_src_extent: crate::vk1_0::Extent2D) -> Self {
783 self.0.min_src_extent = min_src_extent as _;
784 self
785 }
786 #[inline]
787 #[must_use]
788 pub fn max_src_extent(mut self, max_src_extent: crate::vk1_0::Extent2D) -> Self {
789 self.0.max_src_extent = max_src_extent as _;
790 self
791 }
792 #[inline]
793 #[must_use]
794 pub fn min_dst_position(mut self, min_dst_position: crate::vk1_0::Offset2D) -> Self {
795 self.0.min_dst_position = min_dst_position as _;
796 self
797 }
798 #[inline]
799 #[must_use]
800 pub fn max_dst_position(mut self, max_dst_position: crate::vk1_0::Offset2D) -> Self {
801 self.0.max_dst_position = max_dst_position as _;
802 self
803 }
804 #[inline]
805 #[must_use]
806 pub fn min_dst_extent(mut self, min_dst_extent: crate::vk1_0::Extent2D) -> Self {
807 self.0.min_dst_extent = min_dst_extent as _;
808 self
809 }
810 #[inline]
811 #[must_use]
812 pub fn max_dst_extent(mut self, max_dst_extent: crate::vk1_0::Extent2D) -> Self {
813 self.0.max_dst_extent = max_dst_extent as _;
814 self
815 }
816 #[inline]
817 pub fn build(self) -> DisplayPlaneCapabilitiesKHR {
818 self.0
819 }
820}
821impl<'a> std::default::Default for DisplayPlaneCapabilitiesKHRBuilder<'a> {
822 fn default() -> DisplayPlaneCapabilitiesKHRBuilder<'a> {
823 Self::new()
824 }
825}
826impl<'a> std::fmt::Debug for DisplayPlaneCapabilitiesKHRBuilder<'a> {
827 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
828 std::fmt::Debug::fmt(&self.0, f)
829 }
830}
831impl<'a> std::ops::Deref for DisplayPlaneCapabilitiesKHRBuilder<'a> {
832 type Target = DisplayPlaneCapabilitiesKHR;
833 fn deref(&self) -> &Self::Target {
834 &self.0
835 }
836}
837impl<'a> std::ops::DerefMut for DisplayPlaneCapabilitiesKHRBuilder<'a> {
838 fn deref_mut(&mut self) -> &mut Self::Target {
839 &mut self.0
840 }
841}
842#[doc(alias = "VkDisplaySurfaceCreateInfoKHR")]
844#[derive(Copy, Clone)]
845#[repr(C)]
846pub struct DisplaySurfaceCreateInfoKHR {
847 pub s_type: crate::vk1_0::StructureType,
848 pub p_next: *const std::ffi::c_void,
849 pub flags: crate::extensions::khr_display::DisplaySurfaceCreateFlagsKHR,
850 pub display_mode: crate::extensions::khr_display::DisplayModeKHR,
851 pub plane_index: u32,
852 pub plane_stack_index: u32,
853 pub transform: crate::extensions::khr_surface::SurfaceTransformFlagBitsKHR,
854 pub global_alpha: std::os::raw::c_float,
855 pub alpha_mode: crate::extensions::khr_display::DisplayPlaneAlphaFlagBitsKHR,
856 pub image_extent: crate::vk1_0::Extent2D,
857}
858impl DisplaySurfaceCreateInfoKHR {
859 pub const STRUCTURE_TYPE: crate::vk1_0::StructureType = crate::vk1_0::StructureType::DISPLAY_SURFACE_CREATE_INFO_KHR;
860}
861impl Default for DisplaySurfaceCreateInfoKHR {
862 fn default() -> Self {
863 Self {
864 s_type: Self::STRUCTURE_TYPE,
865 p_next: std::ptr::null(),
866 flags: Default::default(),
867 display_mode: Default::default(),
868 plane_index: Default::default(),
869 plane_stack_index: Default::default(),
870 transform: Default::default(),
871 global_alpha: Default::default(),
872 alpha_mode: Default::default(),
873 image_extent: Default::default(),
874 }
875 }
876}
877impl std::fmt::Debug for DisplaySurfaceCreateInfoKHR {
878 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
879 f.debug_struct("DisplaySurfaceCreateInfoKHR")
880 .field("s_type", &self.s_type)
881 .field("p_next", &self.p_next)
882 .field("flags", &self.flags)
883 .field("display_mode", &self.display_mode)
884 .field("plane_index", &self.plane_index)
885 .field("plane_stack_index", &self.plane_stack_index)
886 .field("transform", &self.transform)
887 .field("global_alpha", &self.global_alpha)
888 .field("alpha_mode", &self.alpha_mode)
889 .field("image_extent", &self.image_extent)
890 .finish()
891 }
892}
893impl DisplaySurfaceCreateInfoKHR {
894 #[inline]
895 pub fn into_builder<'a>(self) -> DisplaySurfaceCreateInfoKHRBuilder<'a> {
896 DisplaySurfaceCreateInfoKHRBuilder(self, std::marker::PhantomData)
897 }
898}
899#[derive(Copy, Clone)]
900#[repr(transparent)]
902pub struct DisplaySurfaceCreateInfoKHRBuilder<'a>(
903 DisplaySurfaceCreateInfoKHR,
904 std::marker::PhantomData<&'a ()>,
905);
906impl<'a> DisplaySurfaceCreateInfoKHRBuilder<'a> {
907 #[inline]
908 pub fn new() -> DisplaySurfaceCreateInfoKHRBuilder<'a> {
909 DisplaySurfaceCreateInfoKHRBuilder(Default::default(), std::marker::PhantomData)
910 }
911 #[inline]
912 #[must_use]
913 pub fn flags(
914 mut self,
915 flags: crate::extensions::khr_display::DisplaySurfaceCreateFlagsKHR,
916 ) -> Self {
917 self.0.flags = flags as _;
918 self
919 }
920 #[inline]
921 #[must_use]
922 pub fn display_mode(
923 mut self,
924 display_mode: crate::extensions::khr_display::DisplayModeKHR,
925 ) -> Self {
926 self.0.display_mode = display_mode as _;
927 self
928 }
929 #[inline]
930 #[must_use]
931 pub fn plane_index(mut self, plane_index: u32) -> Self {
932 self.0.plane_index = plane_index as _;
933 self
934 }
935 #[inline]
936 #[must_use]
937 pub fn plane_stack_index(mut self, plane_stack_index: u32) -> Self {
938 self.0.plane_stack_index = plane_stack_index as _;
939 self
940 }
941 #[inline]
942 #[must_use]
943 pub fn transform(
944 mut self,
945 transform: crate::extensions::khr_surface::SurfaceTransformFlagBitsKHR,
946 ) -> Self {
947 self.0.transform = transform as _;
948 self
949 }
950 #[inline]
951 #[must_use]
952 pub fn global_alpha(mut self, global_alpha: std::os::raw::c_float) -> Self {
953 self.0.global_alpha = global_alpha as _;
954 self
955 }
956 #[inline]
957 #[must_use]
958 pub fn alpha_mode(
959 mut self,
960 alpha_mode: crate::extensions::khr_display::DisplayPlaneAlphaFlagBitsKHR,
961 ) -> Self {
962 self.0.alpha_mode = alpha_mode as _;
963 self
964 }
965 #[inline]
966 #[must_use]
967 pub fn image_extent(mut self, image_extent: crate::vk1_0::Extent2D) -> Self {
968 self.0.image_extent = image_extent as _;
969 self
970 }
971 #[inline]
972 pub fn build_dangling(self) -> DisplaySurfaceCreateInfoKHR {
975 self.0
976 }
977}
978impl<'a> std::default::Default for DisplaySurfaceCreateInfoKHRBuilder<'a> {
979 fn default() -> DisplaySurfaceCreateInfoKHRBuilder<'a> {
980 Self::new()
981 }
982}
983impl<'a> std::fmt::Debug for DisplaySurfaceCreateInfoKHRBuilder<'a> {
984 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
985 std::fmt::Debug::fmt(&self.0, f)
986 }
987}
988impl<'a> std::ops::Deref for DisplaySurfaceCreateInfoKHRBuilder<'a> {
989 type Target = DisplaySurfaceCreateInfoKHR;
990 fn deref(&self) -> &Self::Target {
991 &self.0
992 }
993}
994impl<'a> std::ops::DerefMut for DisplaySurfaceCreateInfoKHRBuilder<'a> {
995 fn deref_mut(&mut self) -> &mut Self::Target {
996 &mut self.0
997 }
998}
999impl crate::InstanceLoader {
1001 #[inline]
1002 #[track_caller]
1003 #[doc(alias = "vkGetPhysicalDeviceDisplayPropertiesKHR")]
1005 pub unsafe fn get_physical_device_display_properties_khr(
1006 &self,
1007 physical_device: crate::vk1_0::PhysicalDevice,
1008 property_count: Option<u32>,
1009 ) -> crate::utils::VulkanResult<
1010 crate::SmallVec<crate::extensions::khr_display::DisplayPropertiesKHR>,
1011 > {
1012 let _function = self
1013 .get_physical_device_display_properties_khr
1014 .expect(crate::NOT_LOADED_MESSAGE);
1015 let mut property_count = match property_count {
1016 Some(v) => v,
1017 None => {
1018 let mut v = Default::default();
1019 _function(physical_device as _, &mut v, std::ptr::null_mut());
1020 v
1021 }
1022 };
1023 let mut properties = crate::SmallVec::from_elem(
1024 Default::default(),
1025 property_count as _,
1026 );
1027 let _return = _function(
1028 physical_device as _,
1029 &mut property_count,
1030 properties.as_mut_ptr(),
1031 );
1032 crate::utils::VulkanResult::new(_return, properties)
1033 }
1034 #[inline]
1035 #[track_caller]
1036 #[doc(alias = "vkGetPhysicalDeviceDisplayPlanePropertiesKHR")]
1038 pub unsafe fn get_physical_device_display_plane_properties_khr(
1039 &self,
1040 physical_device: crate::vk1_0::PhysicalDevice,
1041 property_count: Option<u32>,
1042 ) -> crate::utils::VulkanResult<
1043 crate::SmallVec<crate::extensions::khr_display::DisplayPlanePropertiesKHR>,
1044 > {
1045 let _function = self
1046 .get_physical_device_display_plane_properties_khr
1047 .expect(crate::NOT_LOADED_MESSAGE);
1048 let mut property_count = match property_count {
1049 Some(v) => v,
1050 None => {
1051 let mut v = Default::default();
1052 _function(physical_device as _, &mut v, std::ptr::null_mut());
1053 v
1054 }
1055 };
1056 let mut properties = crate::SmallVec::from_elem(
1057 Default::default(),
1058 property_count as _,
1059 );
1060 let _return = _function(
1061 physical_device as _,
1062 &mut property_count,
1063 properties.as_mut_ptr(),
1064 );
1065 crate::utils::VulkanResult::new(_return, properties)
1066 }
1067 #[inline]
1068 #[track_caller]
1069 #[doc(alias = "vkGetDisplayPlaneSupportedDisplaysKHR")]
1071 pub unsafe fn get_display_plane_supported_displays_khr(
1072 &self,
1073 physical_device: crate::vk1_0::PhysicalDevice,
1074 plane_index: u32,
1075 display_count: Option<u32>,
1076 ) -> crate::utils::VulkanResult<
1077 crate::SmallVec<crate::extensions::khr_display::DisplayKHR>,
1078 > {
1079 let _function = self
1080 .get_display_plane_supported_displays_khr
1081 .expect(crate::NOT_LOADED_MESSAGE);
1082 let mut display_count = match display_count {
1083 Some(v) => v,
1084 None => {
1085 let mut v = Default::default();
1086 _function(
1087 physical_device as _,
1088 plane_index as _,
1089 &mut v,
1090 std::ptr::null_mut(),
1091 );
1092 v
1093 }
1094 };
1095 let mut displays = crate::SmallVec::from_elem(
1096 Default::default(),
1097 display_count as _,
1098 );
1099 let _return = _function(
1100 physical_device as _,
1101 plane_index as _,
1102 &mut display_count,
1103 displays.as_mut_ptr(),
1104 );
1105 crate::utils::VulkanResult::new(_return, displays)
1106 }
1107 #[inline]
1108 #[track_caller]
1109 #[doc(alias = "vkGetDisplayModePropertiesKHR")]
1111 pub unsafe fn get_display_mode_properties_khr(
1112 &self,
1113 physical_device: crate::vk1_0::PhysicalDevice,
1114 display: crate::extensions::khr_display::DisplayKHR,
1115 property_count: Option<u32>,
1116 ) -> crate::utils::VulkanResult<
1117 crate::SmallVec<crate::extensions::khr_display::DisplayModePropertiesKHR>,
1118 > {
1119 let _function = self
1120 .get_display_mode_properties_khr
1121 .expect(crate::NOT_LOADED_MESSAGE);
1122 let mut property_count = match property_count {
1123 Some(v) => v,
1124 None => {
1125 let mut v = Default::default();
1126 _function(
1127 physical_device as _,
1128 display as _,
1129 &mut v,
1130 std::ptr::null_mut(),
1131 );
1132 v
1133 }
1134 };
1135 let mut properties = crate::SmallVec::from_elem(
1136 Default::default(),
1137 property_count as _,
1138 );
1139 let _return = _function(
1140 physical_device as _,
1141 display as _,
1142 &mut property_count,
1143 properties.as_mut_ptr(),
1144 );
1145 crate::utils::VulkanResult::new(_return, properties)
1146 }
1147 #[inline]
1148 #[track_caller]
1149 #[doc(alias = "vkCreateDisplayModeKHR")]
1151 pub unsafe fn create_display_mode_khr(
1152 &self,
1153 physical_device: crate::vk1_0::PhysicalDevice,
1154 display: crate::extensions::khr_display::DisplayKHR,
1155 create_info: &crate::extensions::khr_display::DisplayModeCreateInfoKHR,
1156 allocator: Option<&crate::vk1_0::AllocationCallbacks>,
1157 ) -> crate::utils::VulkanResult<crate::extensions::khr_display::DisplayModeKHR> {
1158 let _function = self.create_display_mode_khr.expect(crate::NOT_LOADED_MESSAGE);
1159 let mut mode = Default::default();
1160 let _return = _function(
1161 physical_device as _,
1162 display as _,
1163 create_info as _,
1164 match allocator {
1165 Some(v) => v,
1166 None => std::ptr::null(),
1167 },
1168 &mut mode,
1169 );
1170 crate::utils::VulkanResult::new(_return, mode)
1171 }
1172 #[inline]
1173 #[track_caller]
1174 #[doc(alias = "vkGetDisplayPlaneCapabilitiesKHR")]
1176 pub unsafe fn get_display_plane_capabilities_khr(
1177 &self,
1178 physical_device: crate::vk1_0::PhysicalDevice,
1179 mode: crate::extensions::khr_display::DisplayModeKHR,
1180 plane_index: u32,
1181 ) -> crate::utils::VulkanResult<
1182 crate::extensions::khr_display::DisplayPlaneCapabilitiesKHR,
1183 > {
1184 let _function = self
1185 .get_display_plane_capabilities_khr
1186 .expect(crate::NOT_LOADED_MESSAGE);
1187 let mut capabilities = Default::default();
1188 let _return = _function(
1189 physical_device as _,
1190 mode as _,
1191 plane_index as _,
1192 &mut capabilities,
1193 );
1194 crate::utils::VulkanResult::new(_return, capabilities)
1195 }
1196 #[inline]
1197 #[track_caller]
1198 #[doc(alias = "vkCreateDisplayPlaneSurfaceKHR")]
1200 pub unsafe fn create_display_plane_surface_khr(
1201 &self,
1202 create_info: &crate::extensions::khr_display::DisplaySurfaceCreateInfoKHR,
1203 allocator: Option<&crate::vk1_0::AllocationCallbacks>,
1204 ) -> crate::utils::VulkanResult<crate::extensions::khr_surface::SurfaceKHR> {
1205 let _function = self
1206 .create_display_plane_surface_khr
1207 .expect(crate::NOT_LOADED_MESSAGE);
1208 let mut surface = Default::default();
1209 let _return = _function(
1210 self.handle,
1211 create_info as _,
1212 match allocator {
1213 Some(v) => v,
1214 None => std::ptr::null(),
1215 },
1216 &mut surface,
1217 );
1218 crate::utils::VulkanResult::new(_return, surface)
1219 }
1220}