ash/extensions/ext/
debug_utils.rs1use crate::prelude::*;
4use crate::vk;
5use crate::RawPtr;
6use core::mem;
7
8impl crate::ext::debug_utils::Device {
9 #[inline]
11 pub unsafe fn set_debug_utils_object_name(
12 &self,
13 name_info: &vk::DebugUtilsObjectNameInfoEXT<'_>,
14 ) -> VkResult<()> {
15 (self.fp.set_debug_utils_object_name_ext)(self.handle, name_info).result()
16 }
17
18 #[inline]
20 pub unsafe fn set_debug_utils_object_tag(
21 &self,
22 tag_info: &vk::DebugUtilsObjectTagInfoEXT<'_>,
23 ) -> VkResult<()> {
24 (self.fp.set_debug_utils_object_tag_ext)(self.handle, tag_info).result()
25 }
26
27 #[inline]
29 pub unsafe fn cmd_begin_debug_utils_label(
30 &self,
31 command_buffer: vk::CommandBuffer,
32 label: &vk::DebugUtilsLabelEXT<'_>,
33 ) {
34 (self.fp.cmd_begin_debug_utils_label_ext)(command_buffer, label);
35 }
36
37 #[inline]
39 pub unsafe fn cmd_end_debug_utils_label(&self, command_buffer: vk::CommandBuffer) {
40 (self.fp.cmd_end_debug_utils_label_ext)(command_buffer);
41 }
42
43 #[inline]
45 pub unsafe fn cmd_insert_debug_utils_label(
46 &self,
47 command_buffer: vk::CommandBuffer,
48 label: &vk::DebugUtilsLabelEXT<'_>,
49 ) {
50 (self.fp.cmd_insert_debug_utils_label_ext)(command_buffer, label);
51 }
52
53 #[inline]
55 pub unsafe fn queue_begin_debug_utils_label(
56 &self,
57 queue: vk::Queue,
58 label: &vk::DebugUtilsLabelEXT<'_>,
59 ) {
60 (self.fp.queue_begin_debug_utils_label_ext)(queue, label);
61 }
62
63 #[inline]
65 pub unsafe fn queue_end_debug_utils_label(&self, queue: vk::Queue) {
66 (self.fp.queue_end_debug_utils_label_ext)(queue);
67 }
68
69 #[inline]
71 pub unsafe fn queue_insert_debug_utils_label(
72 &self,
73 queue: vk::Queue,
74 label: &vk::DebugUtilsLabelEXT<'_>,
75 ) {
76 (self.fp.queue_insert_debug_utils_label_ext)(queue, label);
77 }
78}
79
80impl crate::ext::debug_utils::Instance {
81 #[inline]
83 pub unsafe fn create_debug_utils_messenger(
84 &self,
85 create_info: &vk::DebugUtilsMessengerCreateInfoEXT<'_>,
86 allocator: Option<&vk::AllocationCallbacks<'_>>,
87 ) -> VkResult<vk::DebugUtilsMessengerEXT> {
88 let mut messenger = mem::MaybeUninit::uninit();
89 (self.fp.create_debug_utils_messenger_ext)(
90 self.handle,
91 create_info,
92 allocator.as_raw_ptr(),
93 messenger.as_mut_ptr(),
94 )
95 .assume_init_on_success(messenger)
96 }
97
98 #[inline]
100 pub unsafe fn destroy_debug_utils_messenger(
101 &self,
102 messenger: vk::DebugUtilsMessengerEXT,
103 allocator: Option<&vk::AllocationCallbacks<'_>>,
104 ) {
105 (self.fp.destroy_debug_utils_messenger_ext)(self.handle, messenger, allocator.as_raw_ptr());
106 }
107
108 #[inline]
110 pub unsafe fn submit_debug_utils_message(
111 &self,
112 message_severity: vk::DebugUtilsMessageSeverityFlagsEXT,
113 message_types: vk::DebugUtilsMessageTypeFlagsEXT,
114 callback_data: &vk::DebugUtilsMessengerCallbackDataEXT<'_>,
115 ) {
116 (self.fp.submit_debug_utils_message_ext)(
117 self.handle,
118 message_severity,
119 message_types,
120 callback_data,
121 );
122 }
123}