1 /***************************************************************************
3 * Copyright (c) 2018 The Khronos Group Inc.
4 * Copyright (c) 2018 Valve Corporation
5 * Copyright (c) 2018 LunarG, Inc.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
19 * Author: Mark Lobodzinski <mark@lunarg.com>
21 ****************************************************************************/
26 #pragma warning( disable : 4065 )
29 #include <vulkan/vulkan.h>
31 static inline const char* string_VkObjectType(VkObjectType input_value)
33 switch ((VkObjectType)input_value)
35 case VK_OBJECT_TYPE_QUERY_POOL:
36 return "VK_OBJECT_TYPE_QUERY_POOL";
37 case VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION:
38 return "VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION";
39 case VK_OBJECT_TYPE_SEMAPHORE:
40 return "VK_OBJECT_TYPE_SEMAPHORE";
41 case VK_OBJECT_TYPE_SHADER_MODULE:
42 return "VK_OBJECT_TYPE_SHADER_MODULE";
43 case VK_OBJECT_TYPE_SWAPCHAIN_KHR:
44 return "VK_OBJECT_TYPE_SWAPCHAIN_KHR";
45 case VK_OBJECT_TYPE_SAMPLER:
46 return "VK_OBJECT_TYPE_SAMPLER";
47 case VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV:
48 return "VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV";
49 case VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT:
50 return "VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT";
51 case VK_OBJECT_TYPE_IMAGE:
52 return "VK_OBJECT_TYPE_IMAGE";
53 case VK_OBJECT_TYPE_UNKNOWN:
54 return "VK_OBJECT_TYPE_UNKNOWN";
55 case VK_OBJECT_TYPE_DESCRIPTOR_POOL:
56 return "VK_OBJECT_TYPE_DESCRIPTOR_POOL";
57 case VK_OBJECT_TYPE_COMMAND_BUFFER:
58 return "VK_OBJECT_TYPE_COMMAND_BUFFER";
59 case VK_OBJECT_TYPE_BUFFER:
60 return "VK_OBJECT_TYPE_BUFFER";
61 case VK_OBJECT_TYPE_SURFACE_KHR:
62 return "VK_OBJECT_TYPE_SURFACE_KHR";
63 case VK_OBJECT_TYPE_INSTANCE:
64 return "VK_OBJECT_TYPE_INSTANCE";
65 case VK_OBJECT_TYPE_VALIDATION_CACHE_EXT:
66 return "VK_OBJECT_TYPE_VALIDATION_CACHE_EXT";
67 case VK_OBJECT_TYPE_IMAGE_VIEW:
68 return "VK_OBJECT_TYPE_IMAGE_VIEW";
69 case VK_OBJECT_TYPE_DESCRIPTOR_SET:
70 return "VK_OBJECT_TYPE_DESCRIPTOR_SET";
71 case VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT:
72 return "VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT";
73 case VK_OBJECT_TYPE_COMMAND_POOL:
74 return "VK_OBJECT_TYPE_COMMAND_POOL";
75 case VK_OBJECT_TYPE_PHYSICAL_DEVICE:
76 return "VK_OBJECT_TYPE_PHYSICAL_DEVICE";
77 case VK_OBJECT_TYPE_DISPLAY_KHR:
78 return "VK_OBJECT_TYPE_DISPLAY_KHR";
79 case VK_OBJECT_TYPE_BUFFER_VIEW:
80 return "VK_OBJECT_TYPE_BUFFER_VIEW";
81 case VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT:
82 return "VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT";
83 case VK_OBJECT_TYPE_FRAMEBUFFER:
84 return "VK_OBJECT_TYPE_FRAMEBUFFER";
85 case VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE:
86 return "VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE";
87 case VK_OBJECT_TYPE_PIPELINE_CACHE:
88 return "VK_OBJECT_TYPE_PIPELINE_CACHE";
89 case VK_OBJECT_TYPE_PIPELINE_LAYOUT:
90 return "VK_OBJECT_TYPE_PIPELINE_LAYOUT";
91 case VK_OBJECT_TYPE_DEVICE_MEMORY:
92 return "VK_OBJECT_TYPE_DEVICE_MEMORY";
93 case VK_OBJECT_TYPE_FENCE:
94 return "VK_OBJECT_TYPE_FENCE";
95 case VK_OBJECT_TYPE_QUEUE:
96 return "VK_OBJECT_TYPE_QUEUE";
97 case VK_OBJECT_TYPE_DEVICE:
98 return "VK_OBJECT_TYPE_DEVICE";
99 case VK_OBJECT_TYPE_RENDER_PASS:
100 return "VK_OBJECT_TYPE_RENDER_PASS";
101 case VK_OBJECT_TYPE_DISPLAY_MODE_KHR:
102 return "VK_OBJECT_TYPE_DISPLAY_MODE_KHR";
103 case VK_OBJECT_TYPE_EVENT:
104 return "VK_OBJECT_TYPE_EVENT";
105 case VK_OBJECT_TYPE_PIPELINE:
106 return "VK_OBJECT_TYPE_PIPELINE";
108 return "Unhandled VkObjectType";