1pub trait Handle: Copy + Eq + core::hash::Hash {
3 type Repr;
5 fn null() -> Self;
7 fn from_raw(raw: Self::Repr) -> Self;
9 fn as_raw(self) -> Self::Repr;
11 fn is_null(self) -> bool;
13}
14#[repr(transparent)]
18#[derive(Copy, Clone, PartialEq, Eq, Hash)]
19#[doc(alias = "VkInstance")]
20pub struct Instance(usize);
21impl Handle for Instance {
22 type Repr = usize;
23 #[inline]
24 fn null() -> Self {
25 Self(0usize)
26 }
27 #[inline]
28 fn from_raw(raw: usize) -> Self {
29 Self(raw)
30 }
31 #[inline]
32 fn as_raw(self) -> usize {
33 self.0
34 }
35 #[inline]
36 fn is_null(self) -> bool {
37 self.0 == 0usize
38 }
39}
40impl Default for Instance {
41 #[inline]
42 fn default() -> Self {
43 Self::null()
44 }
45}
46impl core::fmt::Debug for Instance {
47 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
48 write!(f, "{}({:#x})", stringify!(Instance), self.0)
49 }
50}
51#[repr(transparent)]
56#[derive(Copy, Clone, PartialEq, Eq, Hash)]
57#[doc(alias = "VkPhysicalDevice")]
58pub struct PhysicalDevice(usize);
59impl Handle for PhysicalDevice {
60 type Repr = usize;
61 #[inline]
62 fn null() -> Self {
63 Self(0usize)
64 }
65 #[inline]
66 fn from_raw(raw: usize) -> Self {
67 Self(raw)
68 }
69 #[inline]
70 fn as_raw(self) -> usize {
71 self.0
72 }
73 #[inline]
74 fn is_null(self) -> bool {
75 self.0 == 0usize
76 }
77}
78impl Default for PhysicalDevice {
79 #[inline]
80 fn default() -> Self {
81 Self::null()
82 }
83}
84impl core::fmt::Debug for PhysicalDevice {
85 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
86 write!(f, "{}({:#x})", stringify!(PhysicalDevice), self.0)
87 }
88}
89#[repr(transparent)]
94#[derive(Copy, Clone, PartialEq, Eq, Hash)]
95#[doc(alias = "VkDevice")]
96pub struct Device(usize);
97impl Handle for Device {
98 type Repr = usize;
99 #[inline]
100 fn null() -> Self {
101 Self(0usize)
102 }
103 #[inline]
104 fn from_raw(raw: usize) -> Self {
105 Self(raw)
106 }
107 #[inline]
108 fn as_raw(self) -> usize {
109 self.0
110 }
111 #[inline]
112 fn is_null(self) -> bool {
113 self.0 == 0usize
114 }
115}
116impl Default for Device {
117 #[inline]
118 fn default() -> Self {
119 Self::null()
120 }
121}
122impl core::fmt::Debug for Device {
123 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
124 write!(f, "{}({:#x})", stringify!(Device), self.0)
125 }
126}
127#[repr(transparent)]
132#[derive(Copy, Clone, PartialEq, Eq, Hash)]
133#[doc(alias = "VkQueue")]
134pub struct Queue(usize);
135impl Handle for Queue {
136 type Repr = usize;
137 #[inline]
138 fn null() -> Self {
139 Self(0usize)
140 }
141 #[inline]
142 fn from_raw(raw: usize) -> Self {
143 Self(raw)
144 }
145 #[inline]
146 fn as_raw(self) -> usize {
147 self.0
148 }
149 #[inline]
150 fn is_null(self) -> bool {
151 self.0 == 0usize
152 }
153}
154impl Default for Queue {
155 #[inline]
156 fn default() -> Self {
157 Self::null()
158 }
159}
160impl core::fmt::Debug for Queue {
161 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
162 write!(f, "{}({:#x})", stringify!(Queue), self.0)
163 }
164}
165#[repr(transparent)]
170#[derive(Copy, Clone, PartialEq, Eq, Hash)]
171#[doc(alias = "VkCommandBuffer")]
172pub struct CommandBuffer(usize);
173impl Handle for CommandBuffer {
174 type Repr = usize;
175 #[inline]
176 fn null() -> Self {
177 Self(0usize)
178 }
179 #[inline]
180 fn from_raw(raw: usize) -> Self {
181 Self(raw)
182 }
183 #[inline]
184 fn as_raw(self) -> usize {
185 self.0
186 }
187 #[inline]
188 fn is_null(self) -> bool {
189 self.0 == 0usize
190 }
191}
192impl Default for CommandBuffer {
193 #[inline]
194 fn default() -> Self {
195 Self::null()
196 }
197}
198impl core::fmt::Debug for CommandBuffer {
199 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
200 write!(f, "{}({:#x})", stringify!(CommandBuffer), self.0)
201 }
202}
203#[repr(transparent)]
208#[derive(Copy, Clone, PartialEq, Eq, Hash)]
209#[doc(alias = "VkDeviceMemory")]
210pub struct DeviceMemory(u64);
211impl Handle for DeviceMemory {
212 type Repr = u64;
213 #[inline]
214 fn null() -> Self {
215 Self(0u64)
216 }
217 #[inline]
218 fn from_raw(raw: u64) -> Self {
219 Self(raw)
220 }
221 #[inline]
222 fn as_raw(self) -> u64 {
223 self.0
224 }
225 #[inline]
226 fn is_null(self) -> bool {
227 self.0 == 0u64
228 }
229}
230impl Default for DeviceMemory {
231 #[inline]
232 fn default() -> Self {
233 Self::null()
234 }
235}
236impl core::fmt::Debug for DeviceMemory {
237 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
238 write!(f, "{}({:#x})", stringify!(DeviceMemory), self.0)
239 }
240}
241#[repr(transparent)]
246#[derive(Copy, Clone, PartialEq, Eq, Hash)]
247#[doc(alias = "VkCommandPool")]
248pub struct CommandPool(u64);
249impl Handle for CommandPool {
250 type Repr = u64;
251 #[inline]
252 fn null() -> Self {
253 Self(0u64)
254 }
255 #[inline]
256 fn from_raw(raw: u64) -> Self {
257 Self(raw)
258 }
259 #[inline]
260 fn as_raw(self) -> u64 {
261 self.0
262 }
263 #[inline]
264 fn is_null(self) -> bool {
265 self.0 == 0u64
266 }
267}
268impl Default for CommandPool {
269 #[inline]
270 fn default() -> Self {
271 Self::null()
272 }
273}
274impl core::fmt::Debug for CommandPool {
275 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
276 write!(f, "{}({:#x})", stringify!(CommandPool), self.0)
277 }
278}
279#[repr(transparent)]
284#[derive(Copy, Clone, PartialEq, Eq, Hash)]
285#[doc(alias = "VkBuffer")]
286pub struct Buffer(u64);
287impl Handle for Buffer {
288 type Repr = u64;
289 #[inline]
290 fn null() -> Self {
291 Self(0u64)
292 }
293 #[inline]
294 fn from_raw(raw: u64) -> Self {
295 Self(raw)
296 }
297 #[inline]
298 fn as_raw(self) -> u64 {
299 self.0
300 }
301 #[inline]
302 fn is_null(self) -> bool {
303 self.0 == 0u64
304 }
305}
306impl Default for Buffer {
307 #[inline]
308 fn default() -> Self {
309 Self::null()
310 }
311}
312impl core::fmt::Debug for Buffer {
313 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
314 write!(f, "{}({:#x})", stringify!(Buffer), self.0)
315 }
316}
317#[repr(transparent)]
322#[derive(Copy, Clone, PartialEq, Eq, Hash)]
323#[doc(alias = "VkBufferView")]
324pub struct BufferView(u64);
325impl Handle for BufferView {
326 type Repr = u64;
327 #[inline]
328 fn null() -> Self {
329 Self(0u64)
330 }
331 #[inline]
332 fn from_raw(raw: u64) -> Self {
333 Self(raw)
334 }
335 #[inline]
336 fn as_raw(self) -> u64 {
337 self.0
338 }
339 #[inline]
340 fn is_null(self) -> bool {
341 self.0 == 0u64
342 }
343}
344impl Default for BufferView {
345 #[inline]
346 fn default() -> Self {
347 Self::null()
348 }
349}
350impl core::fmt::Debug for BufferView {
351 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
352 write!(f, "{}({:#x})", stringify!(BufferView), self.0)
353 }
354}
355#[repr(transparent)]
360#[derive(Copy, Clone, PartialEq, Eq, Hash)]
361#[doc(alias = "VkImage")]
362pub struct Image(u64);
363impl Handle for Image {
364 type Repr = u64;
365 #[inline]
366 fn null() -> Self {
367 Self(0u64)
368 }
369 #[inline]
370 fn from_raw(raw: u64) -> Self {
371 Self(raw)
372 }
373 #[inline]
374 fn as_raw(self) -> u64 {
375 self.0
376 }
377 #[inline]
378 fn is_null(self) -> bool {
379 self.0 == 0u64
380 }
381}
382impl Default for Image {
383 #[inline]
384 fn default() -> Self {
385 Self::null()
386 }
387}
388impl core::fmt::Debug for Image {
389 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
390 write!(f, "{}({:#x})", stringify!(Image), self.0)
391 }
392}
393#[repr(transparent)]
398#[derive(Copy, Clone, PartialEq, Eq, Hash)]
399#[doc(alias = "VkImageView")]
400pub struct ImageView(u64);
401impl Handle for ImageView {
402 type Repr = u64;
403 #[inline]
404 fn null() -> Self {
405 Self(0u64)
406 }
407 #[inline]
408 fn from_raw(raw: u64) -> Self {
409 Self(raw)
410 }
411 #[inline]
412 fn as_raw(self) -> u64 {
413 self.0
414 }
415 #[inline]
416 fn is_null(self) -> bool {
417 self.0 == 0u64
418 }
419}
420impl Default for ImageView {
421 #[inline]
422 fn default() -> Self {
423 Self::null()
424 }
425}
426impl core::fmt::Debug for ImageView {
427 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
428 write!(f, "{}({:#x})", stringify!(ImageView), self.0)
429 }
430}
431#[repr(transparent)]
436#[derive(Copy, Clone, PartialEq, Eq, Hash)]
437#[doc(alias = "VkShaderModule")]
438pub struct ShaderModule(u64);
439impl Handle for ShaderModule {
440 type Repr = u64;
441 #[inline]
442 fn null() -> Self {
443 Self(0u64)
444 }
445 #[inline]
446 fn from_raw(raw: u64) -> Self {
447 Self(raw)
448 }
449 #[inline]
450 fn as_raw(self) -> u64 {
451 self.0
452 }
453 #[inline]
454 fn is_null(self) -> bool {
455 self.0 == 0u64
456 }
457}
458impl Default for ShaderModule {
459 #[inline]
460 fn default() -> Self {
461 Self::null()
462 }
463}
464impl core::fmt::Debug for ShaderModule {
465 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
466 write!(f, "{}({:#x})", stringify!(ShaderModule), self.0)
467 }
468}
469#[repr(transparent)]
474#[derive(Copy, Clone, PartialEq, Eq, Hash)]
475#[doc(alias = "VkPipeline")]
476pub struct Pipeline(u64);
477impl Handle for Pipeline {
478 type Repr = u64;
479 #[inline]
480 fn null() -> Self {
481 Self(0u64)
482 }
483 #[inline]
484 fn from_raw(raw: u64) -> Self {
485 Self(raw)
486 }
487 #[inline]
488 fn as_raw(self) -> u64 {
489 self.0
490 }
491 #[inline]
492 fn is_null(self) -> bool {
493 self.0 == 0u64
494 }
495}
496impl Default for Pipeline {
497 #[inline]
498 fn default() -> Self {
499 Self::null()
500 }
501}
502impl core::fmt::Debug for Pipeline {
503 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
504 write!(f, "{}({:#x})", stringify!(Pipeline), self.0)
505 }
506}
507#[repr(transparent)]
512#[derive(Copy, Clone, PartialEq, Eq, Hash)]
513#[doc(alias = "VkPipelineLayout")]
514pub struct PipelineLayout(u64);
515impl Handle for PipelineLayout {
516 type Repr = u64;
517 #[inline]
518 fn null() -> Self {
519 Self(0u64)
520 }
521 #[inline]
522 fn from_raw(raw: u64) -> Self {
523 Self(raw)
524 }
525 #[inline]
526 fn as_raw(self) -> u64 {
527 self.0
528 }
529 #[inline]
530 fn is_null(self) -> bool {
531 self.0 == 0u64
532 }
533}
534impl Default for PipelineLayout {
535 #[inline]
536 fn default() -> Self {
537 Self::null()
538 }
539}
540impl core::fmt::Debug for PipelineLayout {
541 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
542 write!(f, "{}({:#x})", stringify!(PipelineLayout), self.0)
543 }
544}
545#[repr(transparent)]
550#[derive(Copy, Clone, PartialEq, Eq, Hash)]
551#[doc(alias = "VkSampler")]
552pub struct Sampler(u64);
553impl Handle for Sampler {
554 type Repr = u64;
555 #[inline]
556 fn null() -> Self {
557 Self(0u64)
558 }
559 #[inline]
560 fn from_raw(raw: u64) -> Self {
561 Self(raw)
562 }
563 #[inline]
564 fn as_raw(self) -> u64 {
565 self.0
566 }
567 #[inline]
568 fn is_null(self) -> bool {
569 self.0 == 0u64
570 }
571}
572impl Default for Sampler {
573 #[inline]
574 fn default() -> Self {
575 Self::null()
576 }
577}
578impl core::fmt::Debug for Sampler {
579 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
580 write!(f, "{}({:#x})", stringify!(Sampler), self.0)
581 }
582}
583#[repr(transparent)]
588#[derive(Copy, Clone, PartialEq, Eq, Hash)]
589#[doc(alias = "VkDescriptorSet")]
590pub struct DescriptorSet(u64);
591impl Handle for DescriptorSet {
592 type Repr = u64;
593 #[inline]
594 fn null() -> Self {
595 Self(0u64)
596 }
597 #[inline]
598 fn from_raw(raw: u64) -> Self {
599 Self(raw)
600 }
601 #[inline]
602 fn as_raw(self) -> u64 {
603 self.0
604 }
605 #[inline]
606 fn is_null(self) -> bool {
607 self.0 == 0u64
608 }
609}
610impl Default for DescriptorSet {
611 #[inline]
612 fn default() -> Self {
613 Self::null()
614 }
615}
616impl core::fmt::Debug for DescriptorSet {
617 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
618 write!(f, "{}({:#x})", stringify!(DescriptorSet), self.0)
619 }
620}
621#[repr(transparent)]
626#[derive(Copy, Clone, PartialEq, Eq, Hash)]
627#[doc(alias = "VkDescriptorSetLayout")]
628pub struct DescriptorSetLayout(u64);
629impl Handle for DescriptorSetLayout {
630 type Repr = u64;
631 #[inline]
632 fn null() -> Self {
633 Self(0u64)
634 }
635 #[inline]
636 fn from_raw(raw: u64) -> Self {
637 Self(raw)
638 }
639 #[inline]
640 fn as_raw(self) -> u64 {
641 self.0
642 }
643 #[inline]
644 fn is_null(self) -> bool {
645 self.0 == 0u64
646 }
647}
648impl Default for DescriptorSetLayout {
649 #[inline]
650 fn default() -> Self {
651 Self::null()
652 }
653}
654impl core::fmt::Debug for DescriptorSetLayout {
655 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
656 write!(f, "{}({:#x})", stringify!(DescriptorSetLayout), self.0)
657 }
658}
659#[repr(transparent)]
664#[derive(Copy, Clone, PartialEq, Eq, Hash)]
665#[doc(alias = "VkDescriptorPool")]
666pub struct DescriptorPool(u64);
667impl Handle for DescriptorPool {
668 type Repr = u64;
669 #[inline]
670 fn null() -> Self {
671 Self(0u64)
672 }
673 #[inline]
674 fn from_raw(raw: u64) -> Self {
675 Self(raw)
676 }
677 #[inline]
678 fn as_raw(self) -> u64 {
679 self.0
680 }
681 #[inline]
682 fn is_null(self) -> bool {
683 self.0 == 0u64
684 }
685}
686impl Default for DescriptorPool {
687 #[inline]
688 fn default() -> Self {
689 Self::null()
690 }
691}
692impl core::fmt::Debug for DescriptorPool {
693 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
694 write!(f, "{}({:#x})", stringify!(DescriptorPool), self.0)
695 }
696}
697#[repr(transparent)]
702#[derive(Copy, Clone, PartialEq, Eq, Hash)]
703#[doc(alias = "VkFence")]
704pub struct Fence(u64);
705impl Handle for Fence {
706 type Repr = u64;
707 #[inline]
708 fn null() -> Self {
709 Self(0u64)
710 }
711 #[inline]
712 fn from_raw(raw: u64) -> Self {
713 Self(raw)
714 }
715 #[inline]
716 fn as_raw(self) -> u64 {
717 self.0
718 }
719 #[inline]
720 fn is_null(self) -> bool {
721 self.0 == 0u64
722 }
723}
724impl Default for Fence {
725 #[inline]
726 fn default() -> Self {
727 Self::null()
728 }
729}
730impl core::fmt::Debug for Fence {
731 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
732 write!(f, "{}({:#x})", stringify!(Fence), self.0)
733 }
734}
735#[repr(transparent)]
740#[derive(Copy, Clone, PartialEq, Eq, Hash)]
741#[doc(alias = "VkSemaphore")]
742pub struct Semaphore(u64);
743impl Handle for Semaphore {
744 type Repr = u64;
745 #[inline]
746 fn null() -> Self {
747 Self(0u64)
748 }
749 #[inline]
750 fn from_raw(raw: u64) -> Self {
751 Self(raw)
752 }
753 #[inline]
754 fn as_raw(self) -> u64 {
755 self.0
756 }
757 #[inline]
758 fn is_null(self) -> bool {
759 self.0 == 0u64
760 }
761}
762impl Default for Semaphore {
763 #[inline]
764 fn default() -> Self {
765 Self::null()
766 }
767}
768impl core::fmt::Debug for Semaphore {
769 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
770 write!(f, "{}({:#x})", stringify!(Semaphore), self.0)
771 }
772}
773#[repr(transparent)]
778#[derive(Copy, Clone, PartialEq, Eq, Hash)]
779#[doc(alias = "VkEvent")]
780pub struct Event(u64);
781impl Handle for Event {
782 type Repr = u64;
783 #[inline]
784 fn null() -> Self {
785 Self(0u64)
786 }
787 #[inline]
788 fn from_raw(raw: u64) -> Self {
789 Self(raw)
790 }
791 #[inline]
792 fn as_raw(self) -> u64 {
793 self.0
794 }
795 #[inline]
796 fn is_null(self) -> bool {
797 self.0 == 0u64
798 }
799}
800impl Default for Event {
801 #[inline]
802 fn default() -> Self {
803 Self::null()
804 }
805}
806impl core::fmt::Debug for Event {
807 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
808 write!(f, "{}({:#x})", stringify!(Event), self.0)
809 }
810}
811#[repr(transparent)]
816#[derive(Copy, Clone, PartialEq, Eq, Hash)]
817#[doc(alias = "VkQueryPool")]
818pub struct QueryPool(u64);
819impl Handle for QueryPool {
820 type Repr = u64;
821 #[inline]
822 fn null() -> Self {
823 Self(0u64)
824 }
825 #[inline]
826 fn from_raw(raw: u64) -> Self {
827 Self(raw)
828 }
829 #[inline]
830 fn as_raw(self) -> u64 {
831 self.0
832 }
833 #[inline]
834 fn is_null(self) -> bool {
835 self.0 == 0u64
836 }
837}
838impl Default for QueryPool {
839 #[inline]
840 fn default() -> Self {
841 Self::null()
842 }
843}
844impl core::fmt::Debug for QueryPool {
845 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
846 write!(f, "{}({:#x})", stringify!(QueryPool), self.0)
847 }
848}
849#[repr(transparent)]
854#[derive(Copy, Clone, PartialEq, Eq, Hash)]
855#[doc(alias = "VkFramebuffer")]
856pub struct Framebuffer(u64);
857impl Handle for Framebuffer {
858 type Repr = u64;
859 #[inline]
860 fn null() -> Self {
861 Self(0u64)
862 }
863 #[inline]
864 fn from_raw(raw: u64) -> Self {
865 Self(raw)
866 }
867 #[inline]
868 fn as_raw(self) -> u64 {
869 self.0
870 }
871 #[inline]
872 fn is_null(self) -> bool {
873 self.0 == 0u64
874 }
875}
876impl Default for Framebuffer {
877 #[inline]
878 fn default() -> Self {
879 Self::null()
880 }
881}
882impl core::fmt::Debug for Framebuffer {
883 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
884 write!(f, "{}({:#x})", stringify!(Framebuffer), self.0)
885 }
886}
887#[repr(transparent)]
892#[derive(Copy, Clone, PartialEq, Eq, Hash)]
893#[doc(alias = "VkRenderPass")]
894pub struct RenderPass(u64);
895impl Handle for RenderPass {
896 type Repr = u64;
897 #[inline]
898 fn null() -> Self {
899 Self(0u64)
900 }
901 #[inline]
902 fn from_raw(raw: u64) -> Self {
903 Self(raw)
904 }
905 #[inline]
906 fn as_raw(self) -> u64 {
907 self.0
908 }
909 #[inline]
910 fn is_null(self) -> bool {
911 self.0 == 0u64
912 }
913}
914impl Default for RenderPass {
915 #[inline]
916 fn default() -> Self {
917 Self::null()
918 }
919}
920impl core::fmt::Debug for RenderPass {
921 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
922 write!(f, "{}({:#x})", stringify!(RenderPass), self.0)
923 }
924}
925#[repr(transparent)]
930#[derive(Copy, Clone, PartialEq, Eq, Hash)]
931#[doc(alias = "VkPipelineCache")]
932pub struct PipelineCache(u64);
933impl Handle for PipelineCache {
934 type Repr = u64;
935 #[inline]
936 fn null() -> Self {
937 Self(0u64)
938 }
939 #[inline]
940 fn from_raw(raw: u64) -> Self {
941 Self(raw)
942 }
943 #[inline]
944 fn as_raw(self) -> u64 {
945 self.0
946 }
947 #[inline]
948 fn is_null(self) -> bool {
949 self.0 == 0u64
950 }
951}
952impl Default for PipelineCache {
953 #[inline]
954 fn default() -> Self {
955 Self::null()
956 }
957}
958impl core::fmt::Debug for PipelineCache {
959 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
960 write!(f, "{}({:#x})", stringify!(PipelineCache), self.0)
961 }
962}
963#[repr(transparent)]
968#[derive(Copy, Clone, PartialEq, Eq, Hash)]
969#[doc(alias = "VkPipelineBinaryKHR")]
970pub struct PipelineBinaryKHR(u64);
971impl Handle for PipelineBinaryKHR {
972 type Repr = u64;
973 #[inline]
974 fn null() -> Self {
975 Self(0u64)
976 }
977 #[inline]
978 fn from_raw(raw: u64) -> Self {
979 Self(raw)
980 }
981 #[inline]
982 fn as_raw(self) -> u64 {
983 self.0
984 }
985 #[inline]
986 fn is_null(self) -> bool {
987 self.0 == 0u64
988 }
989}
990impl Default for PipelineBinaryKHR {
991 #[inline]
992 fn default() -> Self {
993 Self::null()
994 }
995}
996impl core::fmt::Debug for PipelineBinaryKHR {
997 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
998 write!(f, "{}({:#x})", stringify!(PipelineBinaryKHR), self.0)
999 }
1000}
1001#[repr(transparent)]
1006#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1007#[doc(alias = "VkIndirectCommandsLayoutNV")]
1008pub struct IndirectCommandsLayoutNV(u64);
1009impl Handle for IndirectCommandsLayoutNV {
1010 type Repr = u64;
1011 #[inline]
1012 fn null() -> Self {
1013 Self(0u64)
1014 }
1015 #[inline]
1016 fn from_raw(raw: u64) -> Self {
1017 Self(raw)
1018 }
1019 #[inline]
1020 fn as_raw(self) -> u64 {
1021 self.0
1022 }
1023 #[inline]
1024 fn is_null(self) -> bool {
1025 self.0 == 0u64
1026 }
1027}
1028impl Default for IndirectCommandsLayoutNV {
1029 #[inline]
1030 fn default() -> Self {
1031 Self::null()
1032 }
1033}
1034impl core::fmt::Debug for IndirectCommandsLayoutNV {
1035 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1036 write!(f, "{}({:#x})", stringify!(IndirectCommandsLayoutNV), self.0)
1037 }
1038}
1039#[repr(transparent)]
1044#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1045#[doc(alias = "VkIndirectCommandsLayoutEXT")]
1046pub struct IndirectCommandsLayoutEXT(u64);
1047impl Handle for IndirectCommandsLayoutEXT {
1048 type Repr = u64;
1049 #[inline]
1050 fn null() -> Self {
1051 Self(0u64)
1052 }
1053 #[inline]
1054 fn from_raw(raw: u64) -> Self {
1055 Self(raw)
1056 }
1057 #[inline]
1058 fn as_raw(self) -> u64 {
1059 self.0
1060 }
1061 #[inline]
1062 fn is_null(self) -> bool {
1063 self.0 == 0u64
1064 }
1065}
1066impl Default for IndirectCommandsLayoutEXT {
1067 #[inline]
1068 fn default() -> Self {
1069 Self::null()
1070 }
1071}
1072impl core::fmt::Debug for IndirectCommandsLayoutEXT {
1073 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1074 write!(f, "{}({:#x})", stringify!(IndirectCommandsLayoutEXT), self.0)
1075 }
1076}
1077#[repr(transparent)]
1082#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1083#[doc(alias = "VkIndirectExecutionSetEXT")]
1084pub struct IndirectExecutionSetEXT(u64);
1085impl Handle for IndirectExecutionSetEXT {
1086 type Repr = u64;
1087 #[inline]
1088 fn null() -> Self {
1089 Self(0u64)
1090 }
1091 #[inline]
1092 fn from_raw(raw: u64) -> Self {
1093 Self(raw)
1094 }
1095 #[inline]
1096 fn as_raw(self) -> u64 {
1097 self.0
1098 }
1099 #[inline]
1100 fn is_null(self) -> bool {
1101 self.0 == 0u64
1102 }
1103}
1104impl Default for IndirectExecutionSetEXT {
1105 #[inline]
1106 fn default() -> Self {
1107 Self::null()
1108 }
1109}
1110impl core::fmt::Debug for IndirectExecutionSetEXT {
1111 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1112 write!(f, "{}({:#x})", stringify!(IndirectExecutionSetEXT), self.0)
1113 }
1114}
1115#[repr(transparent)]
1120#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1121#[doc(alias = "VkDescriptorUpdateTemplate")]
1122pub struct DescriptorUpdateTemplate(u64);
1123impl Handle for DescriptorUpdateTemplate {
1124 type Repr = u64;
1125 #[inline]
1126 fn null() -> Self {
1127 Self(0u64)
1128 }
1129 #[inline]
1130 fn from_raw(raw: u64) -> Self {
1131 Self(raw)
1132 }
1133 #[inline]
1134 fn as_raw(self) -> u64 {
1135 self.0
1136 }
1137 #[inline]
1138 fn is_null(self) -> bool {
1139 self.0 == 0u64
1140 }
1141}
1142impl Default for DescriptorUpdateTemplate {
1143 #[inline]
1144 fn default() -> Self {
1145 Self::null()
1146 }
1147}
1148impl core::fmt::Debug for DescriptorUpdateTemplate {
1149 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1150 write!(f, "{}({:#x})", stringify!(DescriptorUpdateTemplate), self.0)
1151 }
1152}
1153#[repr(transparent)]
1158#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1159#[doc(alias = "VkSamplerYcbcrConversion")]
1160pub struct SamplerYcbcrConversion(u64);
1161impl Handle for SamplerYcbcrConversion {
1162 type Repr = u64;
1163 #[inline]
1164 fn null() -> Self {
1165 Self(0u64)
1166 }
1167 #[inline]
1168 fn from_raw(raw: u64) -> Self {
1169 Self(raw)
1170 }
1171 #[inline]
1172 fn as_raw(self) -> u64 {
1173 self.0
1174 }
1175 #[inline]
1176 fn is_null(self) -> bool {
1177 self.0 == 0u64
1178 }
1179}
1180impl Default for SamplerYcbcrConversion {
1181 #[inline]
1182 fn default() -> Self {
1183 Self::null()
1184 }
1185}
1186impl core::fmt::Debug for SamplerYcbcrConversion {
1187 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1188 write!(f, "{}({:#x})", stringify!(SamplerYcbcrConversion), self.0)
1189 }
1190}
1191#[repr(transparent)]
1196#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1197#[doc(alias = "VkValidationCacheEXT")]
1198pub struct ValidationCacheEXT(u64);
1199impl Handle for ValidationCacheEXT {
1200 type Repr = u64;
1201 #[inline]
1202 fn null() -> Self {
1203 Self(0u64)
1204 }
1205 #[inline]
1206 fn from_raw(raw: u64) -> Self {
1207 Self(raw)
1208 }
1209 #[inline]
1210 fn as_raw(self) -> u64 {
1211 self.0
1212 }
1213 #[inline]
1214 fn is_null(self) -> bool {
1215 self.0 == 0u64
1216 }
1217}
1218impl Default for ValidationCacheEXT {
1219 #[inline]
1220 fn default() -> Self {
1221 Self::null()
1222 }
1223}
1224impl core::fmt::Debug for ValidationCacheEXT {
1225 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1226 write!(f, "{}({:#x})", stringify!(ValidationCacheEXT), self.0)
1227 }
1228}
1229#[repr(transparent)]
1234#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1235#[doc(alias = "VkAccelerationStructureKHR")]
1236pub struct AccelerationStructureKHR(u64);
1237impl Handle for AccelerationStructureKHR {
1238 type Repr = u64;
1239 #[inline]
1240 fn null() -> Self {
1241 Self(0u64)
1242 }
1243 #[inline]
1244 fn from_raw(raw: u64) -> Self {
1245 Self(raw)
1246 }
1247 #[inline]
1248 fn as_raw(self) -> u64 {
1249 self.0
1250 }
1251 #[inline]
1252 fn is_null(self) -> bool {
1253 self.0 == 0u64
1254 }
1255}
1256impl Default for AccelerationStructureKHR {
1257 #[inline]
1258 fn default() -> Self {
1259 Self::null()
1260 }
1261}
1262impl core::fmt::Debug for AccelerationStructureKHR {
1263 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1264 write!(f, "{}({:#x})", stringify!(AccelerationStructureKHR), self.0)
1265 }
1266}
1267#[repr(transparent)]
1272#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1273#[doc(alias = "VkAccelerationStructureNV")]
1274pub struct AccelerationStructureNV(u64);
1275impl Handle for AccelerationStructureNV {
1276 type Repr = u64;
1277 #[inline]
1278 fn null() -> Self {
1279 Self(0u64)
1280 }
1281 #[inline]
1282 fn from_raw(raw: u64) -> Self {
1283 Self(raw)
1284 }
1285 #[inline]
1286 fn as_raw(self) -> u64 {
1287 self.0
1288 }
1289 #[inline]
1290 fn is_null(self) -> bool {
1291 self.0 == 0u64
1292 }
1293}
1294impl Default for AccelerationStructureNV {
1295 #[inline]
1296 fn default() -> Self {
1297 Self::null()
1298 }
1299}
1300impl core::fmt::Debug for AccelerationStructureNV {
1301 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1302 write!(f, "{}({:#x})", stringify!(AccelerationStructureNV), self.0)
1303 }
1304}
1305#[repr(transparent)]
1310#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1311#[doc(alias = "VkPerformanceConfigurationINTEL")]
1312pub struct PerformanceConfigurationINTEL(u64);
1313impl Handle for PerformanceConfigurationINTEL {
1314 type Repr = u64;
1315 #[inline]
1316 fn null() -> Self {
1317 Self(0u64)
1318 }
1319 #[inline]
1320 fn from_raw(raw: u64) -> Self {
1321 Self(raw)
1322 }
1323 #[inline]
1324 fn as_raw(self) -> u64 {
1325 self.0
1326 }
1327 #[inline]
1328 fn is_null(self) -> bool {
1329 self.0 == 0u64
1330 }
1331}
1332impl Default for PerformanceConfigurationINTEL {
1333 #[inline]
1334 fn default() -> Self {
1335 Self::null()
1336 }
1337}
1338impl core::fmt::Debug for PerformanceConfigurationINTEL {
1339 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1340 write!(f, "{}({:#x})", stringify!(PerformanceConfigurationINTEL), self.0)
1341 }
1342}
1343#[repr(transparent)]
1348#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1349#[doc(alias = "VkBufferCollectionFUCHSIA")]
1350pub struct BufferCollectionFUCHSIA(u64);
1351impl Handle for BufferCollectionFUCHSIA {
1352 type Repr = u64;
1353 #[inline]
1354 fn null() -> Self {
1355 Self(0u64)
1356 }
1357 #[inline]
1358 fn from_raw(raw: u64) -> Self {
1359 Self(raw)
1360 }
1361 #[inline]
1362 fn as_raw(self) -> u64 {
1363 self.0
1364 }
1365 #[inline]
1366 fn is_null(self) -> bool {
1367 self.0 == 0u64
1368 }
1369}
1370impl Default for BufferCollectionFUCHSIA {
1371 #[inline]
1372 fn default() -> Self {
1373 Self::null()
1374 }
1375}
1376impl core::fmt::Debug for BufferCollectionFUCHSIA {
1377 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1378 write!(f, "{}({:#x})", stringify!(BufferCollectionFUCHSIA), self.0)
1379 }
1380}
1381#[repr(transparent)]
1386#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1387#[doc(alias = "VkDeferredOperationKHR")]
1388pub struct DeferredOperationKHR(u64);
1389impl Handle for DeferredOperationKHR {
1390 type Repr = u64;
1391 #[inline]
1392 fn null() -> Self {
1393 Self(0u64)
1394 }
1395 #[inline]
1396 fn from_raw(raw: u64) -> Self {
1397 Self(raw)
1398 }
1399 #[inline]
1400 fn as_raw(self) -> u64 {
1401 self.0
1402 }
1403 #[inline]
1404 fn is_null(self) -> bool {
1405 self.0 == 0u64
1406 }
1407}
1408impl Default for DeferredOperationKHR {
1409 #[inline]
1410 fn default() -> Self {
1411 Self::null()
1412 }
1413}
1414impl core::fmt::Debug for DeferredOperationKHR {
1415 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1416 write!(f, "{}({:#x})", stringify!(DeferredOperationKHR), self.0)
1417 }
1418}
1419#[repr(transparent)]
1424#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1425#[doc(alias = "VkPrivateDataSlot")]
1426pub struct PrivateDataSlot(u64);
1427impl Handle for PrivateDataSlot {
1428 type Repr = u64;
1429 #[inline]
1430 fn null() -> Self {
1431 Self(0u64)
1432 }
1433 #[inline]
1434 fn from_raw(raw: u64) -> Self {
1435 Self(raw)
1436 }
1437 #[inline]
1438 fn as_raw(self) -> u64 {
1439 self.0
1440 }
1441 #[inline]
1442 fn is_null(self) -> bool {
1443 self.0 == 0u64
1444 }
1445}
1446impl Default for PrivateDataSlot {
1447 #[inline]
1448 fn default() -> Self {
1449 Self::null()
1450 }
1451}
1452impl core::fmt::Debug for PrivateDataSlot {
1453 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1454 write!(f, "{}({:#x})", stringify!(PrivateDataSlot), self.0)
1455 }
1456}
1457#[repr(transparent)]
1462#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1463#[doc(alias = "VkCuModuleNVX")]
1464pub struct CuModuleNVX(u64);
1465impl Handle for CuModuleNVX {
1466 type Repr = u64;
1467 #[inline]
1468 fn null() -> Self {
1469 Self(0u64)
1470 }
1471 #[inline]
1472 fn from_raw(raw: u64) -> Self {
1473 Self(raw)
1474 }
1475 #[inline]
1476 fn as_raw(self) -> u64 {
1477 self.0
1478 }
1479 #[inline]
1480 fn is_null(self) -> bool {
1481 self.0 == 0u64
1482 }
1483}
1484impl Default for CuModuleNVX {
1485 #[inline]
1486 fn default() -> Self {
1487 Self::null()
1488 }
1489}
1490impl core::fmt::Debug for CuModuleNVX {
1491 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1492 write!(f, "{}({:#x})", stringify!(CuModuleNVX), self.0)
1493 }
1494}
1495#[repr(transparent)]
1500#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1501#[doc(alias = "VkCuFunctionNVX")]
1502pub struct CuFunctionNVX(u64);
1503impl Handle for CuFunctionNVX {
1504 type Repr = u64;
1505 #[inline]
1506 fn null() -> Self {
1507 Self(0u64)
1508 }
1509 #[inline]
1510 fn from_raw(raw: u64) -> Self {
1511 Self(raw)
1512 }
1513 #[inline]
1514 fn as_raw(self) -> u64 {
1515 self.0
1516 }
1517 #[inline]
1518 fn is_null(self) -> bool {
1519 self.0 == 0u64
1520 }
1521}
1522impl Default for CuFunctionNVX {
1523 #[inline]
1524 fn default() -> Self {
1525 Self::null()
1526 }
1527}
1528impl core::fmt::Debug for CuFunctionNVX {
1529 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1530 write!(f, "{}({:#x})", stringify!(CuFunctionNVX), self.0)
1531 }
1532}
1533#[repr(transparent)]
1538#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1539#[doc(alias = "VkOpticalFlowSessionNV")]
1540pub struct OpticalFlowSessionNV(u64);
1541impl Handle for OpticalFlowSessionNV {
1542 type Repr = u64;
1543 #[inline]
1544 fn null() -> Self {
1545 Self(0u64)
1546 }
1547 #[inline]
1548 fn from_raw(raw: u64) -> Self {
1549 Self(raw)
1550 }
1551 #[inline]
1552 fn as_raw(self) -> u64 {
1553 self.0
1554 }
1555 #[inline]
1556 fn is_null(self) -> bool {
1557 self.0 == 0u64
1558 }
1559}
1560impl Default for OpticalFlowSessionNV {
1561 #[inline]
1562 fn default() -> Self {
1563 Self::null()
1564 }
1565}
1566impl core::fmt::Debug for OpticalFlowSessionNV {
1567 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1568 write!(f, "{}({:#x})", stringify!(OpticalFlowSessionNV), self.0)
1569 }
1570}
1571#[repr(transparent)]
1576#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1577#[doc(alias = "VkMicromapEXT")]
1578pub struct MicromapEXT(u64);
1579impl Handle for MicromapEXT {
1580 type Repr = u64;
1581 #[inline]
1582 fn null() -> Self {
1583 Self(0u64)
1584 }
1585 #[inline]
1586 fn from_raw(raw: u64) -> Self {
1587 Self(raw)
1588 }
1589 #[inline]
1590 fn as_raw(self) -> u64 {
1591 self.0
1592 }
1593 #[inline]
1594 fn is_null(self) -> bool {
1595 self.0 == 0u64
1596 }
1597}
1598impl Default for MicromapEXT {
1599 #[inline]
1600 fn default() -> Self {
1601 Self::null()
1602 }
1603}
1604impl core::fmt::Debug for MicromapEXT {
1605 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1606 write!(f, "{}({:#x})", stringify!(MicromapEXT), self.0)
1607 }
1608}
1609#[repr(transparent)]
1614#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1615#[doc(alias = "VkShaderEXT")]
1616pub struct ShaderEXT(u64);
1617impl Handle for ShaderEXT {
1618 type Repr = u64;
1619 #[inline]
1620 fn null() -> Self {
1621 Self(0u64)
1622 }
1623 #[inline]
1624 fn from_raw(raw: u64) -> Self {
1625 Self(raw)
1626 }
1627 #[inline]
1628 fn as_raw(self) -> u64 {
1629 self.0
1630 }
1631 #[inline]
1632 fn is_null(self) -> bool {
1633 self.0 == 0u64
1634 }
1635}
1636impl Default for ShaderEXT {
1637 #[inline]
1638 fn default() -> Self {
1639 Self::null()
1640 }
1641}
1642impl core::fmt::Debug for ShaderEXT {
1643 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1644 write!(f, "{}({:#x})", stringify!(ShaderEXT), self.0)
1645 }
1646}
1647#[repr(transparent)]
1652#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1653#[doc(alias = "VkTensorARM")]
1654pub struct TensorARM(u64);
1655impl Handle for TensorARM {
1656 type Repr = u64;
1657 #[inline]
1658 fn null() -> Self {
1659 Self(0u64)
1660 }
1661 #[inline]
1662 fn from_raw(raw: u64) -> Self {
1663 Self(raw)
1664 }
1665 #[inline]
1666 fn as_raw(self) -> u64 {
1667 self.0
1668 }
1669 #[inline]
1670 fn is_null(self) -> bool {
1671 self.0 == 0u64
1672 }
1673}
1674impl Default for TensorARM {
1675 #[inline]
1676 fn default() -> Self {
1677 Self::null()
1678 }
1679}
1680impl core::fmt::Debug for TensorARM {
1681 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1682 write!(f, "{}({:#x})", stringify!(TensorARM), self.0)
1683 }
1684}
1685#[repr(transparent)]
1690#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1691#[doc(alias = "VkTensorViewARM")]
1692pub struct TensorViewARM(u64);
1693impl Handle for TensorViewARM {
1694 type Repr = u64;
1695 #[inline]
1696 fn null() -> Self {
1697 Self(0u64)
1698 }
1699 #[inline]
1700 fn from_raw(raw: u64) -> Self {
1701 Self(raw)
1702 }
1703 #[inline]
1704 fn as_raw(self) -> u64 {
1705 self.0
1706 }
1707 #[inline]
1708 fn is_null(self) -> bool {
1709 self.0 == 0u64
1710 }
1711}
1712impl Default for TensorViewARM {
1713 #[inline]
1714 fn default() -> Self {
1715 Self::null()
1716 }
1717}
1718impl core::fmt::Debug for TensorViewARM {
1719 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1720 write!(f, "{}({:#x})", stringify!(TensorViewARM), self.0)
1721 }
1722}
1723#[repr(transparent)]
1728#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1729#[doc(alias = "VkDataGraphPipelineSessionARM")]
1730pub struct DataGraphPipelineSessionARM(u64);
1731impl Handle for DataGraphPipelineSessionARM {
1732 type Repr = u64;
1733 #[inline]
1734 fn null() -> Self {
1735 Self(0u64)
1736 }
1737 #[inline]
1738 fn from_raw(raw: u64) -> Self {
1739 Self(raw)
1740 }
1741 #[inline]
1742 fn as_raw(self) -> u64 {
1743 self.0
1744 }
1745 #[inline]
1746 fn is_null(self) -> bool {
1747 self.0 == 0u64
1748 }
1749}
1750impl Default for DataGraphPipelineSessionARM {
1751 #[inline]
1752 fn default() -> Self {
1753 Self::null()
1754 }
1755}
1756impl core::fmt::Debug for DataGraphPipelineSessionARM {
1757 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1758 write!(f, "{}({:#x})", stringify!(DataGraphPipelineSessionARM), self.0)
1759 }
1760}
1761#[repr(transparent)]
1766#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1767#[doc(alias = "VkShaderInstrumentationARM")]
1768pub struct ShaderInstrumentationARM(u64);
1769impl Handle for ShaderInstrumentationARM {
1770 type Repr = u64;
1771 #[inline]
1772 fn null() -> Self {
1773 Self(0u64)
1774 }
1775 #[inline]
1776 fn from_raw(raw: u64) -> Self {
1777 Self(raw)
1778 }
1779 #[inline]
1780 fn as_raw(self) -> u64 {
1781 self.0
1782 }
1783 #[inline]
1784 fn is_null(self) -> bool {
1785 self.0 == 0u64
1786 }
1787}
1788impl Default for ShaderInstrumentationARM {
1789 #[inline]
1790 fn default() -> Self {
1791 Self::null()
1792 }
1793}
1794impl core::fmt::Debug for ShaderInstrumentationARM {
1795 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1796 write!(f, "{}({:#x})", stringify!(ShaderInstrumentationARM), self.0)
1797 }
1798}
1799#[repr(transparent)]
1804#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1805#[doc(alias = "VkDisplayKHR")]
1806pub struct DisplayKHR(u64);
1807impl Handle for DisplayKHR {
1808 type Repr = u64;
1809 #[inline]
1810 fn null() -> Self {
1811 Self(0u64)
1812 }
1813 #[inline]
1814 fn from_raw(raw: u64) -> Self {
1815 Self(raw)
1816 }
1817 #[inline]
1818 fn as_raw(self) -> u64 {
1819 self.0
1820 }
1821 #[inline]
1822 fn is_null(self) -> bool {
1823 self.0 == 0u64
1824 }
1825}
1826impl Default for DisplayKHR {
1827 #[inline]
1828 fn default() -> Self {
1829 Self::null()
1830 }
1831}
1832impl core::fmt::Debug for DisplayKHR {
1833 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1834 write!(f, "{}({:#x})", stringify!(DisplayKHR), self.0)
1835 }
1836}
1837#[repr(transparent)]
1842#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1843#[doc(alias = "VkDisplayModeKHR")]
1844pub struct DisplayModeKHR(u64);
1845impl Handle for DisplayModeKHR {
1846 type Repr = u64;
1847 #[inline]
1848 fn null() -> Self {
1849 Self(0u64)
1850 }
1851 #[inline]
1852 fn from_raw(raw: u64) -> Self {
1853 Self(raw)
1854 }
1855 #[inline]
1856 fn as_raw(self) -> u64 {
1857 self.0
1858 }
1859 #[inline]
1860 fn is_null(self) -> bool {
1861 self.0 == 0u64
1862 }
1863}
1864impl Default for DisplayModeKHR {
1865 #[inline]
1866 fn default() -> Self {
1867 Self::null()
1868 }
1869}
1870impl core::fmt::Debug for DisplayModeKHR {
1871 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1872 write!(f, "{}({:#x})", stringify!(DisplayModeKHR), self.0)
1873 }
1874}
1875#[repr(transparent)]
1880#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1881#[doc(alias = "VkSurfaceKHR")]
1882pub struct SurfaceKHR(u64);
1883impl Handle for SurfaceKHR {
1884 type Repr = u64;
1885 #[inline]
1886 fn null() -> Self {
1887 Self(0u64)
1888 }
1889 #[inline]
1890 fn from_raw(raw: u64) -> Self {
1891 Self(raw)
1892 }
1893 #[inline]
1894 fn as_raw(self) -> u64 {
1895 self.0
1896 }
1897 #[inline]
1898 fn is_null(self) -> bool {
1899 self.0 == 0u64
1900 }
1901}
1902impl Default for SurfaceKHR {
1903 #[inline]
1904 fn default() -> Self {
1905 Self::null()
1906 }
1907}
1908impl core::fmt::Debug for SurfaceKHR {
1909 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1910 write!(f, "{}({:#x})", stringify!(SurfaceKHR), self.0)
1911 }
1912}
1913#[repr(transparent)]
1918#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1919#[doc(alias = "VkSwapchainKHR")]
1920pub struct SwapchainKHR(u64);
1921impl Handle for SwapchainKHR {
1922 type Repr = u64;
1923 #[inline]
1924 fn null() -> Self {
1925 Self(0u64)
1926 }
1927 #[inline]
1928 fn from_raw(raw: u64) -> Self {
1929 Self(raw)
1930 }
1931 #[inline]
1932 fn as_raw(self) -> u64 {
1933 self.0
1934 }
1935 #[inline]
1936 fn is_null(self) -> bool {
1937 self.0 == 0u64
1938 }
1939}
1940impl Default for SwapchainKHR {
1941 #[inline]
1942 fn default() -> Self {
1943 Self::null()
1944 }
1945}
1946impl core::fmt::Debug for SwapchainKHR {
1947 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1948 write!(f, "{}({:#x})", stringify!(SwapchainKHR), self.0)
1949 }
1950}
1951#[repr(transparent)]
1956#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1957#[doc(alias = "VkDebugReportCallbackEXT")]
1958pub struct DebugReportCallbackEXT(u64);
1959impl Handle for DebugReportCallbackEXT {
1960 type Repr = u64;
1961 #[inline]
1962 fn null() -> Self {
1963 Self(0u64)
1964 }
1965 #[inline]
1966 fn from_raw(raw: u64) -> Self {
1967 Self(raw)
1968 }
1969 #[inline]
1970 fn as_raw(self) -> u64 {
1971 self.0
1972 }
1973 #[inline]
1974 fn is_null(self) -> bool {
1975 self.0 == 0u64
1976 }
1977}
1978impl Default for DebugReportCallbackEXT {
1979 #[inline]
1980 fn default() -> Self {
1981 Self::null()
1982 }
1983}
1984impl core::fmt::Debug for DebugReportCallbackEXT {
1985 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1986 write!(f, "{}({:#x})", stringify!(DebugReportCallbackEXT), self.0)
1987 }
1988}
1989#[repr(transparent)]
1994#[derive(Copy, Clone, PartialEq, Eq, Hash)]
1995#[doc(alias = "VkDebugUtilsMessengerEXT")]
1996pub struct DebugUtilsMessengerEXT(u64);
1997impl Handle for DebugUtilsMessengerEXT {
1998 type Repr = u64;
1999 #[inline]
2000 fn null() -> Self {
2001 Self(0u64)
2002 }
2003 #[inline]
2004 fn from_raw(raw: u64) -> Self {
2005 Self(raw)
2006 }
2007 #[inline]
2008 fn as_raw(self) -> u64 {
2009 self.0
2010 }
2011 #[inline]
2012 fn is_null(self) -> bool {
2013 self.0 == 0u64
2014 }
2015}
2016impl Default for DebugUtilsMessengerEXT {
2017 #[inline]
2018 fn default() -> Self {
2019 Self::null()
2020 }
2021}
2022impl core::fmt::Debug for DebugUtilsMessengerEXT {
2023 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
2024 write!(f, "{}({:#x})", stringify!(DebugUtilsMessengerEXT), self.0)
2025 }
2026}
2027#[repr(transparent)]
2032#[derive(Copy, Clone, PartialEq, Eq, Hash)]
2033#[doc(alias = "VkVideoSessionKHR")]
2034pub struct VideoSessionKHR(u64);
2035impl Handle for VideoSessionKHR {
2036 type Repr = u64;
2037 #[inline]
2038 fn null() -> Self {
2039 Self(0u64)
2040 }
2041 #[inline]
2042 fn from_raw(raw: u64) -> Self {
2043 Self(raw)
2044 }
2045 #[inline]
2046 fn as_raw(self) -> u64 {
2047 self.0
2048 }
2049 #[inline]
2050 fn is_null(self) -> bool {
2051 self.0 == 0u64
2052 }
2053}
2054impl Default for VideoSessionKHR {
2055 #[inline]
2056 fn default() -> Self {
2057 Self::null()
2058 }
2059}
2060impl core::fmt::Debug for VideoSessionKHR {
2061 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
2062 write!(f, "{}({:#x})", stringify!(VideoSessionKHR), self.0)
2063 }
2064}
2065#[repr(transparent)]
2070#[derive(Copy, Clone, PartialEq, Eq, Hash)]
2071#[doc(alias = "VkVideoSessionParametersKHR")]
2072pub struct VideoSessionParametersKHR(u64);
2073impl Handle for VideoSessionParametersKHR {
2074 type Repr = u64;
2075 #[inline]
2076 fn null() -> Self {
2077 Self(0u64)
2078 }
2079 #[inline]
2080 fn from_raw(raw: u64) -> Self {
2081 Self(raw)
2082 }
2083 #[inline]
2084 fn as_raw(self) -> u64 {
2085 self.0
2086 }
2087 #[inline]
2088 fn is_null(self) -> bool {
2089 self.0 == 0u64
2090 }
2091}
2092impl Default for VideoSessionParametersKHR {
2093 #[inline]
2094 fn default() -> Self {
2095 Self::null()
2096 }
2097}
2098impl core::fmt::Debug for VideoSessionParametersKHR {
2099 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
2100 write!(f, "{}({:#x})", stringify!(VideoSessionParametersKHR), self.0)
2101 }
2102}
2103#[repr(transparent)]
2108#[derive(Copy, Clone, PartialEq, Eq, Hash)]
2109#[doc(alias = "VkSemaphoreSciSyncPoolNV")]
2110pub struct SemaphoreSciSyncPoolNV(u64);
2111impl Handle for SemaphoreSciSyncPoolNV {
2112 type Repr = u64;
2113 #[inline]
2114 fn null() -> Self {
2115 Self(0u64)
2116 }
2117 #[inline]
2118 fn from_raw(raw: u64) -> Self {
2119 Self(raw)
2120 }
2121 #[inline]
2122 fn as_raw(self) -> u64 {
2123 self.0
2124 }
2125 #[inline]
2126 fn is_null(self) -> bool {
2127 self.0 == 0u64
2128 }
2129}
2130impl Default for SemaphoreSciSyncPoolNV {
2131 #[inline]
2132 fn default() -> Self {
2133 Self::null()
2134 }
2135}
2136impl core::fmt::Debug for SemaphoreSciSyncPoolNV {
2137 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
2138 write!(f, "{}({:#x})", stringify!(SemaphoreSciSyncPoolNV), self.0)
2139 }
2140}
2141#[repr(transparent)]
2146#[derive(Copy, Clone, PartialEq, Eq, Hash)]
2147#[doc(alias = "VkCudaModuleNV")]
2148pub struct CudaModuleNV(u64);
2149impl Handle for CudaModuleNV {
2150 type Repr = u64;
2151 #[inline]
2152 fn null() -> Self {
2153 Self(0u64)
2154 }
2155 #[inline]
2156 fn from_raw(raw: u64) -> Self {
2157 Self(raw)
2158 }
2159 #[inline]
2160 fn as_raw(self) -> u64 {
2161 self.0
2162 }
2163 #[inline]
2164 fn is_null(self) -> bool {
2165 self.0 == 0u64
2166 }
2167}
2168impl Default for CudaModuleNV {
2169 #[inline]
2170 fn default() -> Self {
2171 Self::null()
2172 }
2173}
2174impl core::fmt::Debug for CudaModuleNV {
2175 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
2176 write!(f, "{}({:#x})", stringify!(CudaModuleNV), self.0)
2177 }
2178}
2179#[repr(transparent)]
2184#[derive(Copy, Clone, PartialEq, Eq, Hash)]
2185#[doc(alias = "VkCudaFunctionNV")]
2186pub struct CudaFunctionNV(u64);
2187impl Handle for CudaFunctionNV {
2188 type Repr = u64;
2189 #[inline]
2190 fn null() -> Self {
2191 Self(0u64)
2192 }
2193 #[inline]
2194 fn from_raw(raw: u64) -> Self {
2195 Self(raw)
2196 }
2197 #[inline]
2198 fn as_raw(self) -> u64 {
2199 self.0
2200 }
2201 #[inline]
2202 fn is_null(self) -> bool {
2203 self.0 == 0u64
2204 }
2205}
2206impl Default for CudaFunctionNV {
2207 #[inline]
2208 fn default() -> Self {
2209 Self::null()
2210 }
2211}
2212impl core::fmt::Debug for CudaFunctionNV {
2213 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
2214 write!(f, "{}({:#x})", stringify!(CudaFunctionNV), self.0)
2215 }
2216}
2217#[repr(transparent)]
2222#[derive(Copy, Clone, PartialEq, Eq, Hash)]
2223#[doc(alias = "VkExternalComputeQueueNV")]
2224pub struct ExternalComputeQueueNV(usize);
2225impl Handle for ExternalComputeQueueNV {
2226 type Repr = usize;
2227 #[inline]
2228 fn null() -> Self {
2229 Self(0usize)
2230 }
2231 #[inline]
2232 fn from_raw(raw: usize) -> Self {
2233 Self(raw)
2234 }
2235 #[inline]
2236 fn as_raw(self) -> usize {
2237 self.0
2238 }
2239 #[inline]
2240 fn is_null(self) -> bool {
2241 self.0 == 0usize
2242 }
2243}
2244impl Default for ExternalComputeQueueNV {
2245 #[inline]
2246 fn default() -> Self {
2247 Self::null()
2248 }
2249}
2250impl core::fmt::Debug for ExternalComputeQueueNV {
2251 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
2252 write!(f, "{}({:#x})", stringify!(ExternalComputeQueueNV), self.0)
2253 }
2254}