1 // *** THIS FILE IS GENERATED - DO NOT EDIT ***
2 // See helper_file_generator.py for modifications
3
4
5 /***************************************************************************
6 *
7 * Copyright (c) 2015-2017 The Khronos Group Inc.
8 * Copyright (c) 2015-2017 Valve Corporation
9 * Copyright (c) 2015-2017 LunarG, Inc.
10 * Copyright (c) 2015-2017 Google Inc.
11 *
12 * Licensed under the Apache License, Version 2.0 (the "License");
13 * you may not use this file except in compliance with the License.
14 * You may obtain a copy of the License at
15 *
16 * http://www.apache.org/licenses/LICENSE-2.0
17 *
18 * Unless required by applicable law or agreed to in writing, software
19 * distributed under the License is distributed on an "AS IS" BASIS,
20 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 * See the License for the specific language governing permissions and
22 * limitations under the License.
23 *
24 * Author: Mark Lobodzinski <mark@lunarg.com>
25 * Author: Courtney Goeltzenleuchter <courtneygo@google.com>
26 * Author: Tobin Ehlis <tobine@google.com>
27 * Author: Chris Forbes <chrisforbes@google.com>
28 * Author: John Zulauf<jzulauf@lunarg.com>
29 *
30 ****************************************************************************/
31
32
33 #pragma once
34
35 #include <vulkan/vulkan.h>
36
37 // Object Type enum for validation layer internal object handling
38 typedef enum VulkanObjectType {
39 kVulkanObjectTypeUnknown = 0,
40 kVulkanObjectTypeBuffer = 1,
41 kVulkanObjectTypeImage = 2,
42 kVulkanObjectTypeInstance = 3,
43 kVulkanObjectTypePhysicalDevice = 4,
44 kVulkanObjectTypeDevice = 5,
45 kVulkanObjectTypeQueue = 6,
46 kVulkanObjectTypeSemaphore = 7,
47 kVulkanObjectTypeCommandBuffer = 8,
48 kVulkanObjectTypeFence = 9,
49 kVulkanObjectTypeDeviceMemory = 10,
50 kVulkanObjectTypeEvent = 11,
51 kVulkanObjectTypeQueryPool = 12,
52 kVulkanObjectTypeBufferView = 13,
53 kVulkanObjectTypeImageView = 14,
54 kVulkanObjectTypeShaderModule = 15,
55 kVulkanObjectTypePipelineCache = 16,
56 kVulkanObjectTypePipelineLayout = 17,
57 kVulkanObjectTypePipeline = 18,
58 kVulkanObjectTypeRenderPass = 19,
59 kVulkanObjectTypeDescriptorSetLayout = 20,
60 kVulkanObjectTypeSampler = 21,
61 kVulkanObjectTypeDescriptorSet = 22,
62 kVulkanObjectTypeDescriptorPool = 23,
63 kVulkanObjectTypeFramebuffer = 24,
64 kVulkanObjectTypeCommandPool = 25,
65 kVulkanObjectTypeSamplerYcbcrConversion = 26,
66 kVulkanObjectTypeDescriptorUpdateTemplate = 27,
67 kVulkanObjectTypePrivateDataSlot = 28,
68 kVulkanObjectTypeSurfaceKHR = 29,
69 kVulkanObjectTypeSwapchainKHR = 30,
70 kVulkanObjectTypeDisplayKHR = 31,
71 kVulkanObjectTypeDisplayModeKHR = 32,
72 kVulkanObjectTypeVideoSessionKHR = 33,
73 kVulkanObjectTypeVideoSessionParametersKHR = 34,
74 kVulkanObjectTypeDeferredOperationKHR = 35,
75 kVulkanObjectTypeDebugReportCallbackEXT = 36,
76 kVulkanObjectTypeCuModuleNVX = 37,
77 kVulkanObjectTypeCuFunctionNVX = 38,
78 kVulkanObjectTypeDebugUtilsMessengerEXT = 39,
79 kVulkanObjectTypeValidationCacheEXT = 40,
80 kVulkanObjectTypeAccelerationStructureNV = 41,
81 kVulkanObjectTypePerformanceConfigurationINTEL = 42,
82 kVulkanObjectTypeIndirectCommandsLayoutNV = 43,
83 kVulkanObjectTypeBufferCollectionFUCHSIA = 44,
84 kVulkanObjectTypeMicromapEXT = 45,
85 kVulkanObjectTypeOpticalFlowSessionNV = 46,
86 kVulkanObjectTypeAccelerationStructureKHR = 47,
87 kVulkanObjectTypeMax = 48,
88 // Aliases for backwards compatibilty of "promoted" types
89 kVulkanObjectTypeDescriptorUpdateTemplateKHR = kVulkanObjectTypeDescriptorUpdateTemplate,
90 kVulkanObjectTypeSamplerYcbcrConversionKHR = kVulkanObjectTypeSamplerYcbcrConversion,
91 kVulkanObjectTypePrivateDataSlotEXT = kVulkanObjectTypePrivateDataSlot,
92 } VulkanObjectType;
93
94 // Array of object name strings for OBJECT_TYPE enum conversion
95 static const char * const object_string[kVulkanObjectTypeMax] = {
96 "Unknown",
97 "Buffer",
98 "Image",
99 "Instance",
100 "PhysicalDevice",
101 "Device",
102 "Queue",
103 "Semaphore",
104 "CommandBuffer",
105 "Fence",
106 "DeviceMemory",
107 "Event",
108 "QueryPool",
109 "BufferView",
110 "ImageView",
111 "ShaderModule",
112 "PipelineCache",
113 "PipelineLayout",
114 "Pipeline",
115 "RenderPass",
116 "DescriptorSetLayout",
117 "Sampler",
118 "DescriptorSet",
119 "DescriptorPool",
120 "Framebuffer",
121 "CommandPool",
122 "SamplerYcbcrConversion",
123 "DescriptorUpdateTemplate",
124 "PrivateDataSlot",
125 "SurfaceKHR",
126 "SwapchainKHR",
127 "DisplayKHR",
128 "DisplayModeKHR",
129 "VideoSessionKHR",
130 "VideoSessionParametersKHR",
131 "DeferredOperationKHR",
132 "DebugReportCallbackEXT",
133 "CuModuleNVX",
134 "CuFunctionNVX",
135 "DebugUtilsMessengerEXT",
136 "ValidationCacheEXT",
137 "AccelerationStructureNV",
138 "PerformanceConfigurationINTEL",
139 "IndirectCommandsLayoutNV",
140 "BufferCollectionFUCHSIA",
141 "MicromapEXT",
142 "OpticalFlowSessionNV",
143 "AccelerationStructureKHR",
144 };
145
146 // Helper array to get Vulkan VK_EXT_debug_report object type enum from the internal layers version
147 const VkDebugReportObjectTypeEXT get_debug_report_enum[] = {
148 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypeUnknown
149 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, // kVulkanObjectTypeBuffer
150 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, // kVulkanObjectTypeImage
151 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, // kVulkanObjectTypeInstance
152 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, // kVulkanObjectTypePhysicalDevice
153 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, // kVulkanObjectTypeDevice
154 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT, // kVulkanObjectTypeQueue
155 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT, // kVulkanObjectTypeSemaphore
156 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, // kVulkanObjectTypeCommandBuffer
157 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, // kVulkanObjectTypeFence
158 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, // kVulkanObjectTypeDeviceMemory
159 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT, // kVulkanObjectTypeEvent
160 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT, // kVulkanObjectTypeQueryPool
161 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT, // kVulkanObjectTypeBufferView
162 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT, // kVulkanObjectTypeImageView
163 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT, // kVulkanObjectTypeShaderModule
164 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT, // kVulkanObjectTypePipelineCache
165 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT, // kVulkanObjectTypePipelineLayout
166 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT, // kVulkanObjectTypePipeline
167 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT, // kVulkanObjectTypeRenderPass
168 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT, // kVulkanObjectTypeDescriptorSetLayout
169 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT, // kVulkanObjectTypeSampler
170 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT, // kVulkanObjectTypeDescriptorSet
171 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT, // kVulkanObjectTypeDescriptorPool
172 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT, // kVulkanObjectTypeFramebuffer
173 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT, // kVulkanObjectTypeCommandPool
174 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT, // kVulkanObjectTypeSamplerYcbcrConversion
175 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT, // kVulkanObjectTypeDescriptorUpdateTemplate
176 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypePrivateDataSlot
177 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT, // kVulkanObjectTypeSurfaceKHR
178 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT, // kVulkanObjectTypeSwapchainKHR
179 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT, // kVulkanObjectTypeDisplayKHR
180 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT, // kVulkanObjectTypeDisplayModeKHR
181 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypeVideoSessionKHR
182 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypeVideoSessionParametersKHR
183 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypeDeferredOperationKHR
184 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT, // kVulkanObjectTypeDebugReportCallbackEXT
185 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT, // kVulkanObjectTypeCuModuleNVX
186 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT, // kVulkanObjectTypeCuFunctionNVX
187 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypeDebugUtilsMessengerEXT
188 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT, // kVulkanObjectTypeValidationCacheEXT
189 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT, // kVulkanObjectTypeAccelerationStructureNV
190 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypePerformanceConfigurationINTEL
191 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypeIndirectCommandsLayoutNV
192 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT, // kVulkanObjectTypeBufferCollectionFUCHSIA
193 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypeMicromapEXT
194 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypeOpticalFlowSessionNV
195 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT, // kVulkanObjectTypeAccelerationStructureKHR
196 };
197
198 // Helper array to get Official Vulkan VkObjectType enum from the internal layers version
199 const VkObjectType get_object_type_enum[] = {
200 VK_OBJECT_TYPE_UNKNOWN, // kVulkanObjectTypeUnknown
201 VK_OBJECT_TYPE_BUFFER, // kVulkanObjectTypeBuffer
202 VK_OBJECT_TYPE_IMAGE, // kVulkanObjectTypeImage
203 VK_OBJECT_TYPE_INSTANCE, // kVulkanObjectTypeInstance
204 VK_OBJECT_TYPE_PHYSICAL_DEVICE, // kVulkanObjectTypePhysicalDevice
205 VK_OBJECT_TYPE_DEVICE, // kVulkanObjectTypeDevice
206 VK_OBJECT_TYPE_QUEUE, // kVulkanObjectTypeQueue
207 VK_OBJECT_TYPE_SEMAPHORE, // kVulkanObjectTypeSemaphore
208 VK_OBJECT_TYPE_COMMAND_BUFFER, // kVulkanObjectTypeCommandBuffer
209 VK_OBJECT_TYPE_FENCE, // kVulkanObjectTypeFence
210 VK_OBJECT_TYPE_DEVICE_MEMORY, // kVulkanObjectTypeDeviceMemory
211 VK_OBJECT_TYPE_EVENT, // kVulkanObjectTypeEvent
212 VK_OBJECT_TYPE_QUERY_POOL, // kVulkanObjectTypeQueryPool
213 VK_OBJECT_TYPE_BUFFER_VIEW, // kVulkanObjectTypeBufferView
214 VK_OBJECT_TYPE_IMAGE_VIEW, // kVulkanObjectTypeImageView
215 VK_OBJECT_TYPE_SHADER_MODULE, // kVulkanObjectTypeShaderModule
216 VK_OBJECT_TYPE_PIPELINE_CACHE, // kVulkanObjectTypePipelineCache
217 VK_OBJECT_TYPE_PIPELINE_LAYOUT, // kVulkanObjectTypePipelineLayout
218 VK_OBJECT_TYPE_PIPELINE, // kVulkanObjectTypePipeline
219 VK_OBJECT_TYPE_RENDER_PASS, // kVulkanObjectTypeRenderPass
220 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT, // kVulkanObjectTypeDescriptorSetLayout
221 VK_OBJECT_TYPE_SAMPLER, // kVulkanObjectTypeSampler
222 VK_OBJECT_TYPE_DESCRIPTOR_SET, // kVulkanObjectTypeDescriptorSet
223 VK_OBJECT_TYPE_DESCRIPTOR_POOL, // kVulkanObjectTypeDescriptorPool
224 VK_OBJECT_TYPE_FRAMEBUFFER, // kVulkanObjectTypeFramebuffer
225 VK_OBJECT_TYPE_COMMAND_POOL, // kVulkanObjectTypeCommandPool
226 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION, // kVulkanObjectTypeSamplerYcbcrConversion
227 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE, // kVulkanObjectTypeDescriptorUpdateTemplate
228 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT, // kVulkanObjectTypePrivateDataSlot
229 VK_OBJECT_TYPE_SURFACE_KHR, // kVulkanObjectTypeSurfaceKHR
230 VK_OBJECT_TYPE_SWAPCHAIN_KHR, // kVulkanObjectTypeSwapchainKHR
231 VK_OBJECT_TYPE_DISPLAY_KHR, // kVulkanObjectTypeDisplayKHR
232 VK_OBJECT_TYPE_DISPLAY_MODE_KHR, // kVulkanObjectTypeDisplayModeKHR
233 VK_OBJECT_TYPE_VIDEO_SESSION_KHR, // kVulkanObjectTypeVideoSessionKHR
234 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR, // kVulkanObjectTypeVideoSessionParametersKHR
235 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR, // kVulkanObjectTypeDeferredOperationKHR
236 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT, // kVulkanObjectTypeDebugReportCallbackEXT
237 VK_OBJECT_TYPE_CU_MODULE_NVX, // kVulkanObjectTypeCuModuleNVX
238 VK_OBJECT_TYPE_CU_FUNCTION_NVX, // kVulkanObjectTypeCuFunctionNVX
239 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT, // kVulkanObjectTypeDebugUtilsMessengerEXT
240 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT, // kVulkanObjectTypeValidationCacheEXT
241 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV, // kVulkanObjectTypeAccelerationStructureNV
242 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL, // kVulkanObjectTypePerformanceConfigurationINTEL
243 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV, // kVulkanObjectTypeIndirectCommandsLayoutNV
244 VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA, // kVulkanObjectTypeBufferCollectionFUCHSIA
245 VK_OBJECT_TYPE_MICROMAP_EXT, // kVulkanObjectTypeMicromapEXT
246 VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV, // kVulkanObjectTypeOpticalFlowSessionNV
247 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR, // kVulkanObjectTypeAccelerationStructureKHR
248 };
249
250 // Helper function to convert from VkDebugReportObjectTypeEXT to VkObjectType
convertDebugReportObjectToCoreObject(VkDebugReportObjectTypeEXT debug_report_obj)251 static inline VkObjectType convertDebugReportObjectToCoreObject(VkDebugReportObjectTypeEXT debug_report_obj){
252 if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT) {
253 return VK_OBJECT_TYPE_UNKNOWN;
254 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT) {
255 return VK_OBJECT_TYPE_UNKNOWN;
256 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT) {
257 return VK_OBJECT_TYPE_INSTANCE;
258 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT) {
259 return VK_OBJECT_TYPE_PHYSICAL_DEVICE;
260 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT) {
261 return VK_OBJECT_TYPE_DEVICE;
262 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT) {
263 return VK_OBJECT_TYPE_QUEUE;
264 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT) {
265 return VK_OBJECT_TYPE_SEMAPHORE;
266 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT) {
267 return VK_OBJECT_TYPE_COMMAND_BUFFER;
268 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT) {
269 return VK_OBJECT_TYPE_FENCE;
270 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT) {
271 return VK_OBJECT_TYPE_DEVICE_MEMORY;
272 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT) {
273 return VK_OBJECT_TYPE_BUFFER;
274 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT) {
275 return VK_OBJECT_TYPE_IMAGE;
276 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT) {
277 return VK_OBJECT_TYPE_EVENT;
278 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT) {
279 return VK_OBJECT_TYPE_QUERY_POOL;
280 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT) {
281 return VK_OBJECT_TYPE_BUFFER_VIEW;
282 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT) {
283 return VK_OBJECT_TYPE_IMAGE_VIEW;
284 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT) {
285 return VK_OBJECT_TYPE_SHADER_MODULE;
286 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT) {
287 return VK_OBJECT_TYPE_PIPELINE_CACHE;
288 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT) {
289 return VK_OBJECT_TYPE_PIPELINE_LAYOUT;
290 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT) {
291 return VK_OBJECT_TYPE_RENDER_PASS;
292 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT) {
293 return VK_OBJECT_TYPE_PIPELINE;
294 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT) {
295 return VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT;
296 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT) {
297 return VK_OBJECT_TYPE_SAMPLER;
298 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT) {
299 return VK_OBJECT_TYPE_DESCRIPTOR_POOL;
300 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT) {
301 return VK_OBJECT_TYPE_DESCRIPTOR_SET;
302 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT) {
303 return VK_OBJECT_TYPE_FRAMEBUFFER;
304 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT) {
305 return VK_OBJECT_TYPE_COMMAND_POOL;
306 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT) {
307 return VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION;
308 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT) {
309 return VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE;
310 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT) {
311 return VK_OBJECT_TYPE_SURFACE_KHR;
312 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT) {
313 return VK_OBJECT_TYPE_SWAPCHAIN_KHR;
314 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT) {
315 return VK_OBJECT_TYPE_DISPLAY_KHR;
316 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT) {
317 return VK_OBJECT_TYPE_DISPLAY_MODE_KHR;
318 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT) {
319 return VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT;
320 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT) {
321 return VK_OBJECT_TYPE_CU_MODULE_NVX;
322 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT) {
323 return VK_OBJECT_TYPE_CU_FUNCTION_NVX;
324 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT) {
325 return VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR;
326 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT) {
327 return VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR;
328 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT) {
329 return VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR;
330 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT) {
331 return VK_OBJECT_TYPE_VALIDATION_CACHE_EXT;
332 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT) {
333 return VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV;
334 } else if (debug_report_obj == VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT) {
335 return VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA;
336 }
337 return VK_OBJECT_TYPE_UNKNOWN;
338 }
339
340 // Helper function to convert from VkDebugReportObjectTypeEXT to VkObjectType
convertCoreObjectToDebugReportObject(VkObjectType core_report_obj)341 static inline VkDebugReportObjectTypeEXT convertCoreObjectToDebugReportObject(VkObjectType core_report_obj){
342 if (core_report_obj == VK_OBJECT_TYPE_UNKNOWN) {
343 return VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT;
344 } else if (core_report_obj == VK_OBJECT_TYPE_UNKNOWN) {
345 return VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT;
346 } else if (core_report_obj == VK_OBJECT_TYPE_INSTANCE) {
347 return VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT;
348 } else if (core_report_obj == VK_OBJECT_TYPE_PHYSICAL_DEVICE) {
349 return VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT;
350 } else if (core_report_obj == VK_OBJECT_TYPE_DEVICE) {
351 return VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT;
352 } else if (core_report_obj == VK_OBJECT_TYPE_QUEUE) {
353 return VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT;
354 } else if (core_report_obj == VK_OBJECT_TYPE_SEMAPHORE) {
355 return VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT;
356 } else if (core_report_obj == VK_OBJECT_TYPE_COMMAND_BUFFER) {
357 return VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT;
358 } else if (core_report_obj == VK_OBJECT_TYPE_FENCE) {
359 return VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT;
360 } else if (core_report_obj == VK_OBJECT_TYPE_DEVICE_MEMORY) {
361 return VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT;
362 } else if (core_report_obj == VK_OBJECT_TYPE_BUFFER) {
363 return VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT;
364 } else if (core_report_obj == VK_OBJECT_TYPE_IMAGE) {
365 return VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT;
366 } else if (core_report_obj == VK_OBJECT_TYPE_EVENT) {
367 return VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT;
368 } else if (core_report_obj == VK_OBJECT_TYPE_QUERY_POOL) {
369 return VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT;
370 } else if (core_report_obj == VK_OBJECT_TYPE_BUFFER_VIEW) {
371 return VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT;
372 } else if (core_report_obj == VK_OBJECT_TYPE_IMAGE_VIEW) {
373 return VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT;
374 } else if (core_report_obj == VK_OBJECT_TYPE_SHADER_MODULE) {
375 return VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT;
376 } else if (core_report_obj == VK_OBJECT_TYPE_PIPELINE_CACHE) {
377 return VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT;
378 } else if (core_report_obj == VK_OBJECT_TYPE_PIPELINE_LAYOUT) {
379 return VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT;
380 } else if (core_report_obj == VK_OBJECT_TYPE_RENDER_PASS) {
381 return VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT;
382 } else if (core_report_obj == VK_OBJECT_TYPE_PIPELINE) {
383 return VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT;
384 } else if (core_report_obj == VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT) {
385 return VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT;
386 } else if (core_report_obj == VK_OBJECT_TYPE_SAMPLER) {
387 return VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT;
388 } else if (core_report_obj == VK_OBJECT_TYPE_DESCRIPTOR_POOL) {
389 return VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT;
390 } else if (core_report_obj == VK_OBJECT_TYPE_DESCRIPTOR_SET) {
391 return VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT;
392 } else if (core_report_obj == VK_OBJECT_TYPE_FRAMEBUFFER) {
393 return VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT;
394 } else if (core_report_obj == VK_OBJECT_TYPE_COMMAND_POOL) {
395 return VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT;
396 } else if (core_report_obj == VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION) {
397 return VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT;
398 } else if (core_report_obj == VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE) {
399 return VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT;
400 } else if (core_report_obj == VK_OBJECT_TYPE_SURFACE_KHR) {
401 return VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT;
402 } else if (core_report_obj == VK_OBJECT_TYPE_SWAPCHAIN_KHR) {
403 return VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT;
404 } else if (core_report_obj == VK_OBJECT_TYPE_DISPLAY_KHR) {
405 return VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT;
406 } else if (core_report_obj == VK_OBJECT_TYPE_DISPLAY_MODE_KHR) {
407 return VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT;
408 } else if (core_report_obj == VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT) {
409 return VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT;
410 } else if (core_report_obj == VK_OBJECT_TYPE_CU_MODULE_NVX) {
411 return VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT;
412 } else if (core_report_obj == VK_OBJECT_TYPE_CU_FUNCTION_NVX) {
413 return VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT;
414 } else if (core_report_obj == VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR) {
415 return VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT;
416 } else if (core_report_obj == VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR) {
417 return VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT;
418 } else if (core_report_obj == VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR) {
419 return VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT;
420 } else if (core_report_obj == VK_OBJECT_TYPE_VALIDATION_CACHE_EXT) {
421 return VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT;
422 } else if (core_report_obj == VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV) {
423 return VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT;
424 } else if (core_report_obj == VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA) {
425 return VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT;
426 }
427 return VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT;
428 }
429