blob: db98d12ae702e74f8370965b4a496fa2976ad9c4 [file] [log] [blame]
Nicolas Capens5167e102021-08-24 11:06:59 -04001// Copyright 2015-2021 The Khronos Group Inc.
2//
3// SPDX-License-Identifier: Apache-2.0 OR MIT
4//
5
6// This header is generated from the Khronos Vulkan XML API Registry.
7
8#ifndef VULKAN_ENUMS_HPP
9#define VULKAN_ENUMS_HPP
10
11namespace VULKAN_HPP_NAMESPACE
12{
13 template <typename EnumType, EnumType value>
14 struct CppType
15 {};
16
17 template <typename Type>
18 struct isVulkanHandleType
19 {
20 static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = false;
21 };
22
23 VULKAN_HPP_INLINE std::string toHexString( uint32_t value )
24 {
25 std::stringstream stream;
26 stream << std::hex << value;
27 return stream.str();
28 }
29
30 //=============
31 //=== ENUMs ===
32 //=============
33
34 //=== VK_VERSION_1_0 ===
35
36 enum class Result
37 {
38 eSuccess = VK_SUCCESS,
39 eNotReady = VK_NOT_READY,
40 eTimeout = VK_TIMEOUT,
41 eEventSet = VK_EVENT_SET,
42 eEventReset = VK_EVENT_RESET,
43 eIncomplete = VK_INCOMPLETE,
44 eErrorOutOfHostMemory = VK_ERROR_OUT_OF_HOST_MEMORY,
45 eErrorOutOfDeviceMemory = VK_ERROR_OUT_OF_DEVICE_MEMORY,
46 eErrorInitializationFailed = VK_ERROR_INITIALIZATION_FAILED,
47 eErrorDeviceLost = VK_ERROR_DEVICE_LOST,
48 eErrorMemoryMapFailed = VK_ERROR_MEMORY_MAP_FAILED,
49 eErrorLayerNotPresent = VK_ERROR_LAYER_NOT_PRESENT,
50 eErrorExtensionNotPresent = VK_ERROR_EXTENSION_NOT_PRESENT,
51 eErrorFeatureNotPresent = VK_ERROR_FEATURE_NOT_PRESENT,
52 eErrorIncompatibleDriver = VK_ERROR_INCOMPATIBLE_DRIVER,
53 eErrorTooManyObjects = VK_ERROR_TOO_MANY_OBJECTS,
54 eErrorFormatNotSupported = VK_ERROR_FORMAT_NOT_SUPPORTED,
55 eErrorFragmentedPool = VK_ERROR_FRAGMENTED_POOL,
56 eErrorUnknown = VK_ERROR_UNKNOWN,
57 eErrorOutOfPoolMemory = VK_ERROR_OUT_OF_POOL_MEMORY,
58 eErrorInvalidExternalHandle = VK_ERROR_INVALID_EXTERNAL_HANDLE,
59 eErrorFragmentation = VK_ERROR_FRAGMENTATION,
60 eErrorInvalidOpaqueCaptureAddress = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
61 eErrorSurfaceLostKHR = VK_ERROR_SURFACE_LOST_KHR,
62 eErrorNativeWindowInUseKHR = VK_ERROR_NATIVE_WINDOW_IN_USE_KHR,
63 eSuboptimalKHR = VK_SUBOPTIMAL_KHR,
64 eErrorOutOfDateKHR = VK_ERROR_OUT_OF_DATE_KHR,
65 eErrorIncompatibleDisplayKHR = VK_ERROR_INCOMPATIBLE_DISPLAY_KHR,
66 eErrorValidationFailedEXT = VK_ERROR_VALIDATION_FAILED_EXT,
67 eErrorInvalidShaderNV = VK_ERROR_INVALID_SHADER_NV,
68 eErrorInvalidDrmFormatModifierPlaneLayoutEXT = VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT,
69 eErrorNotPermittedEXT = VK_ERROR_NOT_PERMITTED_EXT,
70#if defined( VK_USE_PLATFORM_WIN32_KHR )
71 eErrorFullScreenExclusiveModeLostEXT = VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT,
72#endif /*VK_USE_PLATFORM_WIN32_KHR*/
73 eThreadIdleKHR = VK_THREAD_IDLE_KHR,
74 eThreadDoneKHR = VK_THREAD_DONE_KHR,
75 eOperationDeferredKHR = VK_OPERATION_DEFERRED_KHR,
76 eOperationNotDeferredKHR = VK_OPERATION_NOT_DEFERRED_KHR,
77 ePipelineCompileRequiredEXT = VK_PIPELINE_COMPILE_REQUIRED_EXT,
78 eErrorFragmentationEXT = VK_ERROR_FRAGMENTATION_EXT,
79 eErrorInvalidDeviceAddressEXT = VK_ERROR_INVALID_DEVICE_ADDRESS_EXT,
80 eErrorInvalidExternalHandleKHR = VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR,
81 eErrorInvalidOpaqueCaptureAddressKHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR,
82 eErrorOutOfPoolMemoryKHR = VK_ERROR_OUT_OF_POOL_MEMORY_KHR,
83 eErrorPipelineCompileRequiredEXT = VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT
84 };
85
86 VULKAN_HPP_INLINE std::string to_string( Result value )
87 {
88 switch ( value )
89 {
90 case Result::eSuccess: return "Success";
91 case Result::eNotReady: return "NotReady";
92 case Result::eTimeout: return "Timeout";
93 case Result::eEventSet: return "EventSet";
94 case Result::eEventReset: return "EventReset";
95 case Result::eIncomplete: return "Incomplete";
96 case Result::eErrorOutOfHostMemory: return "ErrorOutOfHostMemory";
97 case Result::eErrorOutOfDeviceMemory: return "ErrorOutOfDeviceMemory";
98 case Result::eErrorInitializationFailed: return "ErrorInitializationFailed";
99 case Result::eErrorDeviceLost: return "ErrorDeviceLost";
100 case Result::eErrorMemoryMapFailed: return "ErrorMemoryMapFailed";
101 case Result::eErrorLayerNotPresent: return "ErrorLayerNotPresent";
102 case Result::eErrorExtensionNotPresent: return "ErrorExtensionNotPresent";
103 case Result::eErrorFeatureNotPresent: return "ErrorFeatureNotPresent";
104 case Result::eErrorIncompatibleDriver: return "ErrorIncompatibleDriver";
105 case Result::eErrorTooManyObjects: return "ErrorTooManyObjects";
106 case Result::eErrorFormatNotSupported: return "ErrorFormatNotSupported";
107 case Result::eErrorFragmentedPool: return "ErrorFragmentedPool";
108 case Result::eErrorUnknown: return "ErrorUnknown";
109 case Result::eErrorOutOfPoolMemory: return "ErrorOutOfPoolMemory";
110 case Result::eErrorInvalidExternalHandle: return "ErrorInvalidExternalHandle";
111 case Result::eErrorFragmentation: return "ErrorFragmentation";
112 case Result::eErrorInvalidOpaqueCaptureAddress: return "ErrorInvalidOpaqueCaptureAddress";
113 case Result::eErrorSurfaceLostKHR: return "ErrorSurfaceLostKHR";
114 case Result::eErrorNativeWindowInUseKHR: return "ErrorNativeWindowInUseKHR";
115 case Result::eSuboptimalKHR: return "SuboptimalKHR";
116 case Result::eErrorOutOfDateKHR: return "ErrorOutOfDateKHR";
117 case Result::eErrorIncompatibleDisplayKHR: return "ErrorIncompatibleDisplayKHR";
118 case Result::eErrorValidationFailedEXT: return "ErrorValidationFailedEXT";
119 case Result::eErrorInvalidShaderNV: return "ErrorInvalidShaderNV";
120 case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT: return "ErrorInvalidDrmFormatModifierPlaneLayoutEXT";
121 case Result::eErrorNotPermittedEXT: return "ErrorNotPermittedEXT";
122#if defined( VK_USE_PLATFORM_WIN32_KHR )
123 case Result::eErrorFullScreenExclusiveModeLostEXT: return "ErrorFullScreenExclusiveModeLostEXT";
124#endif /*VK_USE_PLATFORM_WIN32_KHR*/
125 case Result::eThreadIdleKHR: return "ThreadIdleKHR";
126 case Result::eThreadDoneKHR: return "ThreadDoneKHR";
127 case Result::eOperationDeferredKHR: return "OperationDeferredKHR";
128 case Result::eOperationNotDeferredKHR: return "OperationNotDeferredKHR";
129 case Result::ePipelineCompileRequiredEXT: return "PipelineCompileRequiredEXT";
130 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
131 }
132 }
133
134 enum class StructureType
135 {
136 eApplicationInfo = VK_STRUCTURE_TYPE_APPLICATION_INFO,
137 eInstanceCreateInfo = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
138 eDeviceQueueCreateInfo = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,
139 eDeviceCreateInfo = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,
140 eSubmitInfo = VK_STRUCTURE_TYPE_SUBMIT_INFO,
141 eMemoryAllocateInfo = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO,
142 eMappedMemoryRange = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE,
143 eBindSparseInfo = VK_STRUCTURE_TYPE_BIND_SPARSE_INFO,
144 eFenceCreateInfo = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
145 eSemaphoreCreateInfo = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
146 eEventCreateInfo = VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
147 eQueryPoolCreateInfo = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO,
148 eBufferCreateInfo = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO,
149 eBufferViewCreateInfo = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO,
150 eImageCreateInfo = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO,
151 eImageViewCreateInfo = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,
152 eShaderModuleCreateInfo = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO,
153 ePipelineCacheCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO,
154 ePipelineShaderStageCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO,
155 ePipelineVertexInputStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,
156 ePipelineInputAssemblyStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,
157 ePipelineTessellationStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO,
158 ePipelineViewportStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO,
159 ePipelineRasterizationStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
160 ePipelineMultisampleStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,
161 ePipelineDepthStencilStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO,
162 ePipelineColorBlendStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,
163 ePipelineDynamicStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO,
164 eGraphicsPipelineCreateInfo = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO,
165 eComputePipelineCreateInfo = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO,
166 ePipelineLayoutCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,
167 eSamplerCreateInfo = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO,
168 eDescriptorSetLayoutCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
169 eDescriptorPoolCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
170 eDescriptorSetAllocateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO,
171 eWriteDescriptorSet = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET,
172 eCopyDescriptorSet = VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET,
173 eFramebufferCreateInfo = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO,
174 eRenderPassCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO,
175 eCommandPoolCreateInfo = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,
176 eCommandBufferAllocateInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,
177 eCommandBufferInheritanceInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO,
178 eCommandBufferBeginInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
179 eRenderPassBeginInfo = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO,
180 eBufferMemoryBarrier = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER,
181 eImageMemoryBarrier = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,
182 eMemoryBarrier = VK_STRUCTURE_TYPE_MEMORY_BARRIER,
183 eLoaderInstanceCreateInfo = VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO,
184 eLoaderDeviceCreateInfo = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,
185 ePhysicalDeviceSubgroupProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES,
186 eBindBufferMemoryInfo = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
187 eBindImageMemoryInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
188 ePhysicalDevice16BitStorageFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
189 eMemoryDedicatedRequirements = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
190 eMemoryDedicatedAllocateInfo = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
191 eMemoryAllocateFlagsInfo = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
192 eDeviceGroupRenderPassBeginInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
193 eDeviceGroupCommandBufferBeginInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
194 eDeviceGroupSubmitInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
195 eDeviceGroupBindSparseInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
196 eBindBufferMemoryDeviceGroupInfo = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
197 eBindImageMemoryDeviceGroupInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
198 ePhysicalDeviceGroupProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
199 eDeviceGroupDeviceCreateInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
200 eBufferMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
201 eImageMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
202 eImageSparseMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
203 eMemoryRequirements2 = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
204 eSparseImageMemoryRequirements2 = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
205 ePhysicalDeviceFeatures2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
206 ePhysicalDeviceProperties2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
207 eFormatProperties2 = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
208 eImageFormatProperties2 = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
209 ePhysicalDeviceImageFormatInfo2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
210 eQueueFamilyProperties2 = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
211 ePhysicalDeviceMemoryProperties2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
212 eSparseImageFormatProperties2 = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
213 ePhysicalDeviceSparseImageFormatInfo2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
214 ePhysicalDevicePointClippingProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
215 eRenderPassInputAttachmentAspectCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
216 eImageViewUsageCreateInfo = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
217 ePipelineTessellationDomainOriginStateCreateInfo =
218 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
219 eRenderPassMultiviewCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
220 ePhysicalDeviceMultiviewFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
221 ePhysicalDeviceMultiviewProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
222 ePhysicalDeviceVariablePointersFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
223 eProtectedSubmitInfo = VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO,
224 ePhysicalDeviceProtectedMemoryFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,
225 ePhysicalDeviceProtectedMemoryProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES,
226 eDeviceQueueInfo2 = VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2,
227 eSamplerYcbcrConversionCreateInfo = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
228 eSamplerYcbcrConversionInfo = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
229 eBindImagePlaneMemoryInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
230 eImagePlaneMemoryRequirementsInfo = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
231 ePhysicalDeviceSamplerYcbcrConversionFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
232 eSamplerYcbcrConversionImageFormatProperties = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
233 eDescriptorUpdateTemplateCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
234 ePhysicalDeviceExternalImageFormatInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
235 eExternalImageFormatProperties = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
236 ePhysicalDeviceExternalBufferInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
237 eExternalBufferProperties = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
238 ePhysicalDeviceIdProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
239 eExternalMemoryBufferCreateInfo = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
240 eExternalMemoryImageCreateInfo = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
241 eExportMemoryAllocateInfo = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
242 ePhysicalDeviceExternalFenceInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
243 eExternalFenceProperties = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
244 eExportFenceCreateInfo = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
245 eExportSemaphoreCreateInfo = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
246 ePhysicalDeviceExternalSemaphoreInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
247 eExternalSemaphoreProperties = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
248 ePhysicalDeviceMaintenance3Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
249 eDescriptorSetLayoutSupport = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
250 ePhysicalDeviceShaderDrawParametersFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
251 ePhysicalDeviceVulkan11Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES,
252 ePhysicalDeviceVulkan11Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES,
253 ePhysicalDeviceVulkan12Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES,
254 ePhysicalDeviceVulkan12Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES,
255 eImageFormatListCreateInfo = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
256 eAttachmentDescription2 = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
257 eAttachmentReference2 = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
258 eSubpassDescription2 = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
259 eSubpassDependency2 = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
260 eRenderPassCreateInfo2 = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
261 eSubpassBeginInfo = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
262 eSubpassEndInfo = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
263 ePhysicalDevice8BitStorageFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
264 ePhysicalDeviceDriverProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
265 ePhysicalDeviceShaderAtomicInt64Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
266 ePhysicalDeviceShaderFloat16Int8Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
267 ePhysicalDeviceFloatControlsProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
268 eDescriptorSetLayoutBindingFlagsCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
269 ePhysicalDeviceDescriptorIndexingFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
270 ePhysicalDeviceDescriptorIndexingProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
271 eDescriptorSetVariableDescriptorCountAllocateInfo =
272 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
273 eDescriptorSetVariableDescriptorCountLayoutSupport =
274 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
275 ePhysicalDeviceDepthStencilResolveProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
276 eSubpassDescriptionDepthStencilResolve = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
277 ePhysicalDeviceScalarBlockLayoutFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
278 eImageStencilUsageCreateInfo = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
279 ePhysicalDeviceSamplerFilterMinmaxProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
280 eSamplerReductionModeCreateInfo = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
281 ePhysicalDeviceVulkanMemoryModelFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
282 ePhysicalDeviceImagelessFramebufferFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
283 eFramebufferAttachmentsCreateInfo = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
284 eFramebufferAttachmentImageInfo = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
285 eRenderPassAttachmentBeginInfo = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
286 ePhysicalDeviceUniformBufferStandardLayoutFeatures =
287 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
288 ePhysicalDeviceShaderSubgroupExtendedTypesFeatures =
289 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
290 ePhysicalDeviceSeparateDepthStencilLayoutsFeatures =
291 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
292 eAttachmentReferenceStencilLayout = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
293 eAttachmentDescriptionStencilLayout = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
294 ePhysicalDeviceHostQueryResetFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
295 ePhysicalDeviceTimelineSemaphoreFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
296 ePhysicalDeviceTimelineSemaphoreProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
297 eSemaphoreTypeCreateInfo = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
298 eTimelineSemaphoreSubmitInfo = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
299 eSemaphoreWaitInfo = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
300 eSemaphoreSignalInfo = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
301 ePhysicalDeviceBufferDeviceAddressFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
302 eBufferDeviceAddressInfo = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
303 eBufferOpaqueCaptureAddressCreateInfo = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
304 eMemoryOpaqueCaptureAddressAllocateInfo = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
305 eDeviceMemoryOpaqueCaptureAddressInfo = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
306 eSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR,
307 ePresentInfoKHR = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR,
308 eDeviceGroupPresentCapabilitiesKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,
309 eImageSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR,
310 eBindImageMemorySwapchainInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,
311 eAcquireNextImageInfoKHR = VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR,
312 eDeviceGroupPresentInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR,
313 eDeviceGroupSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,
314 eDisplayModeCreateInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR,
315 eDisplaySurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR,
316 eDisplayPresentInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR,
317#if defined( VK_USE_PLATFORM_XLIB_KHR )
318 eXlibSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR,
319#endif /*VK_USE_PLATFORM_XLIB_KHR*/
320#if defined( VK_USE_PLATFORM_XCB_KHR )
321 eXcbSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR,
322#endif /*VK_USE_PLATFORM_XCB_KHR*/
323#if defined( VK_USE_PLATFORM_WAYLAND_KHR )
324 eWaylandSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR,
325#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
326#if defined( VK_USE_PLATFORM_ANDROID_KHR )
327 eAndroidSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR,
328#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
329#if defined( VK_USE_PLATFORM_WIN32_KHR )
330 eWin32SurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR,
331#endif /*VK_USE_PLATFORM_WIN32_KHR*/
332 eDebugReportCallbackCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
333 ePipelineRasterizationStateRasterizationOrderAMD =
334 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD,
335 eDebugMarkerObjectNameInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT,
336 eDebugMarkerObjectTagInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT,
337 eDebugMarkerMarkerInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT,
338#if defined( VK_ENABLE_BETA_EXTENSIONS )
339 eVideoProfileKHR = VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR,
340 eVideoCapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR,
341 eVideoPictureResourceKHR = VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR,
342 eVideoGetMemoryPropertiesKHR = VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR,
343 eVideoBindMemoryKHR = VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR,
344 eVideoSessionCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR,
345 eVideoSessionParametersCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR,
346 eVideoSessionParametersUpdateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR,
347 eVideoBeginCodingInfoKHR = VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR,
348 eVideoEndCodingInfoKHR = VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR,
349 eVideoCodingControlInfoKHR = VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR,
350 eVideoReferenceSlotKHR = VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR,
351 eVideoQueueFamilyProperties2KHR = VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR,
352 eVideoProfilesKHR = VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR,
353 ePhysicalDeviceVideoFormatInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR,
354 eVideoFormatPropertiesKHR = VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR,
355 eVideoDecodeInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR,
356#endif /*VK_ENABLE_BETA_EXTENSIONS*/
357 eDedicatedAllocationImageCreateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV,
358 eDedicatedAllocationBufferCreateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV,
359 eDedicatedAllocationMemoryAllocateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV,
360 ePhysicalDeviceTransformFeedbackFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT,
361 ePhysicalDeviceTransformFeedbackPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT,
362 ePipelineRasterizationStateStreamCreateInfoEXT =
363 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT,
364 eCuModuleCreateInfoNVX = VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX,
365 eCuFunctionCreateInfoNVX = VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX,
366 eCuLaunchInfoNVX = VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX,
367 eImageViewHandleInfoNVX = VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX,
368 eImageViewAddressPropertiesNVX = VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX,
369#if defined( VK_ENABLE_BETA_EXTENSIONS )
370 eVideoEncodeH264CapabilitiesEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT,
371 eVideoEncodeH264SessionCreateInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT,
372 eVideoEncodeH264SessionParametersCreateInfoEXT =
373 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT,
374 eVideoEncodeH264SessionParametersAddInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT,
375 eVideoEncodeH264VclFrameInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT,
376 eVideoEncodeH264DpbSlotInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT,
377 eVideoEncodeH264NaluSliceEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT,
378 eVideoEncodeH264EmitPictureParametersEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT,
379 eVideoEncodeH264ProfileEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT,
380 eVideoDecodeH264CapabilitiesEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT,
381 eVideoDecodeH264SessionCreateInfoEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT,
382 eVideoDecodeH264PictureInfoEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT,
383 eVideoDecodeH264MvcEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT,
384 eVideoDecodeH264ProfileEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT,
385 eVideoDecodeH264SessionParametersCreateInfoEXT =
386 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT,
387 eVideoDecodeH264SessionParametersAddInfoEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT,
388 eVideoDecodeH264DpbSlotInfoEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT,
389#endif /*VK_ENABLE_BETA_EXTENSIONS*/
390 eTextureLodGatherFormatPropertiesAMD = VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD,
391#if defined( VK_USE_PLATFORM_GGP )
392 eStreamDescriptorSurfaceCreateInfoGGP = VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP,
393#endif /*VK_USE_PLATFORM_GGP*/
394 ePhysicalDeviceCornerSampledImageFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV,
395 eExternalMemoryImageCreateInfoNV = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV,
396 eExportMemoryAllocateInfoNV = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV,
397#if defined( VK_USE_PLATFORM_WIN32_KHR )
398 eImportMemoryWin32HandleInfoNV = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV,
399 eExportMemoryWin32HandleInfoNV = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV,
400 eWin32KeyedMutexAcquireReleaseInfoNV = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV,
401#endif /*VK_USE_PLATFORM_WIN32_KHR*/
402 eValidationFlagsEXT = VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT,
403#if defined( VK_USE_PLATFORM_VI_NN )
404 eViSurfaceCreateInfoNN = VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN,
405#endif /*VK_USE_PLATFORM_VI_NN*/
406 ePhysicalDeviceTextureCompressionAstcHdrFeaturesEXT =
407 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT,
408 eImageViewAstcDecodeModeEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT,
409 ePhysicalDeviceAstcDecodeFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT,
410#if defined( VK_USE_PLATFORM_WIN32_KHR )
411 eImportMemoryWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
412 eExportMemoryWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
413 eMemoryWin32HandlePropertiesKHR = VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR,
414 eMemoryGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR,
415#endif /*VK_USE_PLATFORM_WIN32_KHR*/
416 eImportMemoryFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR,
417 eMemoryFdPropertiesKHR = VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR,
418 eMemoryGetFdInfoKHR = VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR,
419#if defined( VK_USE_PLATFORM_WIN32_KHR )
420 eWin32KeyedMutexAcquireReleaseInfoKHR = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR,
421 eImportSemaphoreWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
422 eExportSemaphoreWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
423 eD3D12FenceSubmitInfoKHR = VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR,
424 eSemaphoreGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR,
425#endif /*VK_USE_PLATFORM_WIN32_KHR*/
426 eImportSemaphoreFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR,
427 eSemaphoreGetFdInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR,
428 ePhysicalDevicePushDescriptorPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR,
429 eCommandBufferInheritanceConditionalRenderingInfoEXT =
430 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT,
431 ePhysicalDeviceConditionalRenderingFeaturesEXT =
432 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT,
433 eConditionalRenderingBeginInfoEXT = VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT,
434 ePresentRegionsKHR = VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR,
435 ePipelineViewportWScalingStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV,
436 eSurfaceCapabilities2EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
437 eDisplayPowerInfoEXT = VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT,
438 eDeviceEventInfoEXT = VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT,
439 eDisplayEventInfoEXT = VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT,
440 eSwapchainCounterCreateInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT,
441 ePresentTimesInfoGOOGLE = VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE,
442 ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX =
443 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX,
444 ePipelineViewportSwizzleStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV,
445 ePhysicalDeviceDiscardRectanglePropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT,
446 ePipelineDiscardRectangleStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT,
447 ePhysicalDeviceConservativeRasterizationPropertiesEXT =
448 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT,
449 ePipelineRasterizationConservativeStateCreateInfoEXT =
450 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT,
451 ePhysicalDeviceDepthClipEnableFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT,
452 ePipelineRasterizationDepthClipStateCreateInfoEXT =
453 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT,
454 eHdrMetadataEXT = VK_STRUCTURE_TYPE_HDR_METADATA_EXT,
455 eSharedPresentSurfaceCapabilitiesKHR = VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR,
456#if defined( VK_USE_PLATFORM_WIN32_KHR )
457 eImportFenceWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR,
458 eExportFenceWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR,
459 eFenceGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR,
460#endif /*VK_USE_PLATFORM_WIN32_KHR*/
461 eImportFenceFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR,
462 eFenceGetFdInfoKHR = VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR,
463 ePhysicalDevicePerformanceQueryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR,
464 ePhysicalDevicePerformanceQueryPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR,
465 eQueryPoolPerformanceCreateInfoKHR = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR,
466 ePerformanceQuerySubmitInfoKHR = VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR,
467 eAcquireProfilingLockInfoKHR = VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR,
468 ePerformanceCounterKHR = VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR,
469 ePerformanceCounterDescriptionKHR = VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR,
470 ePhysicalDeviceSurfaceInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR,
471 eSurfaceCapabilities2KHR = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR,
472 eSurfaceFormat2KHR = VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR,
473 eDisplayProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR,
474 eDisplayPlaneProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR,
475 eDisplayModeProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR,
476 eDisplayPlaneInfo2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR,
477 eDisplayPlaneCapabilities2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR,
478#if defined( VK_USE_PLATFORM_IOS_MVK )
479 eIosSurfaceCreateInfoMVK = VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK,
480#endif /*VK_USE_PLATFORM_IOS_MVK*/
481#if defined( VK_USE_PLATFORM_MACOS_MVK )
482 eMacosSurfaceCreateInfoMVK = VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK,
483#endif /*VK_USE_PLATFORM_MACOS_MVK*/
484 eDebugUtilsObjectNameInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT,
485 eDebugUtilsObjectTagInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT,
486 eDebugUtilsLabelEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT,
487 eDebugUtilsMessengerCallbackDataEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT,
488 eDebugUtilsMessengerCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT,
489#if defined( VK_USE_PLATFORM_ANDROID_KHR )
490 eAndroidHardwareBufferUsageANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID,
491 eAndroidHardwareBufferPropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID,
492 eAndroidHardwareBufferFormatPropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID,
493 eImportAndroidHardwareBufferInfoANDROID = VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
494 eMemoryGetAndroidHardwareBufferInfoANDROID = VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
495 eExternalFormatANDROID = VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID,
496#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
497 ePhysicalDeviceInlineUniformBlockFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT,
498 ePhysicalDeviceInlineUniformBlockPropertiesEXT =
499 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT,
500 eWriteDescriptorSetInlineUniformBlockEXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT,
501 eDescriptorPoolInlineUniformBlockCreateInfoEXT =
502 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT,
503 eSampleLocationsInfoEXT = VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT,
504 eRenderPassSampleLocationsBeginInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT,
505 ePipelineSampleLocationsStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT,
506 ePhysicalDeviceSampleLocationsPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT,
507 eMultisamplePropertiesEXT = VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT,
508 ePhysicalDeviceBlendOperationAdvancedFeaturesEXT =
509 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT,
510 ePhysicalDeviceBlendOperationAdvancedPropertiesEXT =
511 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT,
512 ePipelineColorBlendAdvancedStateCreateInfoEXT =
513 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT,
514 ePipelineCoverageToColorStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV,
515 eWriteDescriptorSetAccelerationStructureKHR = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,
516 eAccelerationStructureBuildGeometryInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR,
517 eAccelerationStructureDeviceAddressInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR,
518 eAccelerationStructureGeometryAabbsDataKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR,
519 eAccelerationStructureGeometryInstancesDataKHR =
520 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR,
521 eAccelerationStructureGeometryTrianglesDataKHR =
522 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR,
523 eAccelerationStructureGeometryKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR,
524 eAccelerationStructureVersionInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR,
525 eCopyAccelerationStructureInfoKHR = VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR,
526 eCopyAccelerationStructureToMemoryInfoKHR = VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR,
527 eCopyMemoryToAccelerationStructureInfoKHR = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR,
528 ePhysicalDeviceAccelerationStructureFeaturesKHR =
529 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR,
530 ePhysicalDeviceAccelerationStructurePropertiesKHR =
531 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR,
532 eAccelerationStructureCreateInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR,
533 eAccelerationStructureBuildSizesInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR,
534 ePhysicalDeviceRayTracingPipelineFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR,
535 ePhysicalDeviceRayTracingPipelinePropertiesKHR =
536 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR,
537 eRayTracingPipelineCreateInfoKHR = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR,
538 eRayTracingShaderGroupCreateInfoKHR = VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR,
539 eRayTracingPipelineInterfaceCreateInfoKHR = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR,
540 ePhysicalDeviceRayQueryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR,
541 ePipelineCoverageModulationStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV,
542 ePhysicalDeviceShaderSmBuiltinsFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV,
543 ePhysicalDeviceShaderSmBuiltinsPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV,
544 eDrmFormatModifierPropertiesListEXT = VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT,
545 ePhysicalDeviceImageDrmFormatModifierInfoEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT,
546 eImageDrmFormatModifierListCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT,
547 eImageDrmFormatModifierExplicitCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT,
548 eImageDrmFormatModifierPropertiesEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
549 eValidationCacheCreateInfoEXT = VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT,
550 eShaderModuleValidationCacheCreateInfoEXT = VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT,
551#if defined( VK_ENABLE_BETA_EXTENSIONS )
552 ePhysicalDevicePortabilitySubsetFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR,
553 ePhysicalDevicePortabilitySubsetPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR,
554#endif /*VK_ENABLE_BETA_EXTENSIONS*/
555 ePipelineViewportShadingRateImageStateCreateInfoNV =
556 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV,
557 ePhysicalDeviceShadingRateImageFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV,
558 ePhysicalDeviceShadingRateImagePropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV,
559 ePipelineViewportCoarseSampleOrderStateCreateInfoNV =
560 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV,
561 eRayTracingPipelineCreateInfoNV = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV,
562 eAccelerationStructureCreateInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV,
563 eGeometryNV = VK_STRUCTURE_TYPE_GEOMETRY_NV,
564 eGeometryTrianglesNV = VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV,
565 eGeometryAabbNV = VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV,
566 eBindAccelerationStructureMemoryInfoNV = VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV,
567 eWriteDescriptorSetAccelerationStructureNV = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV,
568 eAccelerationStructureMemoryRequirementsInfoNV =
569 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV,
570 ePhysicalDeviceRayTracingPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV,
571 eRayTracingShaderGroupCreateInfoNV = VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV,
572 eAccelerationStructureInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV,
573 ePhysicalDeviceRepresentativeFragmentTestFeaturesNV =
574 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV,
575 ePipelineRepresentativeFragmentTestStateCreateInfoNV =
576 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV,
577 ePhysicalDeviceImageViewImageFormatInfoEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT,
578 eFilterCubicImageViewImageFormatPropertiesEXT =
579 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT,
580 eDeviceQueueGlobalPriorityCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT,
581 eImportMemoryHostPointerInfoEXT = VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT,
582 eMemoryHostPointerPropertiesEXT = VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT,
583 ePhysicalDeviceExternalMemoryHostPropertiesEXT =
584 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT,
585 ePhysicalDeviceShaderClockFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR,
586 ePipelineCompilerControlCreateInfoAMD = VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD,
587 eCalibratedTimestampInfoEXT = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT,
588 ePhysicalDeviceShaderCorePropertiesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD,
589#if defined( VK_ENABLE_BETA_EXTENSIONS )
590 eVideoDecodeH265CapabilitiesEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT,
591 eVideoDecodeH265SessionCreateInfoEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT,
592 eVideoDecodeH265SessionParametersCreateInfoEXT =
593 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT,
594 eVideoDecodeH265SessionParametersAddInfoEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT,
595 eVideoDecodeH265ProfileEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT,
596 eVideoDecodeH265PictureInfoEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT,
597 eVideoDecodeH265DpbSlotInfoEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT,
598#endif /*VK_ENABLE_BETA_EXTENSIONS*/
599 eDeviceMemoryOverallocationCreateInfoAMD = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD,
600 ePhysicalDeviceVertexAttributeDivisorPropertiesEXT =
601 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT,
602 ePipelineVertexInputDivisorStateCreateInfoEXT =
603 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT,
604 ePhysicalDeviceVertexAttributeDivisorFeaturesEXT =
605 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT,
606#if defined( VK_USE_PLATFORM_GGP )
607 ePresentFrameTokenGGP = VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP,
608#endif /*VK_USE_PLATFORM_GGP*/
609 ePipelineCreationFeedbackCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT,
610 ePhysicalDeviceComputeShaderDerivativesFeaturesNV =
611 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV,
612 ePhysicalDeviceMeshShaderFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV,
613 ePhysicalDeviceMeshShaderPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV,
614 ePhysicalDeviceFragmentShaderBarycentricFeaturesNV =
615 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV,
616 ePhysicalDeviceShaderImageFootprintFeaturesNV =
617 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV,
618 ePipelineViewportExclusiveScissorStateCreateInfoNV =
619 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV,
620 ePhysicalDeviceExclusiveScissorFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV,
621 eCheckpointDataNV = VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV,
622 eQueueFamilyCheckpointPropertiesNV = VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV,
623 ePhysicalDeviceShaderIntegerFunctions2FeaturesINTEL =
624 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL,
625 eQueryPoolPerformanceQueryCreateInfoINTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
626 eInitializePerformanceApiInfoINTEL = VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL,
627 ePerformanceMarkerInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL,
628 ePerformanceStreamMarkerInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL,
629 ePerformanceOverrideInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL,
630 ePerformanceConfigurationAcquireInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL,
631 ePhysicalDevicePciBusInfoPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT,
632 eDisplayNativeHdrSurfaceCapabilitiesAMD = VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD,
633 eSwapchainDisplayNativeHdrCreateInfoAMD = VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD,
634#if defined( VK_USE_PLATFORM_FUCHSIA )
635 eImagepipeSurfaceCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA,
636#endif /*VK_USE_PLATFORM_FUCHSIA*/
637 ePhysicalDeviceShaderTerminateInvocationFeaturesKHR =
638 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR,
639#if defined( VK_USE_PLATFORM_METAL_EXT )
640 eMetalSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT,
641#endif /*VK_USE_PLATFORM_METAL_EXT*/
642 ePhysicalDeviceFragmentDensityMapFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT,
643 ePhysicalDeviceFragmentDensityMapPropertiesEXT =
644 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT,
645 eRenderPassFragmentDensityMapCreateInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT,
646 ePhysicalDeviceSubgroupSizeControlPropertiesEXT =
647 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT,
648 ePipelineShaderStageRequiredSubgroupSizeCreateInfoEXT =
649 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT,
650 ePhysicalDeviceSubgroupSizeControlFeaturesEXT =
651 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT,
652 eFragmentShadingRateAttachmentInfoKHR = VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
653 ePipelineFragmentShadingRateStateCreateInfoKHR =
654 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR,
655 ePhysicalDeviceFragmentShadingRatePropertiesKHR =
656 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR,
657 ePhysicalDeviceFragmentShadingRateFeaturesKHR =
658 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR,
659 ePhysicalDeviceFragmentShadingRateKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR,
660 ePhysicalDeviceShaderCoreProperties2AMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD,
661 ePhysicalDeviceCoherentMemoryFeaturesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD,
662 ePhysicalDeviceShaderImageAtomicInt64FeaturesEXT =
663 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT,
664 ePhysicalDeviceMemoryBudgetPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT,
665 ePhysicalDeviceMemoryPriorityFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT,
666 eMemoryPriorityAllocateInfoEXT = VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT,
667 eSurfaceProtectedCapabilitiesKHR = VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR,
668 ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV =
669 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV,
670 ePhysicalDeviceBufferDeviceAddressFeaturesEXT =
671 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
672 eBufferDeviceAddressCreateInfoEXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT,
673 ePhysicalDeviceToolPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT,
674 eValidationFeaturesEXT = VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT,
675 ePhysicalDevicePresentWaitFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR,
676 ePhysicalDeviceCooperativeMatrixFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV,
677 eCooperativeMatrixPropertiesNV = VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV,
678 ePhysicalDeviceCooperativeMatrixPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV,
679 ePhysicalDeviceCoverageReductionModeFeaturesNV =
680 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV,
681 ePipelineCoverageReductionStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV,
682 eFramebufferMixedSamplesCombinationNV = VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV,
683 ePhysicalDeviceFragmentShaderInterlockFeaturesEXT =
684 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT,
685 ePhysicalDeviceYcbcrImageArraysFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT,
686 ePhysicalDeviceProvokingVertexFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT,
687 ePipelineRasterizationProvokingVertexStateCreateInfoEXT =
688 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT,
689 ePhysicalDeviceProvokingVertexPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT,
690#if defined( VK_USE_PLATFORM_WIN32_KHR )
691 eSurfaceFullScreenExclusiveInfoEXT = VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT,
692 eSurfaceCapabilitiesFullScreenExclusiveEXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT,
693 eSurfaceFullScreenExclusiveWin32InfoEXT = VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT,
694#endif /*VK_USE_PLATFORM_WIN32_KHR*/
695 eHeadlessSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT,
696 ePhysicalDeviceLineRasterizationFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT,
697 ePipelineRasterizationLineStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT,
698 ePhysicalDeviceLineRasterizationPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT,
699 ePhysicalDeviceShaderAtomicFloatFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT,
700 ePhysicalDeviceIndexTypeUint8FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT,
701 ePhysicalDeviceExtendedDynamicStateFeaturesEXT =
702 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT,
703 ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR =
704 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR,
705 ePipelineInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR,
706 ePipelineExecutablePropertiesKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR,
707 ePipelineExecutableInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR,
708 ePipelineExecutableStatisticKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR,
709 ePipelineExecutableInternalRepresentationKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR,
710 ePhysicalDeviceShaderAtomicFloat2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT,
711 ePhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT =
712 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT,
713 ePhysicalDeviceDeviceGeneratedCommandsPropertiesNV =
714 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV,
715 eGraphicsShaderGroupCreateInfoNV = VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV,
716 eGraphicsPipelineShaderGroupsCreateInfoNV = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV,
717 eIndirectCommandsLayoutTokenNV = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV,
718 eIndirectCommandsLayoutCreateInfoNV = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV,
719 eGeneratedCommandsInfoNV = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV,
720 eGeneratedCommandsMemoryRequirementsInfoNV = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV,
721 ePhysicalDeviceDeviceGeneratedCommandsFeaturesNV =
722 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV,
723 ePhysicalDeviceInheritedViewportScissorFeaturesNV =
724 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV,
725 eCommandBufferInheritanceViewportScissorInfoNV =
726 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV,
727 ePhysicalDeviceTexelBufferAlignmentFeaturesEXT =
728 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT,
729 ePhysicalDeviceTexelBufferAlignmentPropertiesEXT =
730 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT,
731 eCommandBufferInheritanceRenderPassTransformInfoQCOM =
732 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM,
733 eRenderPassTransformBeginInfoQCOM = VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM,
734 ePhysicalDeviceDeviceMemoryReportFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT,
735 eDeviceDeviceMemoryReportCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT,
736 eDeviceMemoryReportCallbackDataEXT = VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT,
737 ePhysicalDeviceRobustness2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT,
738 ePhysicalDeviceRobustness2PropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT,
739 eSamplerCustomBorderColorCreateInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT,
740 ePhysicalDeviceCustomBorderColorPropertiesEXT =
741 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT,
742 ePhysicalDeviceCustomBorderColorFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT,
743 ePipelineLibraryCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR,
744 ePresentIdKHR = VK_STRUCTURE_TYPE_PRESENT_ID_KHR,
745 ePhysicalDevicePresentIdFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR,
746 ePhysicalDevicePrivateDataFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT,
747 eDevicePrivateDataCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT,
748 ePrivateDataSlotCreateInfoEXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT,
749 ePhysicalDevicePipelineCreationCacheControlFeaturesEXT =
750 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT,
751#if defined( VK_ENABLE_BETA_EXTENSIONS )
752 eVideoEncodeInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR,
753 eVideoEncodeRateControlInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR,
754#endif /*VK_ENABLE_BETA_EXTENSIONS*/
755 ePhysicalDeviceDiagnosticsConfigFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV,
756 eDeviceDiagnosticsConfigCreateInfoNV = VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV,
757 eMemoryBarrier2KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR,
758 eBufferMemoryBarrier2KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR,
759 eImageMemoryBarrier2KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR,
760 eDependencyInfoKHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR,
761 eSubmitInfo2KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR,
762 eSemaphoreSubmitInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR,
763 eCommandBufferSubmitInfoKHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR,
764 ePhysicalDeviceSynchronization2FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR,
765 eQueueFamilyCheckpointProperties2NV = VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV,
766 eCheckpointData2NV = VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV,
767 ePhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR =
768 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR,
769 ePhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR =
770 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR,
771 ePhysicalDeviceFragmentShadingRateEnumsPropertiesNV =
772 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV,
773 ePhysicalDeviceFragmentShadingRateEnumsFeaturesNV =
774 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV,
775 ePipelineFragmentShadingRateEnumStateCreateInfoNV =
776 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV,
777 eAccelerationStructureGeometryMotionTrianglesDataNV =
778 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV,
779 ePhysicalDeviceRayTracingMotionBlurFeaturesNV =
780 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV,
781 eAccelerationStructureMotionInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV,
782 ePhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT =
783 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT,
784 ePhysicalDeviceFragmentDensityMap2FeaturesEXT =
785 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT,
786 ePhysicalDeviceFragmentDensityMap2PropertiesEXT =
787 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT,
788 eCopyCommandTransformInfoQCOM = VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM,
789 ePhysicalDeviceImageRobustnessFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT,
790 ePhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR =
791 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR,
792 eCopyBufferInfo2KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR,
793 eCopyImageInfo2KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR,
794 eCopyBufferToImageInfo2KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR,
795 eCopyImageToBufferInfo2KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR,
796 eBlitImageInfo2KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR,
797 eResolveImageInfo2KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR,
798 eBufferCopy2KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR,
799 eImageCopy2KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR,
800 eImageBlit2KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR,
801 eBufferImageCopy2KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR,
802 eImageResolve2KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR,
803 ePhysicalDevice4444FormatsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT,
804#if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
805 eDirectfbSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT,
806#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
807 ePhysicalDeviceMutableDescriptorTypeFeaturesVALVE =
808 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE,
809 eMutableDescriptorTypeCreateInfoVALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE,
810 ePhysicalDeviceVertexInputDynamicStateFeaturesEXT =
811 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT,
812 eVertexInputBindingDescription2EXT = VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT,
813 eVertexInputAttributeDescription2EXT = VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT,
814 ePhysicalDeviceDrmPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT,
815#if defined( VK_USE_PLATFORM_FUCHSIA )
816 eImportMemoryZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA,
817 eMemoryZirconHandlePropertiesFUCHSIA = VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA,
818 eMemoryGetZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
819 eImportSemaphoreZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA,
820 eSemaphoreGetZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
821#endif /*VK_USE_PLATFORM_FUCHSIA*/
822 eSubpassShadingPipelineCreateInfoHUAWEI = VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI,
823 ePhysicalDeviceSubpassShadingFeaturesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI,
824 ePhysicalDeviceSubpassShadingPropertiesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI,
825 ePhysicalDeviceInvocationMaskFeaturesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI,
826 eMemoryGetRemoteAddressInfoNV = VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV,
827 ePhysicalDeviceExternalMemoryRdmaFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV,
828 ePhysicalDeviceExtendedDynamicState2FeaturesEXT =
829 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT,
830#if defined( VK_USE_PLATFORM_SCREEN_QNX )
831 eScreenSurfaceCreateInfoQNX = VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX,
832#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
833 ePhysicalDeviceColorWriteEnableFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT,
834 ePipelineColorWriteCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT,
835 ePhysicalDeviceGlobalPriorityQueryFeaturesEXT =
836 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT,
837 eQueueFamilyGlobalPriorityPropertiesEXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT,
838 ePhysicalDeviceMultiDrawFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT,
839 ePhysicalDeviceMultiDrawPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT,
840 eAttachmentDescription2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR,
841 eAttachmentDescriptionStencilLayoutKHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR,
842 eAttachmentReference2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR,
843 eAttachmentReferenceStencilLayoutKHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR,
844 eBindBufferMemoryDeviceGroupInfoKHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR,
845 eBindBufferMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR,
846 eBindImageMemoryDeviceGroupInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR,
847 eBindImageMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR,
848 eBindImagePlaneMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR,
849 eBufferDeviceAddressInfoEXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT,
850 eBufferDeviceAddressInfoKHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR,
851 eBufferMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR,
852 eBufferOpaqueCaptureAddressCreateInfoKHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR,
853 eDebugReportCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT,
854 eDescriptorSetLayoutBindingFlagsCreateInfoEXT =
855 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT,
856 eDescriptorSetLayoutSupportKHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR,
857 eDescriptorSetVariableDescriptorCountAllocateInfoEXT =
858 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT,
859 eDescriptorSetVariableDescriptorCountLayoutSupportEXT =
860 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT,
861 eDescriptorUpdateTemplateCreateInfoKHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR,
862 eDeviceGroupBindSparseInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR,
863 eDeviceGroupCommandBufferBeginInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR,
864 eDeviceGroupDeviceCreateInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR,
865 eDeviceGroupRenderPassBeginInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR,
866 eDeviceGroupSubmitInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR,
867 eDeviceMemoryOpaqueCaptureAddressInfoKHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR,
868 eExportFenceCreateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR,
869 eExportMemoryAllocateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR,
870 eExportSemaphoreCreateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR,
871 eExternalBufferPropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR,
872 eExternalFencePropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR,
873 eExternalImageFormatPropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR,
874 eExternalMemoryBufferCreateInfoKHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR,
875 eExternalMemoryImageCreateInfoKHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR,
876 eExternalSemaphorePropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR,
877 eFormatProperties2KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR,
878 eFramebufferAttachmentsCreateInfoKHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR,
879 eFramebufferAttachmentImageInfoKHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR,
880 eImageFormatListCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR,
881 eImageFormatProperties2KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR,
882 eImageMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR,
883 eImagePlaneMemoryRequirementsInfoKHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR,
884 eImageSparseMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR,
885 eImageStencilUsageCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT,
886 eImageViewUsageCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR,
887 eMemoryAllocateFlagsInfoKHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR,
888 eMemoryDedicatedAllocateInfoKHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR,
889 eMemoryDedicatedRequirementsKHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR,
890 eMemoryOpaqueCaptureAddressAllocateInfoKHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR,
891 eMemoryRequirements2KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR,
892 ePhysicalDevice16BitStorageFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR,
893 ePhysicalDevice8BitStorageFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR,
894 ePhysicalDeviceBufferAddressFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT,
895 ePhysicalDeviceBufferDeviceAddressFeaturesKHR =
896 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR,
897 ePhysicalDeviceDepthStencilResolvePropertiesKHR =
898 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR,
899 ePhysicalDeviceDescriptorIndexingFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT,
900 ePhysicalDeviceDescriptorIndexingPropertiesEXT =
901 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT,
902 ePhysicalDeviceDriverPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR,
903 ePhysicalDeviceExternalBufferInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR,
904 ePhysicalDeviceExternalFenceInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR,
905 ePhysicalDeviceExternalImageFormatInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR,
906 ePhysicalDeviceExternalSemaphoreInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR,
907 ePhysicalDeviceFeatures2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR,
908 ePhysicalDeviceFloat16Int8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR,
909 ePhysicalDeviceFloatControlsPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR,
910 ePhysicalDeviceGroupPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR,
911 ePhysicalDeviceHostQueryResetFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT,
912 ePhysicalDeviceIdPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR,
913 ePhysicalDeviceImagelessFramebufferFeaturesKHR =
914 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR,
915 ePhysicalDeviceImageFormatInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR,
916 ePhysicalDeviceMaintenance3PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR,
917 ePhysicalDeviceMemoryProperties2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR,
918 ePhysicalDeviceMultiviewFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR,
919 ePhysicalDeviceMultiviewPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR,
920 ePhysicalDevicePointClippingPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR,
921 ePhysicalDeviceProperties2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR,
922 ePhysicalDeviceSamplerFilterMinmaxPropertiesEXT =
923 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT,
924 ePhysicalDeviceSamplerYcbcrConversionFeaturesKHR =
925 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR,
926 ePhysicalDeviceScalarBlockLayoutFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT,
927 ePhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR =
928 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR,
929 ePhysicalDeviceShaderAtomicInt64FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR,
930 ePhysicalDeviceShaderDrawParameterFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES,
931 ePhysicalDeviceShaderFloat16Int8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR,
932 ePhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR =
933 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR,
934 ePhysicalDeviceSparseImageFormatInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR,
935 ePhysicalDeviceTimelineSemaphoreFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR,
936 ePhysicalDeviceTimelineSemaphorePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR,
937 ePhysicalDeviceUniformBufferStandardLayoutFeaturesKHR =
938 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR,
939 ePhysicalDeviceVariablePointersFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
940 ePhysicalDeviceVariablePointerFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,
941 ePhysicalDeviceVariablePointerFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR,
942 ePhysicalDeviceVulkanMemoryModelFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR,
943 ePipelineTessellationDomainOriginStateCreateInfoKHR =
944 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR,
945 eQueryPoolCreateInfoINTEL = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL,
946 eQueueFamilyProperties2KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR,
947 eRenderPassAttachmentBeginInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR,
948 eRenderPassCreateInfo2KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR,
949 eRenderPassInputAttachmentAspectCreateInfoKHR =
950 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR,
951 eRenderPassMultiviewCreateInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR,
952 eSamplerReductionModeCreateInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT,
953 eSamplerYcbcrConversionCreateInfoKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR,
954 eSamplerYcbcrConversionImageFormatPropertiesKHR =
955 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR,
956 eSamplerYcbcrConversionInfoKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR,
957 eSemaphoreSignalInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR,
958 eSemaphoreTypeCreateInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR,
959 eSemaphoreWaitInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR,
960 eSparseImageFormatProperties2KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR,
961 eSparseImageMemoryRequirements2KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR,
962 eSubpassBeginInfoKHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR,
963 eSubpassDependency2KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR,
964 eSubpassDescription2KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR,
965 eSubpassDescriptionDepthStencilResolveKHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR,
966 eSubpassEndInfoKHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR,
967 eTimelineSemaphoreSubmitInfoKHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR
968 };
969
970 VULKAN_HPP_INLINE std::string to_string( StructureType value )
971 {
972 switch ( value )
973 {
974 case StructureType::eApplicationInfo: return "ApplicationInfo";
975 case StructureType::eInstanceCreateInfo: return "InstanceCreateInfo";
976 case StructureType::eDeviceQueueCreateInfo: return "DeviceQueueCreateInfo";
977 case StructureType::eDeviceCreateInfo: return "DeviceCreateInfo";
978 case StructureType::eSubmitInfo: return "SubmitInfo";
979 case StructureType::eMemoryAllocateInfo: return "MemoryAllocateInfo";
980 case StructureType::eMappedMemoryRange: return "MappedMemoryRange";
981 case StructureType::eBindSparseInfo: return "BindSparseInfo";
982 case StructureType::eFenceCreateInfo: return "FenceCreateInfo";
983 case StructureType::eSemaphoreCreateInfo: return "SemaphoreCreateInfo";
984 case StructureType::eEventCreateInfo: return "EventCreateInfo";
985 case StructureType::eQueryPoolCreateInfo: return "QueryPoolCreateInfo";
986 case StructureType::eBufferCreateInfo: return "BufferCreateInfo";
987 case StructureType::eBufferViewCreateInfo: return "BufferViewCreateInfo";
988 case StructureType::eImageCreateInfo: return "ImageCreateInfo";
989 case StructureType::eImageViewCreateInfo: return "ImageViewCreateInfo";
990 case StructureType::eShaderModuleCreateInfo: return "ShaderModuleCreateInfo";
991 case StructureType::ePipelineCacheCreateInfo: return "PipelineCacheCreateInfo";
992 case StructureType::ePipelineShaderStageCreateInfo: return "PipelineShaderStageCreateInfo";
993 case StructureType::ePipelineVertexInputStateCreateInfo: return "PipelineVertexInputStateCreateInfo";
994 case StructureType::ePipelineInputAssemblyStateCreateInfo: return "PipelineInputAssemblyStateCreateInfo";
995 case StructureType::ePipelineTessellationStateCreateInfo: return "PipelineTessellationStateCreateInfo";
996 case StructureType::ePipelineViewportStateCreateInfo: return "PipelineViewportStateCreateInfo";
997 case StructureType::ePipelineRasterizationStateCreateInfo: return "PipelineRasterizationStateCreateInfo";
998 case StructureType::ePipelineMultisampleStateCreateInfo: return "PipelineMultisampleStateCreateInfo";
999 case StructureType::ePipelineDepthStencilStateCreateInfo: return "PipelineDepthStencilStateCreateInfo";
1000 case StructureType::ePipelineColorBlendStateCreateInfo: return "PipelineColorBlendStateCreateInfo";
1001 case StructureType::ePipelineDynamicStateCreateInfo: return "PipelineDynamicStateCreateInfo";
1002 case StructureType::eGraphicsPipelineCreateInfo: return "GraphicsPipelineCreateInfo";
1003 case StructureType::eComputePipelineCreateInfo: return "ComputePipelineCreateInfo";
1004 case StructureType::ePipelineLayoutCreateInfo: return "PipelineLayoutCreateInfo";
1005 case StructureType::eSamplerCreateInfo: return "SamplerCreateInfo";
1006 case StructureType::eDescriptorSetLayoutCreateInfo: return "DescriptorSetLayoutCreateInfo";
1007 case StructureType::eDescriptorPoolCreateInfo: return "DescriptorPoolCreateInfo";
1008 case StructureType::eDescriptorSetAllocateInfo: return "DescriptorSetAllocateInfo";
1009 case StructureType::eWriteDescriptorSet: return "WriteDescriptorSet";
1010 case StructureType::eCopyDescriptorSet: return "CopyDescriptorSet";
1011 case StructureType::eFramebufferCreateInfo: return "FramebufferCreateInfo";
1012 case StructureType::eRenderPassCreateInfo: return "RenderPassCreateInfo";
1013 case StructureType::eCommandPoolCreateInfo: return "CommandPoolCreateInfo";
1014 case StructureType::eCommandBufferAllocateInfo: return "CommandBufferAllocateInfo";
1015 case StructureType::eCommandBufferInheritanceInfo: return "CommandBufferInheritanceInfo";
1016 case StructureType::eCommandBufferBeginInfo: return "CommandBufferBeginInfo";
1017 case StructureType::eRenderPassBeginInfo: return "RenderPassBeginInfo";
1018 case StructureType::eBufferMemoryBarrier: return "BufferMemoryBarrier";
1019 case StructureType::eImageMemoryBarrier: return "ImageMemoryBarrier";
1020 case StructureType::eMemoryBarrier: return "MemoryBarrier";
1021 case StructureType::eLoaderInstanceCreateInfo: return "LoaderInstanceCreateInfo";
1022 case StructureType::eLoaderDeviceCreateInfo: return "LoaderDeviceCreateInfo";
1023 case StructureType::ePhysicalDeviceSubgroupProperties: return "PhysicalDeviceSubgroupProperties";
1024 case StructureType::eBindBufferMemoryInfo: return "BindBufferMemoryInfo";
1025 case StructureType::eBindImageMemoryInfo: return "BindImageMemoryInfo";
1026 case StructureType::ePhysicalDevice16BitStorageFeatures: return "PhysicalDevice16BitStorageFeatures";
1027 case StructureType::eMemoryDedicatedRequirements: return "MemoryDedicatedRequirements";
1028 case StructureType::eMemoryDedicatedAllocateInfo: return "MemoryDedicatedAllocateInfo";
1029 case StructureType::eMemoryAllocateFlagsInfo: return "MemoryAllocateFlagsInfo";
1030 case StructureType::eDeviceGroupRenderPassBeginInfo: return "DeviceGroupRenderPassBeginInfo";
1031 case StructureType::eDeviceGroupCommandBufferBeginInfo: return "DeviceGroupCommandBufferBeginInfo";
1032 case StructureType::eDeviceGroupSubmitInfo: return "DeviceGroupSubmitInfo";
1033 case StructureType::eDeviceGroupBindSparseInfo: return "DeviceGroupBindSparseInfo";
1034 case StructureType::eBindBufferMemoryDeviceGroupInfo: return "BindBufferMemoryDeviceGroupInfo";
1035 case StructureType::eBindImageMemoryDeviceGroupInfo: return "BindImageMemoryDeviceGroupInfo";
1036 case StructureType::ePhysicalDeviceGroupProperties: return "PhysicalDeviceGroupProperties";
1037 case StructureType::eDeviceGroupDeviceCreateInfo: return "DeviceGroupDeviceCreateInfo";
1038 case StructureType::eBufferMemoryRequirementsInfo2: return "BufferMemoryRequirementsInfo2";
1039 case StructureType::eImageMemoryRequirementsInfo2: return "ImageMemoryRequirementsInfo2";
1040 case StructureType::eImageSparseMemoryRequirementsInfo2: return "ImageSparseMemoryRequirementsInfo2";
1041 case StructureType::eMemoryRequirements2: return "MemoryRequirements2";
1042 case StructureType::eSparseImageMemoryRequirements2: return "SparseImageMemoryRequirements2";
1043 case StructureType::ePhysicalDeviceFeatures2: return "PhysicalDeviceFeatures2";
1044 case StructureType::ePhysicalDeviceProperties2: return "PhysicalDeviceProperties2";
1045 case StructureType::eFormatProperties2: return "FormatProperties2";
1046 case StructureType::eImageFormatProperties2: return "ImageFormatProperties2";
1047 case StructureType::ePhysicalDeviceImageFormatInfo2: return "PhysicalDeviceImageFormatInfo2";
1048 case StructureType::eQueueFamilyProperties2: return "QueueFamilyProperties2";
1049 case StructureType::ePhysicalDeviceMemoryProperties2: return "PhysicalDeviceMemoryProperties2";
1050 case StructureType::eSparseImageFormatProperties2: return "SparseImageFormatProperties2";
1051 case StructureType::ePhysicalDeviceSparseImageFormatInfo2: return "PhysicalDeviceSparseImageFormatInfo2";
1052 case StructureType::ePhysicalDevicePointClippingProperties: return "PhysicalDevicePointClippingProperties";
1053 case StructureType::eRenderPassInputAttachmentAspectCreateInfo:
1054 return "RenderPassInputAttachmentAspectCreateInfo";
1055 case StructureType::eImageViewUsageCreateInfo: return "ImageViewUsageCreateInfo";
1056 case StructureType::ePipelineTessellationDomainOriginStateCreateInfo:
1057 return "PipelineTessellationDomainOriginStateCreateInfo";
1058 case StructureType::eRenderPassMultiviewCreateInfo: return "RenderPassMultiviewCreateInfo";
1059 case StructureType::ePhysicalDeviceMultiviewFeatures: return "PhysicalDeviceMultiviewFeatures";
1060 case StructureType::ePhysicalDeviceMultiviewProperties: return "PhysicalDeviceMultiviewProperties";
1061 case StructureType::ePhysicalDeviceVariablePointersFeatures: return "PhysicalDeviceVariablePointersFeatures";
1062 case StructureType::eProtectedSubmitInfo: return "ProtectedSubmitInfo";
1063 case StructureType::ePhysicalDeviceProtectedMemoryFeatures: return "PhysicalDeviceProtectedMemoryFeatures";
1064 case StructureType::ePhysicalDeviceProtectedMemoryProperties: return "PhysicalDeviceProtectedMemoryProperties";
1065 case StructureType::eDeviceQueueInfo2: return "DeviceQueueInfo2";
1066 case StructureType::eSamplerYcbcrConversionCreateInfo: return "SamplerYcbcrConversionCreateInfo";
1067 case StructureType::eSamplerYcbcrConversionInfo: return "SamplerYcbcrConversionInfo";
1068 case StructureType::eBindImagePlaneMemoryInfo: return "BindImagePlaneMemoryInfo";
1069 case StructureType::eImagePlaneMemoryRequirementsInfo: return "ImagePlaneMemoryRequirementsInfo";
1070 case StructureType::ePhysicalDeviceSamplerYcbcrConversionFeatures:
1071 return "PhysicalDeviceSamplerYcbcrConversionFeatures";
1072 case StructureType::eSamplerYcbcrConversionImageFormatProperties:
1073 return "SamplerYcbcrConversionImageFormatProperties";
1074 case StructureType::eDescriptorUpdateTemplateCreateInfo: return "DescriptorUpdateTemplateCreateInfo";
1075 case StructureType::ePhysicalDeviceExternalImageFormatInfo: return "PhysicalDeviceExternalImageFormatInfo";
1076 case StructureType::eExternalImageFormatProperties: return "ExternalImageFormatProperties";
1077 case StructureType::ePhysicalDeviceExternalBufferInfo: return "PhysicalDeviceExternalBufferInfo";
1078 case StructureType::eExternalBufferProperties: return "ExternalBufferProperties";
1079 case StructureType::ePhysicalDeviceIdProperties: return "PhysicalDeviceIdProperties";
1080 case StructureType::eExternalMemoryBufferCreateInfo: return "ExternalMemoryBufferCreateInfo";
1081 case StructureType::eExternalMemoryImageCreateInfo: return "ExternalMemoryImageCreateInfo";
1082 case StructureType::eExportMemoryAllocateInfo: return "ExportMemoryAllocateInfo";
1083 case StructureType::ePhysicalDeviceExternalFenceInfo: return "PhysicalDeviceExternalFenceInfo";
1084 case StructureType::eExternalFenceProperties: return "ExternalFenceProperties";
1085 case StructureType::eExportFenceCreateInfo: return "ExportFenceCreateInfo";
1086 case StructureType::eExportSemaphoreCreateInfo: return "ExportSemaphoreCreateInfo";
1087 case StructureType::ePhysicalDeviceExternalSemaphoreInfo: return "PhysicalDeviceExternalSemaphoreInfo";
1088 case StructureType::eExternalSemaphoreProperties: return "ExternalSemaphoreProperties";
1089 case StructureType::ePhysicalDeviceMaintenance3Properties: return "PhysicalDeviceMaintenance3Properties";
1090 case StructureType::eDescriptorSetLayoutSupport: return "DescriptorSetLayoutSupport";
1091 case StructureType::ePhysicalDeviceShaderDrawParametersFeatures:
1092 return "PhysicalDeviceShaderDrawParametersFeatures";
1093 case StructureType::ePhysicalDeviceVulkan11Features: return "PhysicalDeviceVulkan11Features";
1094 case StructureType::ePhysicalDeviceVulkan11Properties: return "PhysicalDeviceVulkan11Properties";
1095 case StructureType::ePhysicalDeviceVulkan12Features: return "PhysicalDeviceVulkan12Features";
1096 case StructureType::ePhysicalDeviceVulkan12Properties: return "PhysicalDeviceVulkan12Properties";
1097 case StructureType::eImageFormatListCreateInfo: return "ImageFormatListCreateInfo";
1098 case StructureType::eAttachmentDescription2: return "AttachmentDescription2";
1099 case StructureType::eAttachmentReference2: return "AttachmentReference2";
1100 case StructureType::eSubpassDescription2: return "SubpassDescription2";
1101 case StructureType::eSubpassDependency2: return "SubpassDependency2";
1102 case StructureType::eRenderPassCreateInfo2: return "RenderPassCreateInfo2";
1103 case StructureType::eSubpassBeginInfo: return "SubpassBeginInfo";
1104 case StructureType::eSubpassEndInfo: return "SubpassEndInfo";
1105 case StructureType::ePhysicalDevice8BitStorageFeatures: return "PhysicalDevice8BitStorageFeatures";
1106 case StructureType::ePhysicalDeviceDriverProperties: return "PhysicalDeviceDriverProperties";
1107 case StructureType::ePhysicalDeviceShaderAtomicInt64Features: return "PhysicalDeviceShaderAtomicInt64Features";
1108 case StructureType::ePhysicalDeviceShaderFloat16Int8Features: return "PhysicalDeviceShaderFloat16Int8Features";
1109 case StructureType::ePhysicalDeviceFloatControlsProperties: return "PhysicalDeviceFloatControlsProperties";
1110 case StructureType::eDescriptorSetLayoutBindingFlagsCreateInfo:
1111 return "DescriptorSetLayoutBindingFlagsCreateInfo";
1112 case StructureType::ePhysicalDeviceDescriptorIndexingFeatures: return "PhysicalDeviceDescriptorIndexingFeatures";
1113 case StructureType::ePhysicalDeviceDescriptorIndexingProperties:
1114 return "PhysicalDeviceDescriptorIndexingProperties";
1115 case StructureType::eDescriptorSetVariableDescriptorCountAllocateInfo:
1116 return "DescriptorSetVariableDescriptorCountAllocateInfo";
1117 case StructureType::eDescriptorSetVariableDescriptorCountLayoutSupport:
1118 return "DescriptorSetVariableDescriptorCountLayoutSupport";
1119 case StructureType::ePhysicalDeviceDepthStencilResolveProperties:
1120 return "PhysicalDeviceDepthStencilResolveProperties";
1121 case StructureType::eSubpassDescriptionDepthStencilResolve: return "SubpassDescriptionDepthStencilResolve";
1122 case StructureType::ePhysicalDeviceScalarBlockLayoutFeatures: return "PhysicalDeviceScalarBlockLayoutFeatures";
1123 case StructureType::eImageStencilUsageCreateInfo: return "ImageStencilUsageCreateInfo";
1124 case StructureType::ePhysicalDeviceSamplerFilterMinmaxProperties:
1125 return "PhysicalDeviceSamplerFilterMinmaxProperties";
1126 case StructureType::eSamplerReductionModeCreateInfo: return "SamplerReductionModeCreateInfo";
1127 case StructureType::ePhysicalDeviceVulkanMemoryModelFeatures: return "PhysicalDeviceVulkanMemoryModelFeatures";
1128 case StructureType::ePhysicalDeviceImagelessFramebufferFeatures:
1129 return "PhysicalDeviceImagelessFramebufferFeatures";
1130 case StructureType::eFramebufferAttachmentsCreateInfo: return "FramebufferAttachmentsCreateInfo";
1131 case StructureType::eFramebufferAttachmentImageInfo: return "FramebufferAttachmentImageInfo";
1132 case StructureType::eRenderPassAttachmentBeginInfo: return "RenderPassAttachmentBeginInfo";
1133 case StructureType::ePhysicalDeviceUniformBufferStandardLayoutFeatures:
1134 return "PhysicalDeviceUniformBufferStandardLayoutFeatures";
1135 case StructureType::ePhysicalDeviceShaderSubgroupExtendedTypesFeatures:
1136 return "PhysicalDeviceShaderSubgroupExtendedTypesFeatures";
1137 case StructureType::ePhysicalDeviceSeparateDepthStencilLayoutsFeatures:
1138 return "PhysicalDeviceSeparateDepthStencilLayoutsFeatures";
1139 case StructureType::eAttachmentReferenceStencilLayout: return "AttachmentReferenceStencilLayout";
1140 case StructureType::eAttachmentDescriptionStencilLayout: return "AttachmentDescriptionStencilLayout";
1141 case StructureType::ePhysicalDeviceHostQueryResetFeatures: return "PhysicalDeviceHostQueryResetFeatures";
1142 case StructureType::ePhysicalDeviceTimelineSemaphoreFeatures: return "PhysicalDeviceTimelineSemaphoreFeatures";
1143 case StructureType::ePhysicalDeviceTimelineSemaphoreProperties:
1144 return "PhysicalDeviceTimelineSemaphoreProperties";
1145 case StructureType::eSemaphoreTypeCreateInfo: return "SemaphoreTypeCreateInfo";
1146 case StructureType::eTimelineSemaphoreSubmitInfo: return "TimelineSemaphoreSubmitInfo";
1147 case StructureType::eSemaphoreWaitInfo: return "SemaphoreWaitInfo";
1148 case StructureType::eSemaphoreSignalInfo: return "SemaphoreSignalInfo";
1149 case StructureType::ePhysicalDeviceBufferDeviceAddressFeatures:
1150 return "PhysicalDeviceBufferDeviceAddressFeatures";
1151 case StructureType::eBufferDeviceAddressInfo: return "BufferDeviceAddressInfo";
1152 case StructureType::eBufferOpaqueCaptureAddressCreateInfo: return "BufferOpaqueCaptureAddressCreateInfo";
1153 case StructureType::eMemoryOpaqueCaptureAddressAllocateInfo: return "MemoryOpaqueCaptureAddressAllocateInfo";
1154 case StructureType::eDeviceMemoryOpaqueCaptureAddressInfo: return "DeviceMemoryOpaqueCaptureAddressInfo";
1155 case StructureType::eSwapchainCreateInfoKHR: return "SwapchainCreateInfoKHR";
1156 case StructureType::ePresentInfoKHR: return "PresentInfoKHR";
1157 case StructureType::eDeviceGroupPresentCapabilitiesKHR: return "DeviceGroupPresentCapabilitiesKHR";
1158 case StructureType::eImageSwapchainCreateInfoKHR: return "ImageSwapchainCreateInfoKHR";
1159 case StructureType::eBindImageMemorySwapchainInfoKHR: return "BindImageMemorySwapchainInfoKHR";
1160 case StructureType::eAcquireNextImageInfoKHR: return "AcquireNextImageInfoKHR";
1161 case StructureType::eDeviceGroupPresentInfoKHR: return "DeviceGroupPresentInfoKHR";
1162 case StructureType::eDeviceGroupSwapchainCreateInfoKHR: return "DeviceGroupSwapchainCreateInfoKHR";
1163 case StructureType::eDisplayModeCreateInfoKHR: return "DisplayModeCreateInfoKHR";
1164 case StructureType::eDisplaySurfaceCreateInfoKHR: return "DisplaySurfaceCreateInfoKHR";
1165 case StructureType::eDisplayPresentInfoKHR: return "DisplayPresentInfoKHR";
1166#if defined( VK_USE_PLATFORM_XLIB_KHR )
1167 case StructureType::eXlibSurfaceCreateInfoKHR: return "XlibSurfaceCreateInfoKHR";
1168#endif /*VK_USE_PLATFORM_XLIB_KHR*/
1169#if defined( VK_USE_PLATFORM_XCB_KHR )
1170 case StructureType::eXcbSurfaceCreateInfoKHR: return "XcbSurfaceCreateInfoKHR";
1171#endif /*VK_USE_PLATFORM_XCB_KHR*/
1172#if defined( VK_USE_PLATFORM_WAYLAND_KHR )
1173 case StructureType::eWaylandSurfaceCreateInfoKHR: return "WaylandSurfaceCreateInfoKHR";
1174#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
1175#if defined( VK_USE_PLATFORM_ANDROID_KHR )
1176 case StructureType::eAndroidSurfaceCreateInfoKHR: return "AndroidSurfaceCreateInfoKHR";
1177#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
1178#if defined( VK_USE_PLATFORM_WIN32_KHR )
1179 case StructureType::eWin32SurfaceCreateInfoKHR: return "Win32SurfaceCreateInfoKHR";
1180#endif /*VK_USE_PLATFORM_WIN32_KHR*/
1181 case StructureType::eDebugReportCallbackCreateInfoEXT: return "DebugReportCallbackCreateInfoEXT";
1182 case StructureType::ePipelineRasterizationStateRasterizationOrderAMD:
1183 return "PipelineRasterizationStateRasterizationOrderAMD";
1184 case StructureType::eDebugMarkerObjectNameInfoEXT: return "DebugMarkerObjectNameInfoEXT";
1185 case StructureType::eDebugMarkerObjectTagInfoEXT: return "DebugMarkerObjectTagInfoEXT";
1186 case StructureType::eDebugMarkerMarkerInfoEXT: return "DebugMarkerMarkerInfoEXT";
1187#if defined( VK_ENABLE_BETA_EXTENSIONS )
1188 case StructureType::eVideoProfileKHR: return "VideoProfileKHR";
1189 case StructureType::eVideoCapabilitiesKHR: return "VideoCapabilitiesKHR";
1190 case StructureType::eVideoPictureResourceKHR: return "VideoPictureResourceKHR";
1191 case StructureType::eVideoGetMemoryPropertiesKHR: return "VideoGetMemoryPropertiesKHR";
1192 case StructureType::eVideoBindMemoryKHR: return "VideoBindMemoryKHR";
1193 case StructureType::eVideoSessionCreateInfoKHR: return "VideoSessionCreateInfoKHR";
1194 case StructureType::eVideoSessionParametersCreateInfoKHR: return "VideoSessionParametersCreateInfoKHR";
1195 case StructureType::eVideoSessionParametersUpdateInfoKHR: return "VideoSessionParametersUpdateInfoKHR";
1196 case StructureType::eVideoBeginCodingInfoKHR: return "VideoBeginCodingInfoKHR";
1197 case StructureType::eVideoEndCodingInfoKHR: return "VideoEndCodingInfoKHR";
1198 case StructureType::eVideoCodingControlInfoKHR: return "VideoCodingControlInfoKHR";
1199 case StructureType::eVideoReferenceSlotKHR: return "VideoReferenceSlotKHR";
1200 case StructureType::eVideoQueueFamilyProperties2KHR: return "VideoQueueFamilyProperties2KHR";
1201 case StructureType::eVideoProfilesKHR: return "VideoProfilesKHR";
1202 case StructureType::ePhysicalDeviceVideoFormatInfoKHR: return "PhysicalDeviceVideoFormatInfoKHR";
1203 case StructureType::eVideoFormatPropertiesKHR: return "VideoFormatPropertiesKHR";
1204 case StructureType::eVideoDecodeInfoKHR: return "VideoDecodeInfoKHR";
1205#endif /*VK_ENABLE_BETA_EXTENSIONS*/
1206 case StructureType::eDedicatedAllocationImageCreateInfoNV: return "DedicatedAllocationImageCreateInfoNV";
1207 case StructureType::eDedicatedAllocationBufferCreateInfoNV: return "DedicatedAllocationBufferCreateInfoNV";
1208 case StructureType::eDedicatedAllocationMemoryAllocateInfoNV: return "DedicatedAllocationMemoryAllocateInfoNV";
1209 case StructureType::ePhysicalDeviceTransformFeedbackFeaturesEXT:
1210 return "PhysicalDeviceTransformFeedbackFeaturesEXT";
1211 case StructureType::ePhysicalDeviceTransformFeedbackPropertiesEXT:
1212 return "PhysicalDeviceTransformFeedbackPropertiesEXT";
1213 case StructureType::ePipelineRasterizationStateStreamCreateInfoEXT:
1214 return "PipelineRasterizationStateStreamCreateInfoEXT";
1215 case StructureType::eCuModuleCreateInfoNVX: return "CuModuleCreateInfoNVX";
1216 case StructureType::eCuFunctionCreateInfoNVX: return "CuFunctionCreateInfoNVX";
1217 case StructureType::eCuLaunchInfoNVX: return "CuLaunchInfoNVX";
1218 case StructureType::eImageViewHandleInfoNVX: return "ImageViewHandleInfoNVX";
1219 case StructureType::eImageViewAddressPropertiesNVX: return "ImageViewAddressPropertiesNVX";
1220#if defined( VK_ENABLE_BETA_EXTENSIONS )
1221 case StructureType::eVideoEncodeH264CapabilitiesEXT: return "VideoEncodeH264CapabilitiesEXT";
1222 case StructureType::eVideoEncodeH264SessionCreateInfoEXT: return "VideoEncodeH264SessionCreateInfoEXT";
1223 case StructureType::eVideoEncodeH264SessionParametersCreateInfoEXT:
1224 return "VideoEncodeH264SessionParametersCreateInfoEXT";
1225 case StructureType::eVideoEncodeH264SessionParametersAddInfoEXT:
1226 return "VideoEncodeH264SessionParametersAddInfoEXT";
1227 case StructureType::eVideoEncodeH264VclFrameInfoEXT: return "VideoEncodeH264VclFrameInfoEXT";
1228 case StructureType::eVideoEncodeH264DpbSlotInfoEXT: return "VideoEncodeH264DpbSlotInfoEXT";
1229 case StructureType::eVideoEncodeH264NaluSliceEXT: return "VideoEncodeH264NaluSliceEXT";
1230 case StructureType::eVideoEncodeH264EmitPictureParametersEXT: return "VideoEncodeH264EmitPictureParametersEXT";
1231 case StructureType::eVideoEncodeH264ProfileEXT: return "VideoEncodeH264ProfileEXT";
1232 case StructureType::eVideoDecodeH264CapabilitiesEXT: return "VideoDecodeH264CapabilitiesEXT";
1233 case StructureType::eVideoDecodeH264SessionCreateInfoEXT: return "VideoDecodeH264SessionCreateInfoEXT";
1234 case StructureType::eVideoDecodeH264PictureInfoEXT: return "VideoDecodeH264PictureInfoEXT";
1235 case StructureType::eVideoDecodeH264MvcEXT: return "VideoDecodeH264MvcEXT";
1236 case StructureType::eVideoDecodeH264ProfileEXT: return "VideoDecodeH264ProfileEXT";
1237 case StructureType::eVideoDecodeH264SessionParametersCreateInfoEXT:
1238 return "VideoDecodeH264SessionParametersCreateInfoEXT";
1239 case StructureType::eVideoDecodeH264SessionParametersAddInfoEXT:
1240 return "VideoDecodeH264SessionParametersAddInfoEXT";
1241 case StructureType::eVideoDecodeH264DpbSlotInfoEXT: return "VideoDecodeH264DpbSlotInfoEXT";
1242#endif /*VK_ENABLE_BETA_EXTENSIONS*/
1243 case StructureType::eTextureLodGatherFormatPropertiesAMD: return "TextureLodGatherFormatPropertiesAMD";
1244#if defined( VK_USE_PLATFORM_GGP )
1245 case StructureType::eStreamDescriptorSurfaceCreateInfoGGP: return "StreamDescriptorSurfaceCreateInfoGGP";
1246#endif /*VK_USE_PLATFORM_GGP*/
1247 case StructureType::ePhysicalDeviceCornerSampledImageFeaturesNV:
1248 return "PhysicalDeviceCornerSampledImageFeaturesNV";
1249 case StructureType::eExternalMemoryImageCreateInfoNV: return "ExternalMemoryImageCreateInfoNV";
1250 case StructureType::eExportMemoryAllocateInfoNV: return "ExportMemoryAllocateInfoNV";
1251#if defined( VK_USE_PLATFORM_WIN32_KHR )
1252 case StructureType::eImportMemoryWin32HandleInfoNV: return "ImportMemoryWin32HandleInfoNV";
1253 case StructureType::eExportMemoryWin32HandleInfoNV: return "ExportMemoryWin32HandleInfoNV";
1254 case StructureType::eWin32KeyedMutexAcquireReleaseInfoNV: return "Win32KeyedMutexAcquireReleaseInfoNV";
1255#endif /*VK_USE_PLATFORM_WIN32_KHR*/
1256 case StructureType::eValidationFlagsEXT: return "ValidationFlagsEXT";
1257#if defined( VK_USE_PLATFORM_VI_NN )
1258 case StructureType::eViSurfaceCreateInfoNN: return "ViSurfaceCreateInfoNN";
1259#endif /*VK_USE_PLATFORM_VI_NN*/
1260 case StructureType::ePhysicalDeviceTextureCompressionAstcHdrFeaturesEXT:
1261 return "PhysicalDeviceTextureCompressionAstcHdrFeaturesEXT";
1262 case StructureType::eImageViewAstcDecodeModeEXT: return "ImageViewAstcDecodeModeEXT";
1263 case StructureType::ePhysicalDeviceAstcDecodeFeaturesEXT: return "PhysicalDeviceAstcDecodeFeaturesEXT";
1264#if defined( VK_USE_PLATFORM_WIN32_KHR )
1265 case StructureType::eImportMemoryWin32HandleInfoKHR: return "ImportMemoryWin32HandleInfoKHR";
1266 case StructureType::eExportMemoryWin32HandleInfoKHR: return "ExportMemoryWin32HandleInfoKHR";
1267 case StructureType::eMemoryWin32HandlePropertiesKHR: return "MemoryWin32HandlePropertiesKHR";
1268 case StructureType::eMemoryGetWin32HandleInfoKHR: return "MemoryGetWin32HandleInfoKHR";
1269#endif /*VK_USE_PLATFORM_WIN32_KHR*/
1270 case StructureType::eImportMemoryFdInfoKHR: return "ImportMemoryFdInfoKHR";
1271 case StructureType::eMemoryFdPropertiesKHR: return "MemoryFdPropertiesKHR";
1272 case StructureType::eMemoryGetFdInfoKHR: return "MemoryGetFdInfoKHR";
1273#if defined( VK_USE_PLATFORM_WIN32_KHR )
1274 case StructureType::eWin32KeyedMutexAcquireReleaseInfoKHR: return "Win32KeyedMutexAcquireReleaseInfoKHR";
1275 case StructureType::eImportSemaphoreWin32HandleInfoKHR: return "ImportSemaphoreWin32HandleInfoKHR";
1276 case StructureType::eExportSemaphoreWin32HandleInfoKHR: return "ExportSemaphoreWin32HandleInfoKHR";
1277 case StructureType::eD3D12FenceSubmitInfoKHR: return "D3D12FenceSubmitInfoKHR";
1278 case StructureType::eSemaphoreGetWin32HandleInfoKHR: return "SemaphoreGetWin32HandleInfoKHR";
1279#endif /*VK_USE_PLATFORM_WIN32_KHR*/
1280 case StructureType::eImportSemaphoreFdInfoKHR: return "ImportSemaphoreFdInfoKHR";
1281 case StructureType::eSemaphoreGetFdInfoKHR: return "SemaphoreGetFdInfoKHR";
1282 case StructureType::ePhysicalDevicePushDescriptorPropertiesKHR:
1283 return "PhysicalDevicePushDescriptorPropertiesKHR";
1284 case StructureType::eCommandBufferInheritanceConditionalRenderingInfoEXT:
1285 return "CommandBufferInheritanceConditionalRenderingInfoEXT";
1286 case StructureType::ePhysicalDeviceConditionalRenderingFeaturesEXT:
1287 return "PhysicalDeviceConditionalRenderingFeaturesEXT";
1288 case StructureType::eConditionalRenderingBeginInfoEXT: return "ConditionalRenderingBeginInfoEXT";
1289 case StructureType::ePresentRegionsKHR: return "PresentRegionsKHR";
1290 case StructureType::ePipelineViewportWScalingStateCreateInfoNV:
1291 return "PipelineViewportWScalingStateCreateInfoNV";
1292 case StructureType::eSurfaceCapabilities2EXT: return "SurfaceCapabilities2EXT";
1293 case StructureType::eDisplayPowerInfoEXT: return "DisplayPowerInfoEXT";
1294 case StructureType::eDeviceEventInfoEXT: return "DeviceEventInfoEXT";
1295 case StructureType::eDisplayEventInfoEXT: return "DisplayEventInfoEXT";
1296 case StructureType::eSwapchainCounterCreateInfoEXT: return "SwapchainCounterCreateInfoEXT";
1297 case StructureType::ePresentTimesInfoGOOGLE: return "PresentTimesInfoGOOGLE";
1298 case StructureType::ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX:
1299 return "PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX";
1300 case StructureType::ePipelineViewportSwizzleStateCreateInfoNV: return "PipelineViewportSwizzleStateCreateInfoNV";
1301 case StructureType::ePhysicalDeviceDiscardRectanglePropertiesEXT:
1302 return "PhysicalDeviceDiscardRectanglePropertiesEXT";
1303 case StructureType::ePipelineDiscardRectangleStateCreateInfoEXT:
1304 return "PipelineDiscardRectangleStateCreateInfoEXT";
1305 case StructureType::ePhysicalDeviceConservativeRasterizationPropertiesEXT:
1306 return "PhysicalDeviceConservativeRasterizationPropertiesEXT";
1307 case StructureType::ePipelineRasterizationConservativeStateCreateInfoEXT:
1308 return "PipelineRasterizationConservativeStateCreateInfoEXT";
1309 case StructureType::ePhysicalDeviceDepthClipEnableFeaturesEXT: return "PhysicalDeviceDepthClipEnableFeaturesEXT";
1310 case StructureType::ePipelineRasterizationDepthClipStateCreateInfoEXT:
1311 return "PipelineRasterizationDepthClipStateCreateInfoEXT";
1312 case StructureType::eHdrMetadataEXT: return "HdrMetadataEXT";
1313 case StructureType::eSharedPresentSurfaceCapabilitiesKHR: return "SharedPresentSurfaceCapabilitiesKHR";
1314#if defined( VK_USE_PLATFORM_WIN32_KHR )
1315 case StructureType::eImportFenceWin32HandleInfoKHR: return "ImportFenceWin32HandleInfoKHR";
1316 case StructureType::eExportFenceWin32HandleInfoKHR: return "ExportFenceWin32HandleInfoKHR";
1317 case StructureType::eFenceGetWin32HandleInfoKHR: return "FenceGetWin32HandleInfoKHR";
1318#endif /*VK_USE_PLATFORM_WIN32_KHR*/
1319 case StructureType::eImportFenceFdInfoKHR: return "ImportFenceFdInfoKHR";
1320 case StructureType::eFenceGetFdInfoKHR: return "FenceGetFdInfoKHR";
1321 case StructureType::ePhysicalDevicePerformanceQueryFeaturesKHR:
1322 return "PhysicalDevicePerformanceQueryFeaturesKHR";
1323 case StructureType::ePhysicalDevicePerformanceQueryPropertiesKHR:
1324 return "PhysicalDevicePerformanceQueryPropertiesKHR";
1325 case StructureType::eQueryPoolPerformanceCreateInfoKHR: return "QueryPoolPerformanceCreateInfoKHR";
1326 case StructureType::ePerformanceQuerySubmitInfoKHR: return "PerformanceQuerySubmitInfoKHR";
1327 case StructureType::eAcquireProfilingLockInfoKHR: return "AcquireProfilingLockInfoKHR";
1328 case StructureType::ePerformanceCounterKHR: return "PerformanceCounterKHR";
1329 case StructureType::ePerformanceCounterDescriptionKHR: return "PerformanceCounterDescriptionKHR";
1330 case StructureType::ePhysicalDeviceSurfaceInfo2KHR: return "PhysicalDeviceSurfaceInfo2KHR";
1331 case StructureType::eSurfaceCapabilities2KHR: return "SurfaceCapabilities2KHR";
1332 case StructureType::eSurfaceFormat2KHR: return "SurfaceFormat2KHR";
1333 case StructureType::eDisplayProperties2KHR: return "DisplayProperties2KHR";
1334 case StructureType::eDisplayPlaneProperties2KHR: return "DisplayPlaneProperties2KHR";
1335 case StructureType::eDisplayModeProperties2KHR: return "DisplayModeProperties2KHR";
1336 case StructureType::eDisplayPlaneInfo2KHR: return "DisplayPlaneInfo2KHR";
1337 case StructureType::eDisplayPlaneCapabilities2KHR: return "DisplayPlaneCapabilities2KHR";
1338#if defined( VK_USE_PLATFORM_IOS_MVK )
1339 case StructureType::eIosSurfaceCreateInfoMVK: return "IosSurfaceCreateInfoMVK";
1340#endif /*VK_USE_PLATFORM_IOS_MVK*/
1341#if defined( VK_USE_PLATFORM_MACOS_MVK )
1342 case StructureType::eMacosSurfaceCreateInfoMVK: return "MacosSurfaceCreateInfoMVK";
1343#endif /*VK_USE_PLATFORM_MACOS_MVK*/
1344 case StructureType::eDebugUtilsObjectNameInfoEXT: return "DebugUtilsObjectNameInfoEXT";
1345 case StructureType::eDebugUtilsObjectTagInfoEXT: return "DebugUtilsObjectTagInfoEXT";
1346 case StructureType::eDebugUtilsLabelEXT: return "DebugUtilsLabelEXT";
1347 case StructureType::eDebugUtilsMessengerCallbackDataEXT: return "DebugUtilsMessengerCallbackDataEXT";
1348 case StructureType::eDebugUtilsMessengerCreateInfoEXT: return "DebugUtilsMessengerCreateInfoEXT";
1349#if defined( VK_USE_PLATFORM_ANDROID_KHR )
1350 case StructureType::eAndroidHardwareBufferUsageANDROID: return "AndroidHardwareBufferUsageANDROID";
1351 case StructureType::eAndroidHardwareBufferPropertiesANDROID: return "AndroidHardwareBufferPropertiesANDROID";
1352 case StructureType::eAndroidHardwareBufferFormatPropertiesANDROID:
1353 return "AndroidHardwareBufferFormatPropertiesANDROID";
1354 case StructureType::eImportAndroidHardwareBufferInfoANDROID: return "ImportAndroidHardwareBufferInfoANDROID";
1355 case StructureType::eMemoryGetAndroidHardwareBufferInfoANDROID:
1356 return "MemoryGetAndroidHardwareBufferInfoANDROID";
1357 case StructureType::eExternalFormatANDROID: return "ExternalFormatANDROID";
1358#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
1359 case StructureType::ePhysicalDeviceInlineUniformBlockFeaturesEXT:
1360 return "PhysicalDeviceInlineUniformBlockFeaturesEXT";
1361 case StructureType::ePhysicalDeviceInlineUniformBlockPropertiesEXT:
1362 return "PhysicalDeviceInlineUniformBlockPropertiesEXT";
1363 case StructureType::eWriteDescriptorSetInlineUniformBlockEXT: return "WriteDescriptorSetInlineUniformBlockEXT";
1364 case StructureType::eDescriptorPoolInlineUniformBlockCreateInfoEXT:
1365 return "DescriptorPoolInlineUniformBlockCreateInfoEXT";
1366 case StructureType::eSampleLocationsInfoEXT: return "SampleLocationsInfoEXT";
1367 case StructureType::eRenderPassSampleLocationsBeginInfoEXT: return "RenderPassSampleLocationsBeginInfoEXT";
1368 case StructureType::ePipelineSampleLocationsStateCreateInfoEXT:
1369 return "PipelineSampleLocationsStateCreateInfoEXT";
1370 case StructureType::ePhysicalDeviceSampleLocationsPropertiesEXT:
1371 return "PhysicalDeviceSampleLocationsPropertiesEXT";
1372 case StructureType::eMultisamplePropertiesEXT: return "MultisamplePropertiesEXT";
1373 case StructureType::ePhysicalDeviceBlendOperationAdvancedFeaturesEXT:
1374 return "PhysicalDeviceBlendOperationAdvancedFeaturesEXT";
1375 case StructureType::ePhysicalDeviceBlendOperationAdvancedPropertiesEXT:
1376 return "PhysicalDeviceBlendOperationAdvancedPropertiesEXT";
1377 case StructureType::ePipelineColorBlendAdvancedStateCreateInfoEXT:
1378 return "PipelineColorBlendAdvancedStateCreateInfoEXT";
1379 case StructureType::ePipelineCoverageToColorStateCreateInfoNV: return "PipelineCoverageToColorStateCreateInfoNV";
1380 case StructureType::eWriteDescriptorSetAccelerationStructureKHR:
1381 return "WriteDescriptorSetAccelerationStructureKHR";
1382 case StructureType::eAccelerationStructureBuildGeometryInfoKHR:
1383 return "AccelerationStructureBuildGeometryInfoKHR";
1384 case StructureType::eAccelerationStructureDeviceAddressInfoKHR:
1385 return "AccelerationStructureDeviceAddressInfoKHR";
1386 case StructureType::eAccelerationStructureGeometryAabbsDataKHR:
1387 return "AccelerationStructureGeometryAabbsDataKHR";
1388 case StructureType::eAccelerationStructureGeometryInstancesDataKHR:
1389 return "AccelerationStructureGeometryInstancesDataKHR";
1390 case StructureType::eAccelerationStructureGeometryTrianglesDataKHR:
1391 return "AccelerationStructureGeometryTrianglesDataKHR";
1392 case StructureType::eAccelerationStructureGeometryKHR: return "AccelerationStructureGeometryKHR";
1393 case StructureType::eAccelerationStructureVersionInfoKHR: return "AccelerationStructureVersionInfoKHR";
1394 case StructureType::eCopyAccelerationStructureInfoKHR: return "CopyAccelerationStructureInfoKHR";
1395 case StructureType::eCopyAccelerationStructureToMemoryInfoKHR: return "CopyAccelerationStructureToMemoryInfoKHR";
1396 case StructureType::eCopyMemoryToAccelerationStructureInfoKHR: return "CopyMemoryToAccelerationStructureInfoKHR";
1397 case StructureType::ePhysicalDeviceAccelerationStructureFeaturesKHR:
1398 return "PhysicalDeviceAccelerationStructureFeaturesKHR";
1399 case StructureType::ePhysicalDeviceAccelerationStructurePropertiesKHR:
1400 return "PhysicalDeviceAccelerationStructurePropertiesKHR";
1401 case StructureType::eAccelerationStructureCreateInfoKHR: return "AccelerationStructureCreateInfoKHR";
1402 case StructureType::eAccelerationStructureBuildSizesInfoKHR: return "AccelerationStructureBuildSizesInfoKHR";
1403 case StructureType::ePhysicalDeviceRayTracingPipelineFeaturesKHR:
1404 return "PhysicalDeviceRayTracingPipelineFeaturesKHR";
1405 case StructureType::ePhysicalDeviceRayTracingPipelinePropertiesKHR:
1406 return "PhysicalDeviceRayTracingPipelinePropertiesKHR";
1407 case StructureType::eRayTracingPipelineCreateInfoKHR: return "RayTracingPipelineCreateInfoKHR";
1408 case StructureType::eRayTracingShaderGroupCreateInfoKHR: return "RayTracingShaderGroupCreateInfoKHR";
1409 case StructureType::eRayTracingPipelineInterfaceCreateInfoKHR: return "RayTracingPipelineInterfaceCreateInfoKHR";
1410 case StructureType::ePhysicalDeviceRayQueryFeaturesKHR: return "PhysicalDeviceRayQueryFeaturesKHR";
1411 case StructureType::ePipelineCoverageModulationStateCreateInfoNV:
1412 return "PipelineCoverageModulationStateCreateInfoNV";
1413 case StructureType::ePhysicalDeviceShaderSmBuiltinsFeaturesNV: return "PhysicalDeviceShaderSmBuiltinsFeaturesNV";
1414 case StructureType::ePhysicalDeviceShaderSmBuiltinsPropertiesNV:
1415 return "PhysicalDeviceShaderSmBuiltinsPropertiesNV";
1416 case StructureType::eDrmFormatModifierPropertiesListEXT: return "DrmFormatModifierPropertiesListEXT";
1417 case StructureType::ePhysicalDeviceImageDrmFormatModifierInfoEXT:
1418 return "PhysicalDeviceImageDrmFormatModifierInfoEXT";
1419 case StructureType::eImageDrmFormatModifierListCreateInfoEXT: return "ImageDrmFormatModifierListCreateInfoEXT";
1420 case StructureType::eImageDrmFormatModifierExplicitCreateInfoEXT:
1421 return "ImageDrmFormatModifierExplicitCreateInfoEXT";
1422 case StructureType::eImageDrmFormatModifierPropertiesEXT: return "ImageDrmFormatModifierPropertiesEXT";
1423 case StructureType::eValidationCacheCreateInfoEXT: return "ValidationCacheCreateInfoEXT";
1424 case StructureType::eShaderModuleValidationCacheCreateInfoEXT: return "ShaderModuleValidationCacheCreateInfoEXT";
1425#if defined( VK_ENABLE_BETA_EXTENSIONS )
1426 case StructureType::ePhysicalDevicePortabilitySubsetFeaturesKHR:
1427 return "PhysicalDevicePortabilitySubsetFeaturesKHR";
1428 case StructureType::ePhysicalDevicePortabilitySubsetPropertiesKHR:
1429 return "PhysicalDevicePortabilitySubsetPropertiesKHR";
1430#endif /*VK_ENABLE_BETA_EXTENSIONS*/
1431 case StructureType::ePipelineViewportShadingRateImageStateCreateInfoNV:
1432 return "PipelineViewportShadingRateImageStateCreateInfoNV";
1433 case StructureType::ePhysicalDeviceShadingRateImageFeaturesNV: return "PhysicalDeviceShadingRateImageFeaturesNV";
1434 case StructureType::ePhysicalDeviceShadingRateImagePropertiesNV:
1435 return "PhysicalDeviceShadingRateImagePropertiesNV";
1436 case StructureType::ePipelineViewportCoarseSampleOrderStateCreateInfoNV:
1437 return "PipelineViewportCoarseSampleOrderStateCreateInfoNV";
1438 case StructureType::eRayTracingPipelineCreateInfoNV: return "RayTracingPipelineCreateInfoNV";
1439 case StructureType::eAccelerationStructureCreateInfoNV: return "AccelerationStructureCreateInfoNV";
1440 case StructureType::eGeometryNV: return "GeometryNV";
1441 case StructureType::eGeometryTrianglesNV: return "GeometryTrianglesNV";
1442 case StructureType::eGeometryAabbNV: return "GeometryAabbNV";
1443 case StructureType::eBindAccelerationStructureMemoryInfoNV: return "BindAccelerationStructureMemoryInfoNV";
1444 case StructureType::eWriteDescriptorSetAccelerationStructureNV:
1445 return "WriteDescriptorSetAccelerationStructureNV";
1446 case StructureType::eAccelerationStructureMemoryRequirementsInfoNV:
1447 return "AccelerationStructureMemoryRequirementsInfoNV";
1448 case StructureType::ePhysicalDeviceRayTracingPropertiesNV: return "PhysicalDeviceRayTracingPropertiesNV";
1449 case StructureType::eRayTracingShaderGroupCreateInfoNV: return "RayTracingShaderGroupCreateInfoNV";
1450 case StructureType::eAccelerationStructureInfoNV: return "AccelerationStructureInfoNV";
1451 case StructureType::ePhysicalDeviceRepresentativeFragmentTestFeaturesNV:
1452 return "PhysicalDeviceRepresentativeFragmentTestFeaturesNV";
1453 case StructureType::ePipelineRepresentativeFragmentTestStateCreateInfoNV:
1454 return "PipelineRepresentativeFragmentTestStateCreateInfoNV";
1455 case StructureType::ePhysicalDeviceImageViewImageFormatInfoEXT:
1456 return "PhysicalDeviceImageViewImageFormatInfoEXT";
1457 case StructureType::eFilterCubicImageViewImageFormatPropertiesEXT:
1458 return "FilterCubicImageViewImageFormatPropertiesEXT";
1459 case StructureType::eDeviceQueueGlobalPriorityCreateInfoEXT: return "DeviceQueueGlobalPriorityCreateInfoEXT";
1460 case StructureType::eImportMemoryHostPointerInfoEXT: return "ImportMemoryHostPointerInfoEXT";
1461 case StructureType::eMemoryHostPointerPropertiesEXT: return "MemoryHostPointerPropertiesEXT";
1462 case StructureType::ePhysicalDeviceExternalMemoryHostPropertiesEXT:
1463 return "PhysicalDeviceExternalMemoryHostPropertiesEXT";
1464 case StructureType::ePhysicalDeviceShaderClockFeaturesKHR: return "PhysicalDeviceShaderClockFeaturesKHR";
1465 case StructureType::ePipelineCompilerControlCreateInfoAMD: return "PipelineCompilerControlCreateInfoAMD";
1466 case StructureType::eCalibratedTimestampInfoEXT: return "CalibratedTimestampInfoEXT";
1467 case StructureType::ePhysicalDeviceShaderCorePropertiesAMD: return "PhysicalDeviceShaderCorePropertiesAMD";
1468#if defined( VK_ENABLE_BETA_EXTENSIONS )
1469 case StructureType::eVideoDecodeH265CapabilitiesEXT: return "VideoDecodeH265CapabilitiesEXT";
1470 case StructureType::eVideoDecodeH265SessionCreateInfoEXT: return "VideoDecodeH265SessionCreateInfoEXT";
1471 case StructureType::eVideoDecodeH265SessionParametersCreateInfoEXT:
1472 return "VideoDecodeH265SessionParametersCreateInfoEXT";
1473 case StructureType::eVideoDecodeH265SessionParametersAddInfoEXT:
1474 return "VideoDecodeH265SessionParametersAddInfoEXT";
1475 case StructureType::eVideoDecodeH265ProfileEXT: return "VideoDecodeH265ProfileEXT";
1476 case StructureType::eVideoDecodeH265PictureInfoEXT: return "VideoDecodeH265PictureInfoEXT";
1477 case StructureType::eVideoDecodeH265DpbSlotInfoEXT: return "VideoDecodeH265DpbSlotInfoEXT";
1478#endif /*VK_ENABLE_BETA_EXTENSIONS*/
1479 case StructureType::eDeviceMemoryOverallocationCreateInfoAMD: return "DeviceMemoryOverallocationCreateInfoAMD";
1480 case StructureType::ePhysicalDeviceVertexAttributeDivisorPropertiesEXT:
1481 return "PhysicalDeviceVertexAttributeDivisorPropertiesEXT";
1482 case StructureType::ePipelineVertexInputDivisorStateCreateInfoEXT:
1483 return "PipelineVertexInputDivisorStateCreateInfoEXT";
1484 case StructureType::ePhysicalDeviceVertexAttributeDivisorFeaturesEXT:
1485 return "PhysicalDeviceVertexAttributeDivisorFeaturesEXT";
1486#if defined( VK_USE_PLATFORM_GGP )
1487 case StructureType::ePresentFrameTokenGGP: return "PresentFrameTokenGGP";
1488#endif /*VK_USE_PLATFORM_GGP*/
1489 case StructureType::ePipelineCreationFeedbackCreateInfoEXT: return "PipelineCreationFeedbackCreateInfoEXT";
1490 case StructureType::ePhysicalDeviceComputeShaderDerivativesFeaturesNV:
1491 return "PhysicalDeviceComputeShaderDerivativesFeaturesNV";
1492 case StructureType::ePhysicalDeviceMeshShaderFeaturesNV: return "PhysicalDeviceMeshShaderFeaturesNV";
1493 case StructureType::ePhysicalDeviceMeshShaderPropertiesNV: return "PhysicalDeviceMeshShaderPropertiesNV";
1494 case StructureType::ePhysicalDeviceFragmentShaderBarycentricFeaturesNV:
1495 return "PhysicalDeviceFragmentShaderBarycentricFeaturesNV";
1496 case StructureType::ePhysicalDeviceShaderImageFootprintFeaturesNV:
1497 return "PhysicalDeviceShaderImageFootprintFeaturesNV";
1498 case StructureType::ePipelineViewportExclusiveScissorStateCreateInfoNV:
1499 return "PipelineViewportExclusiveScissorStateCreateInfoNV";
1500 case StructureType::ePhysicalDeviceExclusiveScissorFeaturesNV: return "PhysicalDeviceExclusiveScissorFeaturesNV";
1501 case StructureType::eCheckpointDataNV: return "CheckpointDataNV";
1502 case StructureType::eQueueFamilyCheckpointPropertiesNV: return "QueueFamilyCheckpointPropertiesNV";
1503 case StructureType::ePhysicalDeviceShaderIntegerFunctions2FeaturesINTEL:
1504 return "PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL";
1505 case StructureType::eQueryPoolPerformanceQueryCreateInfoINTEL: return "QueryPoolPerformanceQueryCreateInfoINTEL";
1506 case StructureType::eInitializePerformanceApiInfoINTEL: return "InitializePerformanceApiInfoINTEL";
1507 case StructureType::ePerformanceMarkerInfoINTEL: return "PerformanceMarkerInfoINTEL";
1508 case StructureType::ePerformanceStreamMarkerInfoINTEL: return "PerformanceStreamMarkerInfoINTEL";
1509 case StructureType::ePerformanceOverrideInfoINTEL: return "PerformanceOverrideInfoINTEL";
1510 case StructureType::ePerformanceConfigurationAcquireInfoINTEL: return "PerformanceConfigurationAcquireInfoINTEL";
1511 case StructureType::ePhysicalDevicePciBusInfoPropertiesEXT: return "PhysicalDevicePciBusInfoPropertiesEXT";
1512 case StructureType::eDisplayNativeHdrSurfaceCapabilitiesAMD: return "DisplayNativeHdrSurfaceCapabilitiesAMD";
1513 case StructureType::eSwapchainDisplayNativeHdrCreateInfoAMD: return "SwapchainDisplayNativeHdrCreateInfoAMD";
1514#if defined( VK_USE_PLATFORM_FUCHSIA )
1515 case StructureType::eImagepipeSurfaceCreateInfoFUCHSIA: return "ImagepipeSurfaceCreateInfoFUCHSIA";
1516#endif /*VK_USE_PLATFORM_FUCHSIA*/
1517 case StructureType::ePhysicalDeviceShaderTerminateInvocationFeaturesKHR:
1518 return "PhysicalDeviceShaderTerminateInvocationFeaturesKHR";
1519#if defined( VK_USE_PLATFORM_METAL_EXT )
1520 case StructureType::eMetalSurfaceCreateInfoEXT: return "MetalSurfaceCreateInfoEXT";
1521#endif /*VK_USE_PLATFORM_METAL_EXT*/
1522 case StructureType::ePhysicalDeviceFragmentDensityMapFeaturesEXT:
1523 return "PhysicalDeviceFragmentDensityMapFeaturesEXT";
1524 case StructureType::ePhysicalDeviceFragmentDensityMapPropertiesEXT:
1525 return "PhysicalDeviceFragmentDensityMapPropertiesEXT";
1526 case StructureType::eRenderPassFragmentDensityMapCreateInfoEXT:
1527 return "RenderPassFragmentDensityMapCreateInfoEXT";
1528 case StructureType::ePhysicalDeviceSubgroupSizeControlPropertiesEXT:
1529 return "PhysicalDeviceSubgroupSizeControlPropertiesEXT";
1530 case StructureType::ePipelineShaderStageRequiredSubgroupSizeCreateInfoEXT:
1531 return "PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT";
1532 case StructureType::ePhysicalDeviceSubgroupSizeControlFeaturesEXT:
1533 return "PhysicalDeviceSubgroupSizeControlFeaturesEXT";
1534 case StructureType::eFragmentShadingRateAttachmentInfoKHR: return "FragmentShadingRateAttachmentInfoKHR";
1535 case StructureType::ePipelineFragmentShadingRateStateCreateInfoKHR:
1536 return "PipelineFragmentShadingRateStateCreateInfoKHR";
1537 case StructureType::ePhysicalDeviceFragmentShadingRatePropertiesKHR:
1538 return "PhysicalDeviceFragmentShadingRatePropertiesKHR";
1539 case StructureType::ePhysicalDeviceFragmentShadingRateFeaturesKHR:
1540 return "PhysicalDeviceFragmentShadingRateFeaturesKHR";
1541 case StructureType::ePhysicalDeviceFragmentShadingRateKHR: return "PhysicalDeviceFragmentShadingRateKHR";
1542 case StructureType::ePhysicalDeviceShaderCoreProperties2AMD: return "PhysicalDeviceShaderCoreProperties2AMD";
1543 case StructureType::ePhysicalDeviceCoherentMemoryFeaturesAMD: return "PhysicalDeviceCoherentMemoryFeaturesAMD";
1544 case StructureType::ePhysicalDeviceShaderImageAtomicInt64FeaturesEXT:
1545 return "PhysicalDeviceShaderImageAtomicInt64FeaturesEXT";
1546 case StructureType::ePhysicalDeviceMemoryBudgetPropertiesEXT: return "PhysicalDeviceMemoryBudgetPropertiesEXT";
1547 case StructureType::ePhysicalDeviceMemoryPriorityFeaturesEXT: return "PhysicalDeviceMemoryPriorityFeaturesEXT";
1548 case StructureType::eMemoryPriorityAllocateInfoEXT: return "MemoryPriorityAllocateInfoEXT";
1549 case StructureType::eSurfaceProtectedCapabilitiesKHR: return "SurfaceProtectedCapabilitiesKHR";
1550 case StructureType::ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV:
1551 return "PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV";
1552 case StructureType::ePhysicalDeviceBufferDeviceAddressFeaturesEXT:
1553 return "PhysicalDeviceBufferDeviceAddressFeaturesEXT";
1554 case StructureType::eBufferDeviceAddressCreateInfoEXT: return "BufferDeviceAddressCreateInfoEXT";
1555 case StructureType::ePhysicalDeviceToolPropertiesEXT: return "PhysicalDeviceToolPropertiesEXT";
1556 case StructureType::eValidationFeaturesEXT: return "ValidationFeaturesEXT";
1557 case StructureType::ePhysicalDevicePresentWaitFeaturesKHR: return "PhysicalDevicePresentWaitFeaturesKHR";
1558 case StructureType::ePhysicalDeviceCooperativeMatrixFeaturesNV:
1559 return "PhysicalDeviceCooperativeMatrixFeaturesNV";
1560 case StructureType::eCooperativeMatrixPropertiesNV: return "CooperativeMatrixPropertiesNV";
1561 case StructureType::ePhysicalDeviceCooperativeMatrixPropertiesNV:
1562 return "PhysicalDeviceCooperativeMatrixPropertiesNV";
1563 case StructureType::ePhysicalDeviceCoverageReductionModeFeaturesNV:
1564 return "PhysicalDeviceCoverageReductionModeFeaturesNV";
1565 case StructureType::ePipelineCoverageReductionStateCreateInfoNV:
1566 return "PipelineCoverageReductionStateCreateInfoNV";
1567 case StructureType::eFramebufferMixedSamplesCombinationNV: return "FramebufferMixedSamplesCombinationNV";
1568 case StructureType::ePhysicalDeviceFragmentShaderInterlockFeaturesEXT:
1569 return "PhysicalDeviceFragmentShaderInterlockFeaturesEXT";
1570 case StructureType::ePhysicalDeviceYcbcrImageArraysFeaturesEXT:
1571 return "PhysicalDeviceYcbcrImageArraysFeaturesEXT";
1572 case StructureType::ePhysicalDeviceProvokingVertexFeaturesEXT: return "PhysicalDeviceProvokingVertexFeaturesEXT";
1573 case StructureType::ePipelineRasterizationProvokingVertexStateCreateInfoEXT:
1574 return "PipelineRasterizationProvokingVertexStateCreateInfoEXT";
1575 case StructureType::ePhysicalDeviceProvokingVertexPropertiesEXT:
1576 return "PhysicalDeviceProvokingVertexPropertiesEXT";
1577#if defined( VK_USE_PLATFORM_WIN32_KHR )
1578 case StructureType::eSurfaceFullScreenExclusiveInfoEXT: return "SurfaceFullScreenExclusiveInfoEXT";
1579 case StructureType::eSurfaceCapabilitiesFullScreenExclusiveEXT:
1580 return "SurfaceCapabilitiesFullScreenExclusiveEXT";
1581 case StructureType::eSurfaceFullScreenExclusiveWin32InfoEXT: return "SurfaceFullScreenExclusiveWin32InfoEXT";
1582#endif /*VK_USE_PLATFORM_WIN32_KHR*/
1583 case StructureType::eHeadlessSurfaceCreateInfoEXT: return "HeadlessSurfaceCreateInfoEXT";
1584 case StructureType::ePhysicalDeviceLineRasterizationFeaturesEXT:
1585 return "PhysicalDeviceLineRasterizationFeaturesEXT";
1586 case StructureType::ePipelineRasterizationLineStateCreateInfoEXT:
1587 return "PipelineRasterizationLineStateCreateInfoEXT";
1588 case StructureType::ePhysicalDeviceLineRasterizationPropertiesEXT:
1589 return "PhysicalDeviceLineRasterizationPropertiesEXT";
1590 case StructureType::ePhysicalDeviceShaderAtomicFloatFeaturesEXT:
1591 return "PhysicalDeviceShaderAtomicFloatFeaturesEXT";
1592 case StructureType::ePhysicalDeviceIndexTypeUint8FeaturesEXT: return "PhysicalDeviceIndexTypeUint8FeaturesEXT";
1593 case StructureType::ePhysicalDeviceExtendedDynamicStateFeaturesEXT:
1594 return "PhysicalDeviceExtendedDynamicStateFeaturesEXT";
1595 case StructureType::ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR:
1596 return "PhysicalDevicePipelineExecutablePropertiesFeaturesKHR";
1597 case StructureType::ePipelineInfoKHR: return "PipelineInfoKHR";
1598 case StructureType::ePipelineExecutablePropertiesKHR: return "PipelineExecutablePropertiesKHR";
1599 case StructureType::ePipelineExecutableInfoKHR: return "PipelineExecutableInfoKHR";
1600 case StructureType::ePipelineExecutableStatisticKHR: return "PipelineExecutableStatisticKHR";
1601 case StructureType::ePipelineExecutableInternalRepresentationKHR:
1602 return "PipelineExecutableInternalRepresentationKHR";
1603 case StructureType::ePhysicalDeviceShaderAtomicFloat2FeaturesEXT:
1604 return "PhysicalDeviceShaderAtomicFloat2FeaturesEXT";
1605 case StructureType::ePhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT:
1606 return "PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT";
1607 case StructureType::ePhysicalDeviceDeviceGeneratedCommandsPropertiesNV:
1608 return "PhysicalDeviceDeviceGeneratedCommandsPropertiesNV";
1609 case StructureType::eGraphicsShaderGroupCreateInfoNV: return "GraphicsShaderGroupCreateInfoNV";
1610 case StructureType::eGraphicsPipelineShaderGroupsCreateInfoNV: return "GraphicsPipelineShaderGroupsCreateInfoNV";
1611 case StructureType::eIndirectCommandsLayoutTokenNV: return "IndirectCommandsLayoutTokenNV";
1612 case StructureType::eIndirectCommandsLayoutCreateInfoNV: return "IndirectCommandsLayoutCreateInfoNV";
1613 case StructureType::eGeneratedCommandsInfoNV: return "GeneratedCommandsInfoNV";
1614 case StructureType::eGeneratedCommandsMemoryRequirementsInfoNV:
1615 return "GeneratedCommandsMemoryRequirementsInfoNV";
1616 case StructureType::ePhysicalDeviceDeviceGeneratedCommandsFeaturesNV:
1617 return "PhysicalDeviceDeviceGeneratedCommandsFeaturesNV";
1618 case StructureType::ePhysicalDeviceInheritedViewportScissorFeaturesNV:
1619 return "PhysicalDeviceInheritedViewportScissorFeaturesNV";
1620 case StructureType::eCommandBufferInheritanceViewportScissorInfoNV:
1621 return "CommandBufferInheritanceViewportScissorInfoNV";
1622 case StructureType::ePhysicalDeviceTexelBufferAlignmentFeaturesEXT:
1623 return "PhysicalDeviceTexelBufferAlignmentFeaturesEXT";
1624 case StructureType::ePhysicalDeviceTexelBufferAlignmentPropertiesEXT:
1625 return "PhysicalDeviceTexelBufferAlignmentPropertiesEXT";
1626 case StructureType::eCommandBufferInheritanceRenderPassTransformInfoQCOM:
1627 return "CommandBufferInheritanceRenderPassTransformInfoQCOM";
1628 case StructureType::eRenderPassTransformBeginInfoQCOM: return "RenderPassTransformBeginInfoQCOM";
1629 case StructureType::ePhysicalDeviceDeviceMemoryReportFeaturesEXT:
1630 return "PhysicalDeviceDeviceMemoryReportFeaturesEXT";
1631 case StructureType::eDeviceDeviceMemoryReportCreateInfoEXT: return "DeviceDeviceMemoryReportCreateInfoEXT";
1632 case StructureType::eDeviceMemoryReportCallbackDataEXT: return "DeviceMemoryReportCallbackDataEXT";
1633 case StructureType::ePhysicalDeviceRobustness2FeaturesEXT: return "PhysicalDeviceRobustness2FeaturesEXT";
1634 case StructureType::ePhysicalDeviceRobustness2PropertiesEXT: return "PhysicalDeviceRobustness2PropertiesEXT";
1635 case StructureType::eSamplerCustomBorderColorCreateInfoEXT: return "SamplerCustomBorderColorCreateInfoEXT";
1636 case StructureType::ePhysicalDeviceCustomBorderColorPropertiesEXT:
1637 return "PhysicalDeviceCustomBorderColorPropertiesEXT";
1638 case StructureType::ePhysicalDeviceCustomBorderColorFeaturesEXT:
1639 return "PhysicalDeviceCustomBorderColorFeaturesEXT";
1640 case StructureType::ePipelineLibraryCreateInfoKHR: return "PipelineLibraryCreateInfoKHR";
1641 case StructureType::ePresentIdKHR: return "PresentIdKHR";
1642 case StructureType::ePhysicalDevicePresentIdFeaturesKHR: return "PhysicalDevicePresentIdFeaturesKHR";
1643 case StructureType::ePhysicalDevicePrivateDataFeaturesEXT: return "PhysicalDevicePrivateDataFeaturesEXT";
1644 case StructureType::eDevicePrivateDataCreateInfoEXT: return "DevicePrivateDataCreateInfoEXT";
1645 case StructureType::ePrivateDataSlotCreateInfoEXT: return "PrivateDataSlotCreateInfoEXT";
1646 case StructureType::ePhysicalDevicePipelineCreationCacheControlFeaturesEXT:
1647 return "PhysicalDevicePipelineCreationCacheControlFeaturesEXT";
1648#if defined( VK_ENABLE_BETA_EXTENSIONS )
1649 case StructureType::eVideoEncodeInfoKHR: return "VideoEncodeInfoKHR";
1650 case StructureType::eVideoEncodeRateControlInfoKHR: return "VideoEncodeRateControlInfoKHR";
1651#endif /*VK_ENABLE_BETA_EXTENSIONS*/
1652 case StructureType::ePhysicalDeviceDiagnosticsConfigFeaturesNV:
1653 return "PhysicalDeviceDiagnosticsConfigFeaturesNV";
1654 case StructureType::eDeviceDiagnosticsConfigCreateInfoNV: return "DeviceDiagnosticsConfigCreateInfoNV";
1655 case StructureType::eMemoryBarrier2KHR: return "MemoryBarrier2KHR";
1656 case StructureType::eBufferMemoryBarrier2KHR: return "BufferMemoryBarrier2KHR";
1657 case StructureType::eImageMemoryBarrier2KHR: return "ImageMemoryBarrier2KHR";
1658 case StructureType::eDependencyInfoKHR: return "DependencyInfoKHR";
1659 case StructureType::eSubmitInfo2KHR: return "SubmitInfo2KHR";
1660 case StructureType::eSemaphoreSubmitInfoKHR: return "SemaphoreSubmitInfoKHR";
1661 case StructureType::eCommandBufferSubmitInfoKHR: return "CommandBufferSubmitInfoKHR";
1662 case StructureType::ePhysicalDeviceSynchronization2FeaturesKHR:
1663 return "PhysicalDeviceSynchronization2FeaturesKHR";
1664 case StructureType::eQueueFamilyCheckpointProperties2NV: return "QueueFamilyCheckpointProperties2NV";
1665 case StructureType::eCheckpointData2NV: return "CheckpointData2NV";
1666 case StructureType::ePhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR:
1667 return "PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR";
1668 case StructureType::ePhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR:
1669 return "PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR";
1670 case StructureType::ePhysicalDeviceFragmentShadingRateEnumsPropertiesNV:
1671 return "PhysicalDeviceFragmentShadingRateEnumsPropertiesNV";
1672 case StructureType::ePhysicalDeviceFragmentShadingRateEnumsFeaturesNV:
1673 return "PhysicalDeviceFragmentShadingRateEnumsFeaturesNV";
1674 case StructureType::ePipelineFragmentShadingRateEnumStateCreateInfoNV:
1675 return "PipelineFragmentShadingRateEnumStateCreateInfoNV";
1676 case StructureType::eAccelerationStructureGeometryMotionTrianglesDataNV:
1677 return "AccelerationStructureGeometryMotionTrianglesDataNV";
1678 case StructureType::ePhysicalDeviceRayTracingMotionBlurFeaturesNV:
1679 return "PhysicalDeviceRayTracingMotionBlurFeaturesNV";
1680 case StructureType::eAccelerationStructureMotionInfoNV: return "AccelerationStructureMotionInfoNV";
1681 case StructureType::ePhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT:
1682 return "PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT";
1683 case StructureType::ePhysicalDeviceFragmentDensityMap2FeaturesEXT:
1684 return "PhysicalDeviceFragmentDensityMap2FeaturesEXT";
1685 case StructureType::ePhysicalDeviceFragmentDensityMap2PropertiesEXT:
1686 return "PhysicalDeviceFragmentDensityMap2PropertiesEXT";
1687 case StructureType::eCopyCommandTransformInfoQCOM: return "CopyCommandTransformInfoQCOM";
1688 case StructureType::ePhysicalDeviceImageRobustnessFeaturesEXT: return "PhysicalDeviceImageRobustnessFeaturesEXT";
1689 case StructureType::ePhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR:
1690 return "PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR";
1691 case StructureType::eCopyBufferInfo2KHR: return "CopyBufferInfo2KHR";
1692 case StructureType::eCopyImageInfo2KHR: return "CopyImageInfo2KHR";
1693 case StructureType::eCopyBufferToImageInfo2KHR: return "CopyBufferToImageInfo2KHR";
1694 case StructureType::eCopyImageToBufferInfo2KHR: return "CopyImageToBufferInfo2KHR";
1695 case StructureType::eBlitImageInfo2KHR: return "BlitImageInfo2KHR";
1696 case StructureType::eResolveImageInfo2KHR: return "ResolveImageInfo2KHR";
1697 case StructureType::eBufferCopy2KHR: return "BufferCopy2KHR";
1698 case StructureType::eImageCopy2KHR: return "ImageCopy2KHR";
1699 case StructureType::eImageBlit2KHR: return "ImageBlit2KHR";
1700 case StructureType::eBufferImageCopy2KHR: return "BufferImageCopy2KHR";
1701 case StructureType::eImageResolve2KHR: return "ImageResolve2KHR";
1702 case StructureType::ePhysicalDevice4444FormatsFeaturesEXT: return "PhysicalDevice4444FormatsFeaturesEXT";
1703#if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
1704 case StructureType::eDirectfbSurfaceCreateInfoEXT: return "DirectfbSurfaceCreateInfoEXT";
1705#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
1706 case StructureType::ePhysicalDeviceMutableDescriptorTypeFeaturesVALVE:
1707 return "PhysicalDeviceMutableDescriptorTypeFeaturesVALVE";
1708 case StructureType::eMutableDescriptorTypeCreateInfoVALVE: return "MutableDescriptorTypeCreateInfoVALVE";
1709 case StructureType::ePhysicalDeviceVertexInputDynamicStateFeaturesEXT:
1710 return "PhysicalDeviceVertexInputDynamicStateFeaturesEXT";
1711 case StructureType::eVertexInputBindingDescription2EXT: return "VertexInputBindingDescription2EXT";
1712 case StructureType::eVertexInputAttributeDescription2EXT: return "VertexInputAttributeDescription2EXT";
1713 case StructureType::ePhysicalDeviceDrmPropertiesEXT: return "PhysicalDeviceDrmPropertiesEXT";
1714#if defined( VK_USE_PLATFORM_FUCHSIA )
1715 case StructureType::eImportMemoryZirconHandleInfoFUCHSIA: return "ImportMemoryZirconHandleInfoFUCHSIA";
1716 case StructureType::eMemoryZirconHandlePropertiesFUCHSIA: return "MemoryZirconHandlePropertiesFUCHSIA";
1717 case StructureType::eMemoryGetZirconHandleInfoFUCHSIA: return "MemoryGetZirconHandleInfoFUCHSIA";
1718 case StructureType::eImportSemaphoreZirconHandleInfoFUCHSIA: return "ImportSemaphoreZirconHandleInfoFUCHSIA";
1719 case StructureType::eSemaphoreGetZirconHandleInfoFUCHSIA: return "SemaphoreGetZirconHandleInfoFUCHSIA";
1720#endif /*VK_USE_PLATFORM_FUCHSIA*/
1721 case StructureType::eSubpassShadingPipelineCreateInfoHUAWEI: return "SubpassShadingPipelineCreateInfoHUAWEI";
1722 case StructureType::ePhysicalDeviceSubpassShadingFeaturesHUAWEI:
1723 return "PhysicalDeviceSubpassShadingFeaturesHUAWEI";
1724 case StructureType::ePhysicalDeviceSubpassShadingPropertiesHUAWEI:
1725 return "PhysicalDeviceSubpassShadingPropertiesHUAWEI";
1726 case StructureType::ePhysicalDeviceInvocationMaskFeaturesHUAWEI:
1727 return "PhysicalDeviceInvocationMaskFeaturesHUAWEI";
1728 case StructureType::eMemoryGetRemoteAddressInfoNV: return "MemoryGetRemoteAddressInfoNV";
1729 case StructureType::ePhysicalDeviceExternalMemoryRdmaFeaturesNV:
1730 return "PhysicalDeviceExternalMemoryRdmaFeaturesNV";
1731 case StructureType::ePhysicalDeviceExtendedDynamicState2FeaturesEXT:
1732 return "PhysicalDeviceExtendedDynamicState2FeaturesEXT";
1733#if defined( VK_USE_PLATFORM_SCREEN_QNX )
1734 case StructureType::eScreenSurfaceCreateInfoQNX: return "ScreenSurfaceCreateInfoQNX";
1735#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
1736 case StructureType::ePhysicalDeviceColorWriteEnableFeaturesEXT:
1737 return "PhysicalDeviceColorWriteEnableFeaturesEXT";
1738 case StructureType::ePipelineColorWriteCreateInfoEXT: return "PipelineColorWriteCreateInfoEXT";
1739 case StructureType::ePhysicalDeviceGlobalPriorityQueryFeaturesEXT:
1740 return "PhysicalDeviceGlobalPriorityQueryFeaturesEXT";
1741 case StructureType::eQueueFamilyGlobalPriorityPropertiesEXT: return "QueueFamilyGlobalPriorityPropertiesEXT";
1742 case StructureType::ePhysicalDeviceMultiDrawFeaturesEXT: return "PhysicalDeviceMultiDrawFeaturesEXT";
1743 case StructureType::ePhysicalDeviceMultiDrawPropertiesEXT: return "PhysicalDeviceMultiDrawPropertiesEXT";
1744 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
1745 }
1746 }
1747
1748 enum class ObjectType
1749 {
1750 eUnknown = VK_OBJECT_TYPE_UNKNOWN,
1751 eInstance = VK_OBJECT_TYPE_INSTANCE,
1752 ePhysicalDevice = VK_OBJECT_TYPE_PHYSICAL_DEVICE,
1753 eDevice = VK_OBJECT_TYPE_DEVICE,
1754 eQueue = VK_OBJECT_TYPE_QUEUE,
1755 eSemaphore = VK_OBJECT_TYPE_SEMAPHORE,
1756 eCommandBuffer = VK_OBJECT_TYPE_COMMAND_BUFFER,
1757 eFence = VK_OBJECT_TYPE_FENCE,
1758 eDeviceMemory = VK_OBJECT_TYPE_DEVICE_MEMORY,
1759 eBuffer = VK_OBJECT_TYPE_BUFFER,
1760 eImage = VK_OBJECT_TYPE_IMAGE,
1761 eEvent = VK_OBJECT_TYPE_EVENT,
1762 eQueryPool = VK_OBJECT_TYPE_QUERY_POOL,
1763 eBufferView = VK_OBJECT_TYPE_BUFFER_VIEW,
1764 eImageView = VK_OBJECT_TYPE_IMAGE_VIEW,
1765 eShaderModule = VK_OBJECT_TYPE_SHADER_MODULE,
1766 ePipelineCache = VK_OBJECT_TYPE_PIPELINE_CACHE,
1767 ePipelineLayout = VK_OBJECT_TYPE_PIPELINE_LAYOUT,
1768 eRenderPass = VK_OBJECT_TYPE_RENDER_PASS,
1769 ePipeline = VK_OBJECT_TYPE_PIPELINE,
1770 eDescriptorSetLayout = VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT,
1771 eSampler = VK_OBJECT_TYPE_SAMPLER,
1772 eDescriptorPool = VK_OBJECT_TYPE_DESCRIPTOR_POOL,
1773 eDescriptorSet = VK_OBJECT_TYPE_DESCRIPTOR_SET,
1774 eFramebuffer = VK_OBJECT_TYPE_FRAMEBUFFER,
1775 eCommandPool = VK_OBJECT_TYPE_COMMAND_POOL,
1776 eSamplerYcbcrConversion = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1777 eDescriptorUpdateTemplate = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1778 eSurfaceKHR = VK_OBJECT_TYPE_SURFACE_KHR,
1779 eSwapchainKHR = VK_OBJECT_TYPE_SWAPCHAIN_KHR,
1780 eDisplayKHR = VK_OBJECT_TYPE_DISPLAY_KHR,
1781 eDisplayModeKHR = VK_OBJECT_TYPE_DISPLAY_MODE_KHR,
1782 eDebugReportCallbackEXT = VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT,
1783#if defined( VK_ENABLE_BETA_EXTENSIONS )
1784 eVideoSessionKHR = VK_OBJECT_TYPE_VIDEO_SESSION_KHR,
1785 eVideoSessionParametersKHR = VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR,
1786#endif /*VK_ENABLE_BETA_EXTENSIONS*/
1787 eCuModuleNVX = VK_OBJECT_TYPE_CU_MODULE_NVX,
1788 eCuFunctionNVX = VK_OBJECT_TYPE_CU_FUNCTION_NVX,
1789 eDebugUtilsMessengerEXT = VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT,
1790 eAccelerationStructureKHR = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR,
1791 eValidationCacheEXT = VK_OBJECT_TYPE_VALIDATION_CACHE_EXT,
1792 eAccelerationStructureNV = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV,
1793 ePerformanceConfigurationINTEL = VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL,
1794 eDeferredOperationKHR = VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR,
1795 eIndirectCommandsLayoutNV = VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV,
1796 ePrivateDataSlotEXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT,
1797 eDescriptorUpdateTemplateKHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR,
1798 eSamplerYcbcrConversionKHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR
1799 };
1800
1801 VULKAN_HPP_INLINE std::string to_string( ObjectType value )
1802 {
1803 switch ( value )
1804 {
1805 case ObjectType::eUnknown: return "Unknown";
1806 case ObjectType::eInstance: return "Instance";
1807 case ObjectType::ePhysicalDevice: return "PhysicalDevice";
1808 case ObjectType::eDevice: return "Device";
1809 case ObjectType::eQueue: return "Queue";
1810 case ObjectType::eSemaphore: return "Semaphore";
1811 case ObjectType::eCommandBuffer: return "CommandBuffer";
1812 case ObjectType::eFence: return "Fence";
1813 case ObjectType::eDeviceMemory: return "DeviceMemory";
1814 case ObjectType::eBuffer: return "Buffer";
1815 case ObjectType::eImage: return "Image";
1816 case ObjectType::eEvent: return "Event";
1817 case ObjectType::eQueryPool: return "QueryPool";
1818 case ObjectType::eBufferView: return "BufferView";
1819 case ObjectType::eImageView: return "ImageView";
1820 case ObjectType::eShaderModule: return "ShaderModule";
1821 case ObjectType::ePipelineCache: return "PipelineCache";
1822 case ObjectType::ePipelineLayout: return "PipelineLayout";
1823 case ObjectType::eRenderPass: return "RenderPass";
1824 case ObjectType::ePipeline: return "Pipeline";
1825 case ObjectType::eDescriptorSetLayout: return "DescriptorSetLayout";
1826 case ObjectType::eSampler: return "Sampler";
1827 case ObjectType::eDescriptorPool: return "DescriptorPool";
1828 case ObjectType::eDescriptorSet: return "DescriptorSet";
1829 case ObjectType::eFramebuffer: return "Framebuffer";
1830 case ObjectType::eCommandPool: return "CommandPool";
1831 case ObjectType::eSamplerYcbcrConversion: return "SamplerYcbcrConversion";
1832 case ObjectType::eDescriptorUpdateTemplate: return "DescriptorUpdateTemplate";
1833 case ObjectType::eSurfaceKHR: return "SurfaceKHR";
1834 case ObjectType::eSwapchainKHR: return "SwapchainKHR";
1835 case ObjectType::eDisplayKHR: return "DisplayKHR";
1836 case ObjectType::eDisplayModeKHR: return "DisplayModeKHR";
1837 case ObjectType::eDebugReportCallbackEXT: return "DebugReportCallbackEXT";
1838#if defined( VK_ENABLE_BETA_EXTENSIONS )
1839 case ObjectType::eVideoSessionKHR: return "VideoSessionKHR";
1840 case ObjectType::eVideoSessionParametersKHR: return "VideoSessionParametersKHR";
1841#endif /*VK_ENABLE_BETA_EXTENSIONS*/
1842 case ObjectType::eCuModuleNVX: return "CuModuleNVX";
1843 case ObjectType::eCuFunctionNVX: return "CuFunctionNVX";
1844 case ObjectType::eDebugUtilsMessengerEXT: return "DebugUtilsMessengerEXT";
1845 case ObjectType::eAccelerationStructureKHR: return "AccelerationStructureKHR";
1846 case ObjectType::eValidationCacheEXT: return "ValidationCacheEXT";
1847 case ObjectType::eAccelerationStructureNV: return "AccelerationStructureNV";
1848 case ObjectType::ePerformanceConfigurationINTEL: return "PerformanceConfigurationINTEL";
1849 case ObjectType::eDeferredOperationKHR: return "DeferredOperationKHR";
1850 case ObjectType::eIndirectCommandsLayoutNV: return "IndirectCommandsLayoutNV";
1851 case ObjectType::ePrivateDataSlotEXT: return "PrivateDataSlotEXT";
1852 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
1853 }
1854 }
1855
1856 enum class VendorId
1857 {
1858 eVIV = VK_VENDOR_ID_VIV,
1859 eVSI = VK_VENDOR_ID_VSI,
1860 eKazan = VK_VENDOR_ID_KAZAN,
1861 eCodeplay = VK_VENDOR_ID_CODEPLAY,
1862 eMESA = VK_VENDOR_ID_MESA,
1863 ePocl = VK_VENDOR_ID_POCL
1864 };
1865
1866 VULKAN_HPP_INLINE std::string to_string( VendorId value )
1867 {
1868 switch ( value )
1869 {
1870 case VendorId::eVIV: return "VIV";
1871 case VendorId::eVSI: return "VSI";
1872 case VendorId::eKazan: return "Kazan";
1873 case VendorId::eCodeplay: return "Codeplay";
1874 case VendorId::eMESA: return "MESA";
1875 case VendorId::ePocl: return "Pocl";
1876 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
1877 }
1878 }
1879
1880 enum class PipelineCacheHeaderVersion
1881 {
1882 eOne = VK_PIPELINE_CACHE_HEADER_VERSION_ONE
1883 };
1884
1885 VULKAN_HPP_INLINE std::string to_string( PipelineCacheHeaderVersion value )
1886 {
1887 switch ( value )
1888 {
1889 case PipelineCacheHeaderVersion::eOne: return "One";
1890 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
1891 }
1892 }
1893
1894 enum class Format
1895 {
1896 eUndefined = VK_FORMAT_UNDEFINED,
1897 eR4G4UnormPack8 = VK_FORMAT_R4G4_UNORM_PACK8,
1898 eR4G4B4A4UnormPack16 = VK_FORMAT_R4G4B4A4_UNORM_PACK16,
1899 eB4G4R4A4UnormPack16 = VK_FORMAT_B4G4R4A4_UNORM_PACK16,
1900 eR5G6B5UnormPack16 = VK_FORMAT_R5G6B5_UNORM_PACK16,
1901 eB5G6R5UnormPack16 = VK_FORMAT_B5G6R5_UNORM_PACK16,
1902 eR5G5B5A1UnormPack16 = VK_FORMAT_R5G5B5A1_UNORM_PACK16,
1903 eB5G5R5A1UnormPack16 = VK_FORMAT_B5G5R5A1_UNORM_PACK16,
1904 eA1R5G5B5UnormPack16 = VK_FORMAT_A1R5G5B5_UNORM_PACK16,
1905 eR8Unorm = VK_FORMAT_R8_UNORM,
1906 eR8Snorm = VK_FORMAT_R8_SNORM,
1907 eR8Uscaled = VK_FORMAT_R8_USCALED,
1908 eR8Sscaled = VK_FORMAT_R8_SSCALED,
1909 eR8Uint = VK_FORMAT_R8_UINT,
1910 eR8Sint = VK_FORMAT_R8_SINT,
1911 eR8Srgb = VK_FORMAT_R8_SRGB,
1912 eR8G8Unorm = VK_FORMAT_R8G8_UNORM,
1913 eR8G8Snorm = VK_FORMAT_R8G8_SNORM,
1914 eR8G8Uscaled = VK_FORMAT_R8G8_USCALED,
1915 eR8G8Sscaled = VK_FORMAT_R8G8_SSCALED,
1916 eR8G8Uint = VK_FORMAT_R8G8_UINT,
1917 eR8G8Sint = VK_FORMAT_R8G8_SINT,
1918 eR8G8Srgb = VK_FORMAT_R8G8_SRGB,
1919 eR8G8B8Unorm = VK_FORMAT_R8G8B8_UNORM,
1920 eR8G8B8Snorm = VK_FORMAT_R8G8B8_SNORM,
1921 eR8G8B8Uscaled = VK_FORMAT_R8G8B8_USCALED,
1922 eR8G8B8Sscaled = VK_FORMAT_R8G8B8_SSCALED,
1923 eR8G8B8Uint = VK_FORMAT_R8G8B8_UINT,
1924 eR8G8B8Sint = VK_FORMAT_R8G8B8_SINT,
1925 eR8G8B8Srgb = VK_FORMAT_R8G8B8_SRGB,
1926 eB8G8R8Unorm = VK_FORMAT_B8G8R8_UNORM,
1927 eB8G8R8Snorm = VK_FORMAT_B8G8R8_SNORM,
1928 eB8G8R8Uscaled = VK_FORMAT_B8G8R8_USCALED,
1929 eB8G8R8Sscaled = VK_FORMAT_B8G8R8_SSCALED,
1930 eB8G8R8Uint = VK_FORMAT_B8G8R8_UINT,
1931 eB8G8R8Sint = VK_FORMAT_B8G8R8_SINT,
1932 eB8G8R8Srgb = VK_FORMAT_B8G8R8_SRGB,
1933 eR8G8B8A8Unorm = VK_FORMAT_R8G8B8A8_UNORM,
1934 eR8G8B8A8Snorm = VK_FORMAT_R8G8B8A8_SNORM,
1935 eR8G8B8A8Uscaled = VK_FORMAT_R8G8B8A8_USCALED,
1936 eR8G8B8A8Sscaled = VK_FORMAT_R8G8B8A8_SSCALED,
1937 eR8G8B8A8Uint = VK_FORMAT_R8G8B8A8_UINT,
1938 eR8G8B8A8Sint = VK_FORMAT_R8G8B8A8_SINT,
1939 eR8G8B8A8Srgb = VK_FORMAT_R8G8B8A8_SRGB,
1940 eB8G8R8A8Unorm = VK_FORMAT_B8G8R8A8_UNORM,
1941 eB8G8R8A8Snorm = VK_FORMAT_B8G8R8A8_SNORM,
1942 eB8G8R8A8Uscaled = VK_FORMAT_B8G8R8A8_USCALED,
1943 eB8G8R8A8Sscaled = VK_FORMAT_B8G8R8A8_SSCALED,
1944 eB8G8R8A8Uint = VK_FORMAT_B8G8R8A8_UINT,
1945 eB8G8R8A8Sint = VK_FORMAT_B8G8R8A8_SINT,
1946 eB8G8R8A8Srgb = VK_FORMAT_B8G8R8A8_SRGB,
1947 eA8B8G8R8UnormPack32 = VK_FORMAT_A8B8G8R8_UNORM_PACK32,
1948 eA8B8G8R8SnormPack32 = VK_FORMAT_A8B8G8R8_SNORM_PACK32,
1949 eA8B8G8R8UscaledPack32 = VK_FORMAT_A8B8G8R8_USCALED_PACK32,
1950 eA8B8G8R8SscaledPack32 = VK_FORMAT_A8B8G8R8_SSCALED_PACK32,
1951 eA8B8G8R8UintPack32 = VK_FORMAT_A8B8G8R8_UINT_PACK32,
1952 eA8B8G8R8SintPack32 = VK_FORMAT_A8B8G8R8_SINT_PACK32,
1953 eA8B8G8R8SrgbPack32 = VK_FORMAT_A8B8G8R8_SRGB_PACK32,
1954 eA2R10G10B10UnormPack32 = VK_FORMAT_A2R10G10B10_UNORM_PACK32,
1955 eA2R10G10B10SnormPack32 = VK_FORMAT_A2R10G10B10_SNORM_PACK32,
1956 eA2R10G10B10UscaledPack32 = VK_FORMAT_A2R10G10B10_USCALED_PACK32,
1957 eA2R10G10B10SscaledPack32 = VK_FORMAT_A2R10G10B10_SSCALED_PACK32,
1958 eA2R10G10B10UintPack32 = VK_FORMAT_A2R10G10B10_UINT_PACK32,
1959 eA2R10G10B10SintPack32 = VK_FORMAT_A2R10G10B10_SINT_PACK32,
1960 eA2B10G10R10UnormPack32 = VK_FORMAT_A2B10G10R10_UNORM_PACK32,
1961 eA2B10G10R10SnormPack32 = VK_FORMAT_A2B10G10R10_SNORM_PACK32,
1962 eA2B10G10R10UscaledPack32 = VK_FORMAT_A2B10G10R10_USCALED_PACK32,
1963 eA2B10G10R10SscaledPack32 = VK_FORMAT_A2B10G10R10_SSCALED_PACK32,
1964 eA2B10G10R10UintPack32 = VK_FORMAT_A2B10G10R10_UINT_PACK32,
1965 eA2B10G10R10SintPack32 = VK_FORMAT_A2B10G10R10_SINT_PACK32,
1966 eR16Unorm = VK_FORMAT_R16_UNORM,
1967 eR16Snorm = VK_FORMAT_R16_SNORM,
1968 eR16Uscaled = VK_FORMAT_R16_USCALED,
1969 eR16Sscaled = VK_FORMAT_R16_SSCALED,
1970 eR16Uint = VK_FORMAT_R16_UINT,
1971 eR16Sint = VK_FORMAT_R16_SINT,
1972 eR16Sfloat = VK_FORMAT_R16_SFLOAT,
1973 eR16G16Unorm = VK_FORMAT_R16G16_UNORM,
1974 eR16G16Snorm = VK_FORMAT_R16G16_SNORM,
1975 eR16G16Uscaled = VK_FORMAT_R16G16_USCALED,
1976 eR16G16Sscaled = VK_FORMAT_R16G16_SSCALED,
1977 eR16G16Uint = VK_FORMAT_R16G16_UINT,
1978 eR16G16Sint = VK_FORMAT_R16G16_SINT,
1979 eR16G16Sfloat = VK_FORMAT_R16G16_SFLOAT,
1980 eR16G16B16Unorm = VK_FORMAT_R16G16B16_UNORM,
1981 eR16G16B16Snorm = VK_FORMAT_R16G16B16_SNORM,
1982 eR16G16B16Uscaled = VK_FORMAT_R16G16B16_USCALED,
1983 eR16G16B16Sscaled = VK_FORMAT_R16G16B16_SSCALED,
1984 eR16G16B16Uint = VK_FORMAT_R16G16B16_UINT,
1985 eR16G16B16Sint = VK_FORMAT_R16G16B16_SINT,
1986 eR16G16B16Sfloat = VK_FORMAT_R16G16B16_SFLOAT,
1987 eR16G16B16A16Unorm = VK_FORMAT_R16G16B16A16_UNORM,
1988 eR16G16B16A16Snorm = VK_FORMAT_R16G16B16A16_SNORM,
1989 eR16G16B16A16Uscaled = VK_FORMAT_R16G16B16A16_USCALED,
1990 eR16G16B16A16Sscaled = VK_FORMAT_R16G16B16A16_SSCALED,
1991 eR16G16B16A16Uint = VK_FORMAT_R16G16B16A16_UINT,
1992 eR16G16B16A16Sint = VK_FORMAT_R16G16B16A16_SINT,
1993 eR16G16B16A16Sfloat = VK_FORMAT_R16G16B16A16_SFLOAT,
1994 eR32Uint = VK_FORMAT_R32_UINT,
1995 eR32Sint = VK_FORMAT_R32_SINT,
1996 eR32Sfloat = VK_FORMAT_R32_SFLOAT,
1997 eR32G32Uint = VK_FORMAT_R32G32_UINT,
1998 eR32G32Sint = VK_FORMAT_R32G32_SINT,
1999 eR32G32Sfloat = VK_FORMAT_R32G32_SFLOAT,
2000 eR32G32B32Uint = VK_FORMAT_R32G32B32_UINT,
2001 eR32G32B32Sint = VK_FORMAT_R32G32B32_SINT,
2002 eR32G32B32Sfloat = VK_FORMAT_R32G32B32_SFLOAT,
2003 eR32G32B32A32Uint = VK_FORMAT_R32G32B32A32_UINT,
2004 eR32G32B32A32Sint = VK_FORMAT_R32G32B32A32_SINT,
2005 eR32G32B32A32Sfloat = VK_FORMAT_R32G32B32A32_SFLOAT,
2006 eR64Uint = VK_FORMAT_R64_UINT,
2007 eR64Sint = VK_FORMAT_R64_SINT,
2008 eR64Sfloat = VK_FORMAT_R64_SFLOAT,
2009 eR64G64Uint = VK_FORMAT_R64G64_UINT,
2010 eR64G64Sint = VK_FORMAT_R64G64_SINT,
2011 eR64G64Sfloat = VK_FORMAT_R64G64_SFLOAT,
2012 eR64G64B64Uint = VK_FORMAT_R64G64B64_UINT,
2013 eR64G64B64Sint = VK_FORMAT_R64G64B64_SINT,
2014 eR64G64B64Sfloat = VK_FORMAT_R64G64B64_SFLOAT,
2015 eR64G64B64A64Uint = VK_FORMAT_R64G64B64A64_UINT,
2016 eR64G64B64A64Sint = VK_FORMAT_R64G64B64A64_SINT,
2017 eR64G64B64A64Sfloat = VK_FORMAT_R64G64B64A64_SFLOAT,
2018 eB10G11R11UfloatPack32 = VK_FORMAT_B10G11R11_UFLOAT_PACK32,
2019 eE5B9G9R9UfloatPack32 = VK_FORMAT_E5B9G9R9_UFLOAT_PACK32,
2020 eD16Unorm = VK_FORMAT_D16_UNORM,
2021 eX8D24UnormPack32 = VK_FORMAT_X8_D24_UNORM_PACK32,
2022 eD32Sfloat = VK_FORMAT_D32_SFLOAT,
2023 eS8Uint = VK_FORMAT_S8_UINT,
2024 eD16UnormS8Uint = VK_FORMAT_D16_UNORM_S8_UINT,
2025 eD24UnormS8Uint = VK_FORMAT_D24_UNORM_S8_UINT,
2026 eD32SfloatS8Uint = VK_FORMAT_D32_SFLOAT_S8_UINT,
2027 eBc1RgbUnormBlock = VK_FORMAT_BC1_RGB_UNORM_BLOCK,
2028 eBc1RgbSrgbBlock = VK_FORMAT_BC1_RGB_SRGB_BLOCK,
2029 eBc1RgbaUnormBlock = VK_FORMAT_BC1_RGBA_UNORM_BLOCK,
2030 eBc1RgbaSrgbBlock = VK_FORMAT_BC1_RGBA_SRGB_BLOCK,
2031 eBc2UnormBlock = VK_FORMAT_BC2_UNORM_BLOCK,
2032 eBc2SrgbBlock = VK_FORMAT_BC2_SRGB_BLOCK,
2033 eBc3UnormBlock = VK_FORMAT_BC3_UNORM_BLOCK,
2034 eBc3SrgbBlock = VK_FORMAT_BC3_SRGB_BLOCK,
2035 eBc4UnormBlock = VK_FORMAT_BC4_UNORM_BLOCK,
2036 eBc4SnormBlock = VK_FORMAT_BC4_SNORM_BLOCK,
2037 eBc5UnormBlock = VK_FORMAT_BC5_UNORM_BLOCK,
2038 eBc5SnormBlock = VK_FORMAT_BC5_SNORM_BLOCK,
2039 eBc6HUfloatBlock = VK_FORMAT_BC6H_UFLOAT_BLOCK,
2040 eBc6HSfloatBlock = VK_FORMAT_BC6H_SFLOAT_BLOCK,
2041 eBc7UnormBlock = VK_FORMAT_BC7_UNORM_BLOCK,
2042 eBc7SrgbBlock = VK_FORMAT_BC7_SRGB_BLOCK,
2043 eEtc2R8G8B8UnormBlock = VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK,
2044 eEtc2R8G8B8SrgbBlock = VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK,
2045 eEtc2R8G8B8A1UnormBlock = VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK,
2046 eEtc2R8G8B8A1SrgbBlock = VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK,
2047 eEtc2R8G8B8A8UnormBlock = VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK,
2048 eEtc2R8G8B8A8SrgbBlock = VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK,
2049 eEacR11UnormBlock = VK_FORMAT_EAC_R11_UNORM_BLOCK,
2050 eEacR11SnormBlock = VK_FORMAT_EAC_R11_SNORM_BLOCK,
2051 eEacR11G11UnormBlock = VK_FORMAT_EAC_R11G11_UNORM_BLOCK,
2052 eEacR11G11SnormBlock = VK_FORMAT_EAC_R11G11_SNORM_BLOCK,
2053 eAstc4x4UnormBlock = VK_FORMAT_ASTC_4x4_UNORM_BLOCK,
2054 eAstc4x4SrgbBlock = VK_FORMAT_ASTC_4x4_SRGB_BLOCK,
2055 eAstc5x4UnormBlock = VK_FORMAT_ASTC_5x4_UNORM_BLOCK,
2056 eAstc5x4SrgbBlock = VK_FORMAT_ASTC_5x4_SRGB_BLOCK,
2057 eAstc5x5UnormBlock = VK_FORMAT_ASTC_5x5_UNORM_BLOCK,
2058 eAstc5x5SrgbBlock = VK_FORMAT_ASTC_5x5_SRGB_BLOCK,
2059 eAstc6x5UnormBlock = VK_FORMAT_ASTC_6x5_UNORM_BLOCK,
2060 eAstc6x5SrgbBlock = VK_FORMAT_ASTC_6x5_SRGB_BLOCK,
2061 eAstc6x6UnormBlock = VK_FORMAT_ASTC_6x6_UNORM_BLOCK,
2062 eAstc6x6SrgbBlock = VK_FORMAT_ASTC_6x6_SRGB_BLOCK,
2063 eAstc8x5UnormBlock = VK_FORMAT_ASTC_8x5_UNORM_BLOCK,
2064 eAstc8x5SrgbBlock = VK_FORMAT_ASTC_8x5_SRGB_BLOCK,
2065 eAstc8x6UnormBlock = VK_FORMAT_ASTC_8x6_UNORM_BLOCK,
2066 eAstc8x6SrgbBlock = VK_FORMAT_ASTC_8x6_SRGB_BLOCK,
2067 eAstc8x8UnormBlock = VK_FORMAT_ASTC_8x8_UNORM_BLOCK,
2068 eAstc8x8SrgbBlock = VK_FORMAT_ASTC_8x8_SRGB_BLOCK,
2069 eAstc10x5UnormBlock = VK_FORMAT_ASTC_10x5_UNORM_BLOCK,
2070 eAstc10x5SrgbBlock = VK_FORMAT_ASTC_10x5_SRGB_BLOCK,
2071 eAstc10x6UnormBlock = VK_FORMAT_ASTC_10x6_UNORM_BLOCK,
2072 eAstc10x6SrgbBlock = VK_FORMAT_ASTC_10x6_SRGB_BLOCK,
2073 eAstc10x8UnormBlock = VK_FORMAT_ASTC_10x8_UNORM_BLOCK,
2074 eAstc10x8SrgbBlock = VK_FORMAT_ASTC_10x8_SRGB_BLOCK,
2075 eAstc10x10UnormBlock = VK_FORMAT_ASTC_10x10_UNORM_BLOCK,
2076 eAstc10x10SrgbBlock = VK_FORMAT_ASTC_10x10_SRGB_BLOCK,
2077 eAstc12x10UnormBlock = VK_FORMAT_ASTC_12x10_UNORM_BLOCK,
2078 eAstc12x10SrgbBlock = VK_FORMAT_ASTC_12x10_SRGB_BLOCK,
2079 eAstc12x12UnormBlock = VK_FORMAT_ASTC_12x12_UNORM_BLOCK,
2080 eAstc12x12SrgbBlock = VK_FORMAT_ASTC_12x12_SRGB_BLOCK,
2081 eG8B8G8R8422Unorm = VK_FORMAT_G8B8G8R8_422_UNORM,
2082 eB8G8R8G8422Unorm = VK_FORMAT_B8G8R8G8_422_UNORM,
2083 eG8B8R83Plane420Unorm = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
2084 eG8B8R82Plane420Unorm = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
2085 eG8B8R83Plane422Unorm = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
2086 eG8B8R82Plane422Unorm = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
2087 eG8B8R83Plane444Unorm = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
2088 eR10X6UnormPack16 = VK_FORMAT_R10X6_UNORM_PACK16,
2089 eR10X6G10X6Unorm2Pack16 = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
2090 eR10X6G10X6B10X6A10X6Unorm4Pack16 = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
2091 eG10X6B10X6G10X6R10X6422Unorm4Pack16 = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
2092 eB10X6G10X6R10X6G10X6422Unorm4Pack16 = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
2093 eG10X6B10X6R10X63Plane420Unorm3Pack16 = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
2094 eG10X6B10X6R10X62Plane420Unorm3Pack16 = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
2095 eG10X6B10X6R10X63Plane422Unorm3Pack16 = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
2096 eG10X6B10X6R10X62Plane422Unorm3Pack16 = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
2097 eG10X6B10X6R10X63Plane444Unorm3Pack16 = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
2098 eR12X4UnormPack16 = VK_FORMAT_R12X4_UNORM_PACK16,
2099 eR12X4G12X4Unorm2Pack16 = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
2100 eR12X4G12X4B12X4A12X4Unorm4Pack16 = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
2101 eG12X4B12X4G12X4R12X4422Unorm4Pack16 = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
2102 eB12X4G12X4R12X4G12X4422Unorm4Pack16 = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
2103 eG12X4B12X4R12X43Plane420Unorm3Pack16 = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
2104 eG12X4B12X4R12X42Plane420Unorm3Pack16 = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
2105 eG12X4B12X4R12X43Plane422Unorm3Pack16 = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
2106 eG12X4B12X4R12X42Plane422Unorm3Pack16 = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
2107 eG12X4B12X4R12X43Plane444Unorm3Pack16 = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
2108 eG16B16G16R16422Unorm = VK_FORMAT_G16B16G16R16_422_UNORM,
2109 eB16G16R16G16422Unorm = VK_FORMAT_B16G16R16G16_422_UNORM,
2110 eG16B16R163Plane420Unorm = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
2111 eG16B16R162Plane420Unorm = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
2112 eG16B16R163Plane422Unorm = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
2113 eG16B16R162Plane422Unorm = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
2114 eG16B16R163Plane444Unorm = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
2115 ePvrtc12BppUnormBlockIMG = VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG,
2116 ePvrtc14BppUnormBlockIMG = VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG,
2117 ePvrtc22BppUnormBlockIMG = VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG,
2118 ePvrtc24BppUnormBlockIMG = VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG,
2119 ePvrtc12BppSrgbBlockIMG = VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG,
2120 ePvrtc14BppSrgbBlockIMG = VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG,
2121 ePvrtc22BppSrgbBlockIMG = VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG,
2122 ePvrtc24BppSrgbBlockIMG = VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG,
2123 eAstc4x4SfloatBlockEXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT,
2124 eAstc5x4SfloatBlockEXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT,
2125 eAstc5x5SfloatBlockEXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT,
2126 eAstc6x5SfloatBlockEXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT,
2127 eAstc6x6SfloatBlockEXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT,
2128 eAstc8x5SfloatBlockEXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT,
2129 eAstc8x6SfloatBlockEXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT,
2130 eAstc8x8SfloatBlockEXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT,
2131 eAstc10x5SfloatBlockEXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT,
2132 eAstc10x6SfloatBlockEXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT,
2133 eAstc10x8SfloatBlockEXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT,
2134 eAstc10x10SfloatBlockEXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT,
2135 eAstc12x10SfloatBlockEXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT,
2136 eAstc12x12SfloatBlockEXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT,
2137 eG8B8R82Plane444UnormEXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT,
2138 eG10X6B10X6R10X62Plane444Unorm3Pack16EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT,
2139 eG12X4B12X4R12X42Plane444Unorm3Pack16EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT,
2140 eG16B16R162Plane444UnormEXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT,
2141 eA4R4G4B4UnormPack16EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT,
2142 eA4B4G4R4UnormPack16EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT,
2143 eB10X6G10X6R10X6G10X6422Unorm4Pack16KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR,
2144 eB12X4G12X4R12X4G12X4422Unorm4Pack16KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR,
2145 eB16G16R16G16422UnormKHR = VK_FORMAT_B16G16R16G16_422_UNORM_KHR,
2146 eB8G8R8G8422UnormKHR = VK_FORMAT_B8G8R8G8_422_UNORM_KHR,
2147 eG10X6B10X6G10X6R10X6422Unorm4Pack16KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR,
2148 eG10X6B10X6R10X62Plane420Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR,
2149 eG10X6B10X6R10X62Plane422Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR,
2150 eG10X6B10X6R10X63Plane420Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR,
2151 eG10X6B10X6R10X63Plane422Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR,
2152 eG10X6B10X6R10X63Plane444Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR,
2153 eG12X4B12X4G12X4R12X4422Unorm4Pack16KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR,
2154 eG12X4B12X4R12X42Plane420Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR,
2155 eG12X4B12X4R12X42Plane422Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR,
2156 eG12X4B12X4R12X43Plane420Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR,
2157 eG12X4B12X4R12X43Plane422Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR,
2158 eG12X4B12X4R12X43Plane444Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR,
2159 eG16B16G16R16422UnormKHR = VK_FORMAT_G16B16G16R16_422_UNORM_KHR,
2160 eG16B16R162Plane420UnormKHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR,
2161 eG16B16R162Plane422UnormKHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR,
2162 eG16B16R163Plane420UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR,
2163 eG16B16R163Plane422UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR,
2164 eG16B16R163Plane444UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR,
2165 eG8B8G8R8422UnormKHR = VK_FORMAT_G8B8G8R8_422_UNORM_KHR,
2166 eG8B8R82Plane420UnormKHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR,
2167 eG8B8R82Plane422UnormKHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR,
2168 eG8B8R83Plane420UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR,
2169 eG8B8R83Plane422UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR,
2170 eG8B8R83Plane444UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR,
2171 eR10X6G10X6B10X6A10X6Unorm4Pack16KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR,
2172 eR10X6G10X6Unorm2Pack16KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR,
2173 eR10X6UnormPack16KHR = VK_FORMAT_R10X6_UNORM_PACK16_KHR,
2174 eR12X4G12X4B12X4A12X4Unorm4Pack16KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR,
2175 eR12X4G12X4Unorm2Pack16KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR,
2176 eR12X4UnormPack16KHR = VK_FORMAT_R12X4_UNORM_PACK16_KHR
2177 };
2178
2179 VULKAN_HPP_INLINE std::string to_string( Format value )
2180 {
2181 switch ( value )
2182 {
2183 case Format::eUndefined: return "Undefined";
2184 case Format::eR4G4UnormPack8: return "R4G4UnormPack8";
2185 case Format::eR4G4B4A4UnormPack16: return "R4G4B4A4UnormPack16";
2186 case Format::eB4G4R4A4UnormPack16: return "B4G4R4A4UnormPack16";
2187 case Format::eR5G6B5UnormPack16: return "R5G6B5UnormPack16";
2188 case Format::eB5G6R5UnormPack16: return "B5G6R5UnormPack16";
2189 case Format::eR5G5B5A1UnormPack16: return "R5G5B5A1UnormPack16";
2190 case Format::eB5G5R5A1UnormPack16: return "B5G5R5A1UnormPack16";
2191 case Format::eA1R5G5B5UnormPack16: return "A1R5G5B5UnormPack16";
2192 case Format::eR8Unorm: return "R8Unorm";
2193 case Format::eR8Snorm: return "R8Snorm";
2194 case Format::eR8Uscaled: return "R8Uscaled";
2195 case Format::eR8Sscaled: return "R8Sscaled";
2196 case Format::eR8Uint: return "R8Uint";
2197 case Format::eR8Sint: return "R8Sint";
2198 case Format::eR8Srgb: return "R8Srgb";
2199 case Format::eR8G8Unorm: return "R8G8Unorm";
2200 case Format::eR8G8Snorm: return "R8G8Snorm";
2201 case Format::eR8G8Uscaled: return "R8G8Uscaled";
2202 case Format::eR8G8Sscaled: return "R8G8Sscaled";
2203 case Format::eR8G8Uint: return "R8G8Uint";
2204 case Format::eR8G8Sint: return "R8G8Sint";
2205 case Format::eR8G8Srgb: return "R8G8Srgb";
2206 case Format::eR8G8B8Unorm: return "R8G8B8Unorm";
2207 case Format::eR8G8B8Snorm: return "R8G8B8Snorm";
2208 case Format::eR8G8B8Uscaled: return "R8G8B8Uscaled";
2209 case Format::eR8G8B8Sscaled: return "R8G8B8Sscaled";
2210 case Format::eR8G8B8Uint: return "R8G8B8Uint";
2211 case Format::eR8G8B8Sint: return "R8G8B8Sint";
2212 case Format::eR8G8B8Srgb: return "R8G8B8Srgb";
2213 case Format::eB8G8R8Unorm: return "B8G8R8Unorm";
2214 case Format::eB8G8R8Snorm: return "B8G8R8Snorm";
2215 case Format::eB8G8R8Uscaled: return "B8G8R8Uscaled";
2216 case Format::eB8G8R8Sscaled: return "B8G8R8Sscaled";
2217 case Format::eB8G8R8Uint: return "B8G8R8Uint";
2218 case Format::eB8G8R8Sint: return "B8G8R8Sint";
2219 case Format::eB8G8R8Srgb: return "B8G8R8Srgb";
2220 case Format::eR8G8B8A8Unorm: return "R8G8B8A8Unorm";
2221 case Format::eR8G8B8A8Snorm: return "R8G8B8A8Snorm";
2222 case Format::eR8G8B8A8Uscaled: return "R8G8B8A8Uscaled";
2223 case Format::eR8G8B8A8Sscaled: return "R8G8B8A8Sscaled";
2224 case Format::eR8G8B8A8Uint: return "R8G8B8A8Uint";
2225 case Format::eR8G8B8A8Sint: return "R8G8B8A8Sint";
2226 case Format::eR8G8B8A8Srgb: return "R8G8B8A8Srgb";
2227 case Format::eB8G8R8A8Unorm: return "B8G8R8A8Unorm";
2228 case Format::eB8G8R8A8Snorm: return "B8G8R8A8Snorm";
2229 case Format::eB8G8R8A8Uscaled: return "B8G8R8A8Uscaled";
2230 case Format::eB8G8R8A8Sscaled: return "B8G8R8A8Sscaled";
2231 case Format::eB8G8R8A8Uint: return "B8G8R8A8Uint";
2232 case Format::eB8G8R8A8Sint: return "B8G8R8A8Sint";
2233 case Format::eB8G8R8A8Srgb: return "B8G8R8A8Srgb";
2234 case Format::eA8B8G8R8UnormPack32: return "A8B8G8R8UnormPack32";
2235 case Format::eA8B8G8R8SnormPack32: return "A8B8G8R8SnormPack32";
2236 case Format::eA8B8G8R8UscaledPack32: return "A8B8G8R8UscaledPack32";
2237 case Format::eA8B8G8R8SscaledPack32: return "A8B8G8R8SscaledPack32";
2238 case Format::eA8B8G8R8UintPack32: return "A8B8G8R8UintPack32";
2239 case Format::eA8B8G8R8SintPack32: return "A8B8G8R8SintPack32";
2240 case Format::eA8B8G8R8SrgbPack32: return "A8B8G8R8SrgbPack32";
2241 case Format::eA2R10G10B10UnormPack32: return "A2R10G10B10UnormPack32";
2242 case Format::eA2R10G10B10SnormPack32: return "A2R10G10B10SnormPack32";
2243 case Format::eA2R10G10B10UscaledPack32: return "A2R10G10B10UscaledPack32";
2244 case Format::eA2R10G10B10SscaledPack32: return "A2R10G10B10SscaledPack32";
2245 case Format::eA2R10G10B10UintPack32: return "A2R10G10B10UintPack32";
2246 case Format::eA2R10G10B10SintPack32: return "A2R10G10B10SintPack32";
2247 case Format::eA2B10G10R10UnormPack32: return "A2B10G10R10UnormPack32";
2248 case Format::eA2B10G10R10SnormPack32: return "A2B10G10R10SnormPack32";
2249 case Format::eA2B10G10R10UscaledPack32: return "A2B10G10R10UscaledPack32";
2250 case Format::eA2B10G10R10SscaledPack32: return "A2B10G10R10SscaledPack32";
2251 case Format::eA2B10G10R10UintPack32: return "A2B10G10R10UintPack32";
2252 case Format::eA2B10G10R10SintPack32: return "A2B10G10R10SintPack32";
2253 case Format::eR16Unorm: return "R16Unorm";
2254 case Format::eR16Snorm: return "R16Snorm";
2255 case Format::eR16Uscaled: return "R16Uscaled";
2256 case Format::eR16Sscaled: return "R16Sscaled";
2257 case Format::eR16Uint: return "R16Uint";
2258 case Format::eR16Sint: return "R16Sint";
2259 case Format::eR16Sfloat: return "R16Sfloat";
2260 case Format::eR16G16Unorm: return "R16G16Unorm";
2261 case Format::eR16G16Snorm: return "R16G16Snorm";
2262 case Format::eR16G16Uscaled: return "R16G16Uscaled";
2263 case Format::eR16G16Sscaled: return "R16G16Sscaled";
2264 case Format::eR16G16Uint: return "R16G16Uint";
2265 case Format::eR16G16Sint: return "R16G16Sint";
2266 case Format::eR16G16Sfloat: return "R16G16Sfloat";
2267 case Format::eR16G16B16Unorm: return "R16G16B16Unorm";
2268 case Format::eR16G16B16Snorm: return "R16G16B16Snorm";
2269 case Format::eR16G16B16Uscaled: return "R16G16B16Uscaled";
2270 case Format::eR16G16B16Sscaled: return "R16G16B16Sscaled";
2271 case Format::eR16G16B16Uint: return "R16G16B16Uint";
2272 case Format::eR16G16B16Sint: return "R16G16B16Sint";
2273 case Format::eR16G16B16Sfloat: return "R16G16B16Sfloat";
2274 case Format::eR16G16B16A16Unorm: return "R16G16B16A16Unorm";
2275 case Format::eR16G16B16A16Snorm: return "R16G16B16A16Snorm";
2276 case Format::eR16G16B16A16Uscaled: return "R16G16B16A16Uscaled";
2277 case Format::eR16G16B16A16Sscaled: return "R16G16B16A16Sscaled";
2278 case Format::eR16G16B16A16Uint: return "R16G16B16A16Uint";
2279 case Format::eR16G16B16A16Sint: return "R16G16B16A16Sint";
2280 case Format::eR16G16B16A16Sfloat: return "R16G16B16A16Sfloat";
2281 case Format::eR32Uint: return "R32Uint";
2282 case Format::eR32Sint: return "R32Sint";
2283 case Format::eR32Sfloat: return "R32Sfloat";
2284 case Format::eR32G32Uint: return "R32G32Uint";
2285 case Format::eR32G32Sint: return "R32G32Sint";
2286 case Format::eR32G32Sfloat: return "R32G32Sfloat";
2287 case Format::eR32G32B32Uint: return "R32G32B32Uint";
2288 case Format::eR32G32B32Sint: return "R32G32B32Sint";
2289 case Format::eR32G32B32Sfloat: return "R32G32B32Sfloat";
2290 case Format::eR32G32B32A32Uint: return "R32G32B32A32Uint";
2291 case Format::eR32G32B32A32Sint: return "R32G32B32A32Sint";
2292 case Format::eR32G32B32A32Sfloat: return "R32G32B32A32Sfloat";
2293 case Format::eR64Uint: return "R64Uint";
2294 case Format::eR64Sint: return "R64Sint";
2295 case Format::eR64Sfloat: return "R64Sfloat";
2296 case Format::eR64G64Uint: return "R64G64Uint";
2297 case Format::eR64G64Sint: return "R64G64Sint";
2298 case Format::eR64G64Sfloat: return "R64G64Sfloat";
2299 case Format::eR64G64B64Uint: return "R64G64B64Uint";
2300 case Format::eR64G64B64Sint: return "R64G64B64Sint";
2301 case Format::eR64G64B64Sfloat: return "R64G64B64Sfloat";
2302 case Format::eR64G64B64A64Uint: return "R64G64B64A64Uint";
2303 case Format::eR64G64B64A64Sint: return "R64G64B64A64Sint";
2304 case Format::eR64G64B64A64Sfloat: return "R64G64B64A64Sfloat";
2305 case Format::eB10G11R11UfloatPack32: return "B10G11R11UfloatPack32";
2306 case Format::eE5B9G9R9UfloatPack32: return "E5B9G9R9UfloatPack32";
2307 case Format::eD16Unorm: return "D16Unorm";
2308 case Format::eX8D24UnormPack32: return "X8D24UnormPack32";
2309 case Format::eD32Sfloat: return "D32Sfloat";
2310 case Format::eS8Uint: return "S8Uint";
2311 case Format::eD16UnormS8Uint: return "D16UnormS8Uint";
2312 case Format::eD24UnormS8Uint: return "D24UnormS8Uint";
2313 case Format::eD32SfloatS8Uint: return "D32SfloatS8Uint";
2314 case Format::eBc1RgbUnormBlock: return "Bc1RgbUnormBlock";
2315 case Format::eBc1RgbSrgbBlock: return "Bc1RgbSrgbBlock";
2316 case Format::eBc1RgbaUnormBlock: return "Bc1RgbaUnormBlock";
2317 case Format::eBc1RgbaSrgbBlock: return "Bc1RgbaSrgbBlock";
2318 case Format::eBc2UnormBlock: return "Bc2UnormBlock";
2319 case Format::eBc2SrgbBlock: return "Bc2SrgbBlock";
2320 case Format::eBc3UnormBlock: return "Bc3UnormBlock";
2321 case Format::eBc3SrgbBlock: return "Bc3SrgbBlock";
2322 case Format::eBc4UnormBlock: return "Bc4UnormBlock";
2323 case Format::eBc4SnormBlock: return "Bc4SnormBlock";
2324 case Format::eBc5UnormBlock: return "Bc5UnormBlock";
2325 case Format::eBc5SnormBlock: return "Bc5SnormBlock";
2326 case Format::eBc6HUfloatBlock: return "Bc6HUfloatBlock";
2327 case Format::eBc6HSfloatBlock: return "Bc6HSfloatBlock";
2328 case Format::eBc7UnormBlock: return "Bc7UnormBlock";
2329 case Format::eBc7SrgbBlock: return "Bc7SrgbBlock";
2330 case Format::eEtc2R8G8B8UnormBlock: return "Etc2R8G8B8UnormBlock";
2331 case Format::eEtc2R8G8B8SrgbBlock: return "Etc2R8G8B8SrgbBlock";
2332 case Format::eEtc2R8G8B8A1UnormBlock: return "Etc2R8G8B8A1UnormBlock";
2333 case Format::eEtc2R8G8B8A1SrgbBlock: return "Etc2R8G8B8A1SrgbBlock";
2334 case Format::eEtc2R8G8B8A8UnormBlock: return "Etc2R8G8B8A8UnormBlock";
2335 case Format::eEtc2R8G8B8A8SrgbBlock: return "Etc2R8G8B8A8SrgbBlock";
2336 case Format::eEacR11UnormBlock: return "EacR11UnormBlock";
2337 case Format::eEacR11SnormBlock: return "EacR11SnormBlock";
2338 case Format::eEacR11G11UnormBlock: return "EacR11G11UnormBlock";
2339 case Format::eEacR11G11SnormBlock: return "EacR11G11SnormBlock";
2340 case Format::eAstc4x4UnormBlock: return "Astc4x4UnormBlock";
2341 case Format::eAstc4x4SrgbBlock: return "Astc4x4SrgbBlock";
2342 case Format::eAstc5x4UnormBlock: return "Astc5x4UnormBlock";
2343 case Format::eAstc5x4SrgbBlock: return "Astc5x4SrgbBlock";
2344 case Format::eAstc5x5UnormBlock: return "Astc5x5UnormBlock";
2345 case Format::eAstc5x5SrgbBlock: return "Astc5x5SrgbBlock";
2346 case Format::eAstc6x5UnormBlock: return "Astc6x5UnormBlock";
2347 case Format::eAstc6x5SrgbBlock: return "Astc6x5SrgbBlock";
2348 case Format::eAstc6x6UnormBlock: return "Astc6x6UnormBlock";
2349 case Format::eAstc6x6SrgbBlock: return "Astc6x6SrgbBlock";
2350 case Format::eAstc8x5UnormBlock: return "Astc8x5UnormBlock";
2351 case Format::eAstc8x5SrgbBlock: return "Astc8x5SrgbBlock";
2352 case Format::eAstc8x6UnormBlock: return "Astc8x6UnormBlock";
2353 case Format::eAstc8x6SrgbBlock: return "Astc8x6SrgbBlock";
2354 case Format::eAstc8x8UnormBlock: return "Astc8x8UnormBlock";
2355 case Format::eAstc8x8SrgbBlock: return "Astc8x8SrgbBlock";
2356 case Format::eAstc10x5UnormBlock: return "Astc10x5UnormBlock";
2357 case Format::eAstc10x5SrgbBlock: return "Astc10x5SrgbBlock";
2358 case Format::eAstc10x6UnormBlock: return "Astc10x6UnormBlock";
2359 case Format::eAstc10x6SrgbBlock: return "Astc10x6SrgbBlock";
2360 case Format::eAstc10x8UnormBlock: return "Astc10x8UnormBlock";
2361 case Format::eAstc10x8SrgbBlock: return "Astc10x8SrgbBlock";
2362 case Format::eAstc10x10UnormBlock: return "Astc10x10UnormBlock";
2363 case Format::eAstc10x10SrgbBlock: return "Astc10x10SrgbBlock";
2364 case Format::eAstc12x10UnormBlock: return "Astc12x10UnormBlock";
2365 case Format::eAstc12x10SrgbBlock: return "Astc12x10SrgbBlock";
2366 case Format::eAstc12x12UnormBlock: return "Astc12x12UnormBlock";
2367 case Format::eAstc12x12SrgbBlock: return "Astc12x12SrgbBlock";
2368 case Format::eG8B8G8R8422Unorm: return "G8B8G8R8422Unorm";
2369 case Format::eB8G8R8G8422Unorm: return "B8G8R8G8422Unorm";
2370 case Format::eG8B8R83Plane420Unorm: return "G8B8R83Plane420Unorm";
2371 case Format::eG8B8R82Plane420Unorm: return "G8B8R82Plane420Unorm";
2372 case Format::eG8B8R83Plane422Unorm: return "G8B8R83Plane422Unorm";
2373 case Format::eG8B8R82Plane422Unorm: return "G8B8R82Plane422Unorm";
2374 case Format::eG8B8R83Plane444Unorm: return "G8B8R83Plane444Unorm";
2375 case Format::eR10X6UnormPack16: return "R10X6UnormPack16";
2376 case Format::eR10X6G10X6Unorm2Pack16: return "R10X6G10X6Unorm2Pack16";
2377 case Format::eR10X6G10X6B10X6A10X6Unorm4Pack16: return "R10X6G10X6B10X6A10X6Unorm4Pack16";
2378 case Format::eG10X6B10X6G10X6R10X6422Unorm4Pack16: return "G10X6B10X6G10X6R10X6422Unorm4Pack16";
2379 case Format::eB10X6G10X6R10X6G10X6422Unorm4Pack16: return "B10X6G10X6R10X6G10X6422Unorm4Pack16";
2380 case Format::eG10X6B10X6R10X63Plane420Unorm3Pack16: return "G10X6B10X6R10X63Plane420Unorm3Pack16";
2381 case Format::eG10X6B10X6R10X62Plane420Unorm3Pack16: return "G10X6B10X6R10X62Plane420Unorm3Pack16";
2382 case Format::eG10X6B10X6R10X63Plane422Unorm3Pack16: return "G10X6B10X6R10X63Plane422Unorm3Pack16";
2383 case Format::eG10X6B10X6R10X62Plane422Unorm3Pack16: return "G10X6B10X6R10X62Plane422Unorm3Pack16";
2384 case Format::eG10X6B10X6R10X63Plane444Unorm3Pack16: return "G10X6B10X6R10X63Plane444Unorm3Pack16";
2385 case Format::eR12X4UnormPack16: return "R12X4UnormPack16";
2386 case Format::eR12X4G12X4Unorm2Pack16: return "R12X4G12X4Unorm2Pack16";
2387 case Format::eR12X4G12X4B12X4A12X4Unorm4Pack16: return "R12X4G12X4B12X4A12X4Unorm4Pack16";
2388 case Format::eG12X4B12X4G12X4R12X4422Unorm4Pack16: return "G12X4B12X4G12X4R12X4422Unorm4Pack16";
2389 case Format::eB12X4G12X4R12X4G12X4422Unorm4Pack16: return "B12X4G12X4R12X4G12X4422Unorm4Pack16";
2390 case Format::eG12X4B12X4R12X43Plane420Unorm3Pack16: return "G12X4B12X4R12X43Plane420Unorm3Pack16";
2391 case Format::eG12X4B12X4R12X42Plane420Unorm3Pack16: return "G12X4B12X4R12X42Plane420Unorm3Pack16";
2392 case Format::eG12X4B12X4R12X43Plane422Unorm3Pack16: return "G12X4B12X4R12X43Plane422Unorm3Pack16";
2393 case Format::eG12X4B12X4R12X42Plane422Unorm3Pack16: return "G12X4B12X4R12X42Plane422Unorm3Pack16";
2394 case Format::eG12X4B12X4R12X43Plane444Unorm3Pack16: return "G12X4B12X4R12X43Plane444Unorm3Pack16";
2395 case Format::eG16B16G16R16422Unorm: return "G16B16G16R16422Unorm";
2396 case Format::eB16G16R16G16422Unorm: return "B16G16R16G16422Unorm";
2397 case Format::eG16B16R163Plane420Unorm: return "G16B16R163Plane420Unorm";
2398 case Format::eG16B16R162Plane420Unorm: return "G16B16R162Plane420Unorm";
2399 case Format::eG16B16R163Plane422Unorm: return "G16B16R163Plane422Unorm";
2400 case Format::eG16B16R162Plane422Unorm: return "G16B16R162Plane422Unorm";
2401 case Format::eG16B16R163Plane444Unorm: return "G16B16R163Plane444Unorm";
2402 case Format::ePvrtc12BppUnormBlockIMG: return "Pvrtc12BppUnormBlockIMG";
2403 case Format::ePvrtc14BppUnormBlockIMG: return "Pvrtc14BppUnormBlockIMG";
2404 case Format::ePvrtc22BppUnormBlockIMG: return "Pvrtc22BppUnormBlockIMG";
2405 case Format::ePvrtc24BppUnormBlockIMG: return "Pvrtc24BppUnormBlockIMG";
2406 case Format::ePvrtc12BppSrgbBlockIMG: return "Pvrtc12BppSrgbBlockIMG";
2407 case Format::ePvrtc14BppSrgbBlockIMG: return "Pvrtc14BppSrgbBlockIMG";
2408 case Format::ePvrtc22BppSrgbBlockIMG: return "Pvrtc22BppSrgbBlockIMG";
2409 case Format::ePvrtc24BppSrgbBlockIMG: return "Pvrtc24BppSrgbBlockIMG";
2410 case Format::eAstc4x4SfloatBlockEXT: return "Astc4x4SfloatBlockEXT";
2411 case Format::eAstc5x4SfloatBlockEXT: return "Astc5x4SfloatBlockEXT";
2412 case Format::eAstc5x5SfloatBlockEXT: return "Astc5x5SfloatBlockEXT";
2413 case Format::eAstc6x5SfloatBlockEXT: return "Astc6x5SfloatBlockEXT";
2414 case Format::eAstc6x6SfloatBlockEXT: return "Astc6x6SfloatBlockEXT";
2415 case Format::eAstc8x5SfloatBlockEXT: return "Astc8x5SfloatBlockEXT";
2416 case Format::eAstc8x6SfloatBlockEXT: return "Astc8x6SfloatBlockEXT";
2417 case Format::eAstc8x8SfloatBlockEXT: return "Astc8x8SfloatBlockEXT";
2418 case Format::eAstc10x5SfloatBlockEXT: return "Astc10x5SfloatBlockEXT";
2419 case Format::eAstc10x6SfloatBlockEXT: return "Astc10x6SfloatBlockEXT";
2420 case Format::eAstc10x8SfloatBlockEXT: return "Astc10x8SfloatBlockEXT";
2421 case Format::eAstc10x10SfloatBlockEXT: return "Astc10x10SfloatBlockEXT";
2422 case Format::eAstc12x10SfloatBlockEXT: return "Astc12x10SfloatBlockEXT";
2423 case Format::eAstc12x12SfloatBlockEXT: return "Astc12x12SfloatBlockEXT";
2424 case Format::eG8B8R82Plane444UnormEXT: return "G8B8R82Plane444UnormEXT";
2425 case Format::eG10X6B10X6R10X62Plane444Unorm3Pack16EXT: return "G10X6B10X6R10X62Plane444Unorm3Pack16EXT";
2426 case Format::eG12X4B12X4R12X42Plane444Unorm3Pack16EXT: return "G12X4B12X4R12X42Plane444Unorm3Pack16EXT";
2427 case Format::eG16B16R162Plane444UnormEXT: return "G16B16R162Plane444UnormEXT";
2428 case Format::eA4R4G4B4UnormPack16EXT: return "A4R4G4B4UnormPack16EXT";
2429 case Format::eA4B4G4R4UnormPack16EXT: return "A4B4G4R4UnormPack16EXT";
2430 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
2431 }
2432 }
2433
2434 enum class FormatFeatureFlagBits : VkFormatFeatureFlags
2435 {
2436 eSampledImage = VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT,
2437 eStorageImage = VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT,
2438 eStorageImageAtomic = VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT,
2439 eUniformTexelBuffer = VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT,
2440 eStorageTexelBuffer = VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT,
2441 eStorageTexelBufferAtomic = VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT,
2442 eVertexBuffer = VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT,
2443 eColorAttachment = VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT,
2444 eColorAttachmentBlend = VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT,
2445 eDepthStencilAttachment = VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT,
2446 eBlitSrc = VK_FORMAT_FEATURE_BLIT_SRC_BIT,
2447 eBlitDst = VK_FORMAT_FEATURE_BLIT_DST_BIT,
2448 eSampledImageFilterLinear = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT,
2449 eTransferSrc = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
2450 eTransferDst = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
2451 eMidpointChromaSamples = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
2452 eSampledImageYcbcrConversionLinearFilter = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
2453 eSampledImageYcbcrConversionSeparateReconstructionFilter =
2454 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
2455 eSampledImageYcbcrConversionChromaReconstructionExplicit =
2456 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
2457 eSampledImageYcbcrConversionChromaReconstructionExplicitForceable =
2458 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,
2459 eDisjoint = VK_FORMAT_FEATURE_DISJOINT_BIT,
2460 eCositedChromaSamples = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
2461 eSampledImageFilterMinmax = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
2462 eSampledImageFilterCubicIMG = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
2463#if defined( VK_ENABLE_BETA_EXTENSIONS )
2464 eVideoDecodeOutputKHR = VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR,
2465 eVideoDecodeDpbKHR = VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR,
2466#endif /*VK_ENABLE_BETA_EXTENSIONS*/
2467 eAccelerationStructureVertexBufferKHR = VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR,
2468 eFragmentDensityMapEXT = VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT,
2469 eFragmentShadingRateAttachmentKHR = VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2470#if defined( VK_ENABLE_BETA_EXTENSIONS )
2471 eVideoEncodeInputKHR = VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR,
2472 eVideoEncodeDpbKHR = VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR,
2473#endif /*VK_ENABLE_BETA_EXTENSIONS*/
2474 eCositedChromaSamplesKHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR,
2475 eDisjointKHR = VK_FORMAT_FEATURE_DISJOINT_BIT_KHR,
2476 eMidpointChromaSamplesKHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR,
2477 eSampledImageFilterCubicEXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT,
2478 eSampledImageFilterMinmaxEXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT,
2479 eSampledImageYcbcrConversionChromaReconstructionExplicitKHR =
2480 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR,
2481 eSampledImageYcbcrConversionChromaReconstructionExplicitForceableKHR =
2482 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR,
2483 eSampledImageYcbcrConversionLinearFilterKHR =
2484 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR,
2485 eSampledImageYcbcrConversionSeparateReconstructionFilterKHR =
2486 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR,
2487 eTransferDstKHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR,
2488 eTransferSrcKHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
2489 };
2490
2491 VULKAN_HPP_INLINE std::string to_string( FormatFeatureFlagBits value )
2492 {
2493 switch ( value )
2494 {
2495 case FormatFeatureFlagBits::eSampledImage: return "SampledImage";
2496 case FormatFeatureFlagBits::eStorageImage: return "StorageImage";
2497 case FormatFeatureFlagBits::eStorageImageAtomic: return "StorageImageAtomic";
2498 case FormatFeatureFlagBits::eUniformTexelBuffer: return "UniformTexelBuffer";
2499 case FormatFeatureFlagBits::eStorageTexelBuffer: return "StorageTexelBuffer";
2500 case FormatFeatureFlagBits::eStorageTexelBufferAtomic: return "StorageTexelBufferAtomic";
2501 case FormatFeatureFlagBits::eVertexBuffer: return "VertexBuffer";
2502 case FormatFeatureFlagBits::eColorAttachment: return "ColorAttachment";
2503 case FormatFeatureFlagBits::eColorAttachmentBlend: return "ColorAttachmentBlend";
2504 case FormatFeatureFlagBits::eDepthStencilAttachment: return "DepthStencilAttachment";
2505 case FormatFeatureFlagBits::eBlitSrc: return "BlitSrc";
2506 case FormatFeatureFlagBits::eBlitDst: return "BlitDst";
2507 case FormatFeatureFlagBits::eSampledImageFilterLinear: return "SampledImageFilterLinear";
2508 case FormatFeatureFlagBits::eTransferSrc: return "TransferSrc";
2509 case FormatFeatureFlagBits::eTransferDst: return "TransferDst";
2510 case FormatFeatureFlagBits::eMidpointChromaSamples: return "MidpointChromaSamples";
2511 case FormatFeatureFlagBits::eSampledImageYcbcrConversionLinearFilter:
2512 return "SampledImageYcbcrConversionLinearFilter";
2513 case FormatFeatureFlagBits::eSampledImageYcbcrConversionSeparateReconstructionFilter:
2514 return "SampledImageYcbcrConversionSeparateReconstructionFilter";
2515 case FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicit:
2516 return "SampledImageYcbcrConversionChromaReconstructionExplicit";
2517 case FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable:
2518 return "SampledImageYcbcrConversionChromaReconstructionExplicitForceable";
2519 case FormatFeatureFlagBits::eDisjoint: return "Disjoint";
2520 case FormatFeatureFlagBits::eCositedChromaSamples: return "CositedChromaSamples";
2521 case FormatFeatureFlagBits::eSampledImageFilterMinmax: return "SampledImageFilterMinmax";
2522 case FormatFeatureFlagBits::eSampledImageFilterCubicIMG: return "SampledImageFilterCubicIMG";
2523#if defined( VK_ENABLE_BETA_EXTENSIONS )
2524 case FormatFeatureFlagBits::eVideoDecodeOutputKHR: return "VideoDecodeOutputKHR";
2525 case FormatFeatureFlagBits::eVideoDecodeDpbKHR: return "VideoDecodeDpbKHR";
2526#endif /*VK_ENABLE_BETA_EXTENSIONS*/
2527 case FormatFeatureFlagBits::eAccelerationStructureVertexBufferKHR: return "AccelerationStructureVertexBufferKHR";
2528 case FormatFeatureFlagBits::eFragmentDensityMapEXT: return "FragmentDensityMapEXT";
2529 case FormatFeatureFlagBits::eFragmentShadingRateAttachmentKHR: return "FragmentShadingRateAttachmentKHR";
2530#if defined( VK_ENABLE_BETA_EXTENSIONS )
2531 case FormatFeatureFlagBits::eVideoEncodeInputKHR: return "VideoEncodeInputKHR";
2532 case FormatFeatureFlagBits::eVideoEncodeDpbKHR: return "VideoEncodeDpbKHR";
2533#endif /*VK_ENABLE_BETA_EXTENSIONS*/
2534 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
2535 }
2536 }
2537
2538 enum class ImageCreateFlagBits : VkImageCreateFlags
2539 {
2540 eSparseBinding = VK_IMAGE_CREATE_SPARSE_BINDING_BIT,
2541 eSparseResidency = VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT,
2542 eSparseAliased = VK_IMAGE_CREATE_SPARSE_ALIASED_BIT,
2543 eMutableFormat = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT,
2544 eCubeCompatible = VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT,
2545 eAlias = VK_IMAGE_CREATE_ALIAS_BIT,
2546 eSplitInstanceBindRegions = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
2547 e2DArrayCompatible = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
2548 eBlockTexelViewCompatible = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
2549 eExtendedUsage = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
2550 eProtected = VK_IMAGE_CREATE_PROTECTED_BIT,
2551 eDisjoint = VK_IMAGE_CREATE_DISJOINT_BIT,
2552 eCornerSampledNV = VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV,
2553 eSampleLocationsCompatibleDepthEXT = VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT,
2554 eSubsampledEXT = VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT,
2555 e2DArrayCompatibleKHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR,
2556 eAliasKHR = VK_IMAGE_CREATE_ALIAS_BIT_KHR,
2557 eBlockTexelViewCompatibleKHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR,
2558 eDisjointKHR = VK_IMAGE_CREATE_DISJOINT_BIT_KHR,
2559 eExtendedUsageKHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR,
2560 eSplitInstanceBindRegionsKHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR
2561 };
2562
2563 VULKAN_HPP_INLINE std::string to_string( ImageCreateFlagBits value )
2564 {
2565 switch ( value )
2566 {
2567 case ImageCreateFlagBits::eSparseBinding: return "SparseBinding";
2568 case ImageCreateFlagBits::eSparseResidency: return "SparseResidency";
2569 case ImageCreateFlagBits::eSparseAliased: return "SparseAliased";
2570 case ImageCreateFlagBits::eMutableFormat: return "MutableFormat";
2571 case ImageCreateFlagBits::eCubeCompatible: return "CubeCompatible";
2572 case ImageCreateFlagBits::eAlias: return "Alias";
2573 case ImageCreateFlagBits::eSplitInstanceBindRegions: return "SplitInstanceBindRegions";
2574 case ImageCreateFlagBits::e2DArrayCompatible: return "2DArrayCompatible";
2575 case ImageCreateFlagBits::eBlockTexelViewCompatible: return "BlockTexelViewCompatible";
2576 case ImageCreateFlagBits::eExtendedUsage: return "ExtendedUsage";
2577 case ImageCreateFlagBits::eProtected: return "Protected";
2578 case ImageCreateFlagBits::eDisjoint: return "Disjoint";
2579 case ImageCreateFlagBits::eCornerSampledNV: return "CornerSampledNV";
2580 case ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT: return "SampleLocationsCompatibleDepthEXT";
2581 case ImageCreateFlagBits::eSubsampledEXT: return "SubsampledEXT";
2582 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
2583 }
2584 }
2585
2586 enum class ImageTiling
2587 {
2588 eOptimal = VK_IMAGE_TILING_OPTIMAL,
2589 eLinear = VK_IMAGE_TILING_LINEAR,
2590 eDrmFormatModifierEXT = VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT
2591 };
2592
2593 VULKAN_HPP_INLINE std::string to_string( ImageTiling value )
2594 {
2595 switch ( value )
2596 {
2597 case ImageTiling::eOptimal: return "Optimal";
2598 case ImageTiling::eLinear: return "Linear";
2599 case ImageTiling::eDrmFormatModifierEXT: return "DrmFormatModifierEXT";
2600 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
2601 }
2602 }
2603
2604 enum class ImageType
2605 {
2606 e1D = VK_IMAGE_TYPE_1D,
2607 e2D = VK_IMAGE_TYPE_2D,
2608 e3D = VK_IMAGE_TYPE_3D
2609 };
2610
2611 VULKAN_HPP_INLINE std::string to_string( ImageType value )
2612 {
2613 switch ( value )
2614 {
2615 case ImageType::e1D: return "1D";
2616 case ImageType::e2D: return "2D";
2617 case ImageType::e3D: return "3D";
2618 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
2619 }
2620 }
2621
2622 enum class ImageUsageFlagBits : VkImageUsageFlags
2623 {
2624 eTransferSrc = VK_IMAGE_USAGE_TRANSFER_SRC_BIT,
2625 eTransferDst = VK_IMAGE_USAGE_TRANSFER_DST_BIT,
2626 eSampled = VK_IMAGE_USAGE_SAMPLED_BIT,
2627 eStorage = VK_IMAGE_USAGE_STORAGE_BIT,
2628 eColorAttachment = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
2629 eDepthStencilAttachment = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
2630 eTransientAttachment = VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT,
2631 eInputAttachment = VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT,
2632#if defined( VK_ENABLE_BETA_EXTENSIONS )
2633 eVideoDecodeDstKHR = VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR,
2634 eVideoDecodeSrcKHR = VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR,
2635 eVideoDecodeDpbKHR = VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR,
2636#endif /*VK_ENABLE_BETA_EXTENSIONS*/
2637 eFragmentDensityMapEXT = VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT,
2638 eFragmentShadingRateAttachmentKHR = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2639#if defined( VK_ENABLE_BETA_EXTENSIONS )
2640 eVideoEncodeDstKHR = VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR,
2641 eVideoEncodeSrcKHR = VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR,
2642 eVideoEncodeDpbKHR = VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR,
2643#endif /*VK_ENABLE_BETA_EXTENSIONS*/
2644 eInvocationMaskHUAWEI = VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI,
2645 eShadingRateImageNV = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV
2646 };
2647
2648 VULKAN_HPP_INLINE std::string to_string( ImageUsageFlagBits value )
2649 {
2650 switch ( value )
2651 {
2652 case ImageUsageFlagBits::eTransferSrc: return "TransferSrc";
2653 case ImageUsageFlagBits::eTransferDst: return "TransferDst";
2654 case ImageUsageFlagBits::eSampled: return "Sampled";
2655 case ImageUsageFlagBits::eStorage: return "Storage";
2656 case ImageUsageFlagBits::eColorAttachment: return "ColorAttachment";
2657 case ImageUsageFlagBits::eDepthStencilAttachment: return "DepthStencilAttachment";
2658 case ImageUsageFlagBits::eTransientAttachment: return "TransientAttachment";
2659 case ImageUsageFlagBits::eInputAttachment: return "InputAttachment";
2660#if defined( VK_ENABLE_BETA_EXTENSIONS )
2661 case ImageUsageFlagBits::eVideoDecodeDstKHR: return "VideoDecodeDstKHR";
2662 case ImageUsageFlagBits::eVideoDecodeSrcKHR: return "VideoDecodeSrcKHR";
2663 case ImageUsageFlagBits::eVideoDecodeDpbKHR: return "VideoDecodeDpbKHR";
2664#endif /*VK_ENABLE_BETA_EXTENSIONS*/
2665 case ImageUsageFlagBits::eFragmentDensityMapEXT: return "FragmentDensityMapEXT";
2666 case ImageUsageFlagBits::eFragmentShadingRateAttachmentKHR: return "FragmentShadingRateAttachmentKHR";
2667#if defined( VK_ENABLE_BETA_EXTENSIONS )
2668 case ImageUsageFlagBits::eVideoEncodeDstKHR: return "VideoEncodeDstKHR";
2669 case ImageUsageFlagBits::eVideoEncodeSrcKHR: return "VideoEncodeSrcKHR";
2670 case ImageUsageFlagBits::eVideoEncodeDpbKHR: return "VideoEncodeDpbKHR";
2671#endif /*VK_ENABLE_BETA_EXTENSIONS*/
2672 case ImageUsageFlagBits::eInvocationMaskHUAWEI: return "InvocationMaskHUAWEI";
2673 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
2674 }
2675 }
2676
2677 enum class InternalAllocationType
2678 {
2679 eExecutable = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE
2680 };
2681
2682 VULKAN_HPP_INLINE std::string to_string( InternalAllocationType value )
2683 {
2684 switch ( value )
2685 {
2686 case InternalAllocationType::eExecutable: return "Executable";
2687 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
2688 }
2689 }
2690
2691 enum class MemoryHeapFlagBits : VkMemoryHeapFlags
2692 {
2693 eDeviceLocal = VK_MEMORY_HEAP_DEVICE_LOCAL_BIT,
2694 eMultiInstance = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
2695 eMultiInstanceKHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR
2696 };
2697
2698 VULKAN_HPP_INLINE std::string to_string( MemoryHeapFlagBits value )
2699 {
2700 switch ( value )
2701 {
2702 case MemoryHeapFlagBits::eDeviceLocal: return "DeviceLocal";
2703 case MemoryHeapFlagBits::eMultiInstance: return "MultiInstance";
2704 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
2705 }
2706 }
2707
2708 enum class MemoryPropertyFlagBits : VkMemoryPropertyFlags
2709 {
2710 eDeviceLocal = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
2711 eHostVisible = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT,
2712 eHostCoherent = VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
2713 eHostCached = VK_MEMORY_PROPERTY_HOST_CACHED_BIT,
2714 eLazilyAllocated = VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT,
2715 eProtected = VK_MEMORY_PROPERTY_PROTECTED_BIT,
2716 eDeviceCoherentAMD = VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD,
2717 eDeviceUncachedAMD = VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD,
2718 eRdmaCapableNV = VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV
2719 };
2720
2721 VULKAN_HPP_INLINE std::string to_string( MemoryPropertyFlagBits value )
2722 {
2723 switch ( value )
2724 {
2725 case MemoryPropertyFlagBits::eDeviceLocal: return "DeviceLocal";
2726 case MemoryPropertyFlagBits::eHostVisible: return "HostVisible";
2727 case MemoryPropertyFlagBits::eHostCoherent: return "HostCoherent";
2728 case MemoryPropertyFlagBits::eHostCached: return "HostCached";
2729 case MemoryPropertyFlagBits::eLazilyAllocated: return "LazilyAllocated";
2730 case MemoryPropertyFlagBits::eProtected: return "Protected";
2731 case MemoryPropertyFlagBits::eDeviceCoherentAMD: return "DeviceCoherentAMD";
2732 case MemoryPropertyFlagBits::eDeviceUncachedAMD: return "DeviceUncachedAMD";
2733 case MemoryPropertyFlagBits::eRdmaCapableNV: return "RdmaCapableNV";
2734 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
2735 }
2736 }
2737
2738 enum class PhysicalDeviceType
2739 {
2740 eOther = VK_PHYSICAL_DEVICE_TYPE_OTHER,
2741 eIntegratedGpu = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU,
2742 eDiscreteGpu = VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU,
2743 eVirtualGpu = VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU,
2744 eCpu = VK_PHYSICAL_DEVICE_TYPE_CPU
2745 };
2746
2747 VULKAN_HPP_INLINE std::string to_string( PhysicalDeviceType value )
2748 {
2749 switch ( value )
2750 {
2751 case PhysicalDeviceType::eOther: return "Other";
2752 case PhysicalDeviceType::eIntegratedGpu: return "IntegratedGpu";
2753 case PhysicalDeviceType::eDiscreteGpu: return "DiscreteGpu";
2754 case PhysicalDeviceType::eVirtualGpu: return "VirtualGpu";
2755 case PhysicalDeviceType::eCpu: return "Cpu";
2756 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
2757 }
2758 }
2759
2760 enum class QueueFlagBits : VkQueueFlags
2761 {
2762 eGraphics = VK_QUEUE_GRAPHICS_BIT,
2763 eCompute = VK_QUEUE_COMPUTE_BIT,
2764 eTransfer = VK_QUEUE_TRANSFER_BIT,
2765 eSparseBinding = VK_QUEUE_SPARSE_BINDING_BIT,
2766 eProtected = VK_QUEUE_PROTECTED_BIT,
2767#if defined( VK_ENABLE_BETA_EXTENSIONS )
2768 eVideoDecodeKHR = VK_QUEUE_VIDEO_DECODE_BIT_KHR,
2769 eVideoEncodeKHR = VK_QUEUE_VIDEO_ENCODE_BIT_KHR
2770#endif /*VK_ENABLE_BETA_EXTENSIONS*/
2771 };
2772
2773 VULKAN_HPP_INLINE std::string to_string( QueueFlagBits value )
2774 {
2775 switch ( value )
2776 {
2777 case QueueFlagBits::eGraphics: return "Graphics";
2778 case QueueFlagBits::eCompute: return "Compute";
2779 case QueueFlagBits::eTransfer: return "Transfer";
2780 case QueueFlagBits::eSparseBinding: return "SparseBinding";
2781 case QueueFlagBits::eProtected: return "Protected";
2782#if defined( VK_ENABLE_BETA_EXTENSIONS )
2783 case QueueFlagBits::eVideoDecodeKHR: return "VideoDecodeKHR";
2784 case QueueFlagBits::eVideoEncodeKHR: return "VideoEncodeKHR";
2785#endif /*VK_ENABLE_BETA_EXTENSIONS*/
2786 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
2787 }
2788 }
2789
2790 enum class SampleCountFlagBits : VkSampleCountFlags
2791 {
2792 e1 = VK_SAMPLE_COUNT_1_BIT,
2793 e2 = VK_SAMPLE_COUNT_2_BIT,
2794 e4 = VK_SAMPLE_COUNT_4_BIT,
2795 e8 = VK_SAMPLE_COUNT_8_BIT,
2796 e16 = VK_SAMPLE_COUNT_16_BIT,
2797 e32 = VK_SAMPLE_COUNT_32_BIT,
2798 e64 = VK_SAMPLE_COUNT_64_BIT
2799 };
2800
2801 VULKAN_HPP_INLINE std::string to_string( SampleCountFlagBits value )
2802 {
2803 switch ( value )
2804 {
2805 case SampleCountFlagBits::e1: return "1";
2806 case SampleCountFlagBits::e2: return "2";
2807 case SampleCountFlagBits::e4: return "4";
2808 case SampleCountFlagBits::e8: return "8";
2809 case SampleCountFlagBits::e16: return "16";
2810 case SampleCountFlagBits::e32: return "32";
2811 case SampleCountFlagBits::e64: return "64";
2812 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
2813 }
2814 }
2815
2816 enum class SystemAllocationScope
2817 {
2818 eCommand = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND,
2819 eObject = VK_SYSTEM_ALLOCATION_SCOPE_OBJECT,
2820 eCache = VK_SYSTEM_ALLOCATION_SCOPE_CACHE,
2821 eDevice = VK_SYSTEM_ALLOCATION_SCOPE_DEVICE,
2822 eInstance = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE
2823 };
2824
2825 VULKAN_HPP_INLINE std::string to_string( SystemAllocationScope value )
2826 {
2827 switch ( value )
2828 {
2829 case SystemAllocationScope::eCommand: return "Command";
2830 case SystemAllocationScope::eObject: return "Object";
2831 case SystemAllocationScope::eCache: return "Cache";
2832 case SystemAllocationScope::eDevice: return "Device";
2833 case SystemAllocationScope::eInstance: return "Instance";
2834 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
2835 }
2836 }
2837
2838 enum class InstanceCreateFlagBits
2839 {
2840 };
2841
2842 VULKAN_HPP_INLINE std::string to_string( InstanceCreateFlagBits )
2843 {
2844 return "(void)";
2845 }
2846
2847 enum class DeviceQueueCreateFlagBits : VkDeviceQueueCreateFlags
2848 {
2849 eProtected = VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT
2850 };
2851
2852 VULKAN_HPP_INLINE std::string to_string( DeviceQueueCreateFlagBits value )
2853 {
2854 switch ( value )
2855 {
2856 case DeviceQueueCreateFlagBits::eProtected: return "Protected";
2857 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
2858 }
2859 }
2860
2861 enum class DeviceCreateFlagBits
2862 {
2863 };
2864
2865 VULKAN_HPP_INLINE std::string to_string( DeviceCreateFlagBits )
2866 {
2867 return "(void)";
2868 }
2869
2870 enum class PipelineStageFlagBits : VkPipelineStageFlags
2871 {
2872 eTopOfPipe = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,
2873 eDrawIndirect = VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT,
2874 eVertexInput = VK_PIPELINE_STAGE_VERTEX_INPUT_BIT,
2875 eVertexShader = VK_PIPELINE_STAGE_VERTEX_SHADER_BIT,
2876 eTessellationControlShader = VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT,
2877 eTessellationEvaluationShader = VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT,
2878 eGeometryShader = VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT,
2879 eFragmentShader = VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,
2880 eEarlyFragmentTests = VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT,
2881 eLateFragmentTests = VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT,
2882 eColorAttachmentOutput = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,
2883 eComputeShader = VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,
2884 eTransfer = VK_PIPELINE_STAGE_TRANSFER_BIT,
2885 eBottomOfPipe = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT,
2886 eHost = VK_PIPELINE_STAGE_HOST_BIT,
2887 eAllGraphics = VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT,
2888 eAllCommands = VK_PIPELINE_STAGE_ALL_COMMANDS_BIT,
2889 eTransformFeedbackEXT = VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT,
2890 eConditionalRenderingEXT = VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT,
2891 eAccelerationStructureBuildKHR = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
2892 eRayTracingShaderKHR = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
2893 eTaskShaderNV = VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV,
2894 eMeshShaderNV = VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV,
2895 eFragmentDensityProcessEXT = VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT,
2896 eFragmentShadingRateAttachmentKHR = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2897 eCommandPreprocessNV = VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV,
2898 eNoneKHR = VK_PIPELINE_STAGE_NONE_KHR,
2899 eAccelerationStructureBuildNV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV,
2900 eRayTracingShaderNV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV,
2901 eShadingRateImageNV = VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV
2902 };
2903
2904 VULKAN_HPP_INLINE std::string to_string( PipelineStageFlagBits value )
2905 {
2906 switch ( value )
2907 {
2908 case PipelineStageFlagBits::eTopOfPipe: return "TopOfPipe";
2909 case PipelineStageFlagBits::eDrawIndirect: return "DrawIndirect";
2910 case PipelineStageFlagBits::eVertexInput: return "VertexInput";
2911 case PipelineStageFlagBits::eVertexShader: return "VertexShader";
2912 case PipelineStageFlagBits::eTessellationControlShader: return "TessellationControlShader";
2913 case PipelineStageFlagBits::eTessellationEvaluationShader: return "TessellationEvaluationShader";
2914 case PipelineStageFlagBits::eGeometryShader: return "GeometryShader";
2915 case PipelineStageFlagBits::eFragmentShader: return "FragmentShader";
2916 case PipelineStageFlagBits::eEarlyFragmentTests: return "EarlyFragmentTests";
2917 case PipelineStageFlagBits::eLateFragmentTests: return "LateFragmentTests";
2918 case PipelineStageFlagBits::eColorAttachmentOutput: return "ColorAttachmentOutput";
2919 case PipelineStageFlagBits::eComputeShader: return "ComputeShader";
2920 case PipelineStageFlagBits::eTransfer: return "Transfer";
2921 case PipelineStageFlagBits::eBottomOfPipe: return "BottomOfPipe";
2922 case PipelineStageFlagBits::eHost: return "Host";
2923 case PipelineStageFlagBits::eAllGraphics: return "AllGraphics";
2924 case PipelineStageFlagBits::eAllCommands: return "AllCommands";
2925 case PipelineStageFlagBits::eTransformFeedbackEXT: return "TransformFeedbackEXT";
2926 case PipelineStageFlagBits::eConditionalRenderingEXT: return "ConditionalRenderingEXT";
2927 case PipelineStageFlagBits::eAccelerationStructureBuildKHR: return "AccelerationStructureBuildKHR";
2928 case PipelineStageFlagBits::eRayTracingShaderKHR: return "RayTracingShaderKHR";
2929 case PipelineStageFlagBits::eTaskShaderNV: return "TaskShaderNV";
2930 case PipelineStageFlagBits::eMeshShaderNV: return "MeshShaderNV";
2931 case PipelineStageFlagBits::eFragmentDensityProcessEXT: return "FragmentDensityProcessEXT";
2932 case PipelineStageFlagBits::eFragmentShadingRateAttachmentKHR: return "FragmentShadingRateAttachmentKHR";
2933 case PipelineStageFlagBits::eCommandPreprocessNV: return "CommandPreprocessNV";
2934 case PipelineStageFlagBits::eNoneKHR: return "NoneKHR";
2935 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
2936 }
2937 }
2938
2939 enum class MemoryMapFlagBits : VkMemoryMapFlags
2940 {
2941 };
2942
2943 VULKAN_HPP_INLINE std::string to_string( MemoryMapFlagBits )
2944 {
2945 return "(void)";
2946 }
2947
2948 enum class ImageAspectFlagBits : VkImageAspectFlags
2949 {
2950 eColor = VK_IMAGE_ASPECT_COLOR_BIT,
2951 eDepth = VK_IMAGE_ASPECT_DEPTH_BIT,
2952 eStencil = VK_IMAGE_ASPECT_STENCIL_BIT,
2953 eMetadata = VK_IMAGE_ASPECT_METADATA_BIT,
2954 ePlane0 = VK_IMAGE_ASPECT_PLANE_0_BIT,
2955 ePlane1 = VK_IMAGE_ASPECT_PLANE_1_BIT,
2956 ePlane2 = VK_IMAGE_ASPECT_PLANE_2_BIT,
2957 eMemoryPlane0EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT,
2958 eMemoryPlane1EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT,
2959 eMemoryPlane2EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT,
2960 eMemoryPlane3EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT,
2961 ePlane0KHR = VK_IMAGE_ASPECT_PLANE_0_BIT_KHR,
2962 ePlane1KHR = VK_IMAGE_ASPECT_PLANE_1_BIT_KHR,
2963 ePlane2KHR = VK_IMAGE_ASPECT_PLANE_2_BIT_KHR
2964 };
2965
2966 VULKAN_HPP_INLINE std::string to_string( ImageAspectFlagBits value )
2967 {
2968 switch ( value )
2969 {
2970 case ImageAspectFlagBits::eColor: return "Color";
2971 case ImageAspectFlagBits::eDepth: return "Depth";
2972 case ImageAspectFlagBits::eStencil: return "Stencil";
2973 case ImageAspectFlagBits::eMetadata: return "Metadata";
2974 case ImageAspectFlagBits::ePlane0: return "Plane0";
2975 case ImageAspectFlagBits::ePlane1: return "Plane1";
2976 case ImageAspectFlagBits::ePlane2: return "Plane2";
2977 case ImageAspectFlagBits::eMemoryPlane0EXT: return "MemoryPlane0EXT";
2978 case ImageAspectFlagBits::eMemoryPlane1EXT: return "MemoryPlane1EXT";
2979 case ImageAspectFlagBits::eMemoryPlane2EXT: return "MemoryPlane2EXT";
2980 case ImageAspectFlagBits::eMemoryPlane3EXT: return "MemoryPlane3EXT";
2981 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
2982 }
2983 }
2984
2985 enum class SparseImageFormatFlagBits : VkSparseImageFormatFlags
2986 {
2987 eSingleMiptail = VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT,
2988 eAlignedMipSize = VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT,
2989 eNonstandardBlockSize = VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT
2990 };
2991
2992 VULKAN_HPP_INLINE std::string to_string( SparseImageFormatFlagBits value )
2993 {
2994 switch ( value )
2995 {
2996 case SparseImageFormatFlagBits::eSingleMiptail: return "SingleMiptail";
2997 case SparseImageFormatFlagBits::eAlignedMipSize: return "AlignedMipSize";
2998 case SparseImageFormatFlagBits::eNonstandardBlockSize: return "NonstandardBlockSize";
2999 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3000 }
3001 }
3002
3003 enum class SparseMemoryBindFlagBits : VkSparseMemoryBindFlags
3004 {
3005 eMetadata = VK_SPARSE_MEMORY_BIND_METADATA_BIT
3006 };
3007
3008 VULKAN_HPP_INLINE std::string to_string( SparseMemoryBindFlagBits value )
3009 {
3010 switch ( value )
3011 {
3012 case SparseMemoryBindFlagBits::eMetadata: return "Metadata";
3013 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3014 }
3015 }
3016
3017 enum class FenceCreateFlagBits : VkFenceCreateFlags
3018 {
3019 eSignaled = VK_FENCE_CREATE_SIGNALED_BIT
3020 };
3021
3022 VULKAN_HPP_INLINE std::string to_string( FenceCreateFlagBits value )
3023 {
3024 switch ( value )
3025 {
3026 case FenceCreateFlagBits::eSignaled: return "Signaled";
3027 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3028 }
3029 }
3030
3031 enum class SemaphoreCreateFlagBits : VkSemaphoreCreateFlags
3032 {
3033 };
3034
3035 VULKAN_HPP_INLINE std::string to_string( SemaphoreCreateFlagBits )
3036 {
3037 return "(void)";
3038 }
3039
3040 enum class EventCreateFlagBits : VkEventCreateFlags
3041 {
3042 eDeviceOnlyKHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR
3043 };
3044
3045 VULKAN_HPP_INLINE std::string to_string( EventCreateFlagBits value )
3046 {
3047 switch ( value )
3048 {
3049 case EventCreateFlagBits::eDeviceOnlyKHR: return "DeviceOnlyKHR";
3050 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3051 }
3052 }
3053
3054 enum class QueryPipelineStatisticFlagBits : VkQueryPipelineStatisticFlags
3055 {
3056 eInputAssemblyVertices = VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT,
3057 eInputAssemblyPrimitives = VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT,
3058 eVertexShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT,
3059 eGeometryShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT,
3060 eGeometryShaderPrimitives = VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT,
3061 eClippingInvocations = VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT,
3062 eClippingPrimitives = VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT,
3063 eFragmentShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT,
3064 eTessellationControlShaderPatches = VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT,
3065 eTessellationEvaluationShaderInvocations =
3066 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT,
3067 eComputeShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT
3068 };
3069
3070 VULKAN_HPP_INLINE std::string to_string( QueryPipelineStatisticFlagBits value )
3071 {
3072 switch ( value )
3073 {
3074 case QueryPipelineStatisticFlagBits::eInputAssemblyVertices: return "InputAssemblyVertices";
3075 case QueryPipelineStatisticFlagBits::eInputAssemblyPrimitives: return "InputAssemblyPrimitives";
3076 case QueryPipelineStatisticFlagBits::eVertexShaderInvocations: return "VertexShaderInvocations";
3077 case QueryPipelineStatisticFlagBits::eGeometryShaderInvocations: return "GeometryShaderInvocations";
3078 case QueryPipelineStatisticFlagBits::eGeometryShaderPrimitives: return "GeometryShaderPrimitives";
3079 case QueryPipelineStatisticFlagBits::eClippingInvocations: return "ClippingInvocations";
3080 case QueryPipelineStatisticFlagBits::eClippingPrimitives: return "ClippingPrimitives";
3081 case QueryPipelineStatisticFlagBits::eFragmentShaderInvocations: return "FragmentShaderInvocations";
3082 case QueryPipelineStatisticFlagBits::eTessellationControlShaderPatches: return "TessellationControlShaderPatches";
3083 case QueryPipelineStatisticFlagBits::eTessellationEvaluationShaderInvocations:
3084 return "TessellationEvaluationShaderInvocations";
3085 case QueryPipelineStatisticFlagBits::eComputeShaderInvocations: return "ComputeShaderInvocations";
3086 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3087 }
3088 }
3089
3090 enum class QueryResultFlagBits : VkQueryResultFlags
3091 {
3092 e64 = VK_QUERY_RESULT_64_BIT,
3093 eWait = VK_QUERY_RESULT_WAIT_BIT,
3094 eWithAvailability = VK_QUERY_RESULT_WITH_AVAILABILITY_BIT,
3095 ePartial = VK_QUERY_RESULT_PARTIAL_BIT,
3096#if defined( VK_ENABLE_BETA_EXTENSIONS )
3097 eWithStatusKHR = VK_QUERY_RESULT_WITH_STATUS_BIT_KHR
3098#endif /*VK_ENABLE_BETA_EXTENSIONS*/
3099 };
3100
3101 VULKAN_HPP_INLINE std::string to_string( QueryResultFlagBits value )
3102 {
3103 switch ( value )
3104 {
3105 case QueryResultFlagBits::e64: return "64";
3106 case QueryResultFlagBits::eWait: return "Wait";
3107 case QueryResultFlagBits::eWithAvailability: return "WithAvailability";
3108 case QueryResultFlagBits::ePartial: return "Partial";
3109#if defined( VK_ENABLE_BETA_EXTENSIONS )
3110 case QueryResultFlagBits::eWithStatusKHR: return "WithStatusKHR";
3111#endif /*VK_ENABLE_BETA_EXTENSIONS*/
3112 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3113 }
3114 }
3115
3116 enum class QueryType
3117 {
3118 eOcclusion = VK_QUERY_TYPE_OCCLUSION,
3119 ePipelineStatistics = VK_QUERY_TYPE_PIPELINE_STATISTICS,
3120 eTimestamp = VK_QUERY_TYPE_TIMESTAMP,
3121#if defined( VK_ENABLE_BETA_EXTENSIONS )
3122 eResultStatusOnlyKHR = VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR,
3123#endif /*VK_ENABLE_BETA_EXTENSIONS*/
3124 eTransformFeedbackStreamEXT = VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT,
3125 ePerformanceQueryKHR = VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR,
3126 eAccelerationStructureCompactedSizeKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR,
3127 eAccelerationStructureSerializationSizeKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR,
3128 eAccelerationStructureCompactedSizeNV = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV,
3129 ePerformanceQueryINTEL = VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL,
3130#if defined( VK_ENABLE_BETA_EXTENSIONS )
3131 eVideoEncodeBitstreamBufferRangeKHR = VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR
3132#endif /*VK_ENABLE_BETA_EXTENSIONS*/
3133 };
3134
3135 VULKAN_HPP_INLINE std::string to_string( QueryType value )
3136 {
3137 switch ( value )
3138 {
3139 case QueryType::eOcclusion: return "Occlusion";
3140 case QueryType::ePipelineStatistics: return "PipelineStatistics";
3141 case QueryType::eTimestamp: return "Timestamp";
3142#if defined( VK_ENABLE_BETA_EXTENSIONS )
3143 case QueryType::eResultStatusOnlyKHR: return "ResultStatusOnlyKHR";
3144#endif /*VK_ENABLE_BETA_EXTENSIONS*/
3145 case QueryType::eTransformFeedbackStreamEXT: return "TransformFeedbackStreamEXT";
3146 case QueryType::ePerformanceQueryKHR: return "PerformanceQueryKHR";
3147 case QueryType::eAccelerationStructureCompactedSizeKHR: return "AccelerationStructureCompactedSizeKHR";
3148 case QueryType::eAccelerationStructureSerializationSizeKHR: return "AccelerationStructureSerializationSizeKHR";
3149 case QueryType::eAccelerationStructureCompactedSizeNV: return "AccelerationStructureCompactedSizeNV";
3150 case QueryType::ePerformanceQueryINTEL: return "PerformanceQueryINTEL";
3151#if defined( VK_ENABLE_BETA_EXTENSIONS )
3152 case QueryType::eVideoEncodeBitstreamBufferRangeKHR: return "VideoEncodeBitstreamBufferRangeKHR";
3153#endif /*VK_ENABLE_BETA_EXTENSIONS*/
3154 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3155 }
3156 }
3157
3158 enum class QueryPoolCreateFlagBits
3159 {
3160 };
3161
3162 VULKAN_HPP_INLINE std::string to_string( QueryPoolCreateFlagBits )
3163 {
3164 return "(void)";
3165 }
3166
3167 enum class BufferCreateFlagBits : VkBufferCreateFlags
3168 {
3169 eSparseBinding = VK_BUFFER_CREATE_SPARSE_BINDING_BIT,
3170 eSparseResidency = VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT,
3171 eSparseAliased = VK_BUFFER_CREATE_SPARSE_ALIASED_BIT,
3172 eProtected = VK_BUFFER_CREATE_PROTECTED_BIT,
3173 eDeviceAddressCaptureReplay = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
3174 eDeviceAddressCaptureReplayEXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT,
3175 eDeviceAddressCaptureReplayKHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR
3176 };
3177
3178 VULKAN_HPP_INLINE std::string to_string( BufferCreateFlagBits value )
3179 {
3180 switch ( value )
3181 {
3182 case BufferCreateFlagBits::eSparseBinding: return "SparseBinding";
3183 case BufferCreateFlagBits::eSparseResidency: return "SparseResidency";
3184 case BufferCreateFlagBits::eSparseAliased: return "SparseAliased";
3185 case BufferCreateFlagBits::eProtected: return "Protected";
3186 case BufferCreateFlagBits::eDeviceAddressCaptureReplay: return "DeviceAddressCaptureReplay";
3187 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3188 }
3189 }
3190
3191 enum class BufferUsageFlagBits : VkBufferUsageFlags
3192 {
3193 eTransferSrc = VK_BUFFER_USAGE_TRANSFER_SRC_BIT,
3194 eTransferDst = VK_BUFFER_USAGE_TRANSFER_DST_BIT,
3195 eUniformTexelBuffer = VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT,
3196 eStorageTexelBuffer = VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT,
3197 eUniformBuffer = VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
3198 eStorageBuffer = VK_BUFFER_USAGE_STORAGE_BUFFER_BIT,
3199 eIndexBuffer = VK_BUFFER_USAGE_INDEX_BUFFER_BIT,
3200 eVertexBuffer = VK_BUFFER_USAGE_VERTEX_BUFFER_BIT,
3201 eIndirectBuffer = VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT,
3202 eShaderDeviceAddress = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
3203#if defined( VK_ENABLE_BETA_EXTENSIONS )
3204 eVideoDecodeSrcKHR = VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR,
3205 eVideoDecodeDstKHR = VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR,
3206#endif /*VK_ENABLE_BETA_EXTENSIONS*/
3207 eTransformFeedbackBufferEXT = VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT,
3208 eTransformFeedbackCounterBufferEXT = VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT,
3209 eConditionalRenderingEXT = VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT,
3210 eAccelerationStructureBuildInputReadOnlyKHR = VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR,
3211 eAccelerationStructureStorageKHR = VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR,
3212 eShaderBindingTableKHR = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
3213#if defined( VK_ENABLE_BETA_EXTENSIONS )
3214 eVideoEncodeDstKHR = VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR,
3215 eVideoEncodeSrcKHR = VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR,
3216#endif /*VK_ENABLE_BETA_EXTENSIONS*/
3217 eRayTracingNV = VK_BUFFER_USAGE_RAY_TRACING_BIT_NV,
3218 eShaderDeviceAddressEXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT,
3219 eShaderDeviceAddressKHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR
3220 };
3221
3222 VULKAN_HPP_INLINE std::string to_string( BufferUsageFlagBits value )
3223 {
3224 switch ( value )
3225 {
3226 case BufferUsageFlagBits::eTransferSrc: return "TransferSrc";
3227 case BufferUsageFlagBits::eTransferDst: return "TransferDst";
3228 case BufferUsageFlagBits::eUniformTexelBuffer: return "UniformTexelBuffer";
3229 case BufferUsageFlagBits::eStorageTexelBuffer: return "StorageTexelBuffer";
3230 case BufferUsageFlagBits::eUniformBuffer: return "UniformBuffer";
3231 case BufferUsageFlagBits::eStorageBuffer: return "StorageBuffer";
3232 case BufferUsageFlagBits::eIndexBuffer: return "IndexBuffer";
3233 case BufferUsageFlagBits::eVertexBuffer: return "VertexBuffer";
3234 case BufferUsageFlagBits::eIndirectBuffer: return "IndirectBuffer";
3235 case BufferUsageFlagBits::eShaderDeviceAddress: return "ShaderDeviceAddress";
3236#if defined( VK_ENABLE_BETA_EXTENSIONS )
3237 case BufferUsageFlagBits::eVideoDecodeSrcKHR: return "VideoDecodeSrcKHR";
3238 case BufferUsageFlagBits::eVideoDecodeDstKHR: return "VideoDecodeDstKHR";
3239#endif /*VK_ENABLE_BETA_EXTENSIONS*/
3240 case BufferUsageFlagBits::eTransformFeedbackBufferEXT: return "TransformFeedbackBufferEXT";
3241 case BufferUsageFlagBits::eTransformFeedbackCounterBufferEXT: return "TransformFeedbackCounterBufferEXT";
3242 case BufferUsageFlagBits::eConditionalRenderingEXT: return "ConditionalRenderingEXT";
3243 case BufferUsageFlagBits::eAccelerationStructureBuildInputReadOnlyKHR:
3244 return "AccelerationStructureBuildInputReadOnlyKHR";
3245 case BufferUsageFlagBits::eAccelerationStructureStorageKHR: return "AccelerationStructureStorageKHR";
3246 case BufferUsageFlagBits::eShaderBindingTableKHR: return "ShaderBindingTableKHR";
3247#if defined( VK_ENABLE_BETA_EXTENSIONS )
3248 case BufferUsageFlagBits::eVideoEncodeDstKHR: return "VideoEncodeDstKHR";
3249 case BufferUsageFlagBits::eVideoEncodeSrcKHR: return "VideoEncodeSrcKHR";
3250#endif /*VK_ENABLE_BETA_EXTENSIONS*/
3251 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3252 }
3253 }
3254
3255 enum class SharingMode
3256 {
3257 eExclusive = VK_SHARING_MODE_EXCLUSIVE,
3258 eConcurrent = VK_SHARING_MODE_CONCURRENT
3259 };
3260
3261 VULKAN_HPP_INLINE std::string to_string( SharingMode value )
3262 {
3263 switch ( value )
3264 {
3265 case SharingMode::eExclusive: return "Exclusive";
3266 case SharingMode::eConcurrent: return "Concurrent";
3267 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3268 }
3269 }
3270
3271 enum class BufferViewCreateFlagBits : VkBufferViewCreateFlags
3272 {
3273 };
3274
3275 VULKAN_HPP_INLINE std::string to_string( BufferViewCreateFlagBits )
3276 {
3277 return "(void)";
3278 }
3279
3280 enum class ImageLayout
3281 {
3282 eUndefined = VK_IMAGE_LAYOUT_UNDEFINED,
3283 eGeneral = VK_IMAGE_LAYOUT_GENERAL,
3284 eColorAttachmentOptimal = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
3285 eDepthStencilAttachmentOptimal = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
3286 eDepthStencilReadOnlyOptimal = VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL,
3287 eShaderReadOnlyOptimal = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
3288 eTransferSrcOptimal = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
3289 eTransferDstOptimal = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
3290 ePreinitialized = VK_IMAGE_LAYOUT_PREINITIALIZED,
3291 eDepthReadOnlyStencilAttachmentOptimal = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
3292 eDepthAttachmentStencilReadOnlyOptimal = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
3293 eDepthAttachmentOptimal = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
3294 eDepthReadOnlyOptimal = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
3295 eStencilAttachmentOptimal = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
3296 eStencilReadOnlyOptimal = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
3297 ePresentSrcKHR = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR,
3298#if defined( VK_ENABLE_BETA_EXTENSIONS )
3299 eVideoDecodeDstKHR = VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR,
3300 eVideoDecodeSrcKHR = VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR,
3301 eVideoDecodeDpbKHR = VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR,
3302#endif /*VK_ENABLE_BETA_EXTENSIONS*/
3303 eSharedPresentKHR = VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR,
3304 eFragmentDensityMapOptimalEXT = VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT,
3305 eFragmentShadingRateAttachmentOptimalKHR = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
3306#if defined( VK_ENABLE_BETA_EXTENSIONS )
3307 eVideoEncodeDstKHR = VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR,
3308 eVideoEncodeSrcKHR = VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR,
3309 eVideoEncodeDpbKHR = VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR,
3310#endif /*VK_ENABLE_BETA_EXTENSIONS*/
3311 eReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR,
3312 eAttachmentOptimalKHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR,
3313 eDepthAttachmentOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR,
3314 eDepthAttachmentStencilReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR,
3315 eDepthReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR,
3316 eDepthReadOnlyStencilAttachmentOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR,
3317 eShadingRateOptimalNV = VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV,
3318 eStencilAttachmentOptimalKHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR,
3319 eStencilReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR
3320 };
3321
3322 VULKAN_HPP_INLINE std::string to_string( ImageLayout value )
3323 {
3324 switch ( value )
3325 {
3326 case ImageLayout::eUndefined: return "Undefined";
3327 case ImageLayout::eGeneral: return "General";
3328 case ImageLayout::eColorAttachmentOptimal: return "ColorAttachmentOptimal";
3329 case ImageLayout::eDepthStencilAttachmentOptimal: return "DepthStencilAttachmentOptimal";
3330 case ImageLayout::eDepthStencilReadOnlyOptimal: return "DepthStencilReadOnlyOptimal";
3331 case ImageLayout::eShaderReadOnlyOptimal: return "ShaderReadOnlyOptimal";
3332 case ImageLayout::eTransferSrcOptimal: return "TransferSrcOptimal";
3333 case ImageLayout::eTransferDstOptimal: return "TransferDstOptimal";
3334 case ImageLayout::ePreinitialized: return "Preinitialized";
3335 case ImageLayout::eDepthReadOnlyStencilAttachmentOptimal: return "DepthReadOnlyStencilAttachmentOptimal";
3336 case ImageLayout::eDepthAttachmentStencilReadOnlyOptimal: return "DepthAttachmentStencilReadOnlyOptimal";
3337 case ImageLayout::eDepthAttachmentOptimal: return "DepthAttachmentOptimal";
3338 case ImageLayout::eDepthReadOnlyOptimal: return "DepthReadOnlyOptimal";
3339 case ImageLayout::eStencilAttachmentOptimal: return "StencilAttachmentOptimal";
3340 case ImageLayout::eStencilReadOnlyOptimal: return "StencilReadOnlyOptimal";
3341 case ImageLayout::ePresentSrcKHR: return "PresentSrcKHR";
3342#if defined( VK_ENABLE_BETA_EXTENSIONS )
3343 case ImageLayout::eVideoDecodeDstKHR: return "VideoDecodeDstKHR";
3344 case ImageLayout::eVideoDecodeSrcKHR: return "VideoDecodeSrcKHR";
3345 case ImageLayout::eVideoDecodeDpbKHR: return "VideoDecodeDpbKHR";
3346#endif /*VK_ENABLE_BETA_EXTENSIONS*/
3347 case ImageLayout::eSharedPresentKHR: return "SharedPresentKHR";
3348 case ImageLayout::eFragmentDensityMapOptimalEXT: return "FragmentDensityMapOptimalEXT";
3349 case ImageLayout::eFragmentShadingRateAttachmentOptimalKHR: return "FragmentShadingRateAttachmentOptimalKHR";
3350#if defined( VK_ENABLE_BETA_EXTENSIONS )
3351 case ImageLayout::eVideoEncodeDstKHR: return "VideoEncodeDstKHR";
3352 case ImageLayout::eVideoEncodeSrcKHR: return "VideoEncodeSrcKHR";
3353 case ImageLayout::eVideoEncodeDpbKHR: return "VideoEncodeDpbKHR";
3354#endif /*VK_ENABLE_BETA_EXTENSIONS*/
3355 case ImageLayout::eReadOnlyOptimalKHR: return "ReadOnlyOptimalKHR";
3356 case ImageLayout::eAttachmentOptimalKHR: return "AttachmentOptimalKHR";
3357 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3358 }
3359 }
3360
3361 enum class ComponentSwizzle
3362 {
3363 eIdentity = VK_COMPONENT_SWIZZLE_IDENTITY,
3364 eZero = VK_COMPONENT_SWIZZLE_ZERO,
3365 eOne = VK_COMPONENT_SWIZZLE_ONE,
3366 eR = VK_COMPONENT_SWIZZLE_R,
3367 eG = VK_COMPONENT_SWIZZLE_G,
3368 eB = VK_COMPONENT_SWIZZLE_B,
3369 eA = VK_COMPONENT_SWIZZLE_A
3370 };
3371
3372 VULKAN_HPP_INLINE std::string to_string( ComponentSwizzle value )
3373 {
3374 switch ( value )
3375 {
3376 case ComponentSwizzle::eIdentity: return "Identity";
3377 case ComponentSwizzle::eZero: return "Zero";
3378 case ComponentSwizzle::eOne: return "One";
3379 case ComponentSwizzle::eR: return "R";
3380 case ComponentSwizzle::eG: return "G";
3381 case ComponentSwizzle::eB: return "B";
3382 case ComponentSwizzle::eA: return "A";
3383 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3384 }
3385 }
3386
3387 enum class ImageViewCreateFlagBits : VkImageViewCreateFlags
3388 {
3389 eFragmentDensityMapDynamicEXT = VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT,
3390 eFragmentDensityMapDeferredEXT = VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT
3391 };
3392
3393 VULKAN_HPP_INLINE std::string to_string( ImageViewCreateFlagBits value )
3394 {
3395 switch ( value )
3396 {
3397 case ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT: return "FragmentDensityMapDynamicEXT";
3398 case ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT: return "FragmentDensityMapDeferredEXT";
3399 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3400 }
3401 }
3402
3403 enum class ImageViewType
3404 {
3405 e1D = VK_IMAGE_VIEW_TYPE_1D,
3406 e2D = VK_IMAGE_VIEW_TYPE_2D,
3407 e3D = VK_IMAGE_VIEW_TYPE_3D,
3408 eCube = VK_IMAGE_VIEW_TYPE_CUBE,
3409 e1DArray = VK_IMAGE_VIEW_TYPE_1D_ARRAY,
3410 e2DArray = VK_IMAGE_VIEW_TYPE_2D_ARRAY,
3411 eCubeArray = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY
3412 };
3413
3414 VULKAN_HPP_INLINE std::string to_string( ImageViewType value )
3415 {
3416 switch ( value )
3417 {
3418 case ImageViewType::e1D: return "1D";
3419 case ImageViewType::e2D: return "2D";
3420 case ImageViewType::e3D: return "3D";
3421 case ImageViewType::eCube: return "Cube";
3422 case ImageViewType::e1DArray: return "1DArray";
3423 case ImageViewType::e2DArray: return "2DArray";
3424 case ImageViewType::eCubeArray: return "CubeArray";
3425 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3426 }
3427 }
3428
3429 enum class ShaderModuleCreateFlagBits : VkShaderModuleCreateFlags
3430 {
3431 };
3432
3433 VULKAN_HPP_INLINE std::string to_string( ShaderModuleCreateFlagBits )
3434 {
3435 return "(void)";
3436 }
3437
3438 enum class PipelineCacheCreateFlagBits : VkPipelineCacheCreateFlags
3439 {
3440 eExternallySynchronizedEXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT
3441 };
3442
3443 VULKAN_HPP_INLINE std::string to_string( PipelineCacheCreateFlagBits value )
3444 {
3445 switch ( value )
3446 {
3447 case PipelineCacheCreateFlagBits::eExternallySynchronizedEXT: return "ExternallySynchronizedEXT";
3448 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3449 }
3450 }
3451
3452 enum class BlendFactor
3453 {
3454 eZero = VK_BLEND_FACTOR_ZERO,
3455 eOne = VK_BLEND_FACTOR_ONE,
3456 eSrcColor = VK_BLEND_FACTOR_SRC_COLOR,
3457 eOneMinusSrcColor = VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR,
3458 eDstColor = VK_BLEND_FACTOR_DST_COLOR,
3459 eOneMinusDstColor = VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR,
3460 eSrcAlpha = VK_BLEND_FACTOR_SRC_ALPHA,
3461 eOneMinusSrcAlpha = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA,
3462 eDstAlpha = VK_BLEND_FACTOR_DST_ALPHA,
3463 eOneMinusDstAlpha = VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA,
3464 eConstantColor = VK_BLEND_FACTOR_CONSTANT_COLOR,
3465 eOneMinusConstantColor = VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR,
3466 eConstantAlpha = VK_BLEND_FACTOR_CONSTANT_ALPHA,
3467 eOneMinusConstantAlpha = VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA,
3468 eSrcAlphaSaturate = VK_BLEND_FACTOR_SRC_ALPHA_SATURATE,
3469 eSrc1Color = VK_BLEND_FACTOR_SRC1_COLOR,
3470 eOneMinusSrc1Color = VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR,
3471 eSrc1Alpha = VK_BLEND_FACTOR_SRC1_ALPHA,
3472 eOneMinusSrc1Alpha = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA
3473 };
3474
3475 VULKAN_HPP_INLINE std::string to_string( BlendFactor value )
3476 {
3477 switch ( value )
3478 {
3479 case BlendFactor::eZero: return "Zero";
3480 case BlendFactor::eOne: return "One";
3481 case BlendFactor::eSrcColor: return "SrcColor";
3482 case BlendFactor::eOneMinusSrcColor: return "OneMinusSrcColor";
3483 case BlendFactor::eDstColor: return "DstColor";
3484 case BlendFactor::eOneMinusDstColor: return "OneMinusDstColor";
3485 case BlendFactor::eSrcAlpha: return "SrcAlpha";
3486 case BlendFactor::eOneMinusSrcAlpha: return "OneMinusSrcAlpha";
3487 case BlendFactor::eDstAlpha: return "DstAlpha";
3488 case BlendFactor::eOneMinusDstAlpha: return "OneMinusDstAlpha";
3489 case BlendFactor::eConstantColor: return "ConstantColor";
3490 case BlendFactor::eOneMinusConstantColor: return "OneMinusConstantColor";
3491 case BlendFactor::eConstantAlpha: return "ConstantAlpha";
3492 case BlendFactor::eOneMinusConstantAlpha: return "OneMinusConstantAlpha";
3493 case BlendFactor::eSrcAlphaSaturate: return "SrcAlphaSaturate";
3494 case BlendFactor::eSrc1Color: return "Src1Color";
3495 case BlendFactor::eOneMinusSrc1Color: return "OneMinusSrc1Color";
3496 case BlendFactor::eSrc1Alpha: return "Src1Alpha";
3497 case BlendFactor::eOneMinusSrc1Alpha: return "OneMinusSrc1Alpha";
3498 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3499 }
3500 }
3501
3502 enum class BlendOp
3503 {
3504 eAdd = VK_BLEND_OP_ADD,
3505 eSubtract = VK_BLEND_OP_SUBTRACT,
3506 eReverseSubtract = VK_BLEND_OP_REVERSE_SUBTRACT,
3507 eMin = VK_BLEND_OP_MIN,
3508 eMax = VK_BLEND_OP_MAX,
3509 eZeroEXT = VK_BLEND_OP_ZERO_EXT,
3510 eSrcEXT = VK_BLEND_OP_SRC_EXT,
3511 eDstEXT = VK_BLEND_OP_DST_EXT,
3512 eSrcOverEXT = VK_BLEND_OP_SRC_OVER_EXT,
3513 eDstOverEXT = VK_BLEND_OP_DST_OVER_EXT,
3514 eSrcInEXT = VK_BLEND_OP_SRC_IN_EXT,
3515 eDstInEXT = VK_BLEND_OP_DST_IN_EXT,
3516 eSrcOutEXT = VK_BLEND_OP_SRC_OUT_EXT,
3517 eDstOutEXT = VK_BLEND_OP_DST_OUT_EXT,
3518 eSrcAtopEXT = VK_BLEND_OP_SRC_ATOP_EXT,
3519 eDstAtopEXT = VK_BLEND_OP_DST_ATOP_EXT,
3520 eXorEXT = VK_BLEND_OP_XOR_EXT,
3521 eMultiplyEXT = VK_BLEND_OP_MULTIPLY_EXT,
3522 eScreenEXT = VK_BLEND_OP_SCREEN_EXT,
3523 eOverlayEXT = VK_BLEND_OP_OVERLAY_EXT,
3524 eDarkenEXT = VK_BLEND_OP_DARKEN_EXT,
3525 eLightenEXT = VK_BLEND_OP_LIGHTEN_EXT,
3526 eColordodgeEXT = VK_BLEND_OP_COLORDODGE_EXT,
3527 eColorburnEXT = VK_BLEND_OP_COLORBURN_EXT,
3528 eHardlightEXT = VK_BLEND_OP_HARDLIGHT_EXT,
3529 eSoftlightEXT = VK_BLEND_OP_SOFTLIGHT_EXT,
3530 eDifferenceEXT = VK_BLEND_OP_DIFFERENCE_EXT,
3531 eExclusionEXT = VK_BLEND_OP_EXCLUSION_EXT,
3532 eInvertEXT = VK_BLEND_OP_INVERT_EXT,
3533 eInvertRgbEXT = VK_BLEND_OP_INVERT_RGB_EXT,
3534 eLineardodgeEXT = VK_BLEND_OP_LINEARDODGE_EXT,
3535 eLinearburnEXT = VK_BLEND_OP_LINEARBURN_EXT,
3536 eVividlightEXT = VK_BLEND_OP_VIVIDLIGHT_EXT,
3537 eLinearlightEXT = VK_BLEND_OP_LINEARLIGHT_EXT,
3538 ePinlightEXT = VK_BLEND_OP_PINLIGHT_EXT,
3539 eHardmixEXT = VK_BLEND_OP_HARDMIX_EXT,
3540 eHslHueEXT = VK_BLEND_OP_HSL_HUE_EXT,
3541 eHslSaturationEXT = VK_BLEND_OP_HSL_SATURATION_EXT,
3542 eHslColorEXT = VK_BLEND_OP_HSL_COLOR_EXT,
3543 eHslLuminosityEXT = VK_BLEND_OP_HSL_LUMINOSITY_EXT,
3544 ePlusEXT = VK_BLEND_OP_PLUS_EXT,
3545 ePlusClampedEXT = VK_BLEND_OP_PLUS_CLAMPED_EXT,
3546 ePlusClampedAlphaEXT = VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT,
3547 ePlusDarkerEXT = VK_BLEND_OP_PLUS_DARKER_EXT,
3548 eMinusEXT = VK_BLEND_OP_MINUS_EXT,
3549 eMinusClampedEXT = VK_BLEND_OP_MINUS_CLAMPED_EXT,
3550 eContrastEXT = VK_BLEND_OP_CONTRAST_EXT,
3551 eInvertOvgEXT = VK_BLEND_OP_INVERT_OVG_EXT,
3552 eRedEXT = VK_BLEND_OP_RED_EXT,
3553 eGreenEXT = VK_BLEND_OP_GREEN_EXT,
3554 eBlueEXT = VK_BLEND_OP_BLUE_EXT
3555 };
3556
3557 VULKAN_HPP_INLINE std::string to_string( BlendOp value )
3558 {
3559 switch ( value )
3560 {
3561 case BlendOp::eAdd: return "Add";
3562 case BlendOp::eSubtract: return "Subtract";
3563 case BlendOp::eReverseSubtract: return "ReverseSubtract";
3564 case BlendOp::eMin: return "Min";
3565 case BlendOp::eMax: return "Max";
3566 case BlendOp::eZeroEXT: return "ZeroEXT";
3567 case BlendOp::eSrcEXT: return "SrcEXT";
3568 case BlendOp::eDstEXT: return "DstEXT";
3569 case BlendOp::eSrcOverEXT: return "SrcOverEXT";
3570 case BlendOp::eDstOverEXT: return "DstOverEXT";
3571 case BlendOp::eSrcInEXT: return "SrcInEXT";
3572 case BlendOp::eDstInEXT: return "DstInEXT";
3573 case BlendOp::eSrcOutEXT: return "SrcOutEXT";
3574 case BlendOp::eDstOutEXT: return "DstOutEXT";
3575 case BlendOp::eSrcAtopEXT: return "SrcAtopEXT";
3576 case BlendOp::eDstAtopEXT: return "DstAtopEXT";
3577 case BlendOp::eXorEXT: return "XorEXT";
3578 case BlendOp::eMultiplyEXT: return "MultiplyEXT";
3579 case BlendOp::eScreenEXT: return "ScreenEXT";
3580 case BlendOp::eOverlayEXT: return "OverlayEXT";
3581 case BlendOp::eDarkenEXT: return "DarkenEXT";
3582 case BlendOp::eLightenEXT: return "LightenEXT";
3583 case BlendOp::eColordodgeEXT: return "ColordodgeEXT";
3584 case BlendOp::eColorburnEXT: return "ColorburnEXT";
3585 case BlendOp::eHardlightEXT: return "HardlightEXT";
3586 case BlendOp::eSoftlightEXT: return "SoftlightEXT";
3587 case BlendOp::eDifferenceEXT: return "DifferenceEXT";
3588 case BlendOp::eExclusionEXT: return "ExclusionEXT";
3589 case BlendOp::eInvertEXT: return "InvertEXT";
3590 case BlendOp::eInvertRgbEXT: return "InvertRgbEXT";
3591 case BlendOp::eLineardodgeEXT: return "LineardodgeEXT";
3592 case BlendOp::eLinearburnEXT: return "LinearburnEXT";
3593 case BlendOp::eVividlightEXT: return "VividlightEXT";
3594 case BlendOp::eLinearlightEXT: return "LinearlightEXT";
3595 case BlendOp::ePinlightEXT: return "PinlightEXT";
3596 case BlendOp::eHardmixEXT: return "HardmixEXT";
3597 case BlendOp::eHslHueEXT: return "HslHueEXT";
3598 case BlendOp::eHslSaturationEXT: return "HslSaturationEXT";
3599 case BlendOp::eHslColorEXT: return "HslColorEXT";
3600 case BlendOp::eHslLuminosityEXT: return "HslLuminosityEXT";
3601 case BlendOp::ePlusEXT: return "PlusEXT";
3602 case BlendOp::ePlusClampedEXT: return "PlusClampedEXT";
3603 case BlendOp::ePlusClampedAlphaEXT: return "PlusClampedAlphaEXT";
3604 case BlendOp::ePlusDarkerEXT: return "PlusDarkerEXT";
3605 case BlendOp::eMinusEXT: return "MinusEXT";
3606 case BlendOp::eMinusClampedEXT: return "MinusClampedEXT";
3607 case BlendOp::eContrastEXT: return "ContrastEXT";
3608 case BlendOp::eInvertOvgEXT: return "InvertOvgEXT";
3609 case BlendOp::eRedEXT: return "RedEXT";
3610 case BlendOp::eGreenEXT: return "GreenEXT";
3611 case BlendOp::eBlueEXT: return "BlueEXT";
3612 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3613 }
3614 }
3615
3616 enum class ColorComponentFlagBits : VkColorComponentFlags
3617 {
3618 eR = VK_COLOR_COMPONENT_R_BIT,
3619 eG = VK_COLOR_COMPONENT_G_BIT,
3620 eB = VK_COLOR_COMPONENT_B_BIT,
3621 eA = VK_COLOR_COMPONENT_A_BIT
3622 };
3623
3624 VULKAN_HPP_INLINE std::string to_string( ColorComponentFlagBits value )
3625 {
3626 switch ( value )
3627 {
3628 case ColorComponentFlagBits::eR: return "R";
3629 case ColorComponentFlagBits::eG: return "G";
3630 case ColorComponentFlagBits::eB: return "B";
3631 case ColorComponentFlagBits::eA: return "A";
3632 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3633 }
3634 }
3635
3636 enum class CompareOp
3637 {
3638 eNever = VK_COMPARE_OP_NEVER,
3639 eLess = VK_COMPARE_OP_LESS,
3640 eEqual = VK_COMPARE_OP_EQUAL,
3641 eLessOrEqual = VK_COMPARE_OP_LESS_OR_EQUAL,
3642 eGreater = VK_COMPARE_OP_GREATER,
3643 eNotEqual = VK_COMPARE_OP_NOT_EQUAL,
3644 eGreaterOrEqual = VK_COMPARE_OP_GREATER_OR_EQUAL,
3645 eAlways = VK_COMPARE_OP_ALWAYS
3646 };
3647
3648 VULKAN_HPP_INLINE std::string to_string( CompareOp value )
3649 {
3650 switch ( value )
3651 {
3652 case CompareOp::eNever: return "Never";
3653 case CompareOp::eLess: return "Less";
3654 case CompareOp::eEqual: return "Equal";
3655 case CompareOp::eLessOrEqual: return "LessOrEqual";
3656 case CompareOp::eGreater: return "Greater";
3657 case CompareOp::eNotEqual: return "NotEqual";
3658 case CompareOp::eGreaterOrEqual: return "GreaterOrEqual";
3659 case CompareOp::eAlways: return "Always";
3660 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3661 }
3662 }
3663
3664 enum class CullModeFlagBits : VkCullModeFlags
3665 {
3666 eNone = VK_CULL_MODE_NONE,
3667 eFront = VK_CULL_MODE_FRONT_BIT,
3668 eBack = VK_CULL_MODE_BACK_BIT,
3669 eFrontAndBack = VK_CULL_MODE_FRONT_AND_BACK
3670 };
3671
3672 VULKAN_HPP_INLINE std::string to_string( CullModeFlagBits value )
3673 {
3674 switch ( value )
3675 {
3676 case CullModeFlagBits::eNone: return "None";
3677 case CullModeFlagBits::eFront: return "Front";
3678 case CullModeFlagBits::eBack: return "Back";
3679 case CullModeFlagBits::eFrontAndBack: return "FrontAndBack";
3680 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3681 }
3682 }
3683
3684 enum class DynamicState
3685 {
3686 eViewport = VK_DYNAMIC_STATE_VIEWPORT,
3687 eScissor = VK_DYNAMIC_STATE_SCISSOR,
3688 eLineWidth = VK_DYNAMIC_STATE_LINE_WIDTH,
3689 eDepthBias = VK_DYNAMIC_STATE_DEPTH_BIAS,
3690 eBlendConstants = VK_DYNAMIC_STATE_BLEND_CONSTANTS,
3691 eDepthBounds = VK_DYNAMIC_STATE_DEPTH_BOUNDS,
3692 eStencilCompareMask = VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK,
3693 eStencilWriteMask = VK_DYNAMIC_STATE_STENCIL_WRITE_MASK,
3694 eStencilReference = VK_DYNAMIC_STATE_STENCIL_REFERENCE,
3695 eViewportWScalingNV = VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV,
3696 eDiscardRectangleEXT = VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT,
3697 eSampleLocationsEXT = VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT,
3698 eRayTracingPipelineStackSizeKHR = VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR,
3699 eViewportShadingRatePaletteNV = VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV,
3700 eViewportCoarseSampleOrderNV = VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV,
3701 eExclusiveScissorNV = VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV,
3702 eFragmentShadingRateKHR = VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR,
3703 eLineStippleEXT = VK_DYNAMIC_STATE_LINE_STIPPLE_EXT,
3704 eCullModeEXT = VK_DYNAMIC_STATE_CULL_MODE_EXT,
3705 eFrontFaceEXT = VK_DYNAMIC_STATE_FRONT_FACE_EXT,
3706 ePrimitiveTopologyEXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT,
3707 eViewportWithCountEXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT,
3708 eScissorWithCountEXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT,
3709 eVertexInputBindingStrideEXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT,
3710 eDepthTestEnableEXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT,
3711 eDepthWriteEnableEXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT,
3712 eDepthCompareOpEXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT,
3713 eDepthBoundsTestEnableEXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT,
3714 eStencilTestEnableEXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT,
3715 eStencilOpEXT = VK_DYNAMIC_STATE_STENCIL_OP_EXT,
3716 eVertexInputEXT = VK_DYNAMIC_STATE_VERTEX_INPUT_EXT,
3717 ePatchControlPointsEXT = VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT,
3718 eRasterizerDiscardEnableEXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT,
3719 eDepthBiasEnableEXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT,
3720 eLogicOpEXT = VK_DYNAMIC_STATE_LOGIC_OP_EXT,
3721 ePrimitiveRestartEnableEXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT,
3722 eColorWriteEnableEXT = VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT
3723 };
3724
3725 VULKAN_HPP_INLINE std::string to_string( DynamicState value )
3726 {
3727 switch ( value )
3728 {
3729 case DynamicState::eViewport: return "Viewport";
3730 case DynamicState::eScissor: return "Scissor";
3731 case DynamicState::eLineWidth: return "LineWidth";
3732 case DynamicState::eDepthBias: return "DepthBias";
3733 case DynamicState::eBlendConstants: return "BlendConstants";
3734 case DynamicState::eDepthBounds: return "DepthBounds";
3735 case DynamicState::eStencilCompareMask: return "StencilCompareMask";
3736 case DynamicState::eStencilWriteMask: return "StencilWriteMask";
3737 case DynamicState::eStencilReference: return "StencilReference";
3738 case DynamicState::eViewportWScalingNV: return "ViewportWScalingNV";
3739 case DynamicState::eDiscardRectangleEXT: return "DiscardRectangleEXT";
3740 case DynamicState::eSampleLocationsEXT: return "SampleLocationsEXT";
3741 case DynamicState::eRayTracingPipelineStackSizeKHR: return "RayTracingPipelineStackSizeKHR";
3742 case DynamicState::eViewportShadingRatePaletteNV: return "ViewportShadingRatePaletteNV";
3743 case DynamicState::eViewportCoarseSampleOrderNV: return "ViewportCoarseSampleOrderNV";
3744 case DynamicState::eExclusiveScissorNV: return "ExclusiveScissorNV";
3745 case DynamicState::eFragmentShadingRateKHR: return "FragmentShadingRateKHR";
3746 case DynamicState::eLineStippleEXT: return "LineStippleEXT";
3747 case DynamicState::eCullModeEXT: return "CullModeEXT";
3748 case DynamicState::eFrontFaceEXT: return "FrontFaceEXT";
3749 case DynamicState::ePrimitiveTopologyEXT: return "PrimitiveTopologyEXT";
3750 case DynamicState::eViewportWithCountEXT: return "ViewportWithCountEXT";
3751 case DynamicState::eScissorWithCountEXT: return "ScissorWithCountEXT";
3752 case DynamicState::eVertexInputBindingStrideEXT: return "VertexInputBindingStrideEXT";
3753 case DynamicState::eDepthTestEnableEXT: return "DepthTestEnableEXT";
3754 case DynamicState::eDepthWriteEnableEXT: return "DepthWriteEnableEXT";
3755 case DynamicState::eDepthCompareOpEXT: return "DepthCompareOpEXT";
3756 case DynamicState::eDepthBoundsTestEnableEXT: return "DepthBoundsTestEnableEXT";
3757 case DynamicState::eStencilTestEnableEXT: return "StencilTestEnableEXT";
3758 case DynamicState::eStencilOpEXT: return "StencilOpEXT";
3759 case DynamicState::eVertexInputEXT: return "VertexInputEXT";
3760 case DynamicState::ePatchControlPointsEXT: return "PatchControlPointsEXT";
3761 case DynamicState::eRasterizerDiscardEnableEXT: return "RasterizerDiscardEnableEXT";
3762 case DynamicState::eDepthBiasEnableEXT: return "DepthBiasEnableEXT";
3763 case DynamicState::eLogicOpEXT: return "LogicOpEXT";
3764 case DynamicState::ePrimitiveRestartEnableEXT: return "PrimitiveRestartEnableEXT";
3765 case DynamicState::eColorWriteEnableEXT: return "ColorWriteEnableEXT";
3766 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3767 }
3768 }
3769
3770 enum class FrontFace
3771 {
3772 eCounterClockwise = VK_FRONT_FACE_COUNTER_CLOCKWISE,
3773 eClockwise = VK_FRONT_FACE_CLOCKWISE
3774 };
3775
3776 VULKAN_HPP_INLINE std::string to_string( FrontFace value )
3777 {
3778 switch ( value )
3779 {
3780 case FrontFace::eCounterClockwise: return "CounterClockwise";
3781 case FrontFace::eClockwise: return "Clockwise";
3782 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3783 }
3784 }
3785
3786 enum class LogicOp
3787 {
3788 eClear = VK_LOGIC_OP_CLEAR,
3789 eAnd = VK_LOGIC_OP_AND,
3790 eAndReverse = VK_LOGIC_OP_AND_REVERSE,
3791 eCopy = VK_LOGIC_OP_COPY,
3792 eAndInverted = VK_LOGIC_OP_AND_INVERTED,
3793 eNoOp = VK_LOGIC_OP_NO_OP,
3794 eXor = VK_LOGIC_OP_XOR,
3795 eOr = VK_LOGIC_OP_OR,
3796 eNor = VK_LOGIC_OP_NOR,
3797 eEquivalent = VK_LOGIC_OP_EQUIVALENT,
3798 eInvert = VK_LOGIC_OP_INVERT,
3799 eOrReverse = VK_LOGIC_OP_OR_REVERSE,
3800 eCopyInverted = VK_LOGIC_OP_COPY_INVERTED,
3801 eOrInverted = VK_LOGIC_OP_OR_INVERTED,
3802 eNand = VK_LOGIC_OP_NAND,
3803 eSet = VK_LOGIC_OP_SET
3804 };
3805
3806 VULKAN_HPP_INLINE std::string to_string( LogicOp value )
3807 {
3808 switch ( value )
3809 {
3810 case LogicOp::eClear: return "Clear";
3811 case LogicOp::eAnd: return "And";
3812 case LogicOp::eAndReverse: return "AndReverse";
3813 case LogicOp::eCopy: return "Copy";
3814 case LogicOp::eAndInverted: return "AndInverted";
3815 case LogicOp::eNoOp: return "NoOp";
3816 case LogicOp::eXor: return "Xor";
3817 case LogicOp::eOr: return "Or";
3818 case LogicOp::eNor: return "Nor";
3819 case LogicOp::eEquivalent: return "Equivalent";
3820 case LogicOp::eInvert: return "Invert";
3821 case LogicOp::eOrReverse: return "OrReverse";
3822 case LogicOp::eCopyInverted: return "CopyInverted";
3823 case LogicOp::eOrInverted: return "OrInverted";
3824 case LogicOp::eNand: return "Nand";
3825 case LogicOp::eSet: return "Set";
3826 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3827 }
3828 }
3829
3830 enum class PipelineCreateFlagBits : VkPipelineCreateFlags
3831 {
3832 eDisableOptimization = VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT,
3833 eAllowDerivatives = VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT,
3834 eDerivative = VK_PIPELINE_CREATE_DERIVATIVE_BIT,
3835 eViewIndexFromDeviceIndex = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
3836 eDispatchBase = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
3837 eRayTracingNoNullAnyHitShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR,
3838 eRayTracingNoNullClosestHitShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR,
3839 eRayTracingNoNullMissShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR,
3840 eRayTracingNoNullIntersectionShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR,
3841 eRayTracingSkipTrianglesKHR = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR,
3842 eRayTracingSkipAabbsKHR = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR,
3843 eRayTracingShaderGroupHandleCaptureReplayKHR =
3844 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR,
3845 eDeferCompileNV = VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV,
3846 eCaptureStatisticsKHR = VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR,
3847 eCaptureInternalRepresentationsKHR = VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR,
3848 eIndirectBindableNV = VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV,
3849 eLibraryKHR = VK_PIPELINE_CREATE_LIBRARY_BIT_KHR,
3850 eFailOnPipelineCompileRequiredEXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT,
3851 eEarlyReturnOnFailureEXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT,
3852 eRayTracingAllowMotionNV = VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV,
3853 eDispatchBaseKHR = VK_PIPELINE_CREATE_DISPATCH_BASE_KHR,
3854 eViewIndexFromDeviceIndexKHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR
3855 };
3856
3857 VULKAN_HPP_INLINE std::string to_string( PipelineCreateFlagBits value )
3858 {
3859 switch ( value )
3860 {
3861 case PipelineCreateFlagBits::eDisableOptimization: return "DisableOptimization";
3862 case PipelineCreateFlagBits::eAllowDerivatives: return "AllowDerivatives";
3863 case PipelineCreateFlagBits::eDerivative: return "Derivative";
3864 case PipelineCreateFlagBits::eViewIndexFromDeviceIndex: return "ViewIndexFromDeviceIndex";
3865 case PipelineCreateFlagBits::eDispatchBase: return "DispatchBase";
3866 case PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR: return "RayTracingNoNullAnyHitShadersKHR";
3867 case PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR: return "RayTracingNoNullClosestHitShadersKHR";
3868 case PipelineCreateFlagBits::eRayTracingNoNullMissShadersKHR: return "RayTracingNoNullMissShadersKHR";
3869 case PipelineCreateFlagBits::eRayTracingNoNullIntersectionShadersKHR:
3870 return "RayTracingNoNullIntersectionShadersKHR";
3871 case PipelineCreateFlagBits::eRayTracingSkipTrianglesKHR: return "RayTracingSkipTrianglesKHR";
3872 case PipelineCreateFlagBits::eRayTracingSkipAabbsKHR: return "RayTracingSkipAabbsKHR";
3873 case PipelineCreateFlagBits::eRayTracingShaderGroupHandleCaptureReplayKHR:
3874 return "RayTracingShaderGroupHandleCaptureReplayKHR";
3875 case PipelineCreateFlagBits::eDeferCompileNV: return "DeferCompileNV";
3876 case PipelineCreateFlagBits::eCaptureStatisticsKHR: return "CaptureStatisticsKHR";
3877 case PipelineCreateFlagBits::eCaptureInternalRepresentationsKHR: return "CaptureInternalRepresentationsKHR";
3878 case PipelineCreateFlagBits::eIndirectBindableNV: return "IndirectBindableNV";
3879 case PipelineCreateFlagBits::eLibraryKHR: return "LibraryKHR";
3880 case PipelineCreateFlagBits::eFailOnPipelineCompileRequiredEXT: return "FailOnPipelineCompileRequiredEXT";
3881 case PipelineCreateFlagBits::eEarlyReturnOnFailureEXT: return "EarlyReturnOnFailureEXT";
3882 case PipelineCreateFlagBits::eRayTracingAllowMotionNV: return "RayTracingAllowMotionNV";
3883 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3884 }
3885 }
3886
3887 enum class PipelineShaderStageCreateFlagBits : VkPipelineShaderStageCreateFlags
3888 {
3889 eAllowVaryingSubgroupSizeEXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT,
3890 eRequireFullSubgroupsEXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT
3891 };
3892
3893 VULKAN_HPP_INLINE std::string to_string( PipelineShaderStageCreateFlagBits value )
3894 {
3895 switch ( value )
3896 {
3897 case PipelineShaderStageCreateFlagBits::eAllowVaryingSubgroupSizeEXT: return "AllowVaryingSubgroupSizeEXT";
3898 case PipelineShaderStageCreateFlagBits::eRequireFullSubgroupsEXT: return "RequireFullSubgroupsEXT";
3899 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3900 }
3901 }
3902
3903 enum class PolygonMode
3904 {
3905 eFill = VK_POLYGON_MODE_FILL,
3906 eLine = VK_POLYGON_MODE_LINE,
3907 ePoint = VK_POLYGON_MODE_POINT,
3908 eFillRectangleNV = VK_POLYGON_MODE_FILL_RECTANGLE_NV
3909 };
3910
3911 VULKAN_HPP_INLINE std::string to_string( PolygonMode value )
3912 {
3913 switch ( value )
3914 {
3915 case PolygonMode::eFill: return "Fill";
3916 case PolygonMode::eLine: return "Line";
3917 case PolygonMode::ePoint: return "Point";
3918 case PolygonMode::eFillRectangleNV: return "FillRectangleNV";
3919 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3920 }
3921 }
3922
3923 enum class PrimitiveTopology
3924 {
3925 ePointList = VK_PRIMITIVE_TOPOLOGY_POINT_LIST,
3926 eLineList = VK_PRIMITIVE_TOPOLOGY_LINE_LIST,
3927 eLineStrip = VK_PRIMITIVE_TOPOLOGY_LINE_STRIP,
3928 eTriangleList = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST,
3929 eTriangleStrip = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP,
3930 eTriangleFan = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN,
3931 eLineListWithAdjacency = VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY,
3932 eLineStripWithAdjacency = VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY,
3933 eTriangleListWithAdjacency = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY,
3934 eTriangleStripWithAdjacency = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY,
3935 ePatchList = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST
3936 };
3937
3938 VULKAN_HPP_INLINE std::string to_string( PrimitiveTopology value )
3939 {
3940 switch ( value )
3941 {
3942 case PrimitiveTopology::ePointList: return "PointList";
3943 case PrimitiveTopology::eLineList: return "LineList";
3944 case PrimitiveTopology::eLineStrip: return "LineStrip";
3945 case PrimitiveTopology::eTriangleList: return "TriangleList";
3946 case PrimitiveTopology::eTriangleStrip: return "TriangleStrip";
3947 case PrimitiveTopology::eTriangleFan: return "TriangleFan";
3948 case PrimitiveTopology::eLineListWithAdjacency: return "LineListWithAdjacency";
3949 case PrimitiveTopology::eLineStripWithAdjacency: return "LineStripWithAdjacency";
3950 case PrimitiveTopology::eTriangleListWithAdjacency: return "TriangleListWithAdjacency";
3951 case PrimitiveTopology::eTriangleStripWithAdjacency: return "TriangleStripWithAdjacency";
3952 case PrimitiveTopology::ePatchList: return "PatchList";
3953 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
3954 }
3955 }
3956
3957 enum class ShaderStageFlagBits : VkShaderStageFlags
3958 {
3959 eVertex = VK_SHADER_STAGE_VERTEX_BIT,
3960 eTessellationControl = VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT,
3961 eTessellationEvaluation = VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT,
3962 eGeometry = VK_SHADER_STAGE_GEOMETRY_BIT,
3963 eFragment = VK_SHADER_STAGE_FRAGMENT_BIT,
3964 eCompute = VK_SHADER_STAGE_COMPUTE_BIT,
3965 eAllGraphics = VK_SHADER_STAGE_ALL_GRAPHICS,
3966 eAll = VK_SHADER_STAGE_ALL,
3967 eRaygenKHR = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
3968 eAnyHitKHR = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
3969 eClosestHitKHR = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
3970 eMissKHR = VK_SHADER_STAGE_MISS_BIT_KHR,
3971 eIntersectionKHR = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
3972 eCallableKHR = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
3973 eTaskNV = VK_SHADER_STAGE_TASK_BIT_NV,
3974 eMeshNV = VK_SHADER_STAGE_MESH_BIT_NV,
3975 eSubpassShadingHUAWEI = VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI,
3976 eAnyHitNV = VK_SHADER_STAGE_ANY_HIT_BIT_NV,
3977 eCallableNV = VK_SHADER_STAGE_CALLABLE_BIT_NV,
3978 eClosestHitNV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV,
3979 eIntersectionNV = VK_SHADER_STAGE_INTERSECTION_BIT_NV,
3980 eMissNV = VK_SHADER_STAGE_MISS_BIT_NV,
3981 eRaygenNV = VK_SHADER_STAGE_RAYGEN_BIT_NV
3982 };
3983
3984 VULKAN_HPP_INLINE std::string to_string( ShaderStageFlagBits value )
3985 {
3986 switch ( value )
3987 {
3988 case ShaderStageFlagBits::eVertex: return "Vertex";
3989 case ShaderStageFlagBits::eTessellationControl: return "TessellationControl";
3990 case ShaderStageFlagBits::eTessellationEvaluation: return "TessellationEvaluation";
3991 case ShaderStageFlagBits::eGeometry: return "Geometry";
3992 case ShaderStageFlagBits::eFragment: return "Fragment";
3993 case ShaderStageFlagBits::eCompute: return "Compute";
3994 case ShaderStageFlagBits::eAllGraphics: return "AllGraphics";
3995 case ShaderStageFlagBits::eAll: return "All";
3996 case ShaderStageFlagBits::eRaygenKHR: return "RaygenKHR";
3997 case ShaderStageFlagBits::eAnyHitKHR: return "AnyHitKHR";
3998 case ShaderStageFlagBits::eClosestHitKHR: return "ClosestHitKHR";
3999 case ShaderStageFlagBits::eMissKHR: return "MissKHR";
4000 case ShaderStageFlagBits::eIntersectionKHR: return "IntersectionKHR";
4001 case ShaderStageFlagBits::eCallableKHR: return "CallableKHR";
4002 case ShaderStageFlagBits::eTaskNV: return "TaskNV";
4003 case ShaderStageFlagBits::eMeshNV: return "MeshNV";
4004 case ShaderStageFlagBits::eSubpassShadingHUAWEI: return "SubpassShadingHUAWEI";
4005 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4006 }
4007 }
4008
4009 enum class StencilOp
4010 {
4011 eKeep = VK_STENCIL_OP_KEEP,
4012 eZero = VK_STENCIL_OP_ZERO,
4013 eReplace = VK_STENCIL_OP_REPLACE,
4014 eIncrementAndClamp = VK_STENCIL_OP_INCREMENT_AND_CLAMP,
4015 eDecrementAndClamp = VK_STENCIL_OP_DECREMENT_AND_CLAMP,
4016 eInvert = VK_STENCIL_OP_INVERT,
4017 eIncrementAndWrap = VK_STENCIL_OP_INCREMENT_AND_WRAP,
4018 eDecrementAndWrap = VK_STENCIL_OP_DECREMENT_AND_WRAP
4019 };
4020
4021 VULKAN_HPP_INLINE std::string to_string( StencilOp value )
4022 {
4023 switch ( value )
4024 {
4025 case StencilOp::eKeep: return "Keep";
4026 case StencilOp::eZero: return "Zero";
4027 case StencilOp::eReplace: return "Replace";
4028 case StencilOp::eIncrementAndClamp: return "IncrementAndClamp";
4029 case StencilOp::eDecrementAndClamp: return "DecrementAndClamp";
4030 case StencilOp::eInvert: return "Invert";
4031 case StencilOp::eIncrementAndWrap: return "IncrementAndWrap";
4032 case StencilOp::eDecrementAndWrap: return "DecrementAndWrap";
4033 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4034 }
4035 }
4036
4037 enum class VertexInputRate
4038 {
4039 eVertex = VK_VERTEX_INPUT_RATE_VERTEX,
4040 eInstance = VK_VERTEX_INPUT_RATE_INSTANCE
4041 };
4042
4043 VULKAN_HPP_INLINE std::string to_string( VertexInputRate value )
4044 {
4045 switch ( value )
4046 {
4047 case VertexInputRate::eVertex: return "Vertex";
4048 case VertexInputRate::eInstance: return "Instance";
4049 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4050 }
4051 }
4052
4053 enum class PipelineColorBlendStateCreateFlagBits : VkPipelineColorBlendStateCreateFlags
4054 {
4055 };
4056
4057 VULKAN_HPP_INLINE std::string to_string( PipelineColorBlendStateCreateFlagBits )
4058 {
4059 return "(void)";
4060 }
4061
4062 enum class PipelineDepthStencilStateCreateFlagBits : VkPipelineDepthStencilStateCreateFlags
4063 {
4064 };
4065
4066 VULKAN_HPP_INLINE std::string to_string( PipelineDepthStencilStateCreateFlagBits )
4067 {
4068 return "(void)";
4069 }
4070
4071 enum class PipelineDynamicStateCreateFlagBits : VkPipelineDynamicStateCreateFlags
4072 {
4073 };
4074
4075 VULKAN_HPP_INLINE std::string to_string( PipelineDynamicStateCreateFlagBits )
4076 {
4077 return "(void)";
4078 }
4079
4080 enum class PipelineInputAssemblyStateCreateFlagBits : VkPipelineInputAssemblyStateCreateFlags
4081 {
4082 };
4083
4084 VULKAN_HPP_INLINE std::string to_string( PipelineInputAssemblyStateCreateFlagBits )
4085 {
4086 return "(void)";
4087 }
4088
4089 enum class PipelineLayoutCreateFlagBits : VkPipelineLayoutCreateFlags
4090 {
4091 };
4092
4093 VULKAN_HPP_INLINE std::string to_string( PipelineLayoutCreateFlagBits )
4094 {
4095 return "(void)";
4096 }
4097
4098 enum class PipelineMultisampleStateCreateFlagBits : VkPipelineMultisampleStateCreateFlags
4099 {
4100 };
4101
4102 VULKAN_HPP_INLINE std::string to_string( PipelineMultisampleStateCreateFlagBits )
4103 {
4104 return "(void)";
4105 }
4106
4107 enum class PipelineRasterizationStateCreateFlagBits : VkPipelineRasterizationStateCreateFlags
4108 {
4109 };
4110
4111 VULKAN_HPP_INLINE std::string to_string( PipelineRasterizationStateCreateFlagBits )
4112 {
4113 return "(void)";
4114 }
4115
4116 enum class PipelineTessellationStateCreateFlagBits : VkPipelineTessellationStateCreateFlags
4117 {
4118 };
4119
4120 VULKAN_HPP_INLINE std::string to_string( PipelineTessellationStateCreateFlagBits )
4121 {
4122 return "(void)";
4123 }
4124
4125 enum class PipelineVertexInputStateCreateFlagBits : VkPipelineVertexInputStateCreateFlags
4126 {
4127 };
4128
4129 VULKAN_HPP_INLINE std::string to_string( PipelineVertexInputStateCreateFlagBits )
4130 {
4131 return "(void)";
4132 }
4133
4134 enum class PipelineViewportStateCreateFlagBits : VkPipelineViewportStateCreateFlags
4135 {
4136 };
4137
4138 VULKAN_HPP_INLINE std::string to_string( PipelineViewportStateCreateFlagBits )
4139 {
4140 return "(void)";
4141 }
4142
4143 enum class BorderColor
4144 {
4145 eFloatTransparentBlack = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,
4146 eIntTransparentBlack = VK_BORDER_COLOR_INT_TRANSPARENT_BLACK,
4147 eFloatOpaqueBlack = VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK,
4148 eIntOpaqueBlack = VK_BORDER_COLOR_INT_OPAQUE_BLACK,
4149 eFloatOpaqueWhite = VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE,
4150 eIntOpaqueWhite = VK_BORDER_COLOR_INT_OPAQUE_WHITE,
4151 eFloatCustomEXT = VK_BORDER_COLOR_FLOAT_CUSTOM_EXT,
4152 eIntCustomEXT = VK_BORDER_COLOR_INT_CUSTOM_EXT
4153 };
4154
4155 VULKAN_HPP_INLINE std::string to_string( BorderColor value )
4156 {
4157 switch ( value )
4158 {
4159 case BorderColor::eFloatTransparentBlack: return "FloatTransparentBlack";
4160 case BorderColor::eIntTransparentBlack: return "IntTransparentBlack";
4161 case BorderColor::eFloatOpaqueBlack: return "FloatOpaqueBlack";
4162 case BorderColor::eIntOpaqueBlack: return "IntOpaqueBlack";
4163 case BorderColor::eFloatOpaqueWhite: return "FloatOpaqueWhite";
4164 case BorderColor::eIntOpaqueWhite: return "IntOpaqueWhite";
4165 case BorderColor::eFloatCustomEXT: return "FloatCustomEXT";
4166 case BorderColor::eIntCustomEXT: return "IntCustomEXT";
4167 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4168 }
4169 }
4170
4171 enum class Filter
4172 {
4173 eNearest = VK_FILTER_NEAREST,
4174 eLinear = VK_FILTER_LINEAR,
4175 eCubicIMG = VK_FILTER_CUBIC_IMG,
4176 eCubicEXT = VK_FILTER_CUBIC_EXT
4177 };
4178
4179 VULKAN_HPP_INLINE std::string to_string( Filter value )
4180 {
4181 switch ( value )
4182 {
4183 case Filter::eNearest: return "Nearest";
4184 case Filter::eLinear: return "Linear";
4185 case Filter::eCubicIMG: return "CubicIMG";
4186 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4187 }
4188 }
4189
4190 enum class SamplerAddressMode
4191 {
4192 eRepeat = VK_SAMPLER_ADDRESS_MODE_REPEAT,
4193 eMirroredRepeat = VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT,
4194 eClampToEdge = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,
4195 eClampToBorder = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER,
4196 eMirrorClampToEdge = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
4197 eMirrorClampToEdgeKHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR
4198 };
4199
4200 VULKAN_HPP_INLINE std::string to_string( SamplerAddressMode value )
4201 {
4202 switch ( value )
4203 {
4204 case SamplerAddressMode::eRepeat: return "Repeat";
4205 case SamplerAddressMode::eMirroredRepeat: return "MirroredRepeat";
4206 case SamplerAddressMode::eClampToEdge: return "ClampToEdge";
4207 case SamplerAddressMode::eClampToBorder: return "ClampToBorder";
4208 case SamplerAddressMode::eMirrorClampToEdge: return "MirrorClampToEdge";
4209 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4210 }
4211 }
4212
4213 enum class SamplerCreateFlagBits : VkSamplerCreateFlags
4214 {
4215 eSubsampledEXT = VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT,
4216 eSubsampledCoarseReconstructionEXT = VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT
4217 };
4218
4219 VULKAN_HPP_INLINE std::string to_string( SamplerCreateFlagBits value )
4220 {
4221 switch ( value )
4222 {
4223 case SamplerCreateFlagBits::eSubsampledEXT: return "SubsampledEXT";
4224 case SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT: return "SubsampledCoarseReconstructionEXT";
4225 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4226 }
4227 }
4228
4229 enum class SamplerMipmapMode
4230 {
4231 eNearest = VK_SAMPLER_MIPMAP_MODE_NEAREST,
4232 eLinear = VK_SAMPLER_MIPMAP_MODE_LINEAR
4233 };
4234
4235 VULKAN_HPP_INLINE std::string to_string( SamplerMipmapMode value )
4236 {
4237 switch ( value )
4238 {
4239 case SamplerMipmapMode::eNearest: return "Nearest";
4240 case SamplerMipmapMode::eLinear: return "Linear";
4241 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4242 }
4243 }
4244
4245 enum class DescriptorPoolCreateFlagBits : VkDescriptorPoolCreateFlags
4246 {
4247 eFreeDescriptorSet = VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT,
4248 eUpdateAfterBind = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
4249 eHostOnlyVALVE = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE,
4250 eUpdateAfterBindEXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT
4251 };
4252
4253 VULKAN_HPP_INLINE std::string to_string( DescriptorPoolCreateFlagBits value )
4254 {
4255 switch ( value )
4256 {
4257 case DescriptorPoolCreateFlagBits::eFreeDescriptorSet: return "FreeDescriptorSet";
4258 case DescriptorPoolCreateFlagBits::eUpdateAfterBind: return "UpdateAfterBind";
4259 case DescriptorPoolCreateFlagBits::eHostOnlyVALVE: return "HostOnlyVALVE";
4260 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4261 }
4262 }
4263
4264 enum class DescriptorSetLayoutCreateFlagBits : VkDescriptorSetLayoutCreateFlags
4265 {
4266 eUpdateAfterBindPool = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
4267 ePushDescriptorKHR = VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR,
4268 eHostOnlyPoolVALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE,
4269 eUpdateAfterBindPoolEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
4270 };
4271
4272 VULKAN_HPP_INLINE std::string to_string( DescriptorSetLayoutCreateFlagBits value )
4273 {
4274 switch ( value )
4275 {
4276 case DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPool: return "UpdateAfterBindPool";
4277 case DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR: return "PushDescriptorKHR";
4278 case DescriptorSetLayoutCreateFlagBits::eHostOnlyPoolVALVE: return "HostOnlyPoolVALVE";
4279 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4280 }
4281 }
4282
4283 enum class DescriptorType
4284 {
4285 eSampler = VK_DESCRIPTOR_TYPE_SAMPLER,
4286 eCombinedImageSampler = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
4287 eSampledImage = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE,
4288 eStorageImage = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
4289 eUniformTexelBuffer = VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER,
4290 eStorageTexelBuffer = VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER,
4291 eUniformBuffer = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
4292 eStorageBuffer = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
4293 eUniformBufferDynamic = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,
4294 eStorageBufferDynamic = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC,
4295 eInputAttachment = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
4296 eInlineUniformBlockEXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT,
4297 eAccelerationStructureKHR = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR,
4298 eAccelerationStructureNV = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV,
4299 eMutableVALVE = VK_DESCRIPTOR_TYPE_MUTABLE_VALVE
4300 };
4301
4302 VULKAN_HPP_INLINE std::string to_string( DescriptorType value )
4303 {
4304 switch ( value )
4305 {
4306 case DescriptorType::eSampler: return "Sampler";
4307 case DescriptorType::eCombinedImageSampler: return "CombinedImageSampler";
4308 case DescriptorType::eSampledImage: return "SampledImage";
4309 case DescriptorType::eStorageImage: return "StorageImage";
4310 case DescriptorType::eUniformTexelBuffer: return "UniformTexelBuffer";
4311 case DescriptorType::eStorageTexelBuffer: return "StorageTexelBuffer";
4312 case DescriptorType::eUniformBuffer: return "UniformBuffer";
4313 case DescriptorType::eStorageBuffer: return "StorageBuffer";
4314 case DescriptorType::eUniformBufferDynamic: return "UniformBufferDynamic";
4315 case DescriptorType::eStorageBufferDynamic: return "StorageBufferDynamic";
4316 case DescriptorType::eInputAttachment: return "InputAttachment";
4317 case DescriptorType::eInlineUniformBlockEXT: return "InlineUniformBlockEXT";
4318 case DescriptorType::eAccelerationStructureKHR: return "AccelerationStructureKHR";
4319 case DescriptorType::eAccelerationStructureNV: return "AccelerationStructureNV";
4320 case DescriptorType::eMutableVALVE: return "MutableVALVE";
4321 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4322 }
4323 }
4324
4325 enum class DescriptorPoolResetFlagBits : VkDescriptorPoolResetFlags
4326 {
4327 };
4328
4329 VULKAN_HPP_INLINE std::string to_string( DescriptorPoolResetFlagBits )
4330 {
4331 return "(void)";
4332 }
4333
4334 enum class AccessFlagBits : VkAccessFlags
4335 {
4336 eIndirectCommandRead = VK_ACCESS_INDIRECT_COMMAND_READ_BIT,
4337 eIndexRead = VK_ACCESS_INDEX_READ_BIT,
4338 eVertexAttributeRead = VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT,
4339 eUniformRead = VK_ACCESS_UNIFORM_READ_BIT,
4340 eInputAttachmentRead = VK_ACCESS_INPUT_ATTACHMENT_READ_BIT,
4341 eShaderRead = VK_ACCESS_SHADER_READ_BIT,
4342 eShaderWrite = VK_ACCESS_SHADER_WRITE_BIT,
4343 eColorAttachmentRead = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT,
4344 eColorAttachmentWrite = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,
4345 eDepthStencilAttachmentRead = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT,
4346 eDepthStencilAttachmentWrite = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
4347 eTransferRead = VK_ACCESS_TRANSFER_READ_BIT,
4348 eTransferWrite = VK_ACCESS_TRANSFER_WRITE_BIT,
4349 eHostRead = VK_ACCESS_HOST_READ_BIT,
4350 eHostWrite = VK_ACCESS_HOST_WRITE_BIT,
4351 eMemoryRead = VK_ACCESS_MEMORY_READ_BIT,
4352 eMemoryWrite = VK_ACCESS_MEMORY_WRITE_BIT,
4353 eTransformFeedbackWriteEXT = VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
4354 eTransformFeedbackCounterReadEXT = VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
4355 eTransformFeedbackCounterWriteEXT = VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
4356 eConditionalRenderingReadEXT = VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT,
4357 eColorAttachmentReadNoncoherentEXT = VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
4358 eAccelerationStructureReadKHR = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
4359 eAccelerationStructureWriteKHR = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
4360 eFragmentDensityMapReadEXT = VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
4361 eFragmentShadingRateAttachmentReadKHR = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
4362 eCommandPreprocessReadNV = VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV,
4363 eCommandPreprocessWriteNV = VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV,
4364 eNoneKHR = VK_ACCESS_NONE_KHR,
4365 eAccelerationStructureReadNV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV,
4366 eAccelerationStructureWriteNV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV,
4367 eShadingRateImageReadNV = VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV
4368 };
4369
4370 VULKAN_HPP_INLINE std::string to_string( AccessFlagBits value )
4371 {
4372 switch ( value )
4373 {
4374 case AccessFlagBits::eIndirectCommandRead: return "IndirectCommandRead";
4375 case AccessFlagBits::eIndexRead: return "IndexRead";
4376 case AccessFlagBits::eVertexAttributeRead: return "VertexAttributeRead";
4377 case AccessFlagBits::eUniformRead: return "UniformRead";
4378 case AccessFlagBits::eInputAttachmentRead: return "InputAttachmentRead";
4379 case AccessFlagBits::eShaderRead: return "ShaderRead";
4380 case AccessFlagBits::eShaderWrite: return "ShaderWrite";
4381 case AccessFlagBits::eColorAttachmentRead: return "ColorAttachmentRead";
4382 case AccessFlagBits::eColorAttachmentWrite: return "ColorAttachmentWrite";
4383 case AccessFlagBits::eDepthStencilAttachmentRead: return "DepthStencilAttachmentRead";
4384 case AccessFlagBits::eDepthStencilAttachmentWrite: return "DepthStencilAttachmentWrite";
4385 case AccessFlagBits::eTransferRead: return "TransferRead";
4386 case AccessFlagBits::eTransferWrite: return "TransferWrite";
4387 case AccessFlagBits::eHostRead: return "HostRead";
4388 case AccessFlagBits::eHostWrite: return "HostWrite";
4389 case AccessFlagBits::eMemoryRead: return "MemoryRead";
4390 case AccessFlagBits::eMemoryWrite: return "MemoryWrite";
4391 case AccessFlagBits::eTransformFeedbackWriteEXT: return "TransformFeedbackWriteEXT";
4392 case AccessFlagBits::eTransformFeedbackCounterReadEXT: return "TransformFeedbackCounterReadEXT";
4393 case AccessFlagBits::eTransformFeedbackCounterWriteEXT: return "TransformFeedbackCounterWriteEXT";
4394 case AccessFlagBits::eConditionalRenderingReadEXT: return "ConditionalRenderingReadEXT";
4395 case AccessFlagBits::eColorAttachmentReadNoncoherentEXT: return "ColorAttachmentReadNoncoherentEXT";
4396 case AccessFlagBits::eAccelerationStructureReadKHR: return "AccelerationStructureReadKHR";
4397 case AccessFlagBits::eAccelerationStructureWriteKHR: return "AccelerationStructureWriteKHR";
4398 case AccessFlagBits::eFragmentDensityMapReadEXT: return "FragmentDensityMapReadEXT";
4399 case AccessFlagBits::eFragmentShadingRateAttachmentReadKHR: return "FragmentShadingRateAttachmentReadKHR";
4400 case AccessFlagBits::eCommandPreprocessReadNV: return "CommandPreprocessReadNV";
4401 case AccessFlagBits::eCommandPreprocessWriteNV: return "CommandPreprocessWriteNV";
4402 case AccessFlagBits::eNoneKHR: return "NoneKHR";
4403 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4404 }
4405 }
4406
4407 enum class AttachmentDescriptionFlagBits : VkAttachmentDescriptionFlags
4408 {
4409 eMayAlias = VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT
4410 };
4411
4412 VULKAN_HPP_INLINE std::string to_string( AttachmentDescriptionFlagBits value )
4413 {
4414 switch ( value )
4415 {
4416 case AttachmentDescriptionFlagBits::eMayAlias: return "MayAlias";
4417 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4418 }
4419 }
4420
4421 enum class AttachmentLoadOp
4422 {
4423 eLoad = VK_ATTACHMENT_LOAD_OP_LOAD,
4424 eClear = VK_ATTACHMENT_LOAD_OP_CLEAR,
4425 eDontCare = VK_ATTACHMENT_LOAD_OP_DONT_CARE,
4426 eNoneEXT = VK_ATTACHMENT_LOAD_OP_NONE_EXT
4427 };
4428
4429 VULKAN_HPP_INLINE std::string to_string( AttachmentLoadOp value )
4430 {
4431 switch ( value )
4432 {
4433 case AttachmentLoadOp::eLoad: return "Load";
4434 case AttachmentLoadOp::eClear: return "Clear";
4435 case AttachmentLoadOp::eDontCare: return "DontCare";
4436 case AttachmentLoadOp::eNoneEXT: return "NoneEXT";
4437 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4438 }
4439 }
4440
4441 enum class AttachmentStoreOp
4442 {
4443 eStore = VK_ATTACHMENT_STORE_OP_STORE,
4444 eDontCare = VK_ATTACHMENT_STORE_OP_DONT_CARE,
4445 eNoneEXT = VK_ATTACHMENT_STORE_OP_NONE_EXT,
4446 eNoneQCOM = VK_ATTACHMENT_STORE_OP_NONE_QCOM
4447 };
4448
4449 VULKAN_HPP_INLINE std::string to_string( AttachmentStoreOp value )
4450 {
4451 switch ( value )
4452 {
4453 case AttachmentStoreOp::eStore: return "Store";
4454 case AttachmentStoreOp::eDontCare: return "DontCare";
4455 case AttachmentStoreOp::eNoneEXT: return "NoneEXT";
4456 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4457 }
4458 }
4459
4460 enum class DependencyFlagBits : VkDependencyFlags
4461 {
4462 eByRegion = VK_DEPENDENCY_BY_REGION_BIT,
4463 eDeviceGroup = VK_DEPENDENCY_DEVICE_GROUP_BIT,
4464 eViewLocal = VK_DEPENDENCY_VIEW_LOCAL_BIT,
4465 eDeviceGroupKHR = VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR,
4466 eViewLocalKHR = VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR
4467 };
4468
4469 VULKAN_HPP_INLINE std::string to_string( DependencyFlagBits value )
4470 {
4471 switch ( value )
4472 {
4473 case DependencyFlagBits::eByRegion: return "ByRegion";
4474 case DependencyFlagBits::eDeviceGroup: return "DeviceGroup";
4475 case DependencyFlagBits::eViewLocal: return "ViewLocal";
4476 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4477 }
4478 }
4479
4480 enum class FramebufferCreateFlagBits : VkFramebufferCreateFlags
4481 {
4482 eImageless = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
4483 eImagelessKHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR
4484 };
4485
4486 VULKAN_HPP_INLINE std::string to_string( FramebufferCreateFlagBits value )
4487 {
4488 switch ( value )
4489 {
4490 case FramebufferCreateFlagBits::eImageless: return "Imageless";
4491 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4492 }
4493 }
4494
4495 enum class PipelineBindPoint
4496 {
4497 eGraphics = VK_PIPELINE_BIND_POINT_GRAPHICS,
4498 eCompute = VK_PIPELINE_BIND_POINT_COMPUTE,
4499 eRayTracingKHR = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
4500 eSubpassShadingHUAWEI = VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI,
4501 eRayTracingNV = VK_PIPELINE_BIND_POINT_RAY_TRACING_NV
4502 };
4503
4504 VULKAN_HPP_INLINE std::string to_string( PipelineBindPoint value )
4505 {
4506 switch ( value )
4507 {
4508 case PipelineBindPoint::eGraphics: return "Graphics";
4509 case PipelineBindPoint::eCompute: return "Compute";
4510 case PipelineBindPoint::eRayTracingKHR: return "RayTracingKHR";
4511 case PipelineBindPoint::eSubpassShadingHUAWEI: return "SubpassShadingHUAWEI";
4512 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4513 }
4514 }
4515
4516 enum class RenderPassCreateFlagBits : VkRenderPassCreateFlags
4517 {
4518 eTransformQCOM = VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM
4519 };
4520
4521 VULKAN_HPP_INLINE std::string to_string( RenderPassCreateFlagBits value )
4522 {
4523 switch ( value )
4524 {
4525 case RenderPassCreateFlagBits::eTransformQCOM: return "TransformQCOM";
4526 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4527 }
4528 }
4529
4530 enum class SubpassDescriptionFlagBits : VkSubpassDescriptionFlags
4531 {
4532 ePerViewAttributesNVX = VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX,
4533 ePerViewPositionXOnlyNVX = VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX,
4534 eFragmentRegionQCOM = VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM,
4535 eShaderResolveQCOM = VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM
4536 };
4537
4538 VULKAN_HPP_INLINE std::string to_string( SubpassDescriptionFlagBits value )
4539 {
4540 switch ( value )
4541 {
4542 case SubpassDescriptionFlagBits::ePerViewAttributesNVX: return "PerViewAttributesNVX";
4543 case SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX: return "PerViewPositionXOnlyNVX";
4544 case SubpassDescriptionFlagBits::eFragmentRegionQCOM: return "FragmentRegionQCOM";
4545 case SubpassDescriptionFlagBits::eShaderResolveQCOM: return "ShaderResolveQCOM";
4546 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4547 }
4548 }
4549
4550 enum class CommandPoolCreateFlagBits : VkCommandPoolCreateFlags
4551 {
4552 eTransient = VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,
4553 eResetCommandBuffer = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT,
4554 eProtected = VK_COMMAND_POOL_CREATE_PROTECTED_BIT
4555 };
4556
4557 VULKAN_HPP_INLINE std::string to_string( CommandPoolCreateFlagBits value )
4558 {
4559 switch ( value )
4560 {
4561 case CommandPoolCreateFlagBits::eTransient: return "Transient";
4562 case CommandPoolCreateFlagBits::eResetCommandBuffer: return "ResetCommandBuffer";
4563 case CommandPoolCreateFlagBits::eProtected: return "Protected";
4564 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4565 }
4566 }
4567
4568 enum class CommandPoolResetFlagBits : VkCommandPoolResetFlags
4569 {
4570 eReleaseResources = VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT
4571 };
4572
4573 VULKAN_HPP_INLINE std::string to_string( CommandPoolResetFlagBits value )
4574 {
4575 switch ( value )
4576 {
4577 case CommandPoolResetFlagBits::eReleaseResources: return "ReleaseResources";
4578 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4579 }
4580 }
4581
4582 enum class CommandBufferLevel
4583 {
4584 ePrimary = VK_COMMAND_BUFFER_LEVEL_PRIMARY,
4585 eSecondary = VK_COMMAND_BUFFER_LEVEL_SECONDARY
4586 };
4587
4588 VULKAN_HPP_INLINE std::string to_string( CommandBufferLevel value )
4589 {
4590 switch ( value )
4591 {
4592 case CommandBufferLevel::ePrimary: return "Primary";
4593 case CommandBufferLevel::eSecondary: return "Secondary";
4594 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4595 }
4596 }
4597
4598 enum class CommandBufferResetFlagBits : VkCommandBufferResetFlags
4599 {
4600 eReleaseResources = VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT
4601 };
4602
4603 VULKAN_HPP_INLINE std::string to_string( CommandBufferResetFlagBits value )
4604 {
4605 switch ( value )
4606 {
4607 case CommandBufferResetFlagBits::eReleaseResources: return "ReleaseResources";
4608 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4609 }
4610 }
4611
4612 enum class CommandBufferUsageFlagBits : VkCommandBufferUsageFlags
4613 {
4614 eOneTimeSubmit = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT,
4615 eRenderPassContinue = VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT,
4616 eSimultaneousUse = VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT
4617 };
4618
4619 VULKAN_HPP_INLINE std::string to_string( CommandBufferUsageFlagBits value )
4620 {
4621 switch ( value )
4622 {
4623 case CommandBufferUsageFlagBits::eOneTimeSubmit: return "OneTimeSubmit";
4624 case CommandBufferUsageFlagBits::eRenderPassContinue: return "RenderPassContinue";
4625 case CommandBufferUsageFlagBits::eSimultaneousUse: return "SimultaneousUse";
4626 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4627 }
4628 }
4629
4630 enum class QueryControlFlagBits : VkQueryControlFlags
4631 {
4632 ePrecise = VK_QUERY_CONTROL_PRECISE_BIT
4633 };
4634
4635 VULKAN_HPP_INLINE std::string to_string( QueryControlFlagBits value )
4636 {
4637 switch ( value )
4638 {
4639 case QueryControlFlagBits::ePrecise: return "Precise";
4640 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4641 }
4642 }
4643
4644 enum class IndexType
4645 {
4646 eUint16 = VK_INDEX_TYPE_UINT16,
4647 eUint32 = VK_INDEX_TYPE_UINT32,
4648 eNoneKHR = VK_INDEX_TYPE_NONE_KHR,
4649 eUint8EXT = VK_INDEX_TYPE_UINT8_EXT,
4650 eNoneNV = VK_INDEX_TYPE_NONE_NV
4651 };
4652
4653 VULKAN_HPP_INLINE std::string to_string( IndexType value )
4654 {
4655 switch ( value )
4656 {
4657 case IndexType::eUint16: return "Uint16";
4658 case IndexType::eUint32: return "Uint32";
4659 case IndexType::eNoneKHR: return "NoneKHR";
4660 case IndexType::eUint8EXT: return "Uint8EXT";
4661 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4662 }
4663 }
4664
4665 enum class StencilFaceFlagBits : VkStencilFaceFlags
4666 {
4667 eFront = VK_STENCIL_FACE_FRONT_BIT,
4668 eBack = VK_STENCIL_FACE_BACK_BIT,
4669 eFrontAndBack = VK_STENCIL_FACE_FRONT_AND_BACK,
4670 eVkStencilFrontAndBack = VK_STENCIL_FRONT_AND_BACK
4671 };
4672
4673 VULKAN_HPP_INLINE std::string to_string( StencilFaceFlagBits value )
4674 {
4675 switch ( value )
4676 {
4677 case StencilFaceFlagBits::eFront: return "Front";
4678 case StencilFaceFlagBits::eBack: return "Back";
4679 case StencilFaceFlagBits::eFrontAndBack: return "FrontAndBack";
4680 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4681 }
4682 }
4683
4684 enum class SubpassContents
4685 {
4686 eInline = VK_SUBPASS_CONTENTS_INLINE,
4687 eSecondaryCommandBuffers = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS
4688 };
4689
4690 VULKAN_HPP_INLINE std::string to_string( SubpassContents value )
4691 {
4692 switch ( value )
4693 {
4694 case SubpassContents::eInline: return "Inline";
4695 case SubpassContents::eSecondaryCommandBuffers: return "SecondaryCommandBuffers";
4696 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4697 }
4698 }
4699
4700 //=== VK_VERSION_1_1 ===
4701
4702 enum class SubgroupFeatureFlagBits : VkSubgroupFeatureFlags
4703 {
4704 eBasic = VK_SUBGROUP_FEATURE_BASIC_BIT,
4705 eVote = VK_SUBGROUP_FEATURE_VOTE_BIT,
4706 eArithmetic = VK_SUBGROUP_FEATURE_ARITHMETIC_BIT,
4707 eBallot = VK_SUBGROUP_FEATURE_BALLOT_BIT,
4708 eShuffle = VK_SUBGROUP_FEATURE_SHUFFLE_BIT,
4709 eShuffleRelative = VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT,
4710 eClustered = VK_SUBGROUP_FEATURE_CLUSTERED_BIT,
4711 eQuad = VK_SUBGROUP_FEATURE_QUAD_BIT,
4712 ePartitionedNV = VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV
4713 };
4714
4715 VULKAN_HPP_INLINE std::string to_string( SubgroupFeatureFlagBits value )
4716 {
4717 switch ( value )
4718 {
4719 case SubgroupFeatureFlagBits::eBasic: return "Basic";
4720 case SubgroupFeatureFlagBits::eVote: return "Vote";
4721 case SubgroupFeatureFlagBits::eArithmetic: return "Arithmetic";
4722 case SubgroupFeatureFlagBits::eBallot: return "Ballot";
4723 case SubgroupFeatureFlagBits::eShuffle: return "Shuffle";
4724 case SubgroupFeatureFlagBits::eShuffleRelative: return "ShuffleRelative";
4725 case SubgroupFeatureFlagBits::eClustered: return "Clustered";
4726 case SubgroupFeatureFlagBits::eQuad: return "Quad";
4727 case SubgroupFeatureFlagBits::ePartitionedNV: return "PartitionedNV";
4728 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4729 }
4730 }
4731
4732 enum class PeerMemoryFeatureFlagBits : VkPeerMemoryFeatureFlags
4733 {
4734 eCopySrc = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
4735 eCopyDst = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
4736 eGenericSrc = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
4737 eGenericDst = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT
4738 };
4739 using PeerMemoryFeatureFlagBitsKHR = PeerMemoryFeatureFlagBits;
4740
4741 VULKAN_HPP_INLINE std::string to_string( PeerMemoryFeatureFlagBits value )
4742 {
4743 switch ( value )
4744 {
4745 case PeerMemoryFeatureFlagBits::eCopySrc: return "CopySrc";
4746 case PeerMemoryFeatureFlagBits::eCopyDst: return "CopyDst";
4747 case PeerMemoryFeatureFlagBits::eGenericSrc: return "GenericSrc";
4748 case PeerMemoryFeatureFlagBits::eGenericDst: return "GenericDst";
4749 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4750 }
4751 }
4752
4753 enum class MemoryAllocateFlagBits : VkMemoryAllocateFlags
4754 {
4755 eDeviceMask = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
4756 eDeviceAddress = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
4757 eDeviceAddressCaptureReplay = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT
4758 };
4759 using MemoryAllocateFlagBitsKHR = MemoryAllocateFlagBits;
4760
4761 VULKAN_HPP_INLINE std::string to_string( MemoryAllocateFlagBits value )
4762 {
4763 switch ( value )
4764 {
4765 case MemoryAllocateFlagBits::eDeviceMask: return "DeviceMask";
4766 case MemoryAllocateFlagBits::eDeviceAddress: return "DeviceAddress";
4767 case MemoryAllocateFlagBits::eDeviceAddressCaptureReplay: return "DeviceAddressCaptureReplay";
4768 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4769 }
4770 }
4771
4772 enum class CommandPoolTrimFlagBits : VkCommandPoolTrimFlags
4773 {
4774 };
4775
4776 VULKAN_HPP_INLINE std::string to_string( CommandPoolTrimFlagBits )
4777 {
4778 return "(void)";
4779 }
4780
4781 enum class PointClippingBehavior
4782 {
4783 eAllClipPlanes = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
4784 eUserClipPlanesOnly = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
4785 };
4786 using PointClippingBehaviorKHR = PointClippingBehavior;
4787
4788 VULKAN_HPP_INLINE std::string to_string( PointClippingBehavior value )
4789 {
4790 switch ( value )
4791 {
4792 case PointClippingBehavior::eAllClipPlanes: return "AllClipPlanes";
4793 case PointClippingBehavior::eUserClipPlanesOnly: return "UserClipPlanesOnly";
4794 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4795 }
4796 }
4797
4798 enum class TessellationDomainOrigin
4799 {
4800 eUpperLeft = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
4801 eLowerLeft = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT
4802 };
4803 using TessellationDomainOriginKHR = TessellationDomainOrigin;
4804
4805 VULKAN_HPP_INLINE std::string to_string( TessellationDomainOrigin value )
4806 {
4807 switch ( value )
4808 {
4809 case TessellationDomainOrigin::eUpperLeft: return "UpperLeft";
4810 case TessellationDomainOrigin::eLowerLeft: return "LowerLeft";
4811 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4812 }
4813 }
4814
4815 enum class SamplerYcbcrModelConversion
4816 {
4817 eRgbIdentity = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
4818 eYcbcrIdentity = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
4819 eYcbcr709 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
4820 eYcbcr601 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
4821 eYcbcr2020 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020
4822 };
4823 using SamplerYcbcrModelConversionKHR = SamplerYcbcrModelConversion;
4824
4825 VULKAN_HPP_INLINE std::string to_string( SamplerYcbcrModelConversion value )
4826 {
4827 switch ( value )
4828 {
4829 case SamplerYcbcrModelConversion::eRgbIdentity: return "RgbIdentity";
4830 case SamplerYcbcrModelConversion::eYcbcrIdentity: return "YcbcrIdentity";
4831 case SamplerYcbcrModelConversion::eYcbcr709: return "Ycbcr709";
4832 case SamplerYcbcrModelConversion::eYcbcr601: return "Ycbcr601";
4833 case SamplerYcbcrModelConversion::eYcbcr2020: return "Ycbcr2020";
4834 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4835 }
4836 }
4837
4838 enum class SamplerYcbcrRange
4839 {
4840 eItuFull = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
4841 eItuNarrow = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW
4842 };
4843 using SamplerYcbcrRangeKHR = SamplerYcbcrRange;
4844
4845 VULKAN_HPP_INLINE std::string to_string( SamplerYcbcrRange value )
4846 {
4847 switch ( value )
4848 {
4849 case SamplerYcbcrRange::eItuFull: return "ItuFull";
4850 case SamplerYcbcrRange::eItuNarrow: return "ItuNarrow";
4851 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4852 }
4853 }
4854
4855 enum class ChromaLocation
4856 {
4857 eCositedEven = VK_CHROMA_LOCATION_COSITED_EVEN,
4858 eMidpoint = VK_CHROMA_LOCATION_MIDPOINT
4859 };
4860 using ChromaLocationKHR = ChromaLocation;
4861
4862 VULKAN_HPP_INLINE std::string to_string( ChromaLocation value )
4863 {
4864 switch ( value )
4865 {
4866 case ChromaLocation::eCositedEven: return "CositedEven";
4867 case ChromaLocation::eMidpoint: return "Midpoint";
4868 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4869 }
4870 }
4871
4872 enum class DescriptorUpdateTemplateType
4873 {
4874 eDescriptorSet = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4875 ePushDescriptorsKHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR
4876 };
4877 using DescriptorUpdateTemplateTypeKHR = DescriptorUpdateTemplateType;
4878
4879 VULKAN_HPP_INLINE std::string to_string( DescriptorUpdateTemplateType value )
4880 {
4881 switch ( value )
4882 {
4883 case DescriptorUpdateTemplateType::eDescriptorSet: return "DescriptorSet";
4884 case DescriptorUpdateTemplateType::ePushDescriptorsKHR: return "PushDescriptorsKHR";
4885 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4886 }
4887 }
4888
4889 enum class DescriptorUpdateTemplateCreateFlagBits : VkDescriptorUpdateTemplateCreateFlags
4890 {
4891 };
4892
4893 VULKAN_HPP_INLINE std::string to_string( DescriptorUpdateTemplateCreateFlagBits )
4894 {
4895 return "(void)";
4896 }
4897
4898 enum class ExternalMemoryHandleTypeFlagBits : VkExternalMemoryHandleTypeFlags
4899 {
4900 eOpaqueFd = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
4901 eOpaqueWin32 = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4902 eOpaqueWin32Kmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4903 eD3D11Texture = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
4904 eD3D11TextureKmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
4905 eD3D12Heap = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
4906 eD3D12Resource = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
4907 eDmaBufEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT,
4908#if defined( VK_USE_PLATFORM_ANDROID_KHR )
4909 eAndroidHardwareBufferANDROID = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID,
4910#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
4911 eHostAllocationEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT,
4912 eHostMappedForeignMemoryEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT,
4913#if defined( VK_USE_PLATFORM_FUCHSIA )
4914 eZirconVmoFUCHSIA = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA,
4915#endif /*VK_USE_PLATFORM_FUCHSIA*/
4916 eRdmaAddressNV = VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV
4917 };
4918 using ExternalMemoryHandleTypeFlagBitsKHR = ExternalMemoryHandleTypeFlagBits;
4919
4920 VULKAN_HPP_INLINE std::string to_string( ExternalMemoryHandleTypeFlagBits value )
4921 {
4922 switch ( value )
4923 {
4924 case ExternalMemoryHandleTypeFlagBits::eOpaqueFd: return "OpaqueFd";
4925 case ExternalMemoryHandleTypeFlagBits::eOpaqueWin32: return "OpaqueWin32";
4926 case ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt: return "OpaqueWin32Kmt";
4927 case ExternalMemoryHandleTypeFlagBits::eD3D11Texture: return "D3D11Texture";
4928 case ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt: return "D3D11TextureKmt";
4929 case ExternalMemoryHandleTypeFlagBits::eD3D12Heap: return "D3D12Heap";
4930 case ExternalMemoryHandleTypeFlagBits::eD3D12Resource: return "D3D12Resource";
4931 case ExternalMemoryHandleTypeFlagBits::eDmaBufEXT: return "DmaBufEXT";
4932#if defined( VK_USE_PLATFORM_ANDROID_KHR )
4933 case ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID: return "AndroidHardwareBufferANDROID";
4934#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
4935 case ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT: return "HostAllocationEXT";
4936 case ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT: return "HostMappedForeignMemoryEXT";
4937#if defined( VK_USE_PLATFORM_FUCHSIA )
4938 case ExternalMemoryHandleTypeFlagBits::eZirconVmoFUCHSIA: return "ZirconVmoFUCHSIA";
4939#endif /*VK_USE_PLATFORM_FUCHSIA*/
4940 case ExternalMemoryHandleTypeFlagBits::eRdmaAddressNV: return "RdmaAddressNV";
4941 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4942 }
4943 }
4944
4945 enum class ExternalMemoryFeatureFlagBits : VkExternalMemoryFeatureFlags
4946 {
4947 eDedicatedOnly = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
4948 eExportable = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
4949 eImportable = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT
4950 };
4951 using ExternalMemoryFeatureFlagBitsKHR = ExternalMemoryFeatureFlagBits;
4952
4953 VULKAN_HPP_INLINE std::string to_string( ExternalMemoryFeatureFlagBits value )
4954 {
4955 switch ( value )
4956 {
4957 case ExternalMemoryFeatureFlagBits::eDedicatedOnly: return "DedicatedOnly";
4958 case ExternalMemoryFeatureFlagBits::eExportable: return "Exportable";
4959 case ExternalMemoryFeatureFlagBits::eImportable: return "Importable";
4960 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4961 }
4962 }
4963
4964 enum class ExternalFenceHandleTypeFlagBits : VkExternalFenceHandleTypeFlags
4965 {
4966 eOpaqueFd = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
4967 eOpaqueWin32 = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4968 eOpaqueWin32Kmt = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4969 eSyncFd = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
4970 };
4971 using ExternalFenceHandleTypeFlagBitsKHR = ExternalFenceHandleTypeFlagBits;
4972
4973 VULKAN_HPP_INLINE std::string to_string( ExternalFenceHandleTypeFlagBits value )
4974 {
4975 switch ( value )
4976 {
4977 case ExternalFenceHandleTypeFlagBits::eOpaqueFd: return "OpaqueFd";
4978 case ExternalFenceHandleTypeFlagBits::eOpaqueWin32: return "OpaqueWin32";
4979 case ExternalFenceHandleTypeFlagBits::eOpaqueWin32Kmt: return "OpaqueWin32Kmt";
4980 case ExternalFenceHandleTypeFlagBits::eSyncFd: return "SyncFd";
4981 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4982 }
4983 }
4984
4985 enum class ExternalFenceFeatureFlagBits : VkExternalFenceFeatureFlags
4986 {
4987 eExportable = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
4988 eImportable = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT
4989 };
4990 using ExternalFenceFeatureFlagBitsKHR = ExternalFenceFeatureFlagBits;
4991
4992 VULKAN_HPP_INLINE std::string to_string( ExternalFenceFeatureFlagBits value )
4993 {
4994 switch ( value )
4995 {
4996 case ExternalFenceFeatureFlagBits::eExportable: return "Exportable";
4997 case ExternalFenceFeatureFlagBits::eImportable: return "Importable";
4998 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
4999 }
5000 }
5001
5002 enum class FenceImportFlagBits : VkFenceImportFlags
5003 {
5004 eTemporary = VK_FENCE_IMPORT_TEMPORARY_BIT
5005 };
5006 using FenceImportFlagBitsKHR = FenceImportFlagBits;
5007
5008 VULKAN_HPP_INLINE std::string to_string( FenceImportFlagBits value )
5009 {
5010 switch ( value )
5011 {
5012 case FenceImportFlagBits::eTemporary: return "Temporary";
5013 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5014 }
5015 }
5016
5017 enum class SemaphoreImportFlagBits : VkSemaphoreImportFlags
5018 {
5019 eTemporary = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT
5020 };
5021 using SemaphoreImportFlagBitsKHR = SemaphoreImportFlagBits;
5022
5023 VULKAN_HPP_INLINE std::string to_string( SemaphoreImportFlagBits value )
5024 {
5025 switch ( value )
5026 {
5027 case SemaphoreImportFlagBits::eTemporary: return "Temporary";
5028 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5029 }
5030 }
5031
5032 enum class ExternalSemaphoreHandleTypeFlagBits : VkExternalSemaphoreHandleTypeFlags
5033 {
5034 eOpaqueFd = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
5035 eOpaqueWin32 = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5036 eOpaqueWin32Kmt = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5037 eD3D12Fence = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5038 eSyncFd = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
5039#if defined( VK_USE_PLATFORM_FUCHSIA )
5040 eZirconEventFUCHSIA = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA,
5041#endif /*VK_USE_PLATFORM_FUCHSIA*/
5042 eD3D11Fence = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT
5043 };
5044 using ExternalSemaphoreHandleTypeFlagBitsKHR = ExternalSemaphoreHandleTypeFlagBits;
5045
5046 VULKAN_HPP_INLINE std::string to_string( ExternalSemaphoreHandleTypeFlagBits value )
5047 {
5048 switch ( value )
5049 {
5050 case ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd: return "OpaqueFd";
5051 case ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32: return "OpaqueWin32";
5052 case ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32Kmt: return "OpaqueWin32Kmt";
5053 case ExternalSemaphoreHandleTypeFlagBits::eD3D12Fence: return "D3D12Fence";
5054 case ExternalSemaphoreHandleTypeFlagBits::eSyncFd: return "SyncFd";
5055#if defined( VK_USE_PLATFORM_FUCHSIA )
5056 case ExternalSemaphoreHandleTypeFlagBits::eZirconEventFUCHSIA: return "ZirconEventFUCHSIA";
5057#endif /*VK_USE_PLATFORM_FUCHSIA*/
5058 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5059 }
5060 }
5061
5062 enum class ExternalSemaphoreFeatureFlagBits : VkExternalSemaphoreFeatureFlags
5063 {
5064 eExportable = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
5065 eImportable = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT
5066 };
5067 using ExternalSemaphoreFeatureFlagBitsKHR = ExternalSemaphoreFeatureFlagBits;
5068
5069 VULKAN_HPP_INLINE std::string to_string( ExternalSemaphoreFeatureFlagBits value )
5070 {
5071 switch ( value )
5072 {
5073 case ExternalSemaphoreFeatureFlagBits::eExportable: return "Exportable";
5074 case ExternalSemaphoreFeatureFlagBits::eImportable: return "Importable";
5075 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5076 }
5077 }
5078
5079 //=== VK_VERSION_1_2 ===
5080
5081 enum class DriverId
5082 {
5083 eAmdProprietary = VK_DRIVER_ID_AMD_PROPRIETARY,
5084 eAmdOpenSource = VK_DRIVER_ID_AMD_OPEN_SOURCE,
5085 eMesaRadv = VK_DRIVER_ID_MESA_RADV,
5086 eNvidiaProprietary = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
5087 eIntelProprietaryWindows = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
5088 eIntelOpenSourceMESA = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
5089 eImaginationProprietary = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
5090 eQualcommProprietary = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
5091 eArmProprietary = VK_DRIVER_ID_ARM_PROPRIETARY,
5092 eGoogleSwiftshader = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
5093 eGgpProprietary = VK_DRIVER_ID_GGP_PROPRIETARY,
5094 eBroadcomProprietary = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
5095 eMesaLlvmpipe = VK_DRIVER_ID_MESA_LLVMPIPE,
5096 eMoltenvk = VK_DRIVER_ID_MOLTENVK,
5097 eCoreaviProprietary = VK_DRIVER_ID_COREAVI_PROPRIETARY,
5098 eJuiceProprietary = VK_DRIVER_ID_JUICE_PROPRIETARY,
5099 eVerisiliconProprietary = VK_DRIVER_ID_VERISILICON_PROPRIETARY
5100 };
5101 using DriverIdKHR = DriverId;
5102
5103 VULKAN_HPP_INLINE std::string to_string( DriverId value )
5104 {
5105 switch ( value )
5106 {
5107 case DriverId::eAmdProprietary: return "AmdProprietary";
5108 case DriverId::eAmdOpenSource: return "AmdOpenSource";
5109 case DriverId::eMesaRadv: return "MesaRadv";
5110 case DriverId::eNvidiaProprietary: return "NvidiaProprietary";
5111 case DriverId::eIntelProprietaryWindows: return "IntelProprietaryWindows";
5112 case DriverId::eIntelOpenSourceMESA: return "IntelOpenSourceMESA";
5113 case DriverId::eImaginationProprietary: return "ImaginationProprietary";
5114 case DriverId::eQualcommProprietary: return "QualcommProprietary";
5115 case DriverId::eArmProprietary: return "ArmProprietary";
5116 case DriverId::eGoogleSwiftshader: return "GoogleSwiftshader";
5117 case DriverId::eGgpProprietary: return "GgpProprietary";
5118 case DriverId::eBroadcomProprietary: return "BroadcomProprietary";
5119 case DriverId::eMesaLlvmpipe: return "MesaLlvmpipe";
5120 case DriverId::eMoltenvk: return "Moltenvk";
5121 case DriverId::eCoreaviProprietary: return "CoreaviProprietary";
5122 case DriverId::eJuiceProprietary: return "JuiceProprietary";
5123 case DriverId::eVerisiliconProprietary: return "VerisiliconProprietary";
5124 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5125 }
5126 }
5127
5128 enum class ShaderFloatControlsIndependence
5129 {
5130 e32BitOnly = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
5131 eAll = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
5132 eNone = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE
5133 };
5134 using ShaderFloatControlsIndependenceKHR = ShaderFloatControlsIndependence;
5135
5136 VULKAN_HPP_INLINE std::string to_string( ShaderFloatControlsIndependence value )
5137 {
5138 switch ( value )
5139 {
5140 case ShaderFloatControlsIndependence::e32BitOnly: return "32BitOnly";
5141 case ShaderFloatControlsIndependence::eAll: return "All";
5142 case ShaderFloatControlsIndependence::eNone: return "None";
5143 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5144 }
5145 }
5146
5147 enum class DescriptorBindingFlagBits : VkDescriptorBindingFlags
5148 {
5149 eUpdateAfterBind = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
5150 eUpdateUnusedWhilePending = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
5151 ePartiallyBound = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
5152 eVariableDescriptorCount = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT
5153 };
5154 using DescriptorBindingFlagBitsEXT = DescriptorBindingFlagBits;
5155
5156 VULKAN_HPP_INLINE std::string to_string( DescriptorBindingFlagBits value )
5157 {
5158 switch ( value )
5159 {
5160 case DescriptorBindingFlagBits::eUpdateAfterBind: return "UpdateAfterBind";
5161 case DescriptorBindingFlagBits::eUpdateUnusedWhilePending: return "UpdateUnusedWhilePending";
5162 case DescriptorBindingFlagBits::ePartiallyBound: return "PartiallyBound";
5163 case DescriptorBindingFlagBits::eVariableDescriptorCount: return "VariableDescriptorCount";
5164 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5165 }
5166 }
5167
5168 enum class ResolveModeFlagBits : VkResolveModeFlags
5169 {
5170 eNone = VK_RESOLVE_MODE_NONE,
5171 eSampleZero = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
5172 eAverage = VK_RESOLVE_MODE_AVERAGE_BIT,
5173 eMin = VK_RESOLVE_MODE_MIN_BIT,
5174 eMax = VK_RESOLVE_MODE_MAX_BIT
5175 };
5176 using ResolveModeFlagBitsKHR = ResolveModeFlagBits;
5177
5178 VULKAN_HPP_INLINE std::string to_string( ResolveModeFlagBits value )
5179 {
5180 switch ( value )
5181 {
5182 case ResolveModeFlagBits::eNone: return "None";
5183 case ResolveModeFlagBits::eSampleZero: return "SampleZero";
5184 case ResolveModeFlagBits::eAverage: return "Average";
5185 case ResolveModeFlagBits::eMin: return "Min";
5186 case ResolveModeFlagBits::eMax: return "Max";
5187 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5188 }
5189 }
5190
5191 enum class SamplerReductionMode
5192 {
5193 eWeightedAverage = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
5194 eMin = VK_SAMPLER_REDUCTION_MODE_MIN,
5195 eMax = VK_SAMPLER_REDUCTION_MODE_MAX
5196 };
5197 using SamplerReductionModeEXT = SamplerReductionMode;
5198
5199 VULKAN_HPP_INLINE std::string to_string( SamplerReductionMode value )
5200 {
5201 switch ( value )
5202 {
5203 case SamplerReductionMode::eWeightedAverage: return "WeightedAverage";
5204 case SamplerReductionMode::eMin: return "Min";
5205 case SamplerReductionMode::eMax: return "Max";
5206 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5207 }
5208 }
5209
5210 enum class SemaphoreType
5211 {
5212 eBinary = VK_SEMAPHORE_TYPE_BINARY,
5213 eTimeline = VK_SEMAPHORE_TYPE_TIMELINE
5214 };
5215 using SemaphoreTypeKHR = SemaphoreType;
5216
5217 VULKAN_HPP_INLINE std::string to_string( SemaphoreType value )
5218 {
5219 switch ( value )
5220 {
5221 case SemaphoreType::eBinary: return "Binary";
5222 case SemaphoreType::eTimeline: return "Timeline";
5223 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5224 }
5225 }
5226
5227 enum class SemaphoreWaitFlagBits : VkSemaphoreWaitFlags
5228 {
5229 eAny = VK_SEMAPHORE_WAIT_ANY_BIT
5230 };
5231 using SemaphoreWaitFlagBitsKHR = SemaphoreWaitFlagBits;
5232
5233 VULKAN_HPP_INLINE std::string to_string( SemaphoreWaitFlagBits value )
5234 {
5235 switch ( value )
5236 {
5237 case SemaphoreWaitFlagBits::eAny: return "Any";
5238 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5239 }
5240 }
5241
5242 //=== VK_KHR_surface ===
5243
5244 enum class SurfaceTransformFlagBitsKHR : VkSurfaceTransformFlagsKHR
5245 {
5246 eIdentity = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR,
5247 eRotate90 = VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR,
5248 eRotate180 = VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR,
5249 eRotate270 = VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR,
5250 eHorizontalMirror = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR,
5251 eHorizontalMirrorRotate90 = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR,
5252 eHorizontalMirrorRotate180 = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR,
5253 eHorizontalMirrorRotate270 = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR,
5254 eInherit = VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR
5255 };
5256
5257 VULKAN_HPP_INLINE std::string to_string( SurfaceTransformFlagBitsKHR value )
5258 {
5259 switch ( value )
5260 {
5261 case SurfaceTransformFlagBitsKHR::eIdentity: return "Identity";
5262 case SurfaceTransformFlagBitsKHR::eRotate90: return "Rotate90";
5263 case SurfaceTransformFlagBitsKHR::eRotate180: return "Rotate180";
5264 case SurfaceTransformFlagBitsKHR::eRotate270: return "Rotate270";
5265 case SurfaceTransformFlagBitsKHR::eHorizontalMirror: return "HorizontalMirror";
5266 case SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate90: return "HorizontalMirrorRotate90";
5267 case SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate180: return "HorizontalMirrorRotate180";
5268 case SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate270: return "HorizontalMirrorRotate270";
5269 case SurfaceTransformFlagBitsKHR::eInherit: return "Inherit";
5270 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5271 }
5272 }
5273
5274 enum class PresentModeKHR
5275 {
5276 eImmediate = VK_PRESENT_MODE_IMMEDIATE_KHR,
5277 eMailbox = VK_PRESENT_MODE_MAILBOX_KHR,
5278 eFifo = VK_PRESENT_MODE_FIFO_KHR,
5279 eFifoRelaxed = VK_PRESENT_MODE_FIFO_RELAXED_KHR,
5280 eSharedDemandRefresh = VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR,
5281 eSharedContinuousRefresh = VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR
5282 };
5283
5284 VULKAN_HPP_INLINE std::string to_string( PresentModeKHR value )
5285 {
5286 switch ( value )
5287 {
5288 case PresentModeKHR::eImmediate: return "Immediate";
5289 case PresentModeKHR::eMailbox: return "Mailbox";
5290 case PresentModeKHR::eFifo: return "Fifo";
5291 case PresentModeKHR::eFifoRelaxed: return "FifoRelaxed";
5292 case PresentModeKHR::eSharedDemandRefresh: return "SharedDemandRefresh";
5293 case PresentModeKHR::eSharedContinuousRefresh: return "SharedContinuousRefresh";
5294 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5295 }
5296 }
5297
5298 enum class ColorSpaceKHR
5299 {
5300 eSrgbNonlinear = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
5301 eDisplayP3NonlinearEXT = VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT,
5302 eExtendedSrgbLinearEXT = VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT,
5303 eDisplayP3LinearEXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
5304 eDciP3NonlinearEXT = VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT,
5305 eBt709LinearEXT = VK_COLOR_SPACE_BT709_LINEAR_EXT,
5306 eBt709NonlinearEXT = VK_COLOR_SPACE_BT709_NONLINEAR_EXT,
5307 eBt2020LinearEXT = VK_COLOR_SPACE_BT2020_LINEAR_EXT,
5308 eHdr10St2084EXT = VK_COLOR_SPACE_HDR10_ST2084_EXT,
5309 eDolbyvisionEXT = VK_COLOR_SPACE_DOLBYVISION_EXT,
5310 eHdr10HlgEXT = VK_COLOR_SPACE_HDR10_HLG_EXT,
5311 eAdobergbLinearEXT = VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT,
5312 eAdobergbNonlinearEXT = VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT,
5313 ePassThroughEXT = VK_COLOR_SPACE_PASS_THROUGH_EXT,
5314 eExtendedSrgbNonlinearEXT = VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT,
5315 eDisplayNativeAMD = VK_COLOR_SPACE_DISPLAY_NATIVE_AMD,
5316 eVkColorspaceSrgbNonlinear = VK_COLORSPACE_SRGB_NONLINEAR_KHR,
5317 eDciP3LinearEXT = VK_COLOR_SPACE_DCI_P3_LINEAR_EXT
5318 };
5319
5320 VULKAN_HPP_INLINE std::string to_string( ColorSpaceKHR value )
5321 {
5322 switch ( value )
5323 {
5324 case ColorSpaceKHR::eSrgbNonlinear: return "SrgbNonlinear";
5325 case ColorSpaceKHR::eDisplayP3NonlinearEXT: return "DisplayP3NonlinearEXT";
5326 case ColorSpaceKHR::eExtendedSrgbLinearEXT: return "ExtendedSrgbLinearEXT";
5327 case ColorSpaceKHR::eDisplayP3LinearEXT: return "DisplayP3LinearEXT";
5328 case ColorSpaceKHR::eDciP3NonlinearEXT: return "DciP3NonlinearEXT";
5329 case ColorSpaceKHR::eBt709LinearEXT: return "Bt709LinearEXT";
5330 case ColorSpaceKHR::eBt709NonlinearEXT: return "Bt709NonlinearEXT";
5331 case ColorSpaceKHR::eBt2020LinearEXT: return "Bt2020LinearEXT";
5332 case ColorSpaceKHR::eHdr10St2084EXT: return "Hdr10St2084EXT";
5333 case ColorSpaceKHR::eDolbyvisionEXT: return "DolbyvisionEXT";
5334 case ColorSpaceKHR::eHdr10HlgEXT: return "Hdr10HlgEXT";
5335 case ColorSpaceKHR::eAdobergbLinearEXT: return "AdobergbLinearEXT";
5336 case ColorSpaceKHR::eAdobergbNonlinearEXT: return "AdobergbNonlinearEXT";
5337 case ColorSpaceKHR::ePassThroughEXT: return "PassThroughEXT";
5338 case ColorSpaceKHR::eExtendedSrgbNonlinearEXT: return "ExtendedSrgbNonlinearEXT";
5339 case ColorSpaceKHR::eDisplayNativeAMD: return "DisplayNativeAMD";
5340 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5341 }
5342 }
5343
5344 enum class CompositeAlphaFlagBitsKHR : VkCompositeAlphaFlagsKHR
5345 {
5346 eOpaque = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR,
5347 ePreMultiplied = VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR,
5348 ePostMultiplied = VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR,
5349 eInherit = VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR
5350 };
5351
5352 VULKAN_HPP_INLINE std::string to_string( CompositeAlphaFlagBitsKHR value )
5353 {
5354 switch ( value )
5355 {
5356 case CompositeAlphaFlagBitsKHR::eOpaque: return "Opaque";
5357 case CompositeAlphaFlagBitsKHR::ePreMultiplied: return "PreMultiplied";
5358 case CompositeAlphaFlagBitsKHR::ePostMultiplied: return "PostMultiplied";
5359 case CompositeAlphaFlagBitsKHR::eInherit: return "Inherit";
5360 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5361 }
5362 }
5363
5364 //=== VK_KHR_swapchain ===
5365
5366 enum class SwapchainCreateFlagBitsKHR : VkSwapchainCreateFlagsKHR
5367 {
5368 eSplitInstanceBindRegions = VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR,
5369 eProtected = VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR,
5370 eMutableFormat = VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR
5371 };
5372
5373 VULKAN_HPP_INLINE std::string to_string( SwapchainCreateFlagBitsKHR value )
5374 {
5375 switch ( value )
5376 {
5377 case SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions: return "SplitInstanceBindRegions";
5378 case SwapchainCreateFlagBitsKHR::eProtected: return "Protected";
5379 case SwapchainCreateFlagBitsKHR::eMutableFormat: return "MutableFormat";
5380 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5381 }
5382 }
5383
5384 enum class DeviceGroupPresentModeFlagBitsKHR : VkDeviceGroupPresentModeFlagsKHR
5385 {
5386 eLocal = VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR,
5387 eRemote = VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR,
5388 eSum = VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR,
5389 eLocalMultiDevice = VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR
5390 };
5391
5392 VULKAN_HPP_INLINE std::string to_string( DeviceGroupPresentModeFlagBitsKHR value )
5393 {
5394 switch ( value )
5395 {
5396 case DeviceGroupPresentModeFlagBitsKHR::eLocal: return "Local";
5397 case DeviceGroupPresentModeFlagBitsKHR::eRemote: return "Remote";
5398 case DeviceGroupPresentModeFlagBitsKHR::eSum: return "Sum";
5399 case DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice: return "LocalMultiDevice";
5400 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5401 }
5402 }
5403
5404 //=== VK_KHR_display ===
5405
5406 enum class DisplayPlaneAlphaFlagBitsKHR : VkDisplayPlaneAlphaFlagsKHR
5407 {
5408 eOpaque = VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR,
5409 eGlobal = VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR,
5410 ePerPixel = VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR,
5411 ePerPixelPremultiplied = VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR
5412 };
5413
5414 VULKAN_HPP_INLINE std::string to_string( DisplayPlaneAlphaFlagBitsKHR value )
5415 {
5416 switch ( value )
5417 {
5418 case DisplayPlaneAlphaFlagBitsKHR::eOpaque: return "Opaque";
5419 case DisplayPlaneAlphaFlagBitsKHR::eGlobal: return "Global";
5420 case DisplayPlaneAlphaFlagBitsKHR::ePerPixel: return "PerPixel";
5421 case DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied: return "PerPixelPremultiplied";
5422 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5423 }
5424 }
5425
5426 enum class DisplayModeCreateFlagBitsKHR : VkDisplayModeCreateFlagsKHR
5427 {
5428 };
5429
5430 VULKAN_HPP_INLINE std::string to_string( DisplayModeCreateFlagBitsKHR )
5431 {
5432 return "(void)";
5433 }
5434
5435 enum class DisplaySurfaceCreateFlagBitsKHR : VkDisplaySurfaceCreateFlagsKHR
5436 {
5437 };
5438
5439 VULKAN_HPP_INLINE std::string to_string( DisplaySurfaceCreateFlagBitsKHR )
5440 {
5441 return "(void)";
5442 }
5443
5444#if defined( VK_USE_PLATFORM_XLIB_KHR )
5445 //=== VK_KHR_xlib_surface ===
5446
5447 enum class XlibSurfaceCreateFlagBitsKHR : VkXlibSurfaceCreateFlagsKHR
5448 {
5449 };
5450
5451 VULKAN_HPP_INLINE std::string to_string( XlibSurfaceCreateFlagBitsKHR )
5452 {
5453 return "(void)";
5454 }
5455#endif /*VK_USE_PLATFORM_XLIB_KHR*/
5456
5457#if defined( VK_USE_PLATFORM_XCB_KHR )
5458 //=== VK_KHR_xcb_surface ===
5459
5460 enum class XcbSurfaceCreateFlagBitsKHR : VkXcbSurfaceCreateFlagsKHR
5461 {
5462 };
5463
5464 VULKAN_HPP_INLINE std::string to_string( XcbSurfaceCreateFlagBitsKHR )
5465 {
5466 return "(void)";
5467 }
5468#endif /*VK_USE_PLATFORM_XCB_KHR*/
5469
5470#if defined( VK_USE_PLATFORM_WAYLAND_KHR )
5471 //=== VK_KHR_wayland_surface ===
5472
5473 enum class WaylandSurfaceCreateFlagBitsKHR : VkWaylandSurfaceCreateFlagsKHR
5474 {
5475 };
5476
5477 VULKAN_HPP_INLINE std::string to_string( WaylandSurfaceCreateFlagBitsKHR )
5478 {
5479 return "(void)";
5480 }
5481#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
5482
5483#if defined( VK_USE_PLATFORM_ANDROID_KHR )
5484 //=== VK_KHR_android_surface ===
5485
5486 enum class AndroidSurfaceCreateFlagBitsKHR : VkAndroidSurfaceCreateFlagsKHR
5487 {
5488 };
5489
5490 VULKAN_HPP_INLINE std::string to_string( AndroidSurfaceCreateFlagBitsKHR )
5491 {
5492 return "(void)";
5493 }
5494#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
5495
5496#if defined( VK_USE_PLATFORM_WIN32_KHR )
5497 //=== VK_KHR_win32_surface ===
5498
5499 enum class Win32SurfaceCreateFlagBitsKHR : VkWin32SurfaceCreateFlagsKHR
5500 {
5501 };
5502
5503 VULKAN_HPP_INLINE std::string to_string( Win32SurfaceCreateFlagBitsKHR )
5504 {
5505 return "(void)";
5506 }
5507#endif /*VK_USE_PLATFORM_WIN32_KHR*/
5508
5509 //=== VK_EXT_debug_report ===
5510
5511 enum class DebugReportFlagBitsEXT : VkDebugReportFlagsEXT
5512 {
5513 eInformation = VK_DEBUG_REPORT_INFORMATION_BIT_EXT,
5514 eWarning = VK_DEBUG_REPORT_WARNING_BIT_EXT,
5515 ePerformanceWarning = VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT,
5516 eError = VK_DEBUG_REPORT_ERROR_BIT_EXT,
5517 eDebug = VK_DEBUG_REPORT_DEBUG_BIT_EXT
5518 };
5519
5520 VULKAN_HPP_INLINE std::string to_string( DebugReportFlagBitsEXT value )
5521 {
5522 switch ( value )
5523 {
5524 case DebugReportFlagBitsEXT::eInformation: return "Information";
5525 case DebugReportFlagBitsEXT::eWarning: return "Warning";
5526 case DebugReportFlagBitsEXT::ePerformanceWarning: return "PerformanceWarning";
5527 case DebugReportFlagBitsEXT::eError: return "Error";
5528 case DebugReportFlagBitsEXT::eDebug: return "Debug";
5529 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5530 }
5531 }
5532
5533 enum class DebugReportObjectTypeEXT
5534 {
5535 eUnknown = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,
5536 eInstance = VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT,
5537 ePhysicalDevice = VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT,
5538 eDevice = VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
5539 eQueue = VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT,
5540 eSemaphore = VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT,
5541 eCommandBuffer = VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT,
5542 eFence = VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT,
5543 eDeviceMemory = VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT,
5544 eBuffer = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT,
5545 eImage = VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT,
5546 eEvent = VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT,
5547 eQueryPool = VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT,
5548 eBufferView = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT,
5549 eImageView = VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT,
5550 eShaderModule = VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT,
5551 ePipelineCache = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT,
5552 ePipelineLayout = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT,
5553 eRenderPass = VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT,
5554 ePipeline = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT,
5555 eDescriptorSetLayout = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT,
5556 eSampler = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT,
5557 eDescriptorPool = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT,
5558 eDescriptorSet = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT,
5559 eFramebuffer = VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT,
5560 eCommandPool = VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT,
5561 eSurfaceKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT,
5562 eSwapchainKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT,
5563 eDebugReportCallbackEXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
5564 eDisplayKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT,
5565 eDisplayModeKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT,
5566 eValidationCacheEXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
5567 eSamplerYcbcrConversion = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
5568 eDescriptorUpdateTemplate = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
5569 eCuModuleNVX = VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT,
5570 eCuFunctionNVX = VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT,
5571 eAccelerationStructureKHR = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT,
5572 eAccelerationStructureNV = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT,
5573 eDebugReport = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT,
5574 eDescriptorUpdateTemplateKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT,
5575 eSamplerYcbcrConversionKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT,
5576 eValidationCache = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT
5577 };
5578
5579 VULKAN_HPP_INLINE std::string to_string( DebugReportObjectTypeEXT value )
5580 {
5581 switch ( value )
5582 {
5583 case DebugReportObjectTypeEXT::eUnknown: return "Unknown";
5584 case DebugReportObjectTypeEXT::eInstance: return "Instance";
5585 case DebugReportObjectTypeEXT::ePhysicalDevice: return "PhysicalDevice";
5586 case DebugReportObjectTypeEXT::eDevice: return "Device";
5587 case DebugReportObjectTypeEXT::eQueue: return "Queue";
5588 case DebugReportObjectTypeEXT::eSemaphore: return "Semaphore";
5589 case DebugReportObjectTypeEXT::eCommandBuffer: return "CommandBuffer";
5590 case DebugReportObjectTypeEXT::eFence: return "Fence";
5591 case DebugReportObjectTypeEXT::eDeviceMemory: return "DeviceMemory";
5592 case DebugReportObjectTypeEXT::eBuffer: return "Buffer";
5593 case DebugReportObjectTypeEXT::eImage: return "Image";
5594 case DebugReportObjectTypeEXT::eEvent: return "Event";
5595 case DebugReportObjectTypeEXT::eQueryPool: return "QueryPool";
5596 case DebugReportObjectTypeEXT::eBufferView: return "BufferView";
5597 case DebugReportObjectTypeEXT::eImageView: return "ImageView";
5598 case DebugReportObjectTypeEXT::eShaderModule: return "ShaderModule";
5599 case DebugReportObjectTypeEXT::ePipelineCache: return "PipelineCache";
5600 case DebugReportObjectTypeEXT::ePipelineLayout: return "PipelineLayout";
5601 case DebugReportObjectTypeEXT::eRenderPass: return "RenderPass";
5602 case DebugReportObjectTypeEXT::ePipeline: return "Pipeline";
5603 case DebugReportObjectTypeEXT::eDescriptorSetLayout: return "DescriptorSetLayout";
5604 case DebugReportObjectTypeEXT::eSampler: return "Sampler";
5605 case DebugReportObjectTypeEXT::eDescriptorPool: return "DescriptorPool";
5606 case DebugReportObjectTypeEXT::eDescriptorSet: return "DescriptorSet";
5607 case DebugReportObjectTypeEXT::eFramebuffer: return "Framebuffer";
5608 case DebugReportObjectTypeEXT::eCommandPool: return "CommandPool";
5609 case DebugReportObjectTypeEXT::eSurfaceKHR: return "SurfaceKHR";
5610 case DebugReportObjectTypeEXT::eSwapchainKHR: return "SwapchainKHR";
5611 case DebugReportObjectTypeEXT::eDebugReportCallbackEXT: return "DebugReportCallbackEXT";
5612 case DebugReportObjectTypeEXT::eDisplayKHR: return "DisplayKHR";
5613 case DebugReportObjectTypeEXT::eDisplayModeKHR: return "DisplayModeKHR";
5614 case DebugReportObjectTypeEXT::eValidationCacheEXT: return "ValidationCacheEXT";
5615 case DebugReportObjectTypeEXT::eSamplerYcbcrConversion: return "SamplerYcbcrConversion";
5616 case DebugReportObjectTypeEXT::eDescriptorUpdateTemplate: return "DescriptorUpdateTemplate";
5617 case DebugReportObjectTypeEXT::eCuModuleNVX: return "CuModuleNVX";
5618 case DebugReportObjectTypeEXT::eCuFunctionNVX: return "CuFunctionNVX";
5619 case DebugReportObjectTypeEXT::eAccelerationStructureKHR: return "AccelerationStructureKHR";
5620 case DebugReportObjectTypeEXT::eAccelerationStructureNV: return "AccelerationStructureNV";
5621 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5622 }
5623 }
5624
5625 //=== VK_AMD_rasterization_order ===
5626
5627 enum class RasterizationOrderAMD
5628 {
5629 eStrict = VK_RASTERIZATION_ORDER_STRICT_AMD,
5630 eRelaxed = VK_RASTERIZATION_ORDER_RELAXED_AMD
5631 };
5632
5633 VULKAN_HPP_INLINE std::string to_string( RasterizationOrderAMD value )
5634 {
5635 switch ( value )
5636 {
5637 case RasterizationOrderAMD::eStrict: return "Strict";
5638 case RasterizationOrderAMD::eRelaxed: return "Relaxed";
5639 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5640 }
5641 }
5642
5643#if defined( VK_ENABLE_BETA_EXTENSIONS )
5644 //=== VK_KHR_video_queue ===
5645
5646 enum class VideoCodecOperationFlagBitsKHR : VkVideoCodecOperationFlagsKHR
5647 {
5648 eInvalid = VK_VIDEO_CODEC_OPERATION_INVALID_BIT_KHR,
5649# if defined( VK_ENABLE_BETA_EXTENSIONS )
5650 eEncodeH264EXT = VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT,
5651 eDecodeH264EXT = VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_EXT,
5652 eDecodeH265EXT = VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_EXT
5653# endif /*VK_ENABLE_BETA_EXTENSIONS*/
5654 };
5655
5656 VULKAN_HPP_INLINE std::string to_string( VideoCodecOperationFlagBitsKHR value )
5657 {
5658 switch ( value )
5659 {
5660 case VideoCodecOperationFlagBitsKHR::eInvalid: return "Invalid";
5661# if defined( VK_ENABLE_BETA_EXTENSIONS )
5662 case VideoCodecOperationFlagBitsKHR::eEncodeH264EXT: return "EncodeH264EXT";
5663 case VideoCodecOperationFlagBitsKHR::eDecodeH264EXT: return "DecodeH264EXT";
5664 case VideoCodecOperationFlagBitsKHR::eDecodeH265EXT: return "DecodeH265EXT";
5665# endif /*VK_ENABLE_BETA_EXTENSIONS*/
5666 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5667 }
5668 }
5669
5670 enum class VideoChromaSubsamplingFlagBitsKHR : VkVideoChromaSubsamplingFlagsKHR
5671 {
5672 eInvalid = VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_BIT_KHR,
5673 eMonochrome = VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR,
5674 e420 = VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR,
5675 e422 = VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR,
5676 e444 = VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR
5677 };
5678
5679 VULKAN_HPP_INLINE std::string to_string( VideoChromaSubsamplingFlagBitsKHR value )
5680 {
5681 switch ( value )
5682 {
5683 case VideoChromaSubsamplingFlagBitsKHR::eInvalid: return "Invalid";
5684 case VideoChromaSubsamplingFlagBitsKHR::eMonochrome: return "Monochrome";
5685 case VideoChromaSubsamplingFlagBitsKHR::e420: return "420";
5686 case VideoChromaSubsamplingFlagBitsKHR::e422: return "422";
5687 case VideoChromaSubsamplingFlagBitsKHR::e444: return "444";
5688 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5689 }
5690 }
5691
5692 enum class VideoComponentBitDepthFlagBitsKHR : VkVideoComponentBitDepthFlagsKHR
5693 {
5694 eInvalid = VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR,
5695 e8 = VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR,
5696 e10 = VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR,
5697 e12 = VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR
5698 };
5699
5700 VULKAN_HPP_INLINE std::string to_string( VideoComponentBitDepthFlagBitsKHR value )
5701 {
5702 switch ( value )
5703 {
5704 case VideoComponentBitDepthFlagBitsKHR::eInvalid: return "Invalid";
5705 case VideoComponentBitDepthFlagBitsKHR::e8: return "8";
5706 case VideoComponentBitDepthFlagBitsKHR::e10: return "10";
5707 case VideoComponentBitDepthFlagBitsKHR::e12: return "12";
5708 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5709 }
5710 }
5711
5712 enum class VideoCapabilityFlagBitsKHR : VkVideoCapabilityFlagsKHR
5713 {
5714 eProtectedContent = VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR,
5715 eSeparateReferenceImages = VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR
5716 };
5717
5718 VULKAN_HPP_INLINE std::string to_string( VideoCapabilityFlagBitsKHR value )
5719 {
5720 switch ( value )
5721 {
5722 case VideoCapabilityFlagBitsKHR::eProtectedContent: return "ProtectedContent";
5723 case VideoCapabilityFlagBitsKHR::eSeparateReferenceImages: return "SeparateReferenceImages";
5724 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5725 }
5726 }
5727
5728 enum class VideoSessionCreateFlagBitsKHR : VkVideoSessionCreateFlagsKHR
5729 {
5730 eDefault = VK_VIDEO_SESSION_CREATE_DEFAULT_KHR,
5731 eProtectedContent = VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR
5732 };
5733
5734 VULKAN_HPP_INLINE std::string to_string( VideoSessionCreateFlagBitsKHR value )
5735 {
5736 switch ( value )
5737 {
5738 case VideoSessionCreateFlagBitsKHR::eDefault: return "Default";
5739 case VideoSessionCreateFlagBitsKHR::eProtectedContent: return "ProtectedContent";
5740 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5741 }
5742 }
5743
5744 enum class VideoCodingControlFlagBitsKHR : VkVideoCodingControlFlagsKHR
5745 {
5746 eDefault = VK_VIDEO_CODING_CONTROL_DEFAULT_KHR,
5747 eReset = VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR
5748 };
5749
5750 VULKAN_HPP_INLINE std::string to_string( VideoCodingControlFlagBitsKHR value )
5751 {
5752 switch ( value )
5753 {
5754 case VideoCodingControlFlagBitsKHR::eDefault: return "Default";
5755 case VideoCodingControlFlagBitsKHR::eReset: return "Reset";
5756 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5757 }
5758 }
5759
5760 enum class VideoCodingQualityPresetFlagBitsKHR : VkVideoCodingQualityPresetFlagsKHR
5761 {
5762 eDefault = VK_VIDEO_CODING_QUALITY_PRESET_DEFAULT_BIT_KHR,
5763 eNormal = VK_VIDEO_CODING_QUALITY_PRESET_NORMAL_BIT_KHR,
5764 ePower = VK_VIDEO_CODING_QUALITY_PRESET_POWER_BIT_KHR,
5765 eQuality = VK_VIDEO_CODING_QUALITY_PRESET_QUALITY_BIT_KHR
5766 };
5767
5768 VULKAN_HPP_INLINE std::string to_string( VideoCodingQualityPresetFlagBitsKHR value )
5769 {
5770 switch ( value )
5771 {
5772 case VideoCodingQualityPresetFlagBitsKHR::eDefault: return "Default";
5773 case VideoCodingQualityPresetFlagBitsKHR::eNormal: return "Normal";
5774 case VideoCodingQualityPresetFlagBitsKHR::ePower: return "Power";
5775 case VideoCodingQualityPresetFlagBitsKHR::eQuality: return "Quality";
5776 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5777 }
5778 }
5779
5780 enum class QueryResultStatusKHR
5781 {
5782 eError = VK_QUERY_RESULT_STATUS_ERROR_KHR,
5783 eNotReady = VK_QUERY_RESULT_STATUS_NOT_READY_KHR,
5784 eComplete = VK_QUERY_RESULT_STATUS_COMPLETE_KHR
5785 };
5786
5787 VULKAN_HPP_INLINE std::string to_string( QueryResultStatusKHR value )
5788 {
5789 switch ( value )
5790 {
5791 case QueryResultStatusKHR::eError: return "Error";
5792 case QueryResultStatusKHR::eNotReady: return "NotReady";
5793 case QueryResultStatusKHR::eComplete: return "Complete";
5794 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5795 }
5796 }
5797
5798 enum class VideoBeginCodingFlagBitsKHR : VkVideoBeginCodingFlagsKHR
5799 {
5800 };
5801
5802 VULKAN_HPP_INLINE std::string to_string( VideoBeginCodingFlagBitsKHR )
5803 {
5804 return "(void)";
5805 }
5806
5807 enum class VideoEndCodingFlagBitsKHR : VkVideoEndCodingFlagsKHR
5808 {
5809 };
5810
5811 VULKAN_HPP_INLINE std::string to_string( VideoEndCodingFlagBitsKHR )
5812 {
5813 return "(void)";
5814 }
5815#endif /*VK_ENABLE_BETA_EXTENSIONS*/
5816
5817#if defined( VK_ENABLE_BETA_EXTENSIONS )
5818 //=== VK_KHR_video_decode_queue ===
5819
5820 enum class VideoDecodeFlagBitsKHR : VkVideoDecodeFlagsKHR
5821 {
5822 eDefault = VK_VIDEO_DECODE_DEFAULT_KHR,
5823 eReserved0 = VK_VIDEO_DECODE_RESERVED_0_BIT_KHR
5824 };
5825
5826 VULKAN_HPP_INLINE std::string to_string( VideoDecodeFlagBitsKHR value )
5827 {
5828 switch ( value )
5829 {
5830 case VideoDecodeFlagBitsKHR::eDefault: return "Default";
5831 case VideoDecodeFlagBitsKHR::eReserved0: return "Reserved0";
5832 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5833 }
5834 }
5835#endif /*VK_ENABLE_BETA_EXTENSIONS*/
5836
5837 //=== VK_EXT_transform_feedback ===
5838
5839 enum class PipelineRasterizationStateStreamCreateFlagBitsEXT : VkPipelineRasterizationStateStreamCreateFlagsEXT
5840 {
5841 };
5842
5843 VULKAN_HPP_INLINE std::string to_string( PipelineRasterizationStateStreamCreateFlagBitsEXT )
5844 {
5845 return "(void)";
5846 }
5847
5848#if defined( VK_ENABLE_BETA_EXTENSIONS )
5849 //=== VK_EXT_video_encode_h264 ===
5850
5851 enum class VideoEncodeH264CapabilityFlagBitsEXT : VkVideoEncodeH264CapabilityFlagsEXT
5852 {
5853 eCabac = VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT,
5854 eCavlc = VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT,
5855 eWeightedBiPredImplicit = VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BI_PRED_IMPLICIT_BIT_EXT,
5856 eTransform8X8 = VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT,
5857 eChromaQpOffset = VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT,
5858 eSecondChromaQpOffset = VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT,
5859 eDeblockingFilterDisabled = VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT,
5860 eDeblockingFilterEnabled = VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT,
5861 eDeblockingFilterPartial = VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT,
5862 eMultipleSlicePerFrame = VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT,
5863 eEvenlyDistributedSliceSize = VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT
5864 };
5865
5866 VULKAN_HPP_INLINE std::string to_string( VideoEncodeH264CapabilityFlagBitsEXT value )
5867 {
5868 switch ( value )
5869 {
5870 case VideoEncodeH264CapabilityFlagBitsEXT::eCabac: return "Cabac";
5871 case VideoEncodeH264CapabilityFlagBitsEXT::eCavlc: return "Cavlc";
5872 case VideoEncodeH264CapabilityFlagBitsEXT::eWeightedBiPredImplicit: return "WeightedBiPredImplicit";
5873 case VideoEncodeH264CapabilityFlagBitsEXT::eTransform8X8: return "Transform8X8";
5874 case VideoEncodeH264CapabilityFlagBitsEXT::eChromaQpOffset: return "ChromaQpOffset";
5875 case VideoEncodeH264CapabilityFlagBitsEXT::eSecondChromaQpOffset: return "SecondChromaQpOffset";
5876 case VideoEncodeH264CapabilityFlagBitsEXT::eDeblockingFilterDisabled: return "DeblockingFilterDisabled";
5877 case VideoEncodeH264CapabilityFlagBitsEXT::eDeblockingFilterEnabled: return "DeblockingFilterEnabled";
5878 case VideoEncodeH264CapabilityFlagBitsEXT::eDeblockingFilterPartial: return "DeblockingFilterPartial";
5879 case VideoEncodeH264CapabilityFlagBitsEXT::eMultipleSlicePerFrame: return "MultipleSlicePerFrame";
5880 case VideoEncodeH264CapabilityFlagBitsEXT::eEvenlyDistributedSliceSize: return "EvenlyDistributedSliceSize";
5881 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5882 }
5883 }
5884
5885 enum class VideoEncodeH264InputModeFlagBitsEXT : VkVideoEncodeH264InputModeFlagsEXT
5886 {
5887 eFrame = VK_VIDEO_ENCODE_H264_INPUT_MODE_FRAME_BIT_EXT,
5888 eSlice = VK_VIDEO_ENCODE_H264_INPUT_MODE_SLICE_BIT_EXT,
5889 eNonVcl = VK_VIDEO_ENCODE_H264_INPUT_MODE_NON_VCL_BIT_EXT
5890 };
5891
5892 VULKAN_HPP_INLINE std::string to_string( VideoEncodeH264InputModeFlagBitsEXT value )
5893 {
5894 switch ( value )
5895 {
5896 case VideoEncodeH264InputModeFlagBitsEXT::eFrame: return "Frame";
5897 case VideoEncodeH264InputModeFlagBitsEXT::eSlice: return "Slice";
5898 case VideoEncodeH264InputModeFlagBitsEXT::eNonVcl: return "NonVcl";
5899 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5900 }
5901 }
5902
5903 enum class VideoEncodeH264OutputModeFlagBitsEXT : VkVideoEncodeH264OutputModeFlagsEXT
5904 {
5905 eFrame = VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FRAME_BIT_EXT,
5906 eSlice = VK_VIDEO_ENCODE_H264_OUTPUT_MODE_SLICE_BIT_EXT,
5907 eNonVcl = VK_VIDEO_ENCODE_H264_OUTPUT_MODE_NON_VCL_BIT_EXT
5908 };
5909
5910 VULKAN_HPP_INLINE std::string to_string( VideoEncodeH264OutputModeFlagBitsEXT value )
5911 {
5912 switch ( value )
5913 {
5914 case VideoEncodeH264OutputModeFlagBitsEXT::eFrame: return "Frame";
5915 case VideoEncodeH264OutputModeFlagBitsEXT::eSlice: return "Slice";
5916 case VideoEncodeH264OutputModeFlagBitsEXT::eNonVcl: return "NonVcl";
5917 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5918 }
5919 }
5920
5921 enum class VideoEncodeH264CreateFlagBitsEXT : VkVideoEncodeH264CreateFlagsEXT
5922 {
5923 eDefault = VK_VIDEO_ENCODE_H264_CREATE_DEFAULT_EXT,
5924 eReserved0 = VK_VIDEO_ENCODE_H264_CREATE_RESERVED_0_BIT_EXT
5925 };
5926
5927 VULKAN_HPP_INLINE std::string to_string( VideoEncodeH264CreateFlagBitsEXT value )
5928 {
5929 switch ( value )
5930 {
5931 case VideoEncodeH264CreateFlagBitsEXT::eDefault: return "Default";
5932 case VideoEncodeH264CreateFlagBitsEXT::eReserved0: return "Reserved0";
5933 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5934 }
5935 }
5936#endif /*VK_ENABLE_BETA_EXTENSIONS*/
5937
5938#if defined( VK_ENABLE_BETA_EXTENSIONS )
5939 //=== VK_EXT_video_decode_h264 ===
5940
5941 enum class VideoDecodeH264PictureLayoutFlagBitsEXT : VkVideoDecodeH264PictureLayoutFlagsEXT
5942 {
5943 eProgressive = VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_EXT,
5944 eInterlacedInterleavedLines = VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_EXT,
5945 eInterlacedSeparatePlanes = VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_EXT
5946 };
5947
5948 VULKAN_HPP_INLINE std::string to_string( VideoDecodeH264PictureLayoutFlagBitsEXT value )
5949 {
5950 switch ( value )
5951 {
5952 case VideoDecodeH264PictureLayoutFlagBitsEXT::eProgressive: return "Progressive";
5953 case VideoDecodeH264PictureLayoutFlagBitsEXT::eInterlacedInterleavedLines: return "InterlacedInterleavedLines";
5954 case VideoDecodeH264PictureLayoutFlagBitsEXT::eInterlacedSeparatePlanes: return "InterlacedSeparatePlanes";
5955 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5956 }
5957 }
5958
5959 enum class VideoDecodeH264CreateFlagBitsEXT : VkVideoDecodeH264CreateFlagsEXT
5960 {
5961 };
5962
5963 VULKAN_HPP_INLINE std::string to_string( VideoDecodeH264CreateFlagBitsEXT )
5964 {
5965 return "(void)";
5966 }
5967#endif /*VK_ENABLE_BETA_EXTENSIONS*/
5968
5969 //=== VK_AMD_shader_info ===
5970
5971 enum class ShaderInfoTypeAMD
5972 {
5973 eStatistics = VK_SHADER_INFO_TYPE_STATISTICS_AMD,
5974 eBinary = VK_SHADER_INFO_TYPE_BINARY_AMD,
5975 eDisassembly = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD
5976 };
5977
5978 VULKAN_HPP_INLINE std::string to_string( ShaderInfoTypeAMD value )
5979 {
5980 switch ( value )
5981 {
5982 case ShaderInfoTypeAMD::eStatistics: return "Statistics";
5983 case ShaderInfoTypeAMD::eBinary: return "Binary";
5984 case ShaderInfoTypeAMD::eDisassembly: return "Disassembly";
5985 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
5986 }
5987 }
5988
5989#if defined( VK_USE_PLATFORM_GGP )
5990 //=== VK_GGP_stream_descriptor_surface ===
5991
5992 enum class StreamDescriptorSurfaceCreateFlagBitsGGP : VkStreamDescriptorSurfaceCreateFlagsGGP
5993 {
5994 };
5995
5996 VULKAN_HPP_INLINE std::string to_string( StreamDescriptorSurfaceCreateFlagBitsGGP )
5997 {
5998 return "(void)";
5999 }
6000#endif /*VK_USE_PLATFORM_GGP*/
6001
6002 //=== VK_NV_external_memory_capabilities ===
6003
6004 enum class ExternalMemoryHandleTypeFlagBitsNV : VkExternalMemoryHandleTypeFlagsNV
6005 {
6006 eOpaqueWin32 = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV,
6007 eOpaqueWin32Kmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV,
6008 eD3D11Image = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV,
6009 eD3D11ImageKmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV
6010 };
6011
6012 VULKAN_HPP_INLINE std::string to_string( ExternalMemoryHandleTypeFlagBitsNV value )
6013 {
6014 switch ( value )
6015 {
6016 case ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32: return "OpaqueWin32";
6017 case ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32Kmt: return "OpaqueWin32Kmt";
6018 case ExternalMemoryHandleTypeFlagBitsNV::eD3D11Image: return "D3D11Image";
6019 case ExternalMemoryHandleTypeFlagBitsNV::eD3D11ImageKmt: return "D3D11ImageKmt";
6020 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6021 }
6022 }
6023
6024 enum class ExternalMemoryFeatureFlagBitsNV : VkExternalMemoryFeatureFlagsNV
6025 {
6026 eDedicatedOnly = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV,
6027 eExportable = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV,
6028 eImportable = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV
6029 };
6030
6031 VULKAN_HPP_INLINE std::string to_string( ExternalMemoryFeatureFlagBitsNV value )
6032 {
6033 switch ( value )
6034 {
6035 case ExternalMemoryFeatureFlagBitsNV::eDedicatedOnly: return "DedicatedOnly";
6036 case ExternalMemoryFeatureFlagBitsNV::eExportable: return "Exportable";
6037 case ExternalMemoryFeatureFlagBitsNV::eImportable: return "Importable";
6038 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6039 }
6040 }
6041
6042 //=== VK_EXT_validation_flags ===
6043
6044 enum class ValidationCheckEXT
6045 {
6046 eAll = VK_VALIDATION_CHECK_ALL_EXT,
6047 eShaders = VK_VALIDATION_CHECK_SHADERS_EXT
6048 };
6049
6050 VULKAN_HPP_INLINE std::string to_string( ValidationCheckEXT value )
6051 {
6052 switch ( value )
6053 {
6054 case ValidationCheckEXT::eAll: return "All";
6055 case ValidationCheckEXT::eShaders: return "Shaders";
6056 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6057 }
6058 }
6059
6060#if defined( VK_USE_PLATFORM_VI_NN )
6061 //=== VK_NN_vi_surface ===
6062
6063 enum class ViSurfaceCreateFlagBitsNN : VkViSurfaceCreateFlagsNN
6064 {
6065 };
6066
6067 VULKAN_HPP_INLINE std::string to_string( ViSurfaceCreateFlagBitsNN )
6068 {
6069 return "(void)";
6070 }
6071#endif /*VK_USE_PLATFORM_VI_NN*/
6072
6073 //=== VK_EXT_conditional_rendering ===
6074
6075 enum class ConditionalRenderingFlagBitsEXT : VkConditionalRenderingFlagsEXT
6076 {
6077 eInverted = VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT
6078 };
6079
6080 VULKAN_HPP_INLINE std::string to_string( ConditionalRenderingFlagBitsEXT value )
6081 {
6082 switch ( value )
6083 {
6084 case ConditionalRenderingFlagBitsEXT::eInverted: return "Inverted";
6085 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6086 }
6087 }
6088
6089 //=== VK_EXT_display_surface_counter ===
6090
6091 enum class SurfaceCounterFlagBitsEXT : VkSurfaceCounterFlagsEXT
6092 {
6093 eVblank = VK_SURFACE_COUNTER_VBLANK_BIT_EXT
6094 };
6095
6096 VULKAN_HPP_INLINE std::string to_string( SurfaceCounterFlagBitsEXT value )
6097 {
6098 switch ( value )
6099 {
6100 case SurfaceCounterFlagBitsEXT::eVblank: return "Vblank";
6101 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6102 }
6103 }
6104
6105 //=== VK_EXT_display_control ===
6106
6107 enum class DisplayPowerStateEXT
6108 {
6109 eOff = VK_DISPLAY_POWER_STATE_OFF_EXT,
6110 eSuspend = VK_DISPLAY_POWER_STATE_SUSPEND_EXT,
6111 eOn = VK_DISPLAY_POWER_STATE_ON_EXT
6112 };
6113
6114 VULKAN_HPP_INLINE std::string to_string( DisplayPowerStateEXT value )
6115 {
6116 switch ( value )
6117 {
6118 case DisplayPowerStateEXT::eOff: return "Off";
6119 case DisplayPowerStateEXT::eSuspend: return "Suspend";
6120 case DisplayPowerStateEXT::eOn: return "On";
6121 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6122 }
6123 }
6124
6125 enum class DeviceEventTypeEXT
6126 {
6127 eDisplayHotplug = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT
6128 };
6129
6130 VULKAN_HPP_INLINE std::string to_string( DeviceEventTypeEXT value )
6131 {
6132 switch ( value )
6133 {
6134 case DeviceEventTypeEXT::eDisplayHotplug: return "DisplayHotplug";
6135 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6136 }
6137 }
6138
6139 enum class DisplayEventTypeEXT
6140 {
6141 eFirstPixelOut = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT
6142 };
6143
6144 VULKAN_HPP_INLINE std::string to_string( DisplayEventTypeEXT value )
6145 {
6146 switch ( value )
6147 {
6148 case DisplayEventTypeEXT::eFirstPixelOut: return "FirstPixelOut";
6149 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6150 }
6151 }
6152
6153 //=== VK_NV_viewport_swizzle ===
6154
6155 enum class ViewportCoordinateSwizzleNV
6156 {
6157 ePositiveX = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,
6158 eNegativeX = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV,
6159 ePositiveY = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV,
6160 eNegativeY = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV,
6161 ePositiveZ = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV,
6162 eNegativeZ = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV,
6163 ePositiveW = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV,
6164 eNegativeW = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV
6165 };
6166
6167 VULKAN_HPP_INLINE std::string to_string( ViewportCoordinateSwizzleNV value )
6168 {
6169 switch ( value )
6170 {
6171 case ViewportCoordinateSwizzleNV::ePositiveX: return "PositiveX";
6172 case ViewportCoordinateSwizzleNV::eNegativeX: return "NegativeX";
6173 case ViewportCoordinateSwizzleNV::ePositiveY: return "PositiveY";
6174 case ViewportCoordinateSwizzleNV::eNegativeY: return "NegativeY";
6175 case ViewportCoordinateSwizzleNV::ePositiveZ: return "PositiveZ";
6176 case ViewportCoordinateSwizzleNV::eNegativeZ: return "NegativeZ";
6177 case ViewportCoordinateSwizzleNV::ePositiveW: return "PositiveW";
6178 case ViewportCoordinateSwizzleNV::eNegativeW: return "NegativeW";
6179 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6180 }
6181 }
6182
6183 enum class PipelineViewportSwizzleStateCreateFlagBitsNV : VkPipelineViewportSwizzleStateCreateFlagsNV
6184 {
6185 };
6186
6187 VULKAN_HPP_INLINE std::string to_string( PipelineViewportSwizzleStateCreateFlagBitsNV )
6188 {
6189 return "(void)";
6190 }
6191
6192 //=== VK_EXT_discard_rectangles ===
6193
6194 enum class DiscardRectangleModeEXT
6195 {
6196 eInclusive = VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,
6197 eExclusive = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT
6198 };
6199
6200 VULKAN_HPP_INLINE std::string to_string( DiscardRectangleModeEXT value )
6201 {
6202 switch ( value )
6203 {
6204 case DiscardRectangleModeEXT::eInclusive: return "Inclusive";
6205 case DiscardRectangleModeEXT::eExclusive: return "Exclusive";
6206 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6207 }
6208 }
6209
6210 enum class PipelineDiscardRectangleStateCreateFlagBitsEXT : VkPipelineDiscardRectangleStateCreateFlagsEXT
6211 {
6212 };
6213
6214 VULKAN_HPP_INLINE std::string to_string( PipelineDiscardRectangleStateCreateFlagBitsEXT )
6215 {
6216 return "(void)";
6217 }
6218
6219 //=== VK_EXT_conservative_rasterization ===
6220
6221 enum class ConservativeRasterizationModeEXT
6222 {
6223 eDisabled = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT,
6224 eOverestimate = VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT,
6225 eUnderestimate = VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT
6226 };
6227
6228 VULKAN_HPP_INLINE std::string to_string( ConservativeRasterizationModeEXT value )
6229 {
6230 switch ( value )
6231 {
6232 case ConservativeRasterizationModeEXT::eDisabled: return "Disabled";
6233 case ConservativeRasterizationModeEXT::eOverestimate: return "Overestimate";
6234 case ConservativeRasterizationModeEXT::eUnderestimate: return "Underestimate";
6235 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6236 }
6237 }
6238
6239 enum class
6240 PipelineRasterizationConservativeStateCreateFlagBitsEXT : VkPipelineRasterizationConservativeStateCreateFlagsEXT
6241 {
6242 };
6243
6244 VULKAN_HPP_INLINE std::string to_string( PipelineRasterizationConservativeStateCreateFlagBitsEXT )
6245 {
6246 return "(void)";
6247 }
6248
6249 //=== VK_EXT_depth_clip_enable ===
6250
6251 enum class PipelineRasterizationDepthClipStateCreateFlagBitsEXT : VkPipelineRasterizationDepthClipStateCreateFlagsEXT
6252 {
6253 };
6254
6255 VULKAN_HPP_INLINE std::string to_string( PipelineRasterizationDepthClipStateCreateFlagBitsEXT )
6256 {
6257 return "(void)";
6258 }
6259
6260 //=== VK_KHR_performance_query ===
6261
6262 enum class PerformanceCounterDescriptionFlagBitsKHR : VkPerformanceCounterDescriptionFlagsKHR
6263 {
6264 ePerformanceImpacting = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
6265 eConcurrentlyImpacted = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR
6266 };
6267
6268 VULKAN_HPP_INLINE std::string to_string( PerformanceCounterDescriptionFlagBitsKHR value )
6269 {
6270 switch ( value )
6271 {
6272 case PerformanceCounterDescriptionFlagBitsKHR::ePerformanceImpacting: return "PerformanceImpacting";
6273 case PerformanceCounterDescriptionFlagBitsKHR::eConcurrentlyImpacted: return "ConcurrentlyImpacted";
6274 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6275 }
6276 }
6277
6278 enum class PerformanceCounterScopeKHR
6279 {
6280 eCommandBuffer = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
6281 eRenderPass = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
6282 eCommand = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
6283 eVkQueryScopeCommandBuffer = VK_QUERY_SCOPE_COMMAND_BUFFER_KHR,
6284 eVkQueryScopeCommand = VK_QUERY_SCOPE_COMMAND_KHR,
6285 eVkQueryScopeRenderPass = VK_QUERY_SCOPE_RENDER_PASS_KHR
6286 };
6287
6288 VULKAN_HPP_INLINE std::string to_string( PerformanceCounterScopeKHR value )
6289 {
6290 switch ( value )
6291 {
6292 case PerformanceCounterScopeKHR::eCommandBuffer: return "CommandBuffer";
6293 case PerformanceCounterScopeKHR::eRenderPass: return "RenderPass";
6294 case PerformanceCounterScopeKHR::eCommand: return "Command";
6295 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6296 }
6297 }
6298
6299 enum class PerformanceCounterStorageKHR
6300 {
6301 eInt32 = VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR,
6302 eInt64 = VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR,
6303 eUint32 = VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR,
6304 eUint64 = VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR,
6305 eFloat32 = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR,
6306 eFloat64 = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR
6307 };
6308
6309 VULKAN_HPP_INLINE std::string to_string( PerformanceCounterStorageKHR value )
6310 {
6311 switch ( value )
6312 {
6313 case PerformanceCounterStorageKHR::eInt32: return "Int32";
6314 case PerformanceCounterStorageKHR::eInt64: return "Int64";
6315 case PerformanceCounterStorageKHR::eUint32: return "Uint32";
6316 case PerformanceCounterStorageKHR::eUint64: return "Uint64";
6317 case PerformanceCounterStorageKHR::eFloat32: return "Float32";
6318 case PerformanceCounterStorageKHR::eFloat64: return "Float64";
6319 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6320 }
6321 }
6322
6323 enum class PerformanceCounterUnitKHR
6324 {
6325 eGeneric = VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR,
6326 ePercentage = VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR,
6327 eNanoseconds = VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR,
6328 eBytes = VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR,
6329 eBytesPerSecond = VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR,
6330 eKelvin = VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR,
6331 eWatts = VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR,
6332 eVolts = VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR,
6333 eAmps = VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR,
6334 eHertz = VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR,
6335 eCycles = VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR
6336 };
6337
6338 VULKAN_HPP_INLINE std::string to_string( PerformanceCounterUnitKHR value )
6339 {
6340 switch ( value )
6341 {
6342 case PerformanceCounterUnitKHR::eGeneric: return "Generic";
6343 case PerformanceCounterUnitKHR::ePercentage: return "Percentage";
6344 case PerformanceCounterUnitKHR::eNanoseconds: return "Nanoseconds";
6345 case PerformanceCounterUnitKHR::eBytes: return "Bytes";
6346 case PerformanceCounterUnitKHR::eBytesPerSecond: return "BytesPerSecond";
6347 case PerformanceCounterUnitKHR::eKelvin: return "Kelvin";
6348 case PerformanceCounterUnitKHR::eWatts: return "Watts";
6349 case PerformanceCounterUnitKHR::eVolts: return "Volts";
6350 case PerformanceCounterUnitKHR::eAmps: return "Amps";
6351 case PerformanceCounterUnitKHR::eHertz: return "Hertz";
6352 case PerformanceCounterUnitKHR::eCycles: return "Cycles";
6353 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6354 }
6355 }
6356
6357 enum class AcquireProfilingLockFlagBitsKHR : VkAcquireProfilingLockFlagsKHR
6358 {
6359 };
6360
6361 VULKAN_HPP_INLINE std::string to_string( AcquireProfilingLockFlagBitsKHR )
6362 {
6363 return "(void)";
6364 }
6365
6366#if defined( VK_USE_PLATFORM_IOS_MVK )
6367 //=== VK_MVK_ios_surface ===
6368
6369 enum class IOSSurfaceCreateFlagBitsMVK : VkIOSSurfaceCreateFlagsMVK
6370 {
6371 };
6372
6373 VULKAN_HPP_INLINE std::string to_string( IOSSurfaceCreateFlagBitsMVK )
6374 {
6375 return "(void)";
6376 }
6377#endif /*VK_USE_PLATFORM_IOS_MVK*/
6378
6379#if defined( VK_USE_PLATFORM_MACOS_MVK )
6380 //=== VK_MVK_macos_surface ===
6381
6382 enum class MacOSSurfaceCreateFlagBitsMVK : VkMacOSSurfaceCreateFlagsMVK
6383 {
6384 };
6385
6386 VULKAN_HPP_INLINE std::string to_string( MacOSSurfaceCreateFlagBitsMVK )
6387 {
6388 return "(void)";
6389 }
6390#endif /*VK_USE_PLATFORM_MACOS_MVK*/
6391
6392 //=== VK_EXT_debug_utils ===
6393
6394 enum class DebugUtilsMessageSeverityFlagBitsEXT : VkDebugUtilsMessageSeverityFlagsEXT
6395 {
6396 eVerbose = VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT,
6397 eInfo = VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT,
6398 eWarning = VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT,
6399 eError = VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT
6400 };
6401
6402 VULKAN_HPP_INLINE std::string to_string( DebugUtilsMessageSeverityFlagBitsEXT value )
6403 {
6404 switch ( value )
6405 {
6406 case DebugUtilsMessageSeverityFlagBitsEXT::eVerbose: return "Verbose";
6407 case DebugUtilsMessageSeverityFlagBitsEXT::eInfo: return "Info";
6408 case DebugUtilsMessageSeverityFlagBitsEXT::eWarning: return "Warning";
6409 case DebugUtilsMessageSeverityFlagBitsEXT::eError: return "Error";
6410 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6411 }
6412 }
6413
6414 enum class DebugUtilsMessageTypeFlagBitsEXT : VkDebugUtilsMessageTypeFlagsEXT
6415 {
6416 eGeneral = VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT,
6417 eValidation = VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT,
6418 ePerformance = VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT
6419 };
6420
6421 VULKAN_HPP_INLINE std::string to_string( DebugUtilsMessageTypeFlagBitsEXT value )
6422 {
6423 switch ( value )
6424 {
6425 case DebugUtilsMessageTypeFlagBitsEXT::eGeneral: return "General";
6426 case DebugUtilsMessageTypeFlagBitsEXT::eValidation: return "Validation";
6427 case DebugUtilsMessageTypeFlagBitsEXT::ePerformance: return "Performance";
6428 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6429 }
6430 }
6431
6432 enum class DebugUtilsMessengerCallbackDataFlagBitsEXT : VkDebugUtilsMessengerCallbackDataFlagsEXT
6433 {
6434 };
6435
6436 VULKAN_HPP_INLINE std::string to_string( DebugUtilsMessengerCallbackDataFlagBitsEXT )
6437 {
6438 return "(void)";
6439 }
6440
6441 enum class DebugUtilsMessengerCreateFlagBitsEXT : VkDebugUtilsMessengerCreateFlagsEXT
6442 {
6443 };
6444
6445 VULKAN_HPP_INLINE std::string to_string( DebugUtilsMessengerCreateFlagBitsEXT )
6446 {
6447 return "(void)";
6448 }
6449
6450 //=== VK_EXT_blend_operation_advanced ===
6451
6452 enum class BlendOverlapEXT
6453 {
6454 eUncorrelated = VK_BLEND_OVERLAP_UNCORRELATED_EXT,
6455 eDisjoint = VK_BLEND_OVERLAP_DISJOINT_EXT,
6456 eConjoint = VK_BLEND_OVERLAP_CONJOINT_EXT
6457 };
6458
6459 VULKAN_HPP_INLINE std::string to_string( BlendOverlapEXT value )
6460 {
6461 switch ( value )
6462 {
6463 case BlendOverlapEXT::eUncorrelated: return "Uncorrelated";
6464 case BlendOverlapEXT::eDisjoint: return "Disjoint";
6465 case BlendOverlapEXT::eConjoint: return "Conjoint";
6466 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6467 }
6468 }
6469
6470 //=== VK_NV_fragment_coverage_to_color ===
6471
6472 enum class PipelineCoverageToColorStateCreateFlagBitsNV : VkPipelineCoverageToColorStateCreateFlagsNV
6473 {
6474 };
6475
6476 VULKAN_HPP_INLINE std::string to_string( PipelineCoverageToColorStateCreateFlagBitsNV )
6477 {
6478 return "(void)";
6479 }
6480
6481 //=== VK_KHR_acceleration_structure ===
6482
6483 enum class AccelerationStructureTypeKHR
6484 {
6485 eTopLevel = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
6486 eBottomLevel = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
6487 eGeneric = VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR
6488 };
6489 using AccelerationStructureTypeNV = AccelerationStructureTypeKHR;
6490
6491 VULKAN_HPP_INLINE std::string to_string( AccelerationStructureTypeKHR value )
6492 {
6493 switch ( value )
6494 {
6495 case AccelerationStructureTypeKHR::eTopLevel: return "TopLevel";
6496 case AccelerationStructureTypeKHR::eBottomLevel: return "BottomLevel";
6497 case AccelerationStructureTypeKHR::eGeneric: return "Generic";
6498 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6499 }
6500 }
6501
6502 enum class AccelerationStructureBuildTypeKHR
6503 {
6504 eHost = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR,
6505 eDevice = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR,
6506 eHostOrDevice = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR
6507 };
6508
6509 VULKAN_HPP_INLINE std::string to_string( AccelerationStructureBuildTypeKHR value )
6510 {
6511 switch ( value )
6512 {
6513 case AccelerationStructureBuildTypeKHR::eHost: return "Host";
6514 case AccelerationStructureBuildTypeKHR::eDevice: return "Device";
6515 case AccelerationStructureBuildTypeKHR::eHostOrDevice: return "HostOrDevice";
6516 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6517 }
6518 }
6519
6520 enum class GeometryFlagBitsKHR : VkGeometryFlagsKHR
6521 {
6522 eOpaque = VK_GEOMETRY_OPAQUE_BIT_KHR,
6523 eNoDuplicateAnyHitInvocation = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR
6524 };
6525 using GeometryFlagBitsNV = GeometryFlagBitsKHR;
6526
6527 VULKAN_HPP_INLINE std::string to_string( GeometryFlagBitsKHR value )
6528 {
6529 switch ( value )
6530 {
6531 case GeometryFlagBitsKHR::eOpaque: return "Opaque";
6532 case GeometryFlagBitsKHR::eNoDuplicateAnyHitInvocation: return "NoDuplicateAnyHitInvocation";
6533 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6534 }
6535 }
6536
6537 enum class GeometryInstanceFlagBitsKHR : VkGeometryInstanceFlagsKHR
6538 {
6539 eTriangleFacingCullDisable = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
6540 eTriangleFlipFacing = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,
6541 eForceOpaque = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
6542 eForceNoOpaque = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
6543 eTriangleCullDisable = VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV,
6544 eTriangleFrontCounterclockwiseKHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
6545 eTriangleFrontCounterclockwise = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV
6546 };
6547 using GeometryInstanceFlagBitsNV = GeometryInstanceFlagBitsKHR;
6548
6549 VULKAN_HPP_INLINE std::string to_string( GeometryInstanceFlagBitsKHR value )
6550 {
6551 switch ( value )
6552 {
6553 case GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable: return "TriangleFacingCullDisable";
6554 case GeometryInstanceFlagBitsKHR::eTriangleFlipFacing: return "TriangleFlipFacing";
6555 case GeometryInstanceFlagBitsKHR::eForceOpaque: return "ForceOpaque";
6556 case GeometryInstanceFlagBitsKHR::eForceNoOpaque: return "ForceNoOpaque";
6557 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6558 }
6559 }
6560
6561 enum class BuildAccelerationStructureFlagBitsKHR : VkBuildAccelerationStructureFlagsKHR
6562 {
6563 eAllowUpdate = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
6564 eAllowCompaction = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
6565 ePreferFastTrace = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
6566 ePreferFastBuild = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
6567 eLowMemory = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
6568 eMotionNV = VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV
6569 };
6570 using BuildAccelerationStructureFlagBitsNV = BuildAccelerationStructureFlagBitsKHR;
6571
6572 VULKAN_HPP_INLINE std::string to_string( BuildAccelerationStructureFlagBitsKHR value )
6573 {
6574 switch ( value )
6575 {
6576 case BuildAccelerationStructureFlagBitsKHR::eAllowUpdate: return "AllowUpdate";
6577 case BuildAccelerationStructureFlagBitsKHR::eAllowCompaction: return "AllowCompaction";
6578 case BuildAccelerationStructureFlagBitsKHR::ePreferFastTrace: return "PreferFastTrace";
6579 case BuildAccelerationStructureFlagBitsKHR::ePreferFastBuild: return "PreferFastBuild";
6580 case BuildAccelerationStructureFlagBitsKHR::eLowMemory: return "LowMemory";
6581 case BuildAccelerationStructureFlagBitsKHR::eMotionNV: return "MotionNV";
6582 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6583 }
6584 }
6585
6586 enum class CopyAccelerationStructureModeKHR
6587 {
6588 eClone = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
6589 eCompact = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
6590 eSerialize = VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR,
6591 eDeserialize = VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR
6592 };
6593 using CopyAccelerationStructureModeNV = CopyAccelerationStructureModeKHR;
6594
6595 VULKAN_HPP_INLINE std::string to_string( CopyAccelerationStructureModeKHR value )
6596 {
6597 switch ( value )
6598 {
6599 case CopyAccelerationStructureModeKHR::eClone: return "Clone";
6600 case CopyAccelerationStructureModeKHR::eCompact: return "Compact";
6601 case CopyAccelerationStructureModeKHR::eSerialize: return "Serialize";
6602 case CopyAccelerationStructureModeKHR::eDeserialize: return "Deserialize";
6603 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6604 }
6605 }
6606
6607 enum class GeometryTypeKHR
6608 {
6609 eTriangles = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
6610 eAabbs = VK_GEOMETRY_TYPE_AABBS_KHR,
6611 eInstances = VK_GEOMETRY_TYPE_INSTANCES_KHR
6612 };
6613 using GeometryTypeNV = GeometryTypeKHR;
6614
6615 VULKAN_HPP_INLINE std::string to_string( GeometryTypeKHR value )
6616 {
6617 switch ( value )
6618 {
6619 case GeometryTypeKHR::eTriangles: return "Triangles";
6620 case GeometryTypeKHR::eAabbs: return "Aabbs";
6621 case GeometryTypeKHR::eInstances: return "Instances";
6622 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6623 }
6624 }
6625
6626 enum class AccelerationStructureCompatibilityKHR
6627 {
6628 eCompatible = VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR,
6629 eIncompatible = VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR
6630 };
6631
6632 VULKAN_HPP_INLINE std::string to_string( AccelerationStructureCompatibilityKHR value )
6633 {
6634 switch ( value )
6635 {
6636 case AccelerationStructureCompatibilityKHR::eCompatible: return "Compatible";
6637 case AccelerationStructureCompatibilityKHR::eIncompatible: return "Incompatible";
6638 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6639 }
6640 }
6641
6642 enum class AccelerationStructureCreateFlagBitsKHR : VkAccelerationStructureCreateFlagsKHR
6643 {
6644 eDeviceAddressCaptureReplay = VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR,
6645 eMotionNV = VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV
6646 };
6647
6648 VULKAN_HPP_INLINE std::string to_string( AccelerationStructureCreateFlagBitsKHR value )
6649 {
6650 switch ( value )
6651 {
6652 case AccelerationStructureCreateFlagBitsKHR::eDeviceAddressCaptureReplay: return "DeviceAddressCaptureReplay";
6653 case AccelerationStructureCreateFlagBitsKHR::eMotionNV: return "MotionNV";
6654 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6655 }
6656 }
6657
6658 enum class BuildAccelerationStructureModeKHR
6659 {
6660 eBuild = VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR,
6661 eUpdate = VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR
6662 };
6663
6664 VULKAN_HPP_INLINE std::string to_string( BuildAccelerationStructureModeKHR value )
6665 {
6666 switch ( value )
6667 {
6668 case BuildAccelerationStructureModeKHR::eBuild: return "Build";
6669 case BuildAccelerationStructureModeKHR::eUpdate: return "Update";
6670 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6671 }
6672 }
6673
6674 //=== VK_NV_framebuffer_mixed_samples ===
6675
6676 enum class CoverageModulationModeNV
6677 {
6678 eNone = VK_COVERAGE_MODULATION_MODE_NONE_NV,
6679 eRgb = VK_COVERAGE_MODULATION_MODE_RGB_NV,
6680 eAlpha = VK_COVERAGE_MODULATION_MODE_ALPHA_NV,
6681 eRgba = VK_COVERAGE_MODULATION_MODE_RGBA_NV
6682 };
6683
6684 VULKAN_HPP_INLINE std::string to_string( CoverageModulationModeNV value )
6685 {
6686 switch ( value )
6687 {
6688 case CoverageModulationModeNV::eNone: return "None";
6689 case CoverageModulationModeNV::eRgb: return "Rgb";
6690 case CoverageModulationModeNV::eAlpha: return "Alpha";
6691 case CoverageModulationModeNV::eRgba: return "Rgba";
6692 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6693 }
6694 }
6695
6696 enum class PipelineCoverageModulationStateCreateFlagBitsNV : VkPipelineCoverageModulationStateCreateFlagsNV
6697 {
6698 };
6699
6700 VULKAN_HPP_INLINE std::string to_string( PipelineCoverageModulationStateCreateFlagBitsNV )
6701 {
6702 return "(void)";
6703 }
6704
6705 //=== VK_EXT_validation_cache ===
6706
6707 enum class ValidationCacheHeaderVersionEXT
6708 {
6709 eOne = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT
6710 };
6711
6712 VULKAN_HPP_INLINE std::string to_string( ValidationCacheHeaderVersionEXT value )
6713 {
6714 switch ( value )
6715 {
6716 case ValidationCacheHeaderVersionEXT::eOne: return "One";
6717 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6718 }
6719 }
6720
6721 enum class ValidationCacheCreateFlagBitsEXT : VkValidationCacheCreateFlagsEXT
6722 {
6723 };
6724
6725 VULKAN_HPP_INLINE std::string to_string( ValidationCacheCreateFlagBitsEXT )
6726 {
6727 return "(void)";
6728 }
6729
6730 //=== VK_NV_shading_rate_image ===
6731
6732 enum class ShadingRatePaletteEntryNV
6733 {
6734 eNoInvocations = VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV,
6735 e16InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV,
6736 e8InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV,
6737 e4InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV,
6738 e2InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV,
6739 e1InvocationPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV,
6740 e1InvocationPer2X1Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV,
6741 e1InvocationPer1X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV,
6742 e1InvocationPer2X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV,
6743 e1InvocationPer4X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV,
6744 e1InvocationPer2X4Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV,
6745 e1InvocationPer4X4Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV
6746 };
6747
6748 VULKAN_HPP_INLINE std::string to_string( ShadingRatePaletteEntryNV value )
6749 {
6750 switch ( value )
6751 {
6752 case ShadingRatePaletteEntryNV::eNoInvocations: return "NoInvocations";
6753 case ShadingRatePaletteEntryNV::e16InvocationsPerPixel: return "16InvocationsPerPixel";
6754 case ShadingRatePaletteEntryNV::e8InvocationsPerPixel: return "8InvocationsPerPixel";
6755 case ShadingRatePaletteEntryNV::e4InvocationsPerPixel: return "4InvocationsPerPixel";
6756 case ShadingRatePaletteEntryNV::e2InvocationsPerPixel: return "2InvocationsPerPixel";
6757 case ShadingRatePaletteEntryNV::e1InvocationPerPixel: return "1InvocationPerPixel";
6758 case ShadingRatePaletteEntryNV::e1InvocationPer2X1Pixels: return "1InvocationPer2X1Pixels";
6759 case ShadingRatePaletteEntryNV::e1InvocationPer1X2Pixels: return "1InvocationPer1X2Pixels";
6760 case ShadingRatePaletteEntryNV::e1InvocationPer2X2Pixels: return "1InvocationPer2X2Pixels";
6761 case ShadingRatePaletteEntryNV::e1InvocationPer4X2Pixels: return "1InvocationPer4X2Pixels";
6762 case ShadingRatePaletteEntryNV::e1InvocationPer2X4Pixels: return "1InvocationPer2X4Pixels";
6763 case ShadingRatePaletteEntryNV::e1InvocationPer4X4Pixels: return "1InvocationPer4X4Pixels";
6764 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6765 }
6766 }
6767
6768 enum class CoarseSampleOrderTypeNV
6769 {
6770 eDefault = VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV,
6771 eCustom = VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV,
6772 ePixelMajor = VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV,
6773 eSampleMajor = VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV
6774 };
6775
6776 VULKAN_HPP_INLINE std::string to_string( CoarseSampleOrderTypeNV value )
6777 {
6778 switch ( value )
6779 {
6780 case CoarseSampleOrderTypeNV::eDefault: return "Default";
6781 case CoarseSampleOrderTypeNV::eCustom: return "Custom";
6782 case CoarseSampleOrderTypeNV::ePixelMajor: return "PixelMajor";
6783 case CoarseSampleOrderTypeNV::eSampleMajor: return "SampleMajor";
6784 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6785 }
6786 }
6787
6788 //=== VK_NV_ray_tracing ===
6789
6790 enum class AccelerationStructureMemoryRequirementsTypeNV
6791 {
6792 eObject = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV,
6793 eBuildScratch = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV,
6794 eUpdateScratch = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV
6795 };
6796
6797 VULKAN_HPP_INLINE std::string to_string( AccelerationStructureMemoryRequirementsTypeNV value )
6798 {
6799 switch ( value )
6800 {
6801 case AccelerationStructureMemoryRequirementsTypeNV::eObject: return "Object";
6802 case AccelerationStructureMemoryRequirementsTypeNV::eBuildScratch: return "BuildScratch";
6803 case AccelerationStructureMemoryRequirementsTypeNV::eUpdateScratch: return "UpdateScratch";
6804 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6805 }
6806 }
6807
6808 //=== VK_EXT_global_priority ===
6809
6810 enum class QueueGlobalPriorityEXT
6811 {
6812 eLow = VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT,
6813 eMedium = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT,
6814 eHigh = VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT,
6815 eRealtime = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT
6816 };
6817
6818 VULKAN_HPP_INLINE std::string to_string( QueueGlobalPriorityEXT value )
6819 {
6820 switch ( value )
6821 {
6822 case QueueGlobalPriorityEXT::eLow: return "Low";
6823 case QueueGlobalPriorityEXT::eMedium: return "Medium";
6824 case QueueGlobalPriorityEXT::eHigh: return "High";
6825 case QueueGlobalPriorityEXT::eRealtime: return "Realtime";
6826 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6827 }
6828 }
6829
6830 //=== VK_AMD_pipeline_compiler_control ===
6831
6832 enum class PipelineCompilerControlFlagBitsAMD : VkPipelineCompilerControlFlagsAMD
6833 {
6834 };
6835
6836 VULKAN_HPP_INLINE std::string to_string( PipelineCompilerControlFlagBitsAMD )
6837 {
6838 return "(void)";
6839 }
6840
6841 //=== VK_EXT_calibrated_timestamps ===
6842
6843 enum class TimeDomainEXT
6844 {
6845 eDevice = VK_TIME_DOMAIN_DEVICE_EXT,
6846 eClockMonotonic = VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT,
6847 eClockMonotonicRaw = VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT,
6848 eQueryPerformanceCounter = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT
6849 };
6850
6851 VULKAN_HPP_INLINE std::string to_string( TimeDomainEXT value )
6852 {
6853 switch ( value )
6854 {
6855 case TimeDomainEXT::eDevice: return "Device";
6856 case TimeDomainEXT::eClockMonotonic: return "ClockMonotonic";
6857 case TimeDomainEXT::eClockMonotonicRaw: return "ClockMonotonicRaw";
6858 case TimeDomainEXT::eQueryPerformanceCounter: return "QueryPerformanceCounter";
6859 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6860 }
6861 }
6862
6863#if defined( VK_ENABLE_BETA_EXTENSIONS )
6864 //=== VK_EXT_video_decode_h265 ===
6865
6866 enum class VideoDecodeH265CreateFlagBitsEXT : VkVideoDecodeH265CreateFlagsEXT
6867 {
6868 };
6869
6870 VULKAN_HPP_INLINE std::string to_string( VideoDecodeH265CreateFlagBitsEXT )
6871 {
6872 return "(void)";
6873 }
6874#endif /*VK_ENABLE_BETA_EXTENSIONS*/
6875
6876 //=== VK_AMD_memory_overallocation_behavior ===
6877
6878 enum class MemoryOverallocationBehaviorAMD
6879 {
6880 eDefault = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD,
6881 eAllowed = VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD,
6882 eDisallowed = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD
6883 };
6884
6885 VULKAN_HPP_INLINE std::string to_string( MemoryOverallocationBehaviorAMD value )
6886 {
6887 switch ( value )
6888 {
6889 case MemoryOverallocationBehaviorAMD::eDefault: return "Default";
6890 case MemoryOverallocationBehaviorAMD::eAllowed: return "Allowed";
6891 case MemoryOverallocationBehaviorAMD::eDisallowed: return "Disallowed";
6892 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6893 }
6894 }
6895
6896 //=== VK_EXT_pipeline_creation_feedback ===
6897
6898 enum class PipelineCreationFeedbackFlagBitsEXT : VkPipelineCreationFeedbackFlagsEXT
6899 {
6900 eValid = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT,
6901 eApplicationPipelineCacheHit = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT,
6902 eBasePipelineAcceleration = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT
6903 };
6904
6905 VULKAN_HPP_INLINE std::string to_string( PipelineCreationFeedbackFlagBitsEXT value )
6906 {
6907 switch ( value )
6908 {
6909 case PipelineCreationFeedbackFlagBitsEXT::eValid: return "Valid";
6910 case PipelineCreationFeedbackFlagBitsEXT::eApplicationPipelineCacheHit: return "ApplicationPipelineCacheHit";
6911 case PipelineCreationFeedbackFlagBitsEXT::eBasePipelineAcceleration: return "BasePipelineAcceleration";
6912 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6913 }
6914 }
6915
6916 //=== VK_INTEL_performance_query ===
6917
6918 enum class PerformanceConfigurationTypeINTEL
6919 {
6920 eCommandQueueMetricsDiscoveryActivated =
6921 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL
6922 };
6923
6924 VULKAN_HPP_INLINE std::string to_string( PerformanceConfigurationTypeINTEL value )
6925 {
6926 switch ( value )
6927 {
6928 case PerformanceConfigurationTypeINTEL::eCommandQueueMetricsDiscoveryActivated:
6929 return "CommandQueueMetricsDiscoveryActivated";
6930 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6931 }
6932 }
6933
6934 enum class QueryPoolSamplingModeINTEL
6935 {
6936 eManual = VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL
6937 };
6938
6939 VULKAN_HPP_INLINE std::string to_string( QueryPoolSamplingModeINTEL value )
6940 {
6941 switch ( value )
6942 {
6943 case QueryPoolSamplingModeINTEL::eManual: return "Manual";
6944 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6945 }
6946 }
6947
6948 enum class PerformanceOverrideTypeINTEL
6949 {
6950 eNullHardware = VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL,
6951 eFlushGpuCaches = VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL
6952 };
6953
6954 VULKAN_HPP_INLINE std::string to_string( PerformanceOverrideTypeINTEL value )
6955 {
6956 switch ( value )
6957 {
6958 case PerformanceOverrideTypeINTEL::eNullHardware: return "NullHardware";
6959 case PerformanceOverrideTypeINTEL::eFlushGpuCaches: return "FlushGpuCaches";
6960 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6961 }
6962 }
6963
6964 enum class PerformanceParameterTypeINTEL
6965 {
6966 eHwCountersSupported = VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL,
6967 eStreamMarkerValidBits = VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL
6968 };
6969
6970 VULKAN_HPP_INLINE std::string to_string( PerformanceParameterTypeINTEL value )
6971 {
6972 switch ( value )
6973 {
6974 case PerformanceParameterTypeINTEL::eHwCountersSupported: return "HwCountersSupported";
6975 case PerformanceParameterTypeINTEL::eStreamMarkerValidBits: return "StreamMarkerValidBits";
6976 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6977 }
6978 }
6979
6980 enum class PerformanceValueTypeINTEL
6981 {
6982 eUint32 = VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL,
6983 eUint64 = VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL,
6984 eFloat = VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL,
6985 eBool = VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL,
6986 eString = VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL
6987 };
6988
6989 VULKAN_HPP_INLINE std::string to_string( PerformanceValueTypeINTEL value )
6990 {
6991 switch ( value )
6992 {
6993 case PerformanceValueTypeINTEL::eUint32: return "Uint32";
6994 case PerformanceValueTypeINTEL::eUint64: return "Uint64";
6995 case PerformanceValueTypeINTEL::eFloat: return "Float";
6996 case PerformanceValueTypeINTEL::eBool: return "Bool";
6997 case PerformanceValueTypeINTEL::eString: return "String";
6998 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
6999 }
7000 }
7001
7002#if defined( VK_USE_PLATFORM_FUCHSIA )
7003 //=== VK_FUCHSIA_imagepipe_surface ===
7004
7005 enum class ImagePipeSurfaceCreateFlagBitsFUCHSIA : VkImagePipeSurfaceCreateFlagsFUCHSIA
7006 {
7007 };
7008
7009 VULKAN_HPP_INLINE std::string to_string( ImagePipeSurfaceCreateFlagBitsFUCHSIA )
7010 {
7011 return "(void)";
7012 }
7013#endif /*VK_USE_PLATFORM_FUCHSIA*/
7014
7015#if defined( VK_USE_PLATFORM_METAL_EXT )
7016 //=== VK_EXT_metal_surface ===
7017
7018 enum class MetalSurfaceCreateFlagBitsEXT : VkMetalSurfaceCreateFlagsEXT
7019 {
7020 };
7021
7022 VULKAN_HPP_INLINE std::string to_string( MetalSurfaceCreateFlagBitsEXT )
7023 {
7024 return "(void)";
7025 }
7026#endif /*VK_USE_PLATFORM_METAL_EXT*/
7027
7028 //=== VK_KHR_fragment_shading_rate ===
7029
7030 enum class FragmentShadingRateCombinerOpKHR
7031 {
7032 eKeep = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR,
7033 eReplace = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR,
7034 eMin = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR,
7035 eMax = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR,
7036 eMul = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR
7037 };
7038
7039 VULKAN_HPP_INLINE std::string to_string( FragmentShadingRateCombinerOpKHR value )
7040 {
7041 switch ( value )
7042 {
7043 case FragmentShadingRateCombinerOpKHR::eKeep: return "Keep";
7044 case FragmentShadingRateCombinerOpKHR::eReplace: return "Replace";
7045 case FragmentShadingRateCombinerOpKHR::eMin: return "Min";
7046 case FragmentShadingRateCombinerOpKHR::eMax: return "Max";
7047 case FragmentShadingRateCombinerOpKHR::eMul: return "Mul";
7048 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7049 }
7050 }
7051
7052 //=== VK_AMD_shader_core_properties2 ===
7053
7054 enum class ShaderCorePropertiesFlagBitsAMD : VkShaderCorePropertiesFlagsAMD
7055 {
7056 };
7057
7058 VULKAN_HPP_INLINE std::string to_string( ShaderCorePropertiesFlagBitsAMD )
7059 {
7060 return "(void)";
7061 }
7062
7063 //=== VK_EXT_tooling_info ===
7064
7065 enum class ToolPurposeFlagBitsEXT : VkToolPurposeFlagsEXT
7066 {
7067 eValidation = VK_TOOL_PURPOSE_VALIDATION_BIT_EXT,
7068 eProfiling = VK_TOOL_PURPOSE_PROFILING_BIT_EXT,
7069 eTracing = VK_TOOL_PURPOSE_TRACING_BIT_EXT,
7070 eAdditionalFeatures = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT,
7071 eModifyingFeatures = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT,
7072 eDebugReporting = VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT,
7073 eDebugMarkers = VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT
7074 };
7075
7076 VULKAN_HPP_INLINE std::string to_string( ToolPurposeFlagBitsEXT value )
7077 {
7078 switch ( value )
7079 {
7080 case ToolPurposeFlagBitsEXT::eValidation: return "Validation";
7081 case ToolPurposeFlagBitsEXT::eProfiling: return "Profiling";
7082 case ToolPurposeFlagBitsEXT::eTracing: return "Tracing";
7083 case ToolPurposeFlagBitsEXT::eAdditionalFeatures: return "AdditionalFeatures";
7084 case ToolPurposeFlagBitsEXT::eModifyingFeatures: return "ModifyingFeatures";
7085 case ToolPurposeFlagBitsEXT::eDebugReporting: return "DebugReporting";
7086 case ToolPurposeFlagBitsEXT::eDebugMarkers: return "DebugMarkers";
7087 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7088 }
7089 }
7090
7091 //=== VK_EXT_validation_features ===
7092
7093 enum class ValidationFeatureEnableEXT
7094 {
7095 eGpuAssisted = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT,
7096 eGpuAssistedReserveBindingSlot = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT,
7097 eBestPractices = VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT,
7098 eDebugPrintf = VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT,
7099 eSynchronizationValidation = VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT
7100 };
7101
7102 VULKAN_HPP_INLINE std::string to_string( ValidationFeatureEnableEXT value )
7103 {
7104 switch ( value )
7105 {
7106 case ValidationFeatureEnableEXT::eGpuAssisted: return "GpuAssisted";
7107 case ValidationFeatureEnableEXT::eGpuAssistedReserveBindingSlot: return "GpuAssistedReserveBindingSlot";
7108 case ValidationFeatureEnableEXT::eBestPractices: return "BestPractices";
7109 case ValidationFeatureEnableEXT::eDebugPrintf: return "DebugPrintf";
7110 case ValidationFeatureEnableEXT::eSynchronizationValidation: return "SynchronizationValidation";
7111 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7112 }
7113 }
7114
7115 enum class ValidationFeatureDisableEXT
7116 {
7117 eAll = VK_VALIDATION_FEATURE_DISABLE_ALL_EXT,
7118 eShaders = VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT,
7119 eThreadSafety = VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT,
7120 eApiParameters = VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT,
7121 eObjectLifetimes = VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT,
7122 eCoreChecks = VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT,
7123 eUniqueHandles = VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT,
7124 eShaderValidationCache = VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT
7125 };
7126
7127 VULKAN_HPP_INLINE std::string to_string( ValidationFeatureDisableEXT value )
7128 {
7129 switch ( value )
7130 {
7131 case ValidationFeatureDisableEXT::eAll: return "All";
7132 case ValidationFeatureDisableEXT::eShaders: return "Shaders";
7133 case ValidationFeatureDisableEXT::eThreadSafety: return "ThreadSafety";
7134 case ValidationFeatureDisableEXT::eApiParameters: return "ApiParameters";
7135 case ValidationFeatureDisableEXT::eObjectLifetimes: return "ObjectLifetimes";
7136 case ValidationFeatureDisableEXT::eCoreChecks: return "CoreChecks";
7137 case ValidationFeatureDisableEXT::eUniqueHandles: return "UniqueHandles";
7138 case ValidationFeatureDisableEXT::eShaderValidationCache: return "ShaderValidationCache";
7139 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7140 }
7141 }
7142
7143 //=== VK_NV_cooperative_matrix ===
7144
7145 enum class ScopeNV
7146 {
7147 eDevice = VK_SCOPE_DEVICE_NV,
7148 eWorkgroup = VK_SCOPE_WORKGROUP_NV,
7149 eSubgroup = VK_SCOPE_SUBGROUP_NV,
7150 eQueueFamily = VK_SCOPE_QUEUE_FAMILY_NV
7151 };
7152
7153 VULKAN_HPP_INLINE std::string to_string( ScopeNV value )
7154 {
7155 switch ( value )
7156 {
7157 case ScopeNV::eDevice: return "Device";
7158 case ScopeNV::eWorkgroup: return "Workgroup";
7159 case ScopeNV::eSubgroup: return "Subgroup";
7160 case ScopeNV::eQueueFamily: return "QueueFamily";
7161 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7162 }
7163 }
7164
7165 enum class ComponentTypeNV
7166 {
7167 eFloat16 = VK_COMPONENT_TYPE_FLOAT16_NV,
7168 eFloat32 = VK_COMPONENT_TYPE_FLOAT32_NV,
7169 eFloat64 = VK_COMPONENT_TYPE_FLOAT64_NV,
7170 eSint8 = VK_COMPONENT_TYPE_SINT8_NV,
7171 eSint16 = VK_COMPONENT_TYPE_SINT16_NV,
7172 eSint32 = VK_COMPONENT_TYPE_SINT32_NV,
7173 eSint64 = VK_COMPONENT_TYPE_SINT64_NV,
7174 eUint8 = VK_COMPONENT_TYPE_UINT8_NV,
7175 eUint16 = VK_COMPONENT_TYPE_UINT16_NV,
7176 eUint32 = VK_COMPONENT_TYPE_UINT32_NV,
7177 eUint64 = VK_COMPONENT_TYPE_UINT64_NV
7178 };
7179
7180 VULKAN_HPP_INLINE std::string to_string( ComponentTypeNV value )
7181 {
7182 switch ( value )
7183 {
7184 case ComponentTypeNV::eFloat16: return "Float16";
7185 case ComponentTypeNV::eFloat32: return "Float32";
7186 case ComponentTypeNV::eFloat64: return "Float64";
7187 case ComponentTypeNV::eSint8: return "Sint8";
7188 case ComponentTypeNV::eSint16: return "Sint16";
7189 case ComponentTypeNV::eSint32: return "Sint32";
7190 case ComponentTypeNV::eSint64: return "Sint64";
7191 case ComponentTypeNV::eUint8: return "Uint8";
7192 case ComponentTypeNV::eUint16: return "Uint16";
7193 case ComponentTypeNV::eUint32: return "Uint32";
7194 case ComponentTypeNV::eUint64: return "Uint64";
7195 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7196 }
7197 }
7198
7199 //=== VK_NV_coverage_reduction_mode ===
7200
7201 enum class CoverageReductionModeNV
7202 {
7203 eMerge = VK_COVERAGE_REDUCTION_MODE_MERGE_NV,
7204 eTruncate = VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV
7205 };
7206
7207 VULKAN_HPP_INLINE std::string to_string( CoverageReductionModeNV value )
7208 {
7209 switch ( value )
7210 {
7211 case CoverageReductionModeNV::eMerge: return "Merge";
7212 case CoverageReductionModeNV::eTruncate: return "Truncate";
7213 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7214 }
7215 }
7216
7217 enum class PipelineCoverageReductionStateCreateFlagBitsNV : VkPipelineCoverageReductionStateCreateFlagsNV
7218 {
7219 };
7220
7221 VULKAN_HPP_INLINE std::string to_string( PipelineCoverageReductionStateCreateFlagBitsNV )
7222 {
7223 return "(void)";
7224 }
7225
7226 //=== VK_EXT_provoking_vertex ===
7227
7228 enum class ProvokingVertexModeEXT
7229 {
7230 eFirstVertex = VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT,
7231 eLastVertex = VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT
7232 };
7233
7234 VULKAN_HPP_INLINE std::string to_string( ProvokingVertexModeEXT value )
7235 {
7236 switch ( value )
7237 {
7238 case ProvokingVertexModeEXT::eFirstVertex: return "FirstVertex";
7239 case ProvokingVertexModeEXT::eLastVertex: return "LastVertex";
7240 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7241 }
7242 }
7243
7244#if defined( VK_USE_PLATFORM_WIN32_KHR )
7245 //=== VK_EXT_full_screen_exclusive ===
7246
7247 enum class FullScreenExclusiveEXT
7248 {
7249 eDefault = VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT,
7250 eAllowed = VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT,
7251 eDisallowed = VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT,
7252 eApplicationControlled = VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT
7253 };
7254
7255 VULKAN_HPP_INLINE std::string to_string( FullScreenExclusiveEXT value )
7256 {
7257 switch ( value )
7258 {
7259 case FullScreenExclusiveEXT::eDefault: return "Default";
7260 case FullScreenExclusiveEXT::eAllowed: return "Allowed";
7261 case FullScreenExclusiveEXT::eDisallowed: return "Disallowed";
7262 case FullScreenExclusiveEXT::eApplicationControlled: return "ApplicationControlled";
7263 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7264 }
7265 }
7266#endif /*VK_USE_PLATFORM_WIN32_KHR*/
7267
7268 //=== VK_EXT_headless_surface ===
7269
7270 enum class HeadlessSurfaceCreateFlagBitsEXT : VkHeadlessSurfaceCreateFlagsEXT
7271 {
7272 };
7273
7274 VULKAN_HPP_INLINE std::string to_string( HeadlessSurfaceCreateFlagBitsEXT )
7275 {
7276 return "(void)";
7277 }
7278
7279 //=== VK_EXT_line_rasterization ===
7280
7281 enum class LineRasterizationModeEXT
7282 {
7283 eDefault = VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT,
7284 eRectangular = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT,
7285 eBresenham = VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT,
7286 eRectangularSmooth = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT
7287 };
7288
7289 VULKAN_HPP_INLINE std::string to_string( LineRasterizationModeEXT value )
7290 {
7291 switch ( value )
7292 {
7293 case LineRasterizationModeEXT::eDefault: return "Default";
7294 case LineRasterizationModeEXT::eRectangular: return "Rectangular";
7295 case LineRasterizationModeEXT::eBresenham: return "Bresenham";
7296 case LineRasterizationModeEXT::eRectangularSmooth: return "RectangularSmooth";
7297 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7298 }
7299 }
7300
7301 //=== VK_KHR_pipeline_executable_properties ===
7302
7303 enum class PipelineExecutableStatisticFormatKHR
7304 {
7305 eBool32 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR,
7306 eInt64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR,
7307 eUint64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR,
7308 eFloat64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR
7309 };
7310
7311 VULKAN_HPP_INLINE std::string to_string( PipelineExecutableStatisticFormatKHR value )
7312 {
7313 switch ( value )
7314 {
7315 case PipelineExecutableStatisticFormatKHR::eBool32: return "Bool32";
7316 case PipelineExecutableStatisticFormatKHR::eInt64: return "Int64";
7317 case PipelineExecutableStatisticFormatKHR::eUint64: return "Uint64";
7318 case PipelineExecutableStatisticFormatKHR::eFloat64: return "Float64";
7319 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7320 }
7321 }
7322
7323 //=== VK_NV_device_generated_commands ===
7324
7325 enum class IndirectStateFlagBitsNV : VkIndirectStateFlagsNV
7326 {
7327 eFlagFrontface = VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV
7328 };
7329
7330 VULKAN_HPP_INLINE std::string to_string( IndirectStateFlagBitsNV value )
7331 {
7332 switch ( value )
7333 {
7334 case IndirectStateFlagBitsNV::eFlagFrontface: return "FlagFrontface";
7335 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7336 }
7337 }
7338
7339 enum class IndirectCommandsTokenTypeNV
7340 {
7341 eShaderGroup = VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV,
7342 eStateFlags = VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV,
7343 eIndexBuffer = VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV,
7344 eVertexBuffer = VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV,
7345 ePushConstant = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV,
7346 eDrawIndexed = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV,
7347 eDraw = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV,
7348 eDrawTasks = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV
7349 };
7350
7351 VULKAN_HPP_INLINE std::string to_string( IndirectCommandsTokenTypeNV value )
7352 {
7353 switch ( value )
7354 {
7355 case IndirectCommandsTokenTypeNV::eShaderGroup: return "ShaderGroup";
7356 case IndirectCommandsTokenTypeNV::eStateFlags: return "StateFlags";
7357 case IndirectCommandsTokenTypeNV::eIndexBuffer: return "IndexBuffer";
7358 case IndirectCommandsTokenTypeNV::eVertexBuffer: return "VertexBuffer";
7359 case IndirectCommandsTokenTypeNV::ePushConstant: return "PushConstant";
7360 case IndirectCommandsTokenTypeNV::eDrawIndexed: return "DrawIndexed";
7361 case IndirectCommandsTokenTypeNV::eDraw: return "Draw";
7362 case IndirectCommandsTokenTypeNV::eDrawTasks: return "DrawTasks";
7363 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7364 }
7365 }
7366
7367 enum class IndirectCommandsLayoutUsageFlagBitsNV : VkIndirectCommandsLayoutUsageFlagsNV
7368 {
7369 eExplicitPreprocess = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV,
7370 eIndexedSequences = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV,
7371 eUnorderedSequences = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV
7372 };
7373
7374 VULKAN_HPP_INLINE std::string to_string( IndirectCommandsLayoutUsageFlagBitsNV value )
7375 {
7376 switch ( value )
7377 {
7378 case IndirectCommandsLayoutUsageFlagBitsNV::eExplicitPreprocess: return "ExplicitPreprocess";
7379 case IndirectCommandsLayoutUsageFlagBitsNV::eIndexedSequences: return "IndexedSequences";
7380 case IndirectCommandsLayoutUsageFlagBitsNV::eUnorderedSequences: return "UnorderedSequences";
7381 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7382 }
7383 }
7384
7385 //=== VK_EXT_device_memory_report ===
7386
7387 enum class DeviceMemoryReportEventTypeEXT
7388 {
7389 eAllocate = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT,
7390 eFree = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT,
7391 eImport = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT,
7392 eUnimport = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT,
7393 eAllocationFailed = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT
7394 };
7395
7396 VULKAN_HPP_INLINE std::string to_string( DeviceMemoryReportEventTypeEXT value )
7397 {
7398 switch ( value )
7399 {
7400 case DeviceMemoryReportEventTypeEXT::eAllocate: return "Allocate";
7401 case DeviceMemoryReportEventTypeEXT::eFree: return "Free";
7402 case DeviceMemoryReportEventTypeEXT::eImport: return "Import";
7403 case DeviceMemoryReportEventTypeEXT::eUnimport: return "Unimport";
7404 case DeviceMemoryReportEventTypeEXT::eAllocationFailed: return "AllocationFailed";
7405 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7406 }
7407 }
7408
7409 enum class DeviceMemoryReportFlagBitsEXT : VkDeviceMemoryReportFlagsEXT
7410 {
7411 };
7412
7413 VULKAN_HPP_INLINE std::string to_string( DeviceMemoryReportFlagBitsEXT )
7414 {
7415 return "(void)";
7416 }
7417
7418 //=== VK_EXT_private_data ===
7419
7420 enum class PrivateDataSlotCreateFlagBitsEXT : VkPrivateDataSlotCreateFlagsEXT
7421 {
7422 };
7423
7424 VULKAN_HPP_INLINE std::string to_string( PrivateDataSlotCreateFlagBitsEXT )
7425 {
7426 return "(void)";
7427 }
7428
7429#if defined( VK_ENABLE_BETA_EXTENSIONS )
7430 //=== VK_KHR_video_encode_queue ===
7431
7432 enum class VideoEncodeFlagBitsKHR : VkVideoEncodeFlagsKHR
7433 {
7434 eDefault = VK_VIDEO_ENCODE_DEFAULT_KHR,
7435 eReserved0 = VK_VIDEO_ENCODE_RESERVED_0_BIT_KHR
7436 };
7437
7438 VULKAN_HPP_INLINE std::string to_string( VideoEncodeFlagBitsKHR value )
7439 {
7440 switch ( value )
7441 {
7442 case VideoEncodeFlagBitsKHR::eDefault: return "Default";
7443 case VideoEncodeFlagBitsKHR::eReserved0: return "Reserved0";
7444 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7445 }
7446 }
7447
7448 enum class VideoEncodeRateControlFlagBitsKHR : VkVideoEncodeRateControlFlagsKHR
7449 {
7450 eDefault = VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR,
7451 eReset = VK_VIDEO_ENCODE_RATE_CONTROL_RESET_BIT_KHR
7452 };
7453
7454 VULKAN_HPP_INLINE std::string to_string( VideoEncodeRateControlFlagBitsKHR value )
7455 {
7456 switch ( value )
7457 {
7458 case VideoEncodeRateControlFlagBitsKHR::eDefault: return "Default";
7459 case VideoEncodeRateControlFlagBitsKHR::eReset: return "Reset";
7460 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7461 }
7462 }
7463
7464 enum class VideoEncodeRateControlModeFlagBitsKHR : VkVideoEncodeRateControlModeFlagsKHR
7465 {
7466 eNone = VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR,
7467 eCbr = VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR,
7468 eVbr = VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR
7469 };
7470
7471 VULKAN_HPP_INLINE std::string to_string( VideoEncodeRateControlModeFlagBitsKHR value )
7472 {
7473 switch ( value )
7474 {
7475 case VideoEncodeRateControlModeFlagBitsKHR::eNone: return "None";
7476 case VideoEncodeRateControlModeFlagBitsKHR::eCbr: return "Cbr";
7477 case VideoEncodeRateControlModeFlagBitsKHR::eVbr: return "Vbr";
7478 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7479 }
7480 }
7481#endif /*VK_ENABLE_BETA_EXTENSIONS*/
7482
7483 //=== VK_NV_device_diagnostics_config ===
7484
7485 enum class DeviceDiagnosticsConfigFlagBitsNV : VkDeviceDiagnosticsConfigFlagsNV
7486 {
7487 eEnableShaderDebugInfo = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV,
7488 eEnableResourceTracking = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV,
7489 eEnableAutomaticCheckpoints = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV
7490 };
7491
7492 VULKAN_HPP_INLINE std::string to_string( DeviceDiagnosticsConfigFlagBitsNV value )
7493 {
7494 switch ( value )
7495 {
7496 case DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderDebugInfo: return "EnableShaderDebugInfo";
7497 case DeviceDiagnosticsConfigFlagBitsNV::eEnableResourceTracking: return "EnableResourceTracking";
7498 case DeviceDiagnosticsConfigFlagBitsNV::eEnableAutomaticCheckpoints: return "EnableAutomaticCheckpoints";
7499 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7500 }
7501 }
7502
7503 //=== VK_KHR_synchronization2 ===
7504
7505 enum class PipelineStageFlagBits2KHR : VkPipelineStageFlags2KHR
7506 {
7507 eNone = VK_PIPELINE_STAGE_2_NONE_KHR,
7508 eTopOfPipe = VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR,
7509 eDrawIndirect = VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR,
7510 eVertexInput = VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR,
7511 eVertexShader = VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR,
7512 eTessellationControlShader = VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR,
7513 eTessellationEvaluationShader = VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR,
7514 eGeometryShader = VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR,
7515 eFragmentShader = VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR,
7516 eEarlyFragmentTests = VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR,
7517 eLateFragmentTests = VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR,
7518 eColorAttachmentOutput = VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR,
7519 eComputeShader = VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR,
7520 eAllTransfer = VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR,
7521 eBottomOfPipe = VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR,
7522 eHost = VK_PIPELINE_STAGE_2_HOST_BIT_KHR,
7523 eAllGraphics = VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR,
7524 eAllCommands = VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR,
7525 eCopy = VK_PIPELINE_STAGE_2_COPY_BIT_KHR,
7526 eResolve = VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR,
7527 eBlit = VK_PIPELINE_STAGE_2_BLIT_BIT_KHR,
7528 eClear = VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR,
7529 eIndexInput = VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR,
7530 eVertexAttributeInput = VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR,
7531 ePreRasterizationShaders = VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR,
7532#if defined( VK_ENABLE_BETA_EXTENSIONS )
7533 eVideoDecode = VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR,
7534 eVideoEncode = VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR,
7535#endif /*VK_ENABLE_BETA_EXTENSIONS*/
7536 eTransformFeedbackEXT = VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
7537 eConditionalRenderingEXT = VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT,
7538 eCommandPreprocessNV = VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV,
7539 eFragmentShadingRateAttachment = VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
7540 eAccelerationStructureBuild = VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
7541 eRayTracingShader = VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,
7542 eFragmentDensityProcessEXT = VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT,
7543 eTaskShaderNV = VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV,
7544 eMeshShaderNV = VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV,
7545 eSubpassShadingHUAWEI = VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI,
7546 eInvocationMaskHUAWEI = VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI,
7547 eAccelerationStructureBuildNV = VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV,
7548 eRayTracingShaderNV = VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV,
7549 eShadingRateImageNV = VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV,
7550 eTransfer = VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR
7551 };
7552
7553 VULKAN_HPP_INLINE std::string to_string( PipelineStageFlagBits2KHR value )
7554 {
7555 switch ( value )
7556 {
7557 case PipelineStageFlagBits2KHR::eNone: return "None";
7558 case PipelineStageFlagBits2KHR::eTopOfPipe: return "TopOfPipe";
7559 case PipelineStageFlagBits2KHR::eDrawIndirect: return "DrawIndirect";
7560 case PipelineStageFlagBits2KHR::eVertexInput: return "VertexInput";
7561 case PipelineStageFlagBits2KHR::eVertexShader: return "VertexShader";
7562 case PipelineStageFlagBits2KHR::eTessellationControlShader: return "TessellationControlShader";
7563 case PipelineStageFlagBits2KHR::eTessellationEvaluationShader: return "TessellationEvaluationShader";
7564 case PipelineStageFlagBits2KHR::eGeometryShader: return "GeometryShader";
7565 case PipelineStageFlagBits2KHR::eFragmentShader: return "FragmentShader";
7566 case PipelineStageFlagBits2KHR::eEarlyFragmentTests: return "EarlyFragmentTests";
7567 case PipelineStageFlagBits2KHR::eLateFragmentTests: return "LateFragmentTests";
7568 case PipelineStageFlagBits2KHR::eColorAttachmentOutput: return "ColorAttachmentOutput";
7569 case PipelineStageFlagBits2KHR::eComputeShader: return "ComputeShader";
7570 case PipelineStageFlagBits2KHR::eAllTransfer: return "AllTransfer";
7571 case PipelineStageFlagBits2KHR::eBottomOfPipe: return "BottomOfPipe";
7572 case PipelineStageFlagBits2KHR::eHost: return "Host";
7573 case PipelineStageFlagBits2KHR::eAllGraphics: return "AllGraphics";
7574 case PipelineStageFlagBits2KHR::eAllCommands: return "AllCommands";
7575 case PipelineStageFlagBits2KHR::eCopy: return "Copy";
7576 case PipelineStageFlagBits2KHR::eResolve: return "Resolve";
7577 case PipelineStageFlagBits2KHR::eBlit: return "Blit";
7578 case PipelineStageFlagBits2KHR::eClear: return "Clear";
7579 case PipelineStageFlagBits2KHR::eIndexInput: return "IndexInput";
7580 case PipelineStageFlagBits2KHR::eVertexAttributeInput: return "VertexAttributeInput";
7581 case PipelineStageFlagBits2KHR::ePreRasterizationShaders: return "PreRasterizationShaders";
7582#if defined( VK_ENABLE_BETA_EXTENSIONS )
7583 case PipelineStageFlagBits2KHR::eVideoDecode: return "VideoDecode";
7584 case PipelineStageFlagBits2KHR::eVideoEncode: return "VideoEncode";
7585#endif /*VK_ENABLE_BETA_EXTENSIONS*/
7586 case PipelineStageFlagBits2KHR::eTransformFeedbackEXT: return "TransformFeedbackEXT";
7587 case PipelineStageFlagBits2KHR::eConditionalRenderingEXT: return "ConditionalRenderingEXT";
7588 case PipelineStageFlagBits2KHR::eCommandPreprocessNV: return "CommandPreprocessNV";
7589 case PipelineStageFlagBits2KHR::eFragmentShadingRateAttachment: return "FragmentShadingRateAttachment";
7590 case PipelineStageFlagBits2KHR::eAccelerationStructureBuild: return "AccelerationStructureBuild";
7591 case PipelineStageFlagBits2KHR::eRayTracingShader: return "RayTracingShader";
7592 case PipelineStageFlagBits2KHR::eFragmentDensityProcessEXT: return "FragmentDensityProcessEXT";
7593 case PipelineStageFlagBits2KHR::eTaskShaderNV: return "TaskShaderNV";
7594 case PipelineStageFlagBits2KHR::eMeshShaderNV: return "MeshShaderNV";
7595 case PipelineStageFlagBits2KHR::eSubpassShadingHUAWEI: return "SubpassShadingHUAWEI";
7596 case PipelineStageFlagBits2KHR::eInvocationMaskHUAWEI: return "InvocationMaskHUAWEI";
7597 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7598 }
7599 }
7600
7601 enum class AccessFlagBits2KHR : VkAccessFlags2KHR
7602 {
7603 eNone = VK_ACCESS_2_NONE_KHR,
7604 eIndirectCommandRead = VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR,
7605 eIndexRead = VK_ACCESS_2_INDEX_READ_BIT_KHR,
7606 eVertexAttributeRead = VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR,
7607 eUniformRead = VK_ACCESS_2_UNIFORM_READ_BIT_KHR,
7608 eInputAttachmentRead = VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR,
7609 eShaderRead = VK_ACCESS_2_SHADER_READ_BIT_KHR,
7610 eShaderWrite = VK_ACCESS_2_SHADER_WRITE_BIT_KHR,
7611 eColorAttachmentRead = VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR,
7612 eColorAttachmentWrite = VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR,
7613 eDepthStencilAttachmentRead = VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR,
7614 eDepthStencilAttachmentWrite = VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR,
7615 eTransferRead = VK_ACCESS_2_TRANSFER_READ_BIT_KHR,
7616 eTransferWrite = VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR,
7617 eHostRead = VK_ACCESS_2_HOST_READ_BIT_KHR,
7618 eHostWrite = VK_ACCESS_2_HOST_WRITE_BIT_KHR,
7619 eMemoryRead = VK_ACCESS_2_MEMORY_READ_BIT_KHR,
7620 eMemoryWrite = VK_ACCESS_2_MEMORY_WRITE_BIT_KHR,
7621 eShaderSampledRead = VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR,
7622 eShaderStorageRead = VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR,
7623 eShaderStorageWrite = VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR,
7624#if defined( VK_ENABLE_BETA_EXTENSIONS )
7625 eVideoDecodeRead = VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR,
7626 eVideoDecodeWrite = VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR,
7627 eVideoEncodeRead = VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR,
7628 eVideoEncodeWrite = VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR,
7629#endif /*VK_ENABLE_BETA_EXTENSIONS*/
7630 eTransformFeedbackWriteEXT = VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
7631 eTransformFeedbackCounterReadEXT = VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
7632 eTransformFeedbackCounterWriteEXT = VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
7633 eConditionalRenderingReadEXT = VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT,
7634 eCommandPreprocessReadNV = VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV,
7635 eCommandPreprocessWriteNV = VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV,
7636 eFragmentShadingRateAttachmentRead = VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
7637 eAccelerationStructureRead = VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
7638 eAccelerationStructureWrite = VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
7639 eFragmentDensityMapReadEXT = VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
7640 eColorAttachmentReadNoncoherentEXT = VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
7641 eInvocationMaskReadHUAWEI = VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI,
7642 eAccelerationStructureReadNV = VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV,
7643 eAccelerationStructureWriteNV = VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV,
7644 eShadingRateImageReadNV = VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV
7645 };
7646
7647 VULKAN_HPP_INLINE std::string to_string( AccessFlagBits2KHR value )
7648 {
7649 switch ( value )
7650 {
7651 case AccessFlagBits2KHR::eNone: return "None";
7652 case AccessFlagBits2KHR::eIndirectCommandRead: return "IndirectCommandRead";
7653 case AccessFlagBits2KHR::eIndexRead: return "IndexRead";
7654 case AccessFlagBits2KHR::eVertexAttributeRead: return "VertexAttributeRead";
7655 case AccessFlagBits2KHR::eUniformRead: return "UniformRead";
7656 case AccessFlagBits2KHR::eInputAttachmentRead: return "InputAttachmentRead";
7657 case AccessFlagBits2KHR::eShaderRead: return "ShaderRead";
7658 case AccessFlagBits2KHR::eShaderWrite: return "ShaderWrite";
7659 case AccessFlagBits2KHR::eColorAttachmentRead: return "ColorAttachmentRead";
7660 case AccessFlagBits2KHR::eColorAttachmentWrite: return "ColorAttachmentWrite";
7661 case AccessFlagBits2KHR::eDepthStencilAttachmentRead: return "DepthStencilAttachmentRead";
7662 case AccessFlagBits2KHR::eDepthStencilAttachmentWrite: return "DepthStencilAttachmentWrite";
7663 case AccessFlagBits2KHR::eTransferRead: return "TransferRead";
7664 case AccessFlagBits2KHR::eTransferWrite: return "TransferWrite";
7665 case AccessFlagBits2KHR::eHostRead: return "HostRead";
7666 case AccessFlagBits2KHR::eHostWrite: return "HostWrite";
7667 case AccessFlagBits2KHR::eMemoryRead: return "MemoryRead";
7668 case AccessFlagBits2KHR::eMemoryWrite: return "MemoryWrite";
7669 case AccessFlagBits2KHR::eShaderSampledRead: return "ShaderSampledRead";
7670 case AccessFlagBits2KHR::eShaderStorageRead: return "ShaderStorageRead";
7671 case AccessFlagBits2KHR::eShaderStorageWrite: return "ShaderStorageWrite";
7672#if defined( VK_ENABLE_BETA_EXTENSIONS )
7673 case AccessFlagBits2KHR::eVideoDecodeRead: return "VideoDecodeRead";
7674 case AccessFlagBits2KHR::eVideoDecodeWrite: return "VideoDecodeWrite";
7675 case AccessFlagBits2KHR::eVideoEncodeRead: return "VideoEncodeRead";
7676 case AccessFlagBits2KHR::eVideoEncodeWrite: return "VideoEncodeWrite";
7677#endif /*VK_ENABLE_BETA_EXTENSIONS*/
7678 case AccessFlagBits2KHR::eTransformFeedbackWriteEXT: return "TransformFeedbackWriteEXT";
7679 case AccessFlagBits2KHR::eTransformFeedbackCounterReadEXT: return "TransformFeedbackCounterReadEXT";
7680 case AccessFlagBits2KHR::eTransformFeedbackCounterWriteEXT: return "TransformFeedbackCounterWriteEXT";
7681 case AccessFlagBits2KHR::eConditionalRenderingReadEXT: return "ConditionalRenderingReadEXT";
7682 case AccessFlagBits2KHR::eCommandPreprocessReadNV: return "CommandPreprocessReadNV";
7683 case AccessFlagBits2KHR::eCommandPreprocessWriteNV: return "CommandPreprocessWriteNV";
7684 case AccessFlagBits2KHR::eFragmentShadingRateAttachmentRead: return "FragmentShadingRateAttachmentRead";
7685 case AccessFlagBits2KHR::eAccelerationStructureRead: return "AccelerationStructureRead";
7686 case AccessFlagBits2KHR::eAccelerationStructureWrite: return "AccelerationStructureWrite";
7687 case AccessFlagBits2KHR::eFragmentDensityMapReadEXT: return "FragmentDensityMapReadEXT";
7688 case AccessFlagBits2KHR::eColorAttachmentReadNoncoherentEXT: return "ColorAttachmentReadNoncoherentEXT";
7689 case AccessFlagBits2KHR::eInvocationMaskReadHUAWEI: return "InvocationMaskReadHUAWEI";
7690 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7691 }
7692 }
7693
7694 enum class SubmitFlagBitsKHR : VkSubmitFlagsKHR
7695 {
7696 eProtected = VK_SUBMIT_PROTECTED_BIT_KHR
7697 };
7698
7699 VULKAN_HPP_INLINE std::string to_string( SubmitFlagBitsKHR value )
7700 {
7701 switch ( value )
7702 {
7703 case SubmitFlagBitsKHR::eProtected: return "Protected";
7704 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7705 }
7706 }
7707
7708 //=== VK_NV_fragment_shading_rate_enums ===
7709
7710 enum class FragmentShadingRateNV
7711 {
7712 e1InvocationPerPixel = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV,
7713 e1InvocationPer1X2Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV,
7714 e1InvocationPer2X1Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV,
7715 e1InvocationPer2X2Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV,
7716 e1InvocationPer2X4Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV,
7717 e1InvocationPer4X2Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV,
7718 e1InvocationPer4X4Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV,
7719 e2InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV,
7720 e4InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV,
7721 e8InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV,
7722 e16InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV,
7723 eNoInvocations = VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV
7724 };
7725
7726 VULKAN_HPP_INLINE std::string to_string( FragmentShadingRateNV value )
7727 {
7728 switch ( value )
7729 {
7730 case FragmentShadingRateNV::e1InvocationPerPixel: return "1InvocationPerPixel";
7731 case FragmentShadingRateNV::e1InvocationPer1X2Pixels: return "1InvocationPer1X2Pixels";
7732 case FragmentShadingRateNV::e1InvocationPer2X1Pixels: return "1InvocationPer2X1Pixels";
7733 case FragmentShadingRateNV::e1InvocationPer2X2Pixels: return "1InvocationPer2X2Pixels";
7734 case FragmentShadingRateNV::e1InvocationPer2X4Pixels: return "1InvocationPer2X4Pixels";
7735 case FragmentShadingRateNV::e1InvocationPer4X2Pixels: return "1InvocationPer4X2Pixels";
7736 case FragmentShadingRateNV::e1InvocationPer4X4Pixels: return "1InvocationPer4X4Pixels";
7737 case FragmentShadingRateNV::e2InvocationsPerPixel: return "2InvocationsPerPixel";
7738 case FragmentShadingRateNV::e4InvocationsPerPixel: return "4InvocationsPerPixel";
7739 case FragmentShadingRateNV::e8InvocationsPerPixel: return "8InvocationsPerPixel";
7740 case FragmentShadingRateNV::e16InvocationsPerPixel: return "16InvocationsPerPixel";
7741 case FragmentShadingRateNV::eNoInvocations: return "NoInvocations";
7742 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7743 }
7744 }
7745
7746 enum class FragmentShadingRateTypeNV
7747 {
7748 eFragmentSize = VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV,
7749 eEnums = VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV
7750 };
7751
7752 VULKAN_HPP_INLINE std::string to_string( FragmentShadingRateTypeNV value )
7753 {
7754 switch ( value )
7755 {
7756 case FragmentShadingRateTypeNV::eFragmentSize: return "FragmentSize";
7757 case FragmentShadingRateTypeNV::eEnums: return "Enums";
7758 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7759 }
7760 }
7761
7762 //=== VK_NV_ray_tracing_motion_blur ===
7763
7764 enum class AccelerationStructureMotionInstanceTypeNV
7765 {
7766 eStatic = VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV,
7767 eMatrixMotion = VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV,
7768 eSrtMotion = VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV
7769 };
7770
7771 VULKAN_HPP_INLINE std::string to_string( AccelerationStructureMotionInstanceTypeNV value )
7772 {
7773 switch ( value )
7774 {
7775 case AccelerationStructureMotionInstanceTypeNV::eStatic: return "Static";
7776 case AccelerationStructureMotionInstanceTypeNV::eMatrixMotion: return "MatrixMotion";
7777 case AccelerationStructureMotionInstanceTypeNV::eSrtMotion: return "SrtMotion";
7778 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7779 }
7780 }
7781
7782 enum class AccelerationStructureMotionInfoFlagBitsNV : VkAccelerationStructureMotionInfoFlagsNV
7783 {
7784 };
7785
7786 VULKAN_HPP_INLINE std::string to_string( AccelerationStructureMotionInfoFlagBitsNV )
7787 {
7788 return "(void)";
7789 }
7790
7791 enum class AccelerationStructureMotionInstanceFlagBitsNV : VkAccelerationStructureMotionInstanceFlagsNV
7792 {
7793 };
7794
7795 VULKAN_HPP_INLINE std::string to_string( AccelerationStructureMotionInstanceFlagBitsNV )
7796 {
7797 return "(void)";
7798 }
7799
7800#if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
7801 //=== VK_EXT_directfb_surface ===
7802
7803 enum class DirectFBSurfaceCreateFlagBitsEXT : VkDirectFBSurfaceCreateFlagsEXT
7804 {
7805 };
7806
7807 VULKAN_HPP_INLINE std::string to_string( DirectFBSurfaceCreateFlagBitsEXT )
7808 {
7809 return "(void)";
7810 }
7811#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
7812
7813 //=== VK_KHR_ray_tracing_pipeline ===
7814
7815 enum class RayTracingShaderGroupTypeKHR
7816 {
7817 eGeneral = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
7818 eTrianglesHitGroup = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
7819 eProceduralHitGroup = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR
7820 };
7821 using RayTracingShaderGroupTypeNV = RayTracingShaderGroupTypeKHR;
7822
7823 VULKAN_HPP_INLINE std::string to_string( RayTracingShaderGroupTypeKHR value )
7824 {
7825 switch ( value )
7826 {
7827 case RayTracingShaderGroupTypeKHR::eGeneral: return "General";
7828 case RayTracingShaderGroupTypeKHR::eTrianglesHitGroup: return "TrianglesHitGroup";
7829 case RayTracingShaderGroupTypeKHR::eProceduralHitGroup: return "ProceduralHitGroup";
7830 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7831 }
7832 }
7833
7834 enum class ShaderGroupShaderKHR
7835 {
7836 eGeneral = VK_SHADER_GROUP_SHADER_GENERAL_KHR,
7837 eClosestHit = VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR,
7838 eAnyHit = VK_SHADER_GROUP_SHADER_ANY_HIT_KHR,
7839 eIntersection = VK_SHADER_GROUP_SHADER_INTERSECTION_KHR
7840 };
7841
7842 VULKAN_HPP_INLINE std::string to_string( ShaderGroupShaderKHR value )
7843 {
7844 switch ( value )
7845 {
7846 case ShaderGroupShaderKHR::eGeneral: return "General";
7847 case ShaderGroupShaderKHR::eClosestHit: return "ClosestHit";
7848 case ShaderGroupShaderKHR::eAnyHit: return "AnyHit";
7849 case ShaderGroupShaderKHR::eIntersection: return "Intersection";
7850 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
7851 }
7852 }
7853
7854#if defined( VK_USE_PLATFORM_SCREEN_QNX )
7855 //=== VK_QNX_screen_surface ===
7856
7857 enum class ScreenSurfaceCreateFlagBitsQNX : VkScreenSurfaceCreateFlagsQNX
7858 {
7859 };
7860
7861 VULKAN_HPP_INLINE std::string to_string( ScreenSurfaceCreateFlagBitsQNX )
7862 {
7863 return "(void)";
7864 }
7865#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
7866
7867 template <ObjectType value>
7868 struct cpp_type
7869 {};
7870
7871 template <typename T>
7872 struct IndexTypeValue
7873 {};
7874
7875 template <>
7876 struct IndexTypeValue<uint16_t>
7877 {
7878 static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint16;
7879 };
7880
7881 template <>
7882 struct CppType<IndexType, IndexType::eUint16>
7883 {
7884 using Type = uint16_t;
7885 };
7886
7887 template <>
7888 struct IndexTypeValue<uint32_t>
7889 {
7890 static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint32;
7891 };
7892
7893 template <>
7894 struct CppType<IndexType, IndexType::eUint32>
7895 {
7896 using Type = uint32_t;
7897 };
7898
7899 template <>
7900 struct IndexTypeValue<uint8_t>
7901 {
7902 static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint8EXT;
7903 };
7904
7905 template <>
7906 struct CppType<IndexType, IndexType::eUint8EXT>
7907 {
7908 using Type = uint8_t;
7909 };
7910
7911 //================
7912 //=== BITMASKs ===
7913 //================
7914
7915 //=== VK_VERSION_1_0 ===
7916
7917 using FormatFeatureFlags = Flags<FormatFeatureFlagBits>;
7918
7919 template <>
7920 struct FlagTraits<FormatFeatureFlagBits>
7921 {
7922 enum : VkFlags
7923 {
7924 allFlags =
7925 VkFlags( FormatFeatureFlagBits::eSampledImage ) | VkFlags( FormatFeatureFlagBits::eStorageImage ) |
7926 VkFlags( FormatFeatureFlagBits::eStorageImageAtomic ) | VkFlags( FormatFeatureFlagBits::eUniformTexelBuffer ) |
7927 VkFlags( FormatFeatureFlagBits::eStorageTexelBuffer ) |
7928 VkFlags( FormatFeatureFlagBits::eStorageTexelBufferAtomic ) | VkFlags( FormatFeatureFlagBits::eVertexBuffer ) |
7929 VkFlags( FormatFeatureFlagBits::eColorAttachment ) | VkFlags( FormatFeatureFlagBits::eColorAttachmentBlend ) |
7930 VkFlags( FormatFeatureFlagBits::eDepthStencilAttachment ) | VkFlags( FormatFeatureFlagBits::eBlitSrc ) |
7931 VkFlags( FormatFeatureFlagBits::eBlitDst ) | VkFlags( FormatFeatureFlagBits::eSampledImageFilterLinear ) |
7932 VkFlags( FormatFeatureFlagBits::eTransferSrc ) | VkFlags( FormatFeatureFlagBits::eTransferDst ) |
7933 VkFlags( FormatFeatureFlagBits::eMidpointChromaSamples ) |
7934 VkFlags( FormatFeatureFlagBits::eSampledImageYcbcrConversionLinearFilter ) |
7935 VkFlags( FormatFeatureFlagBits::eSampledImageYcbcrConversionSeparateReconstructionFilter ) |
7936 VkFlags( FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicit ) |
7937 VkFlags( FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable ) |
7938 VkFlags( FormatFeatureFlagBits::eDisjoint ) | VkFlags( FormatFeatureFlagBits::eCositedChromaSamples ) |
7939 VkFlags( FormatFeatureFlagBits::eSampledImageFilterMinmax ) |
7940 VkFlags( FormatFeatureFlagBits::eSampledImageFilterCubicIMG )
7941#if defined( VK_ENABLE_BETA_EXTENSIONS )
7942 | VkFlags( FormatFeatureFlagBits::eVideoDecodeOutputKHR ) | VkFlags( FormatFeatureFlagBits::eVideoDecodeDpbKHR )
7943#endif /*VK_ENABLE_BETA_EXTENSIONS*/
7944 | VkFlags( FormatFeatureFlagBits::eAccelerationStructureVertexBufferKHR ) |
7945 VkFlags( FormatFeatureFlagBits::eFragmentDensityMapEXT ) |
7946 VkFlags( FormatFeatureFlagBits::eFragmentShadingRateAttachmentKHR )
7947#if defined( VK_ENABLE_BETA_EXTENSIONS )
7948 | VkFlags( FormatFeatureFlagBits::eVideoEncodeInputKHR ) | VkFlags( FormatFeatureFlagBits::eVideoEncodeDpbKHR )
7949#endif /*VK_ENABLE_BETA_EXTENSIONS*/
7950 };
7951 };
7952
7953 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FormatFeatureFlags operator|( FormatFeatureFlagBits bit0,
7954 FormatFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
7955 {
7956 return FormatFeatureFlags( bit0 ) | bit1;
7957 }
7958
7959 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FormatFeatureFlags operator&(FormatFeatureFlagBits bit0,
7960 FormatFeatureFlagBits bit1)VULKAN_HPP_NOEXCEPT
7961 {
7962 return FormatFeatureFlags( bit0 ) & bit1;
7963 }
7964
7965 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FormatFeatureFlags operator^( FormatFeatureFlagBits bit0,
7966 FormatFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
7967 {
7968 return FormatFeatureFlags( bit0 ) ^ bit1;
7969 }
7970
7971 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FormatFeatureFlags operator~( FormatFeatureFlagBits bits ) VULKAN_HPP_NOEXCEPT
7972 {
7973 return ~( FormatFeatureFlags( bits ) );
7974 }
7975
7976 VULKAN_HPP_INLINE std::string to_string( FormatFeatureFlags value )
7977 {
7978 if ( !value )
7979 return "{}";
7980
7981 std::string result;
7982 if ( value & FormatFeatureFlagBits::eSampledImage )
7983 result += "SampledImage | ";
7984 if ( value & FormatFeatureFlagBits::eStorageImage )
7985 result += "StorageImage | ";
7986 if ( value & FormatFeatureFlagBits::eStorageImageAtomic )
7987 result += "StorageImageAtomic | ";
7988 if ( value & FormatFeatureFlagBits::eUniformTexelBuffer )
7989 result += "UniformTexelBuffer | ";
7990 if ( value & FormatFeatureFlagBits::eStorageTexelBuffer )
7991 result += "StorageTexelBuffer | ";
7992 if ( value & FormatFeatureFlagBits::eStorageTexelBufferAtomic )
7993 result += "StorageTexelBufferAtomic | ";
7994 if ( value & FormatFeatureFlagBits::eVertexBuffer )
7995 result += "VertexBuffer | ";
7996 if ( value & FormatFeatureFlagBits::eColorAttachment )
7997 result += "ColorAttachment | ";
7998 if ( value & FormatFeatureFlagBits::eColorAttachmentBlend )
7999 result += "ColorAttachmentBlend | ";
8000 if ( value & FormatFeatureFlagBits::eDepthStencilAttachment )
8001 result += "DepthStencilAttachment | ";
8002 if ( value & FormatFeatureFlagBits::eBlitSrc )
8003 result += "BlitSrc | ";
8004 if ( value & FormatFeatureFlagBits::eBlitDst )
8005 result += "BlitDst | ";
8006 if ( value & FormatFeatureFlagBits::eSampledImageFilterLinear )
8007 result += "SampledImageFilterLinear | ";
8008 if ( value & FormatFeatureFlagBits::eTransferSrc )
8009 result += "TransferSrc | ";
8010 if ( value & FormatFeatureFlagBits::eTransferDst )
8011 result += "TransferDst | ";
8012 if ( value & FormatFeatureFlagBits::eMidpointChromaSamples )
8013 result += "MidpointChromaSamples | ";
8014 if ( value & FormatFeatureFlagBits::eSampledImageYcbcrConversionLinearFilter )
8015 result += "SampledImageYcbcrConversionLinearFilter | ";
8016 if ( value & FormatFeatureFlagBits::eSampledImageYcbcrConversionSeparateReconstructionFilter )
8017 result += "SampledImageYcbcrConversionSeparateReconstructionFilter | ";
8018 if ( value & FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicit )
8019 result += "SampledImageYcbcrConversionChromaReconstructionExplicit | ";
8020 if ( value & FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable )
8021 result += "SampledImageYcbcrConversionChromaReconstructionExplicitForceable | ";
8022 if ( value & FormatFeatureFlagBits::eDisjoint )
8023 result += "Disjoint | ";
8024 if ( value & FormatFeatureFlagBits::eCositedChromaSamples )
8025 result += "CositedChromaSamples | ";
8026 if ( value & FormatFeatureFlagBits::eSampledImageFilterMinmax )
8027 result += "SampledImageFilterMinmax | ";
8028 if ( value & FormatFeatureFlagBits::eSampledImageFilterCubicIMG )
8029 result += "SampledImageFilterCubicIMG | ";
8030#if defined( VK_ENABLE_BETA_EXTENSIONS )
8031 if ( value & FormatFeatureFlagBits::eVideoDecodeOutputKHR )
8032 result += "VideoDecodeOutputKHR | ";
8033 if ( value & FormatFeatureFlagBits::eVideoDecodeDpbKHR )
8034 result += "VideoDecodeDpbKHR | ";
8035#endif /*VK_ENABLE_BETA_EXTENSIONS*/
8036 if ( value & FormatFeatureFlagBits::eAccelerationStructureVertexBufferKHR )
8037 result += "AccelerationStructureVertexBufferKHR | ";
8038 if ( value & FormatFeatureFlagBits::eFragmentDensityMapEXT )
8039 result += "FragmentDensityMapEXT | ";
8040 if ( value & FormatFeatureFlagBits::eFragmentShadingRateAttachmentKHR )
8041 result += "FragmentShadingRateAttachmentKHR | ";
8042#if defined( VK_ENABLE_BETA_EXTENSIONS )
8043 if ( value & FormatFeatureFlagBits::eVideoEncodeInputKHR )
8044 result += "VideoEncodeInputKHR | ";
8045 if ( value & FormatFeatureFlagBits::eVideoEncodeDpbKHR )
8046 result += "VideoEncodeDpbKHR | ";
8047#endif /*VK_ENABLE_BETA_EXTENSIONS*/
8048
8049 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
8050 }
8051
8052 using ImageCreateFlags = Flags<ImageCreateFlagBits>;
8053
8054 template <>
8055 struct FlagTraits<ImageCreateFlagBits>
8056 {
8057 enum : VkFlags
8058 {
8059 allFlags = VkFlags( ImageCreateFlagBits::eSparseBinding ) | VkFlags( ImageCreateFlagBits::eSparseResidency ) |
8060 VkFlags( ImageCreateFlagBits::eSparseAliased ) | VkFlags( ImageCreateFlagBits::eMutableFormat ) |
8061 VkFlags( ImageCreateFlagBits::eCubeCompatible ) | VkFlags( ImageCreateFlagBits::eAlias ) |
8062 VkFlags( ImageCreateFlagBits::eSplitInstanceBindRegions ) |
8063 VkFlags( ImageCreateFlagBits::e2DArrayCompatible ) |
8064 VkFlags( ImageCreateFlagBits::eBlockTexelViewCompatible ) |
8065 VkFlags( ImageCreateFlagBits::eExtendedUsage ) | VkFlags( ImageCreateFlagBits::eProtected ) |
8066 VkFlags( ImageCreateFlagBits::eDisjoint ) | VkFlags( ImageCreateFlagBits::eCornerSampledNV ) |
8067 VkFlags( ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT ) |
8068 VkFlags( ImageCreateFlagBits::eSubsampledEXT )
8069 };
8070 };
8071
8072 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCreateFlags operator|( ImageCreateFlagBits bit0,
8073 ImageCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8074 {
8075 return ImageCreateFlags( bit0 ) | bit1;
8076 }
8077
8078 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCreateFlags operator&(ImageCreateFlagBits bit0,
8079 ImageCreateFlagBits bit1)VULKAN_HPP_NOEXCEPT
8080 {
8081 return ImageCreateFlags( bit0 ) & bit1;
8082 }
8083
8084 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCreateFlags operator^( ImageCreateFlagBits bit0,
8085 ImageCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8086 {
8087 return ImageCreateFlags( bit0 ) ^ bit1;
8088 }
8089
8090 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCreateFlags operator~( ImageCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT
8091 {
8092 return ~( ImageCreateFlags( bits ) );
8093 }
8094
8095 VULKAN_HPP_INLINE std::string to_string( ImageCreateFlags value )
8096 {
8097 if ( !value )
8098 return "{}";
8099
8100 std::string result;
8101 if ( value & ImageCreateFlagBits::eSparseBinding )
8102 result += "SparseBinding | ";
8103 if ( value & ImageCreateFlagBits::eSparseResidency )
8104 result += "SparseResidency | ";
8105 if ( value & ImageCreateFlagBits::eSparseAliased )
8106 result += "SparseAliased | ";
8107 if ( value & ImageCreateFlagBits::eMutableFormat )
8108 result += "MutableFormat | ";
8109 if ( value & ImageCreateFlagBits::eCubeCompatible )
8110 result += "CubeCompatible | ";
8111 if ( value & ImageCreateFlagBits::eAlias )
8112 result += "Alias | ";
8113 if ( value & ImageCreateFlagBits::eSplitInstanceBindRegions )
8114 result += "SplitInstanceBindRegions | ";
8115 if ( value & ImageCreateFlagBits::e2DArrayCompatible )
8116 result += "2DArrayCompatible | ";
8117 if ( value & ImageCreateFlagBits::eBlockTexelViewCompatible )
8118 result += "BlockTexelViewCompatible | ";
8119 if ( value & ImageCreateFlagBits::eExtendedUsage )
8120 result += "ExtendedUsage | ";
8121 if ( value & ImageCreateFlagBits::eProtected )
8122 result += "Protected | ";
8123 if ( value & ImageCreateFlagBits::eDisjoint )
8124 result += "Disjoint | ";
8125 if ( value & ImageCreateFlagBits::eCornerSampledNV )
8126 result += "CornerSampledNV | ";
8127 if ( value & ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT )
8128 result += "SampleLocationsCompatibleDepthEXT | ";
8129 if ( value & ImageCreateFlagBits::eSubsampledEXT )
8130 result += "SubsampledEXT | ";
8131
8132 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
8133 }
8134
8135 using ImageUsageFlags = Flags<ImageUsageFlagBits>;
8136
8137 template <>
8138 struct FlagTraits<ImageUsageFlagBits>
8139 {
8140 enum : VkFlags
8141 {
8142 allFlags = VkFlags( ImageUsageFlagBits::eTransferSrc ) | VkFlags( ImageUsageFlagBits::eTransferDst ) |
8143 VkFlags( ImageUsageFlagBits::eSampled ) | VkFlags( ImageUsageFlagBits::eStorage ) |
8144 VkFlags( ImageUsageFlagBits::eColorAttachment ) |
8145 VkFlags( ImageUsageFlagBits::eDepthStencilAttachment ) |
8146 VkFlags( ImageUsageFlagBits::eTransientAttachment ) | VkFlags( ImageUsageFlagBits::eInputAttachment )
8147#if defined( VK_ENABLE_BETA_EXTENSIONS )
8148 | VkFlags( ImageUsageFlagBits::eVideoDecodeDstKHR ) |
8149 VkFlags( ImageUsageFlagBits::eVideoDecodeSrcKHR ) | VkFlags( ImageUsageFlagBits::eVideoDecodeDpbKHR )
8150#endif /*VK_ENABLE_BETA_EXTENSIONS*/
8151 | VkFlags( ImageUsageFlagBits::eFragmentDensityMapEXT ) |
8152 VkFlags( ImageUsageFlagBits::eFragmentShadingRateAttachmentKHR )
8153#if defined( VK_ENABLE_BETA_EXTENSIONS )
8154 | VkFlags( ImageUsageFlagBits::eVideoEncodeDstKHR ) |
8155 VkFlags( ImageUsageFlagBits::eVideoEncodeSrcKHR ) | VkFlags( ImageUsageFlagBits::eVideoEncodeDpbKHR )
8156#endif /*VK_ENABLE_BETA_EXTENSIONS*/
8157 | VkFlags( ImageUsageFlagBits::eInvocationMaskHUAWEI )
8158 };
8159 };
8160
8161 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageUsageFlags operator|( ImageUsageFlagBits bit0,
8162 ImageUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8163 {
8164 return ImageUsageFlags( bit0 ) | bit1;
8165 }
8166
8167 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageUsageFlags operator&(ImageUsageFlagBits bit0,
8168 ImageUsageFlagBits bit1)VULKAN_HPP_NOEXCEPT
8169 {
8170 return ImageUsageFlags( bit0 ) & bit1;
8171 }
8172
8173 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageUsageFlags operator^( ImageUsageFlagBits bit0,
8174 ImageUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8175 {
8176 return ImageUsageFlags( bit0 ) ^ bit1;
8177 }
8178
8179 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageUsageFlags operator~( ImageUsageFlagBits bits ) VULKAN_HPP_NOEXCEPT
8180 {
8181 return ~( ImageUsageFlags( bits ) );
8182 }
8183
8184 VULKAN_HPP_INLINE std::string to_string( ImageUsageFlags value )
8185 {
8186 if ( !value )
8187 return "{}";
8188
8189 std::string result;
8190 if ( value & ImageUsageFlagBits::eTransferSrc )
8191 result += "TransferSrc | ";
8192 if ( value & ImageUsageFlagBits::eTransferDst )
8193 result += "TransferDst | ";
8194 if ( value & ImageUsageFlagBits::eSampled )
8195 result += "Sampled | ";
8196 if ( value & ImageUsageFlagBits::eStorage )
8197 result += "Storage | ";
8198 if ( value & ImageUsageFlagBits::eColorAttachment )
8199 result += "ColorAttachment | ";
8200 if ( value & ImageUsageFlagBits::eDepthStencilAttachment )
8201 result += "DepthStencilAttachment | ";
8202 if ( value & ImageUsageFlagBits::eTransientAttachment )
8203 result += "TransientAttachment | ";
8204 if ( value & ImageUsageFlagBits::eInputAttachment )
8205 result += "InputAttachment | ";
8206#if defined( VK_ENABLE_BETA_EXTENSIONS )
8207 if ( value & ImageUsageFlagBits::eVideoDecodeDstKHR )
8208 result += "VideoDecodeDstKHR | ";
8209 if ( value & ImageUsageFlagBits::eVideoDecodeSrcKHR )
8210 result += "VideoDecodeSrcKHR | ";
8211 if ( value & ImageUsageFlagBits::eVideoDecodeDpbKHR )
8212 result += "VideoDecodeDpbKHR | ";
8213#endif /*VK_ENABLE_BETA_EXTENSIONS*/
8214 if ( value & ImageUsageFlagBits::eFragmentDensityMapEXT )
8215 result += "FragmentDensityMapEXT | ";
8216 if ( value & ImageUsageFlagBits::eFragmentShadingRateAttachmentKHR )
8217 result += "FragmentShadingRateAttachmentKHR | ";
8218#if defined( VK_ENABLE_BETA_EXTENSIONS )
8219 if ( value & ImageUsageFlagBits::eVideoEncodeDstKHR )
8220 result += "VideoEncodeDstKHR | ";
8221 if ( value & ImageUsageFlagBits::eVideoEncodeSrcKHR )
8222 result += "VideoEncodeSrcKHR | ";
8223 if ( value & ImageUsageFlagBits::eVideoEncodeDpbKHR )
8224 result += "VideoEncodeDpbKHR | ";
8225#endif /*VK_ENABLE_BETA_EXTENSIONS*/
8226 if ( value & ImageUsageFlagBits::eInvocationMaskHUAWEI )
8227 result += "InvocationMaskHUAWEI | ";
8228
8229 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
8230 }
8231
8232 using InstanceCreateFlags = Flags<InstanceCreateFlagBits>;
8233
8234 VULKAN_HPP_INLINE std::string to_string( InstanceCreateFlags )
8235 {
8236 return "{}";
8237 }
8238
8239 using MemoryHeapFlags = Flags<MemoryHeapFlagBits>;
8240
8241 template <>
8242 struct FlagTraits<MemoryHeapFlagBits>
8243 {
8244 enum : VkFlags
8245 {
8246 allFlags = VkFlags( MemoryHeapFlagBits::eDeviceLocal ) | VkFlags( MemoryHeapFlagBits::eMultiInstance )
8247 };
8248 };
8249
8250 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryHeapFlags operator|( MemoryHeapFlagBits bit0,
8251 MemoryHeapFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8252 {
8253 return MemoryHeapFlags( bit0 ) | bit1;
8254 }
8255
8256 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryHeapFlags operator&(MemoryHeapFlagBits bit0,
8257 MemoryHeapFlagBits bit1)VULKAN_HPP_NOEXCEPT
8258 {
8259 return MemoryHeapFlags( bit0 ) & bit1;
8260 }
8261
8262 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryHeapFlags operator^( MemoryHeapFlagBits bit0,
8263 MemoryHeapFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8264 {
8265 return MemoryHeapFlags( bit0 ) ^ bit1;
8266 }
8267
8268 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryHeapFlags operator~( MemoryHeapFlagBits bits ) VULKAN_HPP_NOEXCEPT
8269 {
8270 return ~( MemoryHeapFlags( bits ) );
8271 }
8272
8273 VULKAN_HPP_INLINE std::string to_string( MemoryHeapFlags value )
8274 {
8275 if ( !value )
8276 return "{}";
8277
8278 std::string result;
8279 if ( value & MemoryHeapFlagBits::eDeviceLocal )
8280 result += "DeviceLocal | ";
8281 if ( value & MemoryHeapFlagBits::eMultiInstance )
8282 result += "MultiInstance | ";
8283
8284 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
8285 }
8286
8287 using MemoryPropertyFlags = Flags<MemoryPropertyFlagBits>;
8288
8289 template <>
8290 struct FlagTraits<MemoryPropertyFlagBits>
8291 {
8292 enum : VkFlags
8293 {
8294 allFlags = VkFlags( MemoryPropertyFlagBits::eDeviceLocal ) | VkFlags( MemoryPropertyFlagBits::eHostVisible ) |
8295 VkFlags( MemoryPropertyFlagBits::eHostCoherent ) | VkFlags( MemoryPropertyFlagBits::eHostCached ) |
8296 VkFlags( MemoryPropertyFlagBits::eLazilyAllocated ) | VkFlags( MemoryPropertyFlagBits::eProtected ) |
8297 VkFlags( MemoryPropertyFlagBits::eDeviceCoherentAMD ) |
8298 VkFlags( MemoryPropertyFlagBits::eDeviceUncachedAMD ) |
8299 VkFlags( MemoryPropertyFlagBits::eRdmaCapableNV )
8300 };
8301 };
8302
8303 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryPropertyFlags
8304 operator|( MemoryPropertyFlagBits bit0, MemoryPropertyFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8305 {
8306 return MemoryPropertyFlags( bit0 ) | bit1;
8307 }
8308
8309 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryPropertyFlags operator&(MemoryPropertyFlagBits bit0,
8310 MemoryPropertyFlagBits bit1)VULKAN_HPP_NOEXCEPT
8311 {
8312 return MemoryPropertyFlags( bit0 ) & bit1;
8313 }
8314
8315 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryPropertyFlags
8316 operator^( MemoryPropertyFlagBits bit0, MemoryPropertyFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8317 {
8318 return MemoryPropertyFlags( bit0 ) ^ bit1;
8319 }
8320
8321 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryPropertyFlags operator~( MemoryPropertyFlagBits bits )
8322 VULKAN_HPP_NOEXCEPT
8323 {
8324 return ~( MemoryPropertyFlags( bits ) );
8325 }
8326
8327 VULKAN_HPP_INLINE std::string to_string( MemoryPropertyFlags value )
8328 {
8329 if ( !value )
8330 return "{}";
8331
8332 std::string result;
8333 if ( value & MemoryPropertyFlagBits::eDeviceLocal )
8334 result += "DeviceLocal | ";
8335 if ( value & MemoryPropertyFlagBits::eHostVisible )
8336 result += "HostVisible | ";
8337 if ( value & MemoryPropertyFlagBits::eHostCoherent )
8338 result += "HostCoherent | ";
8339 if ( value & MemoryPropertyFlagBits::eHostCached )
8340 result += "HostCached | ";
8341 if ( value & MemoryPropertyFlagBits::eLazilyAllocated )
8342 result += "LazilyAllocated | ";
8343 if ( value & MemoryPropertyFlagBits::eProtected )
8344 result += "Protected | ";
8345 if ( value & MemoryPropertyFlagBits::eDeviceCoherentAMD )
8346 result += "DeviceCoherentAMD | ";
8347 if ( value & MemoryPropertyFlagBits::eDeviceUncachedAMD )
8348 result += "DeviceUncachedAMD | ";
8349 if ( value & MemoryPropertyFlagBits::eRdmaCapableNV )
8350 result += "RdmaCapableNV | ";
8351
8352 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
8353 }
8354
8355 using QueueFlags = Flags<QueueFlagBits>;
8356
8357 template <>
8358 struct FlagTraits<QueueFlagBits>
8359 {
8360 enum : VkFlags
8361 {
8362 allFlags = VkFlags( QueueFlagBits::eGraphics ) | VkFlags( QueueFlagBits::eCompute ) |
8363 VkFlags( QueueFlagBits::eTransfer ) | VkFlags( QueueFlagBits::eSparseBinding ) |
8364 VkFlags( QueueFlagBits::eProtected )
8365#if defined( VK_ENABLE_BETA_EXTENSIONS )
8366 | VkFlags( QueueFlagBits::eVideoDecodeKHR ) | VkFlags( QueueFlagBits::eVideoEncodeKHR )
8367#endif /*VK_ENABLE_BETA_EXTENSIONS*/
8368 };
8369 };
8370
8371 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueueFlags operator|( QueueFlagBits bit0,
8372 QueueFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8373 {
8374 return QueueFlags( bit0 ) | bit1;
8375 }
8376
8377 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueueFlags operator&(QueueFlagBits bit0, QueueFlagBits bit1)VULKAN_HPP_NOEXCEPT
8378 {
8379 return QueueFlags( bit0 ) & bit1;
8380 }
8381
8382 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueueFlags operator^( QueueFlagBits bit0,
8383 QueueFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8384 {
8385 return QueueFlags( bit0 ) ^ bit1;
8386 }
8387
8388 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueueFlags operator~( QueueFlagBits bits ) VULKAN_HPP_NOEXCEPT
8389 {
8390 return ~( QueueFlags( bits ) );
8391 }
8392
8393 VULKAN_HPP_INLINE std::string to_string( QueueFlags value )
8394 {
8395 if ( !value )
8396 return "{}";
8397
8398 std::string result;
8399 if ( value & QueueFlagBits::eGraphics )
8400 result += "Graphics | ";
8401 if ( value & QueueFlagBits::eCompute )
8402 result += "Compute | ";
8403 if ( value & QueueFlagBits::eTransfer )
8404 result += "Transfer | ";
8405 if ( value & QueueFlagBits::eSparseBinding )
8406 result += "SparseBinding | ";
8407 if ( value & QueueFlagBits::eProtected )
8408 result += "Protected | ";
8409#if defined( VK_ENABLE_BETA_EXTENSIONS )
8410 if ( value & QueueFlagBits::eVideoDecodeKHR )
8411 result += "VideoDecodeKHR | ";
8412 if ( value & QueueFlagBits::eVideoEncodeKHR )
8413 result += "VideoEncodeKHR | ";
8414#endif /*VK_ENABLE_BETA_EXTENSIONS*/
8415
8416 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
8417 }
8418
8419 using SampleCountFlags = Flags<SampleCountFlagBits>;
8420
8421 template <>
8422 struct FlagTraits<SampleCountFlagBits>
8423 {
8424 enum : VkFlags
8425 {
8426 allFlags = VkFlags( SampleCountFlagBits::e1 ) | VkFlags( SampleCountFlagBits::e2 ) |
8427 VkFlags( SampleCountFlagBits::e4 ) | VkFlags( SampleCountFlagBits::e8 ) |
8428 VkFlags( SampleCountFlagBits::e16 ) | VkFlags( SampleCountFlagBits::e32 ) |
8429 VkFlags( SampleCountFlagBits::e64 )
8430 };
8431 };
8432
8433 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SampleCountFlags operator|( SampleCountFlagBits bit0,
8434 SampleCountFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8435 {
8436 return SampleCountFlags( bit0 ) | bit1;
8437 }
8438
8439 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SampleCountFlags operator&(SampleCountFlagBits bit0,
8440 SampleCountFlagBits bit1)VULKAN_HPP_NOEXCEPT
8441 {
8442 return SampleCountFlags( bit0 ) & bit1;
8443 }
8444
8445 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SampleCountFlags operator^( SampleCountFlagBits bit0,
8446 SampleCountFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8447 {
8448 return SampleCountFlags( bit0 ) ^ bit1;
8449 }
8450
8451 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SampleCountFlags operator~( SampleCountFlagBits bits ) VULKAN_HPP_NOEXCEPT
8452 {
8453 return ~( SampleCountFlags( bits ) );
8454 }
8455
8456 VULKAN_HPP_INLINE std::string to_string( SampleCountFlags value )
8457 {
8458 if ( !value )
8459 return "{}";
8460
8461 std::string result;
8462 if ( value & SampleCountFlagBits::e1 )
8463 result += "1 | ";
8464 if ( value & SampleCountFlagBits::e2 )
8465 result += "2 | ";
8466 if ( value & SampleCountFlagBits::e4 )
8467 result += "4 | ";
8468 if ( value & SampleCountFlagBits::e8 )
8469 result += "8 | ";
8470 if ( value & SampleCountFlagBits::e16 )
8471 result += "16 | ";
8472 if ( value & SampleCountFlagBits::e32 )
8473 result += "32 | ";
8474 if ( value & SampleCountFlagBits::e64 )
8475 result += "64 | ";
8476
8477 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
8478 }
8479
8480 using DeviceCreateFlags = Flags<DeviceCreateFlagBits>;
8481
8482 VULKAN_HPP_INLINE std::string to_string( DeviceCreateFlags )
8483 {
8484 return "{}";
8485 }
8486
8487 using DeviceQueueCreateFlags = Flags<DeviceQueueCreateFlagBits>;
8488
8489 template <>
8490 struct FlagTraits<DeviceQueueCreateFlagBits>
8491 {
8492 enum : VkFlags
8493 {
8494 allFlags = VkFlags( DeviceQueueCreateFlagBits::eProtected )
8495 };
8496 };
8497
8498 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceQueueCreateFlags
8499 operator|( DeviceQueueCreateFlagBits bit0, DeviceQueueCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8500 {
8501 return DeviceQueueCreateFlags( bit0 ) | bit1;
8502 }
8503
8504 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceQueueCreateFlags
8505 operator&(DeviceQueueCreateFlagBits bit0, DeviceQueueCreateFlagBits bit1)VULKAN_HPP_NOEXCEPT
8506 {
8507 return DeviceQueueCreateFlags( bit0 ) & bit1;
8508 }
8509
8510 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceQueueCreateFlags
8511 operator^( DeviceQueueCreateFlagBits bit0, DeviceQueueCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8512 {
8513 return DeviceQueueCreateFlags( bit0 ) ^ bit1;
8514 }
8515
8516 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceQueueCreateFlags operator~( DeviceQueueCreateFlagBits bits )
8517 VULKAN_HPP_NOEXCEPT
8518 {
8519 return ~( DeviceQueueCreateFlags( bits ) );
8520 }
8521
8522 VULKAN_HPP_INLINE std::string to_string( DeviceQueueCreateFlags value )
8523 {
8524 if ( !value )
8525 return "{}";
8526
8527 std::string result;
8528 if ( value & DeviceQueueCreateFlagBits::eProtected )
8529 result += "Protected | ";
8530
8531 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
8532 }
8533
8534 using PipelineStageFlags = Flags<PipelineStageFlagBits>;
8535
8536 template <>
8537 struct FlagTraits<PipelineStageFlagBits>
8538 {
8539 enum : VkFlags
8540 {
8541 allFlags =
8542 VkFlags( PipelineStageFlagBits::eTopOfPipe ) | VkFlags( PipelineStageFlagBits::eDrawIndirect ) |
8543 VkFlags( PipelineStageFlagBits::eVertexInput ) | VkFlags( PipelineStageFlagBits::eVertexShader ) |
8544 VkFlags( PipelineStageFlagBits::eTessellationControlShader ) |
8545 VkFlags( PipelineStageFlagBits::eTessellationEvaluationShader ) |
8546 VkFlags( PipelineStageFlagBits::eGeometryShader ) | VkFlags( PipelineStageFlagBits::eFragmentShader ) |
8547 VkFlags( PipelineStageFlagBits::eEarlyFragmentTests ) | VkFlags( PipelineStageFlagBits::eLateFragmentTests ) |
8548 VkFlags( PipelineStageFlagBits::eColorAttachmentOutput ) | VkFlags( PipelineStageFlagBits::eComputeShader ) |
8549 VkFlags( PipelineStageFlagBits::eTransfer ) | VkFlags( PipelineStageFlagBits::eBottomOfPipe ) |
8550 VkFlags( PipelineStageFlagBits::eHost ) | VkFlags( PipelineStageFlagBits::eAllGraphics ) |
8551 VkFlags( PipelineStageFlagBits::eAllCommands ) | VkFlags( PipelineStageFlagBits::eTransformFeedbackEXT ) |
8552 VkFlags( PipelineStageFlagBits::eConditionalRenderingEXT ) |
8553 VkFlags( PipelineStageFlagBits::eAccelerationStructureBuildKHR ) |
8554 VkFlags( PipelineStageFlagBits::eRayTracingShaderKHR ) | VkFlags( PipelineStageFlagBits::eTaskShaderNV ) |
8555 VkFlags( PipelineStageFlagBits::eMeshShaderNV ) | VkFlags( PipelineStageFlagBits::eFragmentDensityProcessEXT ) |
8556 VkFlags( PipelineStageFlagBits::eFragmentShadingRateAttachmentKHR ) |
8557 VkFlags( PipelineStageFlagBits::eCommandPreprocessNV ) | VkFlags( PipelineStageFlagBits::eNoneKHR )
8558 };
8559 };
8560
8561 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags operator|( PipelineStageFlagBits bit0,
8562 PipelineStageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8563 {
8564 return PipelineStageFlags( bit0 ) | bit1;
8565 }
8566
8567 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags operator&(PipelineStageFlagBits bit0,
8568 PipelineStageFlagBits bit1)VULKAN_HPP_NOEXCEPT
8569 {
8570 return PipelineStageFlags( bit0 ) & bit1;
8571 }
8572
8573 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags operator^( PipelineStageFlagBits bit0,
8574 PipelineStageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8575 {
8576 return PipelineStageFlags( bit0 ) ^ bit1;
8577 }
8578
8579 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags operator~( PipelineStageFlagBits bits ) VULKAN_HPP_NOEXCEPT
8580 {
8581 return ~( PipelineStageFlags( bits ) );
8582 }
8583
8584 VULKAN_HPP_INLINE std::string to_string( PipelineStageFlags value )
8585 {
8586 if ( !value )
8587 return "{}";
8588
8589 std::string result;
8590 if ( value & PipelineStageFlagBits::eTopOfPipe )
8591 result += "TopOfPipe | ";
8592 if ( value & PipelineStageFlagBits::eDrawIndirect )
8593 result += "DrawIndirect | ";
8594 if ( value & PipelineStageFlagBits::eVertexInput )
8595 result += "VertexInput | ";
8596 if ( value & PipelineStageFlagBits::eVertexShader )
8597 result += "VertexShader | ";
8598 if ( value & PipelineStageFlagBits::eTessellationControlShader )
8599 result += "TessellationControlShader | ";
8600 if ( value & PipelineStageFlagBits::eTessellationEvaluationShader )
8601 result += "TessellationEvaluationShader | ";
8602 if ( value & PipelineStageFlagBits::eGeometryShader )
8603 result += "GeometryShader | ";
8604 if ( value & PipelineStageFlagBits::eFragmentShader )
8605 result += "FragmentShader | ";
8606 if ( value & PipelineStageFlagBits::eEarlyFragmentTests )
8607 result += "EarlyFragmentTests | ";
8608 if ( value & PipelineStageFlagBits::eLateFragmentTests )
8609 result += "LateFragmentTests | ";
8610 if ( value & PipelineStageFlagBits::eColorAttachmentOutput )
8611 result += "ColorAttachmentOutput | ";
8612 if ( value & PipelineStageFlagBits::eComputeShader )
8613 result += "ComputeShader | ";
8614 if ( value & PipelineStageFlagBits::eTransfer )
8615 result += "Transfer | ";
8616 if ( value & PipelineStageFlagBits::eBottomOfPipe )
8617 result += "BottomOfPipe | ";
8618 if ( value & PipelineStageFlagBits::eHost )
8619 result += "Host | ";
8620 if ( value & PipelineStageFlagBits::eAllGraphics )
8621 result += "AllGraphics | ";
8622 if ( value & PipelineStageFlagBits::eAllCommands )
8623 result += "AllCommands | ";
8624 if ( value & PipelineStageFlagBits::eTransformFeedbackEXT )
8625 result += "TransformFeedbackEXT | ";
8626 if ( value & PipelineStageFlagBits::eConditionalRenderingEXT )
8627 result += "ConditionalRenderingEXT | ";
8628 if ( value & PipelineStageFlagBits::eAccelerationStructureBuildKHR )
8629 result += "AccelerationStructureBuildKHR | ";
8630 if ( value & PipelineStageFlagBits::eRayTracingShaderKHR )
8631 result += "RayTracingShaderKHR | ";
8632 if ( value & PipelineStageFlagBits::eTaskShaderNV )
8633 result += "TaskShaderNV | ";
8634 if ( value & PipelineStageFlagBits::eMeshShaderNV )
8635 result += "MeshShaderNV | ";
8636 if ( value & PipelineStageFlagBits::eFragmentDensityProcessEXT )
8637 result += "FragmentDensityProcessEXT | ";
8638 if ( value & PipelineStageFlagBits::eFragmentShadingRateAttachmentKHR )
8639 result += "FragmentShadingRateAttachmentKHR | ";
8640 if ( value & PipelineStageFlagBits::eCommandPreprocessNV )
8641 result += "CommandPreprocessNV | ";
8642
8643 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
8644 }
8645
8646 using MemoryMapFlags = Flags<MemoryMapFlagBits>;
8647
8648 VULKAN_HPP_INLINE std::string to_string( MemoryMapFlags )
8649 {
8650 return "{}";
8651 }
8652
8653 using ImageAspectFlags = Flags<ImageAspectFlagBits>;
8654
8655 template <>
8656 struct FlagTraits<ImageAspectFlagBits>
8657 {
8658 enum : VkFlags
8659 {
8660 allFlags = VkFlags( ImageAspectFlagBits::eColor ) | VkFlags( ImageAspectFlagBits::eDepth ) |
8661 VkFlags( ImageAspectFlagBits::eStencil ) | VkFlags( ImageAspectFlagBits::eMetadata ) |
8662 VkFlags( ImageAspectFlagBits::ePlane0 ) | VkFlags( ImageAspectFlagBits::ePlane1 ) |
8663 VkFlags( ImageAspectFlagBits::ePlane2 ) | VkFlags( ImageAspectFlagBits::eMemoryPlane0EXT ) |
8664 VkFlags( ImageAspectFlagBits::eMemoryPlane1EXT ) | VkFlags( ImageAspectFlagBits::eMemoryPlane2EXT ) |
8665 VkFlags( ImageAspectFlagBits::eMemoryPlane3EXT )
8666 };
8667 };
8668
8669 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageAspectFlags operator|( ImageAspectFlagBits bit0,
8670 ImageAspectFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8671 {
8672 return ImageAspectFlags( bit0 ) | bit1;
8673 }
8674
8675 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageAspectFlags operator&(ImageAspectFlagBits bit0,
8676 ImageAspectFlagBits bit1)VULKAN_HPP_NOEXCEPT
8677 {
8678 return ImageAspectFlags( bit0 ) & bit1;
8679 }
8680
8681 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageAspectFlags operator^( ImageAspectFlagBits bit0,
8682 ImageAspectFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8683 {
8684 return ImageAspectFlags( bit0 ) ^ bit1;
8685 }
8686
8687 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageAspectFlags operator~( ImageAspectFlagBits bits ) VULKAN_HPP_NOEXCEPT
8688 {
8689 return ~( ImageAspectFlags( bits ) );
8690 }
8691
8692 VULKAN_HPP_INLINE std::string to_string( ImageAspectFlags value )
8693 {
8694 if ( !value )
8695 return "{}";
8696
8697 std::string result;
8698 if ( value & ImageAspectFlagBits::eColor )
8699 result += "Color | ";
8700 if ( value & ImageAspectFlagBits::eDepth )
8701 result += "Depth | ";
8702 if ( value & ImageAspectFlagBits::eStencil )
8703 result += "Stencil | ";
8704 if ( value & ImageAspectFlagBits::eMetadata )
8705 result += "Metadata | ";
8706 if ( value & ImageAspectFlagBits::ePlane0 )
8707 result += "Plane0 | ";
8708 if ( value & ImageAspectFlagBits::ePlane1 )
8709 result += "Plane1 | ";
8710 if ( value & ImageAspectFlagBits::ePlane2 )
8711 result += "Plane2 | ";
8712 if ( value & ImageAspectFlagBits::eMemoryPlane0EXT )
8713 result += "MemoryPlane0EXT | ";
8714 if ( value & ImageAspectFlagBits::eMemoryPlane1EXT )
8715 result += "MemoryPlane1EXT | ";
8716 if ( value & ImageAspectFlagBits::eMemoryPlane2EXT )
8717 result += "MemoryPlane2EXT | ";
8718 if ( value & ImageAspectFlagBits::eMemoryPlane3EXT )
8719 result += "MemoryPlane3EXT | ";
8720
8721 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
8722 }
8723
8724 using SparseImageFormatFlags = Flags<SparseImageFormatFlagBits>;
8725
8726 template <>
8727 struct FlagTraits<SparseImageFormatFlagBits>
8728 {
8729 enum : VkFlags
8730 {
8731 allFlags = VkFlags( SparseImageFormatFlagBits::eSingleMiptail ) |
8732 VkFlags( SparseImageFormatFlagBits::eAlignedMipSize ) |
8733 VkFlags( SparseImageFormatFlagBits::eNonstandardBlockSize )
8734 };
8735 };
8736
8737 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseImageFormatFlags
8738 operator|( SparseImageFormatFlagBits bit0, SparseImageFormatFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8739 {
8740 return SparseImageFormatFlags( bit0 ) | bit1;
8741 }
8742
8743 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseImageFormatFlags
8744 operator&(SparseImageFormatFlagBits bit0, SparseImageFormatFlagBits bit1)VULKAN_HPP_NOEXCEPT
8745 {
8746 return SparseImageFormatFlags( bit0 ) & bit1;
8747 }
8748
8749 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseImageFormatFlags
8750 operator^( SparseImageFormatFlagBits bit0, SparseImageFormatFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8751 {
8752 return SparseImageFormatFlags( bit0 ) ^ bit1;
8753 }
8754
8755 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseImageFormatFlags operator~( SparseImageFormatFlagBits bits )
8756 VULKAN_HPP_NOEXCEPT
8757 {
8758 return ~( SparseImageFormatFlags( bits ) );
8759 }
8760
8761 VULKAN_HPP_INLINE std::string to_string( SparseImageFormatFlags value )
8762 {
8763 if ( !value )
8764 return "{}";
8765
8766 std::string result;
8767 if ( value & SparseImageFormatFlagBits::eSingleMiptail )
8768 result += "SingleMiptail | ";
8769 if ( value & SparseImageFormatFlagBits::eAlignedMipSize )
8770 result += "AlignedMipSize | ";
8771 if ( value & SparseImageFormatFlagBits::eNonstandardBlockSize )
8772 result += "NonstandardBlockSize | ";
8773
8774 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
8775 }
8776
8777 using SparseMemoryBindFlags = Flags<SparseMemoryBindFlagBits>;
8778
8779 template <>
8780 struct FlagTraits<SparseMemoryBindFlagBits>
8781 {
8782 enum : VkFlags
8783 {
8784 allFlags = VkFlags( SparseMemoryBindFlagBits::eMetadata )
8785 };
8786 };
8787
8788 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseMemoryBindFlags
8789 operator|( SparseMemoryBindFlagBits bit0, SparseMemoryBindFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8790 {
8791 return SparseMemoryBindFlags( bit0 ) | bit1;
8792 }
8793
8794 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseMemoryBindFlags
8795 operator&(SparseMemoryBindFlagBits bit0, SparseMemoryBindFlagBits bit1)VULKAN_HPP_NOEXCEPT
8796 {
8797 return SparseMemoryBindFlags( bit0 ) & bit1;
8798 }
8799
8800 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseMemoryBindFlags
8801 operator^( SparseMemoryBindFlagBits bit0, SparseMemoryBindFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8802 {
8803 return SparseMemoryBindFlags( bit0 ) ^ bit1;
8804 }
8805
8806 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseMemoryBindFlags operator~( SparseMemoryBindFlagBits bits )
8807 VULKAN_HPP_NOEXCEPT
8808 {
8809 return ~( SparseMemoryBindFlags( bits ) );
8810 }
8811
8812 VULKAN_HPP_INLINE std::string to_string( SparseMemoryBindFlags value )
8813 {
8814 if ( !value )
8815 return "{}";
8816
8817 std::string result;
8818 if ( value & SparseMemoryBindFlagBits::eMetadata )
8819 result += "Metadata | ";
8820
8821 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
8822 }
8823
8824 using FenceCreateFlags = Flags<FenceCreateFlagBits>;
8825
8826 template <>
8827 struct FlagTraits<FenceCreateFlagBits>
8828 {
8829 enum : VkFlags
8830 {
8831 allFlags = VkFlags( FenceCreateFlagBits::eSignaled )
8832 };
8833 };
8834
8835 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceCreateFlags operator|( FenceCreateFlagBits bit0,
8836 FenceCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8837 {
8838 return FenceCreateFlags( bit0 ) | bit1;
8839 }
8840
8841 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceCreateFlags operator&(FenceCreateFlagBits bit0,
8842 FenceCreateFlagBits bit1)VULKAN_HPP_NOEXCEPT
8843 {
8844 return FenceCreateFlags( bit0 ) & bit1;
8845 }
8846
8847 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceCreateFlags operator^( FenceCreateFlagBits bit0,
8848 FenceCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8849 {
8850 return FenceCreateFlags( bit0 ) ^ bit1;
8851 }
8852
8853 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceCreateFlags operator~( FenceCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT
8854 {
8855 return ~( FenceCreateFlags( bits ) );
8856 }
8857
8858 VULKAN_HPP_INLINE std::string to_string( FenceCreateFlags value )
8859 {
8860 if ( !value )
8861 return "{}";
8862
8863 std::string result;
8864 if ( value & FenceCreateFlagBits::eSignaled )
8865 result += "Signaled | ";
8866
8867 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
8868 }
8869
8870 using SemaphoreCreateFlags = Flags<SemaphoreCreateFlagBits>;
8871
8872 VULKAN_HPP_INLINE std::string to_string( SemaphoreCreateFlags )
8873 {
8874 return "{}";
8875 }
8876
8877 using EventCreateFlags = Flags<EventCreateFlagBits>;
8878
8879 template <>
8880 struct FlagTraits<EventCreateFlagBits>
8881 {
8882 enum : VkFlags
8883 {
8884 allFlags = VkFlags( EventCreateFlagBits::eDeviceOnlyKHR )
8885 };
8886 };
8887
8888 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR EventCreateFlags operator|( EventCreateFlagBits bit0,
8889 EventCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8890 {
8891 return EventCreateFlags( bit0 ) | bit1;
8892 }
8893
8894 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR EventCreateFlags operator&(EventCreateFlagBits bit0,
8895 EventCreateFlagBits bit1)VULKAN_HPP_NOEXCEPT
8896 {
8897 return EventCreateFlags( bit0 ) & bit1;
8898 }
8899
8900 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR EventCreateFlags operator^( EventCreateFlagBits bit0,
8901 EventCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8902 {
8903 return EventCreateFlags( bit0 ) ^ bit1;
8904 }
8905
8906 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR EventCreateFlags operator~( EventCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT
8907 {
8908 return ~( EventCreateFlags( bits ) );
8909 }
8910
8911 VULKAN_HPP_INLINE std::string to_string( EventCreateFlags value )
8912 {
8913 if ( !value )
8914 return "{}";
8915
8916 std::string result;
8917 if ( value & EventCreateFlagBits::eDeviceOnlyKHR )
8918 result += "DeviceOnlyKHR | ";
8919
8920 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
8921 }
8922
8923 using QueryPipelineStatisticFlags = Flags<QueryPipelineStatisticFlagBits>;
8924
8925 template <>
8926 struct FlagTraits<QueryPipelineStatisticFlagBits>
8927 {
8928 enum : VkFlags
8929 {
8930 allFlags = VkFlags( QueryPipelineStatisticFlagBits::eInputAssemblyVertices ) |
8931 VkFlags( QueryPipelineStatisticFlagBits::eInputAssemblyPrimitives ) |
8932 VkFlags( QueryPipelineStatisticFlagBits::eVertexShaderInvocations ) |
8933 VkFlags( QueryPipelineStatisticFlagBits::eGeometryShaderInvocations ) |
8934 VkFlags( QueryPipelineStatisticFlagBits::eGeometryShaderPrimitives ) |
8935 VkFlags( QueryPipelineStatisticFlagBits::eClippingInvocations ) |
8936 VkFlags( QueryPipelineStatisticFlagBits::eClippingPrimitives ) |
8937 VkFlags( QueryPipelineStatisticFlagBits::eFragmentShaderInvocations ) |
8938 VkFlags( QueryPipelineStatisticFlagBits::eTessellationControlShaderPatches ) |
8939 VkFlags( QueryPipelineStatisticFlagBits::eTessellationEvaluationShaderInvocations ) |
8940 VkFlags( QueryPipelineStatisticFlagBits::eComputeShaderInvocations )
8941 };
8942 };
8943
8944 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryPipelineStatisticFlags
8945 operator|( QueryPipelineStatisticFlagBits bit0, QueryPipelineStatisticFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8946 {
8947 return QueryPipelineStatisticFlags( bit0 ) | bit1;
8948 }
8949
8950 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryPipelineStatisticFlags
8951 operator&(QueryPipelineStatisticFlagBits bit0, QueryPipelineStatisticFlagBits bit1)VULKAN_HPP_NOEXCEPT
8952 {
8953 return QueryPipelineStatisticFlags( bit0 ) & bit1;
8954 }
8955
8956 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryPipelineStatisticFlags
8957 operator^( QueryPipelineStatisticFlagBits bit0, QueryPipelineStatisticFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
8958 {
8959 return QueryPipelineStatisticFlags( bit0 ) ^ bit1;
8960 }
8961
8962 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryPipelineStatisticFlags operator~( QueryPipelineStatisticFlagBits bits )
8963 VULKAN_HPP_NOEXCEPT
8964 {
8965 return ~( QueryPipelineStatisticFlags( bits ) );
8966 }
8967
8968 VULKAN_HPP_INLINE std::string to_string( QueryPipelineStatisticFlags value )
8969 {
8970 if ( !value )
8971 return "{}";
8972
8973 std::string result;
8974 if ( value & QueryPipelineStatisticFlagBits::eInputAssemblyVertices )
8975 result += "InputAssemblyVertices | ";
8976 if ( value & QueryPipelineStatisticFlagBits::eInputAssemblyPrimitives )
8977 result += "InputAssemblyPrimitives | ";
8978 if ( value & QueryPipelineStatisticFlagBits::eVertexShaderInvocations )
8979 result += "VertexShaderInvocations | ";
8980 if ( value & QueryPipelineStatisticFlagBits::eGeometryShaderInvocations )
8981 result += "GeometryShaderInvocations | ";
8982 if ( value & QueryPipelineStatisticFlagBits::eGeometryShaderPrimitives )
8983 result += "GeometryShaderPrimitives | ";
8984 if ( value & QueryPipelineStatisticFlagBits::eClippingInvocations )
8985 result += "ClippingInvocations | ";
8986 if ( value & QueryPipelineStatisticFlagBits::eClippingPrimitives )
8987 result += "ClippingPrimitives | ";
8988 if ( value & QueryPipelineStatisticFlagBits::eFragmentShaderInvocations )
8989 result += "FragmentShaderInvocations | ";
8990 if ( value & QueryPipelineStatisticFlagBits::eTessellationControlShaderPatches )
8991 result += "TessellationControlShaderPatches | ";
8992 if ( value & QueryPipelineStatisticFlagBits::eTessellationEvaluationShaderInvocations )
8993 result += "TessellationEvaluationShaderInvocations | ";
8994 if ( value & QueryPipelineStatisticFlagBits::eComputeShaderInvocations )
8995 result += "ComputeShaderInvocations | ";
8996
8997 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
8998 }
8999
9000 using QueryPoolCreateFlags = Flags<QueryPoolCreateFlagBits>;
9001
9002 VULKAN_HPP_INLINE std::string to_string( QueryPoolCreateFlags )
9003 {
9004 return "{}";
9005 }
9006
9007 using QueryResultFlags = Flags<QueryResultFlagBits>;
9008
9009 template <>
9010 struct FlagTraits<QueryResultFlagBits>
9011 {
9012 enum : VkFlags
9013 {
9014 allFlags = VkFlags( QueryResultFlagBits::e64 ) | VkFlags( QueryResultFlagBits::eWait ) |
9015 VkFlags( QueryResultFlagBits::eWithAvailability ) | VkFlags( QueryResultFlagBits::ePartial )
9016#if defined( VK_ENABLE_BETA_EXTENSIONS )
9017 | VkFlags( QueryResultFlagBits::eWithStatusKHR )
9018#endif /*VK_ENABLE_BETA_EXTENSIONS*/
9019 };
9020 };
9021
9022 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryResultFlags operator|( QueryResultFlagBits bit0,
9023 QueryResultFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9024 {
9025 return QueryResultFlags( bit0 ) | bit1;
9026 }
9027
9028 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryResultFlags operator&(QueryResultFlagBits bit0,
9029 QueryResultFlagBits bit1)VULKAN_HPP_NOEXCEPT
9030 {
9031 return QueryResultFlags( bit0 ) & bit1;
9032 }
9033
9034 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryResultFlags operator^( QueryResultFlagBits bit0,
9035 QueryResultFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9036 {
9037 return QueryResultFlags( bit0 ) ^ bit1;
9038 }
9039
9040 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryResultFlags operator~( QueryResultFlagBits bits ) VULKAN_HPP_NOEXCEPT
9041 {
9042 return ~( QueryResultFlags( bits ) );
9043 }
9044
9045 VULKAN_HPP_INLINE std::string to_string( QueryResultFlags value )
9046 {
9047 if ( !value )
9048 return "{}";
9049
9050 std::string result;
9051 if ( value & QueryResultFlagBits::e64 )
9052 result += "64 | ";
9053 if ( value & QueryResultFlagBits::eWait )
9054 result += "Wait | ";
9055 if ( value & QueryResultFlagBits::eWithAvailability )
9056 result += "WithAvailability | ";
9057 if ( value & QueryResultFlagBits::ePartial )
9058 result += "Partial | ";
9059#if defined( VK_ENABLE_BETA_EXTENSIONS )
9060 if ( value & QueryResultFlagBits::eWithStatusKHR )
9061 result += "WithStatusKHR | ";
9062#endif /*VK_ENABLE_BETA_EXTENSIONS*/
9063
9064 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
9065 }
9066
9067 using BufferCreateFlags = Flags<BufferCreateFlagBits>;
9068
9069 template <>
9070 struct FlagTraits<BufferCreateFlagBits>
9071 {
9072 enum : VkFlags
9073 {
9074 allFlags = VkFlags( BufferCreateFlagBits::eSparseBinding ) | VkFlags( BufferCreateFlagBits::eSparseResidency ) |
9075 VkFlags( BufferCreateFlagBits::eSparseAliased ) | VkFlags( BufferCreateFlagBits::eProtected ) |
9076 VkFlags( BufferCreateFlagBits::eDeviceAddressCaptureReplay )
9077 };
9078 };
9079
9080 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferCreateFlags operator|( BufferCreateFlagBits bit0,
9081 BufferCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9082 {
9083 return BufferCreateFlags( bit0 ) | bit1;
9084 }
9085
9086 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferCreateFlags operator&(BufferCreateFlagBits bit0,
9087 BufferCreateFlagBits bit1)VULKAN_HPP_NOEXCEPT
9088 {
9089 return BufferCreateFlags( bit0 ) & bit1;
9090 }
9091
9092 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferCreateFlags operator^( BufferCreateFlagBits bit0,
9093 BufferCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9094 {
9095 return BufferCreateFlags( bit0 ) ^ bit1;
9096 }
9097
9098 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferCreateFlags operator~( BufferCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT
9099 {
9100 return ~( BufferCreateFlags( bits ) );
9101 }
9102
9103 VULKAN_HPP_INLINE std::string to_string( BufferCreateFlags value )
9104 {
9105 if ( !value )
9106 return "{}";
9107
9108 std::string result;
9109 if ( value & BufferCreateFlagBits::eSparseBinding )
9110 result += "SparseBinding | ";
9111 if ( value & BufferCreateFlagBits::eSparseResidency )
9112 result += "SparseResidency | ";
9113 if ( value & BufferCreateFlagBits::eSparseAliased )
9114 result += "SparseAliased | ";
9115 if ( value & BufferCreateFlagBits::eProtected )
9116 result += "Protected | ";
9117 if ( value & BufferCreateFlagBits::eDeviceAddressCaptureReplay )
9118 result += "DeviceAddressCaptureReplay | ";
9119
9120 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
9121 }
9122
9123 using BufferUsageFlags = Flags<BufferUsageFlagBits>;
9124
9125 template <>
9126 struct FlagTraits<BufferUsageFlagBits>
9127 {
9128 enum : VkFlags
9129 {
9130 allFlags =
9131 VkFlags( BufferUsageFlagBits::eTransferSrc ) | VkFlags( BufferUsageFlagBits::eTransferDst ) |
9132 VkFlags( BufferUsageFlagBits::eUniformTexelBuffer ) | VkFlags( BufferUsageFlagBits::eStorageTexelBuffer ) |
9133 VkFlags( BufferUsageFlagBits::eUniformBuffer ) | VkFlags( BufferUsageFlagBits::eStorageBuffer ) |
9134 VkFlags( BufferUsageFlagBits::eIndexBuffer ) | VkFlags( BufferUsageFlagBits::eVertexBuffer ) |
9135 VkFlags( BufferUsageFlagBits::eIndirectBuffer ) | VkFlags( BufferUsageFlagBits::eShaderDeviceAddress )
9136#if defined( VK_ENABLE_BETA_EXTENSIONS )
9137 | VkFlags( BufferUsageFlagBits::eVideoDecodeSrcKHR ) | VkFlags( BufferUsageFlagBits::eVideoDecodeDstKHR )
9138#endif /*VK_ENABLE_BETA_EXTENSIONS*/
9139 | VkFlags( BufferUsageFlagBits::eTransformFeedbackBufferEXT ) |
9140 VkFlags( BufferUsageFlagBits::eTransformFeedbackCounterBufferEXT ) |
9141 VkFlags( BufferUsageFlagBits::eConditionalRenderingEXT ) |
9142 VkFlags( BufferUsageFlagBits::eAccelerationStructureBuildInputReadOnlyKHR ) |
9143 VkFlags( BufferUsageFlagBits::eAccelerationStructureStorageKHR ) |
9144 VkFlags( BufferUsageFlagBits::eShaderBindingTableKHR )
9145#if defined( VK_ENABLE_BETA_EXTENSIONS )
9146 | VkFlags( BufferUsageFlagBits::eVideoEncodeDstKHR ) | VkFlags( BufferUsageFlagBits::eVideoEncodeSrcKHR )
9147#endif /*VK_ENABLE_BETA_EXTENSIONS*/
9148 };
9149 };
9150
9151 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferUsageFlags operator|( BufferUsageFlagBits bit0,
9152 BufferUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9153 {
9154 return BufferUsageFlags( bit0 ) | bit1;
9155 }
9156
9157 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferUsageFlags operator&(BufferUsageFlagBits bit0,
9158 BufferUsageFlagBits bit1)VULKAN_HPP_NOEXCEPT
9159 {
9160 return BufferUsageFlags( bit0 ) & bit1;
9161 }
9162
9163 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferUsageFlags operator^( BufferUsageFlagBits bit0,
9164 BufferUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9165 {
9166 return BufferUsageFlags( bit0 ) ^ bit1;
9167 }
9168
9169 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferUsageFlags operator~( BufferUsageFlagBits bits ) VULKAN_HPP_NOEXCEPT
9170 {
9171 return ~( BufferUsageFlags( bits ) );
9172 }
9173
9174 VULKAN_HPP_INLINE std::string to_string( BufferUsageFlags value )
9175 {
9176 if ( !value )
9177 return "{}";
9178
9179 std::string result;
9180 if ( value & BufferUsageFlagBits::eTransferSrc )
9181 result += "TransferSrc | ";
9182 if ( value & BufferUsageFlagBits::eTransferDst )
9183 result += "TransferDst | ";
9184 if ( value & BufferUsageFlagBits::eUniformTexelBuffer )
9185 result += "UniformTexelBuffer | ";
9186 if ( value & BufferUsageFlagBits::eStorageTexelBuffer )
9187 result += "StorageTexelBuffer | ";
9188 if ( value & BufferUsageFlagBits::eUniformBuffer )
9189 result += "UniformBuffer | ";
9190 if ( value & BufferUsageFlagBits::eStorageBuffer )
9191 result += "StorageBuffer | ";
9192 if ( value & BufferUsageFlagBits::eIndexBuffer )
9193 result += "IndexBuffer | ";
9194 if ( value & BufferUsageFlagBits::eVertexBuffer )
9195 result += "VertexBuffer | ";
9196 if ( value & BufferUsageFlagBits::eIndirectBuffer )
9197 result += "IndirectBuffer | ";
9198 if ( value & BufferUsageFlagBits::eShaderDeviceAddress )
9199 result += "ShaderDeviceAddress | ";
9200#if defined( VK_ENABLE_BETA_EXTENSIONS )
9201 if ( value & BufferUsageFlagBits::eVideoDecodeSrcKHR )
9202 result += "VideoDecodeSrcKHR | ";
9203 if ( value & BufferUsageFlagBits::eVideoDecodeDstKHR )
9204 result += "VideoDecodeDstKHR | ";
9205#endif /*VK_ENABLE_BETA_EXTENSIONS*/
9206 if ( value & BufferUsageFlagBits::eTransformFeedbackBufferEXT )
9207 result += "TransformFeedbackBufferEXT | ";
9208 if ( value & BufferUsageFlagBits::eTransformFeedbackCounterBufferEXT )
9209 result += "TransformFeedbackCounterBufferEXT | ";
9210 if ( value & BufferUsageFlagBits::eConditionalRenderingEXT )
9211 result += "ConditionalRenderingEXT | ";
9212 if ( value & BufferUsageFlagBits::eAccelerationStructureBuildInputReadOnlyKHR )
9213 result += "AccelerationStructureBuildInputReadOnlyKHR | ";
9214 if ( value & BufferUsageFlagBits::eAccelerationStructureStorageKHR )
9215 result += "AccelerationStructureStorageKHR | ";
9216 if ( value & BufferUsageFlagBits::eShaderBindingTableKHR )
9217 result += "ShaderBindingTableKHR | ";
9218#if defined( VK_ENABLE_BETA_EXTENSIONS )
9219 if ( value & BufferUsageFlagBits::eVideoEncodeDstKHR )
9220 result += "VideoEncodeDstKHR | ";
9221 if ( value & BufferUsageFlagBits::eVideoEncodeSrcKHR )
9222 result += "VideoEncodeSrcKHR | ";
9223#endif /*VK_ENABLE_BETA_EXTENSIONS*/
9224
9225 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
9226 }
9227
9228 using BufferViewCreateFlags = Flags<BufferViewCreateFlagBits>;
9229
9230 VULKAN_HPP_INLINE std::string to_string( BufferViewCreateFlags )
9231 {
9232 return "{}";
9233 }
9234
9235 using ImageViewCreateFlags = Flags<ImageViewCreateFlagBits>;
9236
9237 template <>
9238 struct FlagTraits<ImageViewCreateFlagBits>
9239 {
9240 enum : VkFlags
9241 {
9242 allFlags = VkFlags( ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT ) |
9243 VkFlags( ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT )
9244 };
9245 };
9246
9247 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageViewCreateFlags
9248 operator|( ImageViewCreateFlagBits bit0, ImageViewCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9249 {
9250 return ImageViewCreateFlags( bit0 ) | bit1;
9251 }
9252
9253 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageViewCreateFlags operator&(ImageViewCreateFlagBits bit0,
9254 ImageViewCreateFlagBits bit1)VULKAN_HPP_NOEXCEPT
9255 {
9256 return ImageViewCreateFlags( bit0 ) & bit1;
9257 }
9258
9259 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageViewCreateFlags
9260 operator^( ImageViewCreateFlagBits bit0, ImageViewCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9261 {
9262 return ImageViewCreateFlags( bit0 ) ^ bit1;
9263 }
9264
9265 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageViewCreateFlags operator~( ImageViewCreateFlagBits bits )
9266 VULKAN_HPP_NOEXCEPT
9267 {
9268 return ~( ImageViewCreateFlags( bits ) );
9269 }
9270
9271 VULKAN_HPP_INLINE std::string to_string( ImageViewCreateFlags value )
9272 {
9273 if ( !value )
9274 return "{}";
9275
9276 std::string result;
9277 if ( value & ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT )
9278 result += "FragmentDensityMapDynamicEXT | ";
9279 if ( value & ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT )
9280 result += "FragmentDensityMapDeferredEXT | ";
9281
9282 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
9283 }
9284
9285 using ShaderModuleCreateFlags = Flags<ShaderModuleCreateFlagBits>;
9286
9287 VULKAN_HPP_INLINE std::string to_string( ShaderModuleCreateFlags )
9288 {
9289 return "{}";
9290 }
9291
9292 using PipelineCacheCreateFlags = Flags<PipelineCacheCreateFlagBits>;
9293
9294 template <>
9295 struct FlagTraits<PipelineCacheCreateFlagBits>
9296 {
9297 enum : VkFlags
9298 {
9299 allFlags = VkFlags( PipelineCacheCreateFlagBits::eExternallySynchronizedEXT )
9300 };
9301 };
9302
9303 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCacheCreateFlags
9304 operator|( PipelineCacheCreateFlagBits bit0, PipelineCacheCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9305 {
9306 return PipelineCacheCreateFlags( bit0 ) | bit1;
9307 }
9308
9309 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCacheCreateFlags
9310 operator&(PipelineCacheCreateFlagBits bit0, PipelineCacheCreateFlagBits bit1)VULKAN_HPP_NOEXCEPT
9311 {
9312 return PipelineCacheCreateFlags( bit0 ) & bit1;
9313 }
9314
9315 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCacheCreateFlags
9316 operator^( PipelineCacheCreateFlagBits bit0, PipelineCacheCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9317 {
9318 return PipelineCacheCreateFlags( bit0 ) ^ bit1;
9319 }
9320
9321 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCacheCreateFlags operator~( PipelineCacheCreateFlagBits bits )
9322 VULKAN_HPP_NOEXCEPT
9323 {
9324 return ~( PipelineCacheCreateFlags( bits ) );
9325 }
9326
9327 VULKAN_HPP_INLINE std::string to_string( PipelineCacheCreateFlags value )
9328 {
9329 if ( !value )
9330 return "{}";
9331
9332 std::string result;
9333 if ( value & PipelineCacheCreateFlagBits::eExternallySynchronizedEXT )
9334 result += "ExternallySynchronizedEXT | ";
9335
9336 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
9337 }
9338
9339 using ColorComponentFlags = Flags<ColorComponentFlagBits>;
9340
9341 template <>
9342 struct FlagTraits<ColorComponentFlagBits>
9343 {
9344 enum : VkFlags
9345 {
9346 allFlags = VkFlags( ColorComponentFlagBits::eR ) | VkFlags( ColorComponentFlagBits::eG ) |
9347 VkFlags( ColorComponentFlagBits::eB ) | VkFlags( ColorComponentFlagBits::eA )
9348 };
9349 };
9350
9351 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ColorComponentFlags
9352 operator|( ColorComponentFlagBits bit0, ColorComponentFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9353 {
9354 return ColorComponentFlags( bit0 ) | bit1;
9355 }
9356
9357 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ColorComponentFlags operator&(ColorComponentFlagBits bit0,
9358 ColorComponentFlagBits bit1)VULKAN_HPP_NOEXCEPT
9359 {
9360 return ColorComponentFlags( bit0 ) & bit1;
9361 }
9362
9363 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ColorComponentFlags
9364 operator^( ColorComponentFlagBits bit0, ColorComponentFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9365 {
9366 return ColorComponentFlags( bit0 ) ^ bit1;
9367 }
9368
9369 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ColorComponentFlags operator~( ColorComponentFlagBits bits )
9370 VULKAN_HPP_NOEXCEPT
9371 {
9372 return ~( ColorComponentFlags( bits ) );
9373 }
9374
9375 VULKAN_HPP_INLINE std::string to_string( ColorComponentFlags value )
9376 {
9377 if ( !value )
9378 return "{}";
9379
9380 std::string result;
9381 if ( value & ColorComponentFlagBits::eR )
9382 result += "R | ";
9383 if ( value & ColorComponentFlagBits::eG )
9384 result += "G | ";
9385 if ( value & ColorComponentFlagBits::eB )
9386 result += "B | ";
9387 if ( value & ColorComponentFlagBits::eA )
9388 result += "A | ";
9389
9390 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
9391 }
9392
9393 using CullModeFlags = Flags<CullModeFlagBits>;
9394
9395 template <>
9396 struct FlagTraits<CullModeFlagBits>
9397 {
9398 enum : VkFlags
9399 {
9400 allFlags = VkFlags( CullModeFlagBits::eNone ) | VkFlags( CullModeFlagBits::eFront ) |
9401 VkFlags( CullModeFlagBits::eBack ) | VkFlags( CullModeFlagBits::eFrontAndBack )
9402 };
9403 };
9404
9405 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CullModeFlags operator|( CullModeFlagBits bit0,
9406 CullModeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9407 {
9408 return CullModeFlags( bit0 ) | bit1;
9409 }
9410
9411 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CullModeFlags operator&(CullModeFlagBits bit0,
9412 CullModeFlagBits bit1)VULKAN_HPP_NOEXCEPT
9413 {
9414 return CullModeFlags( bit0 ) & bit1;
9415 }
9416
9417 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CullModeFlags operator^( CullModeFlagBits bit0,
9418 CullModeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9419 {
9420 return CullModeFlags( bit0 ) ^ bit1;
9421 }
9422
9423 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CullModeFlags operator~( CullModeFlagBits bits ) VULKAN_HPP_NOEXCEPT
9424 {
9425 return ~( CullModeFlags( bits ) );
9426 }
9427
9428 VULKAN_HPP_INLINE std::string to_string( CullModeFlags value )
9429 {
9430 if ( !value )
9431 return "{}";
9432
9433 std::string result;
9434 if ( value & CullModeFlagBits::eFront )
9435 result += "Front | ";
9436 if ( value & CullModeFlagBits::eBack )
9437 result += "Back | ";
9438
9439 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
9440 }
9441
9442 using PipelineColorBlendStateCreateFlags = Flags<PipelineColorBlendStateCreateFlagBits>;
9443
9444 VULKAN_HPP_INLINE std::string to_string( PipelineColorBlendStateCreateFlags )
9445 {
9446 return "{}";
9447 }
9448
9449 using PipelineCreateFlags = Flags<PipelineCreateFlagBits>;
9450
9451 template <>
9452 struct FlagTraits<PipelineCreateFlagBits>
9453 {
9454 enum : VkFlags
9455 {
9456 allFlags =
9457 VkFlags( PipelineCreateFlagBits::eDisableOptimization ) | VkFlags( PipelineCreateFlagBits::eAllowDerivatives ) |
9458 VkFlags( PipelineCreateFlagBits::eDerivative ) | VkFlags( PipelineCreateFlagBits::eViewIndexFromDeviceIndex ) |
9459 VkFlags( PipelineCreateFlagBits::eDispatchBase ) |
9460 VkFlags( PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR ) |
9461 VkFlags( PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR ) |
9462 VkFlags( PipelineCreateFlagBits::eRayTracingNoNullMissShadersKHR ) |
9463 VkFlags( PipelineCreateFlagBits::eRayTracingNoNullIntersectionShadersKHR ) |
9464 VkFlags( PipelineCreateFlagBits::eRayTracingSkipTrianglesKHR ) |
9465 VkFlags( PipelineCreateFlagBits::eRayTracingSkipAabbsKHR ) |
9466 VkFlags( PipelineCreateFlagBits::eRayTracingShaderGroupHandleCaptureReplayKHR ) |
9467 VkFlags( PipelineCreateFlagBits::eDeferCompileNV ) | VkFlags( PipelineCreateFlagBits::eCaptureStatisticsKHR ) |
9468 VkFlags( PipelineCreateFlagBits::eCaptureInternalRepresentationsKHR ) |
9469 VkFlags( PipelineCreateFlagBits::eIndirectBindableNV ) | VkFlags( PipelineCreateFlagBits::eLibraryKHR ) |
9470 VkFlags( PipelineCreateFlagBits::eFailOnPipelineCompileRequiredEXT ) |
9471 VkFlags( PipelineCreateFlagBits::eEarlyReturnOnFailureEXT ) |
9472 VkFlags( PipelineCreateFlagBits::eRayTracingAllowMotionNV )
9473 };
9474 };
9475
9476 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreateFlags
9477 operator|( PipelineCreateFlagBits bit0, PipelineCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9478 {
9479 return PipelineCreateFlags( bit0 ) | bit1;
9480 }
9481
9482 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreateFlags operator&(PipelineCreateFlagBits bit0,
9483 PipelineCreateFlagBits bit1)VULKAN_HPP_NOEXCEPT
9484 {
9485 return PipelineCreateFlags( bit0 ) & bit1;
9486 }
9487
9488 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreateFlags
9489 operator^( PipelineCreateFlagBits bit0, PipelineCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9490 {
9491 return PipelineCreateFlags( bit0 ) ^ bit1;
9492 }
9493
9494 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreateFlags operator~( PipelineCreateFlagBits bits )
9495 VULKAN_HPP_NOEXCEPT
9496 {
9497 return ~( PipelineCreateFlags( bits ) );
9498 }
9499
9500 VULKAN_HPP_INLINE std::string to_string( PipelineCreateFlags value )
9501 {
9502 if ( !value )
9503 return "{}";
9504
9505 std::string result;
9506 if ( value & PipelineCreateFlagBits::eDisableOptimization )
9507 result += "DisableOptimization | ";
9508 if ( value & PipelineCreateFlagBits::eAllowDerivatives )
9509 result += "AllowDerivatives | ";
9510 if ( value & PipelineCreateFlagBits::eDerivative )
9511 result += "Derivative | ";
9512 if ( value & PipelineCreateFlagBits::eViewIndexFromDeviceIndex )
9513 result += "ViewIndexFromDeviceIndex | ";
9514 if ( value & PipelineCreateFlagBits::eDispatchBase )
9515 result += "DispatchBase | ";
9516 if ( value & PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR )
9517 result += "RayTracingNoNullAnyHitShadersKHR | ";
9518 if ( value & PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR )
9519 result += "RayTracingNoNullClosestHitShadersKHR | ";
9520 if ( value & PipelineCreateFlagBits::eRayTracingNoNullMissShadersKHR )
9521 result += "RayTracingNoNullMissShadersKHR | ";
9522 if ( value & PipelineCreateFlagBits::eRayTracingNoNullIntersectionShadersKHR )
9523 result += "RayTracingNoNullIntersectionShadersKHR | ";
9524 if ( value & PipelineCreateFlagBits::eRayTracingSkipTrianglesKHR )
9525 result += "RayTracingSkipTrianglesKHR | ";
9526 if ( value & PipelineCreateFlagBits::eRayTracingSkipAabbsKHR )
9527 result += "RayTracingSkipAabbsKHR | ";
9528 if ( value & PipelineCreateFlagBits::eRayTracingShaderGroupHandleCaptureReplayKHR )
9529 result += "RayTracingShaderGroupHandleCaptureReplayKHR | ";
9530 if ( value & PipelineCreateFlagBits::eDeferCompileNV )
9531 result += "DeferCompileNV | ";
9532 if ( value & PipelineCreateFlagBits::eCaptureStatisticsKHR )
9533 result += "CaptureStatisticsKHR | ";
9534 if ( value & PipelineCreateFlagBits::eCaptureInternalRepresentationsKHR )
9535 result += "CaptureInternalRepresentationsKHR | ";
9536 if ( value & PipelineCreateFlagBits::eIndirectBindableNV )
9537 result += "IndirectBindableNV | ";
9538 if ( value & PipelineCreateFlagBits::eLibraryKHR )
9539 result += "LibraryKHR | ";
9540 if ( value & PipelineCreateFlagBits::eFailOnPipelineCompileRequiredEXT )
9541 result += "FailOnPipelineCompileRequiredEXT | ";
9542 if ( value & PipelineCreateFlagBits::eEarlyReturnOnFailureEXT )
9543 result += "EarlyReturnOnFailureEXT | ";
9544 if ( value & PipelineCreateFlagBits::eRayTracingAllowMotionNV )
9545 result += "RayTracingAllowMotionNV | ";
9546
9547 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
9548 }
9549
9550 using PipelineDepthStencilStateCreateFlags = Flags<PipelineDepthStencilStateCreateFlagBits>;
9551
9552 VULKAN_HPP_INLINE std::string to_string( PipelineDepthStencilStateCreateFlags )
9553 {
9554 return "{}";
9555 }
9556
9557 using PipelineDynamicStateCreateFlags = Flags<PipelineDynamicStateCreateFlagBits>;
9558
9559 VULKAN_HPP_INLINE std::string to_string( PipelineDynamicStateCreateFlags )
9560 {
9561 return "{}";
9562 }
9563
9564 using PipelineInputAssemblyStateCreateFlags = Flags<PipelineInputAssemblyStateCreateFlagBits>;
9565
9566 VULKAN_HPP_INLINE std::string to_string( PipelineInputAssemblyStateCreateFlags )
9567 {
9568 return "{}";
9569 }
9570
9571 using PipelineLayoutCreateFlags = Flags<PipelineLayoutCreateFlagBits>;
9572
9573 VULKAN_HPP_INLINE std::string to_string( PipelineLayoutCreateFlags )
9574 {
9575 return "{}";
9576 }
9577
9578 using PipelineMultisampleStateCreateFlags = Flags<PipelineMultisampleStateCreateFlagBits>;
9579
9580 VULKAN_HPP_INLINE std::string to_string( PipelineMultisampleStateCreateFlags )
9581 {
9582 return "{}";
9583 }
9584
9585 using PipelineRasterizationStateCreateFlags = Flags<PipelineRasterizationStateCreateFlagBits>;
9586
9587 VULKAN_HPP_INLINE std::string to_string( PipelineRasterizationStateCreateFlags )
9588 {
9589 return "{}";
9590 }
9591
9592 using PipelineShaderStageCreateFlags = Flags<PipelineShaderStageCreateFlagBits>;
9593
9594 template <>
9595 struct FlagTraits<PipelineShaderStageCreateFlagBits>
9596 {
9597 enum : VkFlags
9598 {
9599 allFlags = VkFlags( PipelineShaderStageCreateFlagBits::eAllowVaryingSubgroupSizeEXT ) |
9600 VkFlags( PipelineShaderStageCreateFlagBits::eRequireFullSubgroupsEXT )
9601 };
9602 };
9603
9604 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateFlags
9605 operator|( PipelineShaderStageCreateFlagBits bit0, PipelineShaderStageCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9606 {
9607 return PipelineShaderStageCreateFlags( bit0 ) | bit1;
9608 }
9609
9610 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateFlags
9611 operator&(PipelineShaderStageCreateFlagBits bit0, PipelineShaderStageCreateFlagBits bit1)VULKAN_HPP_NOEXCEPT
9612 {
9613 return PipelineShaderStageCreateFlags( bit0 ) & bit1;
9614 }
9615
9616 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateFlags
9617 operator^( PipelineShaderStageCreateFlagBits bit0, PipelineShaderStageCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9618 {
9619 return PipelineShaderStageCreateFlags( bit0 ) ^ bit1;
9620 }
9621
9622 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateFlags
9623 operator~( PipelineShaderStageCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT
9624 {
9625 return ~( PipelineShaderStageCreateFlags( bits ) );
9626 }
9627
9628 VULKAN_HPP_INLINE std::string to_string( PipelineShaderStageCreateFlags value )
9629 {
9630 if ( !value )
9631 return "{}";
9632
9633 std::string result;
9634 if ( value & PipelineShaderStageCreateFlagBits::eAllowVaryingSubgroupSizeEXT )
9635 result += "AllowVaryingSubgroupSizeEXT | ";
9636 if ( value & PipelineShaderStageCreateFlagBits::eRequireFullSubgroupsEXT )
9637 result += "RequireFullSubgroupsEXT | ";
9638
9639 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
9640 }
9641
9642 using PipelineTessellationStateCreateFlags = Flags<PipelineTessellationStateCreateFlagBits>;
9643
9644 VULKAN_HPP_INLINE std::string to_string( PipelineTessellationStateCreateFlags )
9645 {
9646 return "{}";
9647 }
9648
9649 using PipelineVertexInputStateCreateFlags = Flags<PipelineVertexInputStateCreateFlagBits>;
9650
9651 VULKAN_HPP_INLINE std::string to_string( PipelineVertexInputStateCreateFlags )
9652 {
9653 return "{}";
9654 }
9655
9656 using PipelineViewportStateCreateFlags = Flags<PipelineViewportStateCreateFlagBits>;
9657
9658 VULKAN_HPP_INLINE std::string to_string( PipelineViewportStateCreateFlags )
9659 {
9660 return "{}";
9661 }
9662
9663 using ShaderStageFlags = Flags<ShaderStageFlagBits>;
9664
9665 template <>
9666 struct FlagTraits<ShaderStageFlagBits>
9667 {
9668 enum : VkFlags
9669 {
9670 allFlags = VkFlags( ShaderStageFlagBits::eVertex ) | VkFlags( ShaderStageFlagBits::eTessellationControl ) |
9671 VkFlags( ShaderStageFlagBits::eTessellationEvaluation ) | VkFlags( ShaderStageFlagBits::eGeometry ) |
9672 VkFlags( ShaderStageFlagBits::eFragment ) | VkFlags( ShaderStageFlagBits::eCompute ) |
9673 VkFlags( ShaderStageFlagBits::eAllGraphics ) | VkFlags( ShaderStageFlagBits::eAll ) |
9674 VkFlags( ShaderStageFlagBits::eRaygenKHR ) | VkFlags( ShaderStageFlagBits::eAnyHitKHR ) |
9675 VkFlags( ShaderStageFlagBits::eClosestHitKHR ) | VkFlags( ShaderStageFlagBits::eMissKHR ) |
9676 VkFlags( ShaderStageFlagBits::eIntersectionKHR ) | VkFlags( ShaderStageFlagBits::eCallableKHR ) |
9677 VkFlags( ShaderStageFlagBits::eTaskNV ) | VkFlags( ShaderStageFlagBits::eMeshNV ) |
9678 VkFlags( ShaderStageFlagBits::eSubpassShadingHUAWEI )
9679 };
9680 };
9681
9682 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ShaderStageFlags operator|( ShaderStageFlagBits bit0,
9683 ShaderStageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9684 {
9685 return ShaderStageFlags( bit0 ) | bit1;
9686 }
9687
9688 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ShaderStageFlags operator&(ShaderStageFlagBits bit0,
9689 ShaderStageFlagBits bit1)VULKAN_HPP_NOEXCEPT
9690 {
9691 return ShaderStageFlags( bit0 ) & bit1;
9692 }
9693
9694 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ShaderStageFlags operator^( ShaderStageFlagBits bit0,
9695 ShaderStageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9696 {
9697 return ShaderStageFlags( bit0 ) ^ bit1;
9698 }
9699
9700 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ShaderStageFlags operator~( ShaderStageFlagBits bits ) VULKAN_HPP_NOEXCEPT
9701 {
9702 return ~( ShaderStageFlags( bits ) );
9703 }
9704
9705 VULKAN_HPP_INLINE std::string to_string( ShaderStageFlags value )
9706 {
9707 if ( !value )
9708 return "{}";
9709
9710 std::string result;
9711 if ( value & ShaderStageFlagBits::eVertex )
9712 result += "Vertex | ";
9713 if ( value & ShaderStageFlagBits::eTessellationControl )
9714 result += "TessellationControl | ";
9715 if ( value & ShaderStageFlagBits::eTessellationEvaluation )
9716 result += "TessellationEvaluation | ";
9717 if ( value & ShaderStageFlagBits::eGeometry )
9718 result += "Geometry | ";
9719 if ( value & ShaderStageFlagBits::eFragment )
9720 result += "Fragment | ";
9721 if ( value & ShaderStageFlagBits::eCompute )
9722 result += "Compute | ";
9723 if ( value & ShaderStageFlagBits::eRaygenKHR )
9724 result += "RaygenKHR | ";
9725 if ( value & ShaderStageFlagBits::eAnyHitKHR )
9726 result += "AnyHitKHR | ";
9727 if ( value & ShaderStageFlagBits::eClosestHitKHR )
9728 result += "ClosestHitKHR | ";
9729 if ( value & ShaderStageFlagBits::eMissKHR )
9730 result += "MissKHR | ";
9731 if ( value & ShaderStageFlagBits::eIntersectionKHR )
9732 result += "IntersectionKHR | ";
9733 if ( value & ShaderStageFlagBits::eCallableKHR )
9734 result += "CallableKHR | ";
9735 if ( value & ShaderStageFlagBits::eTaskNV )
9736 result += "TaskNV | ";
9737 if ( value & ShaderStageFlagBits::eMeshNV )
9738 result += "MeshNV | ";
9739 if ( value & ShaderStageFlagBits::eSubpassShadingHUAWEI )
9740 result += "SubpassShadingHUAWEI | ";
9741
9742 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
9743 }
9744
9745 using SamplerCreateFlags = Flags<SamplerCreateFlagBits>;
9746
9747 template <>
9748 struct FlagTraits<SamplerCreateFlagBits>
9749 {
9750 enum : VkFlags
9751 {
9752 allFlags = VkFlags( SamplerCreateFlagBits::eSubsampledEXT ) |
9753 VkFlags( SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT )
9754 };
9755 };
9756
9757 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SamplerCreateFlags operator|( SamplerCreateFlagBits bit0,
9758 SamplerCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9759 {
9760 return SamplerCreateFlags( bit0 ) | bit1;
9761 }
9762
9763 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SamplerCreateFlags operator&(SamplerCreateFlagBits bit0,
9764 SamplerCreateFlagBits bit1)VULKAN_HPP_NOEXCEPT
9765 {
9766 return SamplerCreateFlags( bit0 ) & bit1;
9767 }
9768
9769 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SamplerCreateFlags operator^( SamplerCreateFlagBits bit0,
9770 SamplerCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9771 {
9772 return SamplerCreateFlags( bit0 ) ^ bit1;
9773 }
9774
9775 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SamplerCreateFlags operator~( SamplerCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT
9776 {
9777 return ~( SamplerCreateFlags( bits ) );
9778 }
9779
9780 VULKAN_HPP_INLINE std::string to_string( SamplerCreateFlags value )
9781 {
9782 if ( !value )
9783 return "{}";
9784
9785 std::string result;
9786 if ( value & SamplerCreateFlagBits::eSubsampledEXT )
9787 result += "SubsampledEXT | ";
9788 if ( value & SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT )
9789 result += "SubsampledCoarseReconstructionEXT | ";
9790
9791 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
9792 }
9793
9794 using DescriptorPoolCreateFlags = Flags<DescriptorPoolCreateFlagBits>;
9795
9796 template <>
9797 struct FlagTraits<DescriptorPoolCreateFlagBits>
9798 {
9799 enum : VkFlags
9800 {
9801 allFlags = VkFlags( DescriptorPoolCreateFlagBits::eFreeDescriptorSet ) |
9802 VkFlags( DescriptorPoolCreateFlagBits::eUpdateAfterBind ) |
9803 VkFlags( DescriptorPoolCreateFlagBits::eHostOnlyVALVE )
9804 };
9805 };
9806
9807 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorPoolCreateFlags
9808 operator|( DescriptorPoolCreateFlagBits bit0, DescriptorPoolCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9809 {
9810 return DescriptorPoolCreateFlags( bit0 ) | bit1;
9811 }
9812
9813 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorPoolCreateFlags
9814 operator&(DescriptorPoolCreateFlagBits bit0, DescriptorPoolCreateFlagBits bit1)VULKAN_HPP_NOEXCEPT
9815 {
9816 return DescriptorPoolCreateFlags( bit0 ) & bit1;
9817 }
9818
9819 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorPoolCreateFlags
9820 operator^( DescriptorPoolCreateFlagBits bit0, DescriptorPoolCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9821 {
9822 return DescriptorPoolCreateFlags( bit0 ) ^ bit1;
9823 }
9824
9825 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorPoolCreateFlags operator~( DescriptorPoolCreateFlagBits bits )
9826 VULKAN_HPP_NOEXCEPT
9827 {
9828 return ~( DescriptorPoolCreateFlags( bits ) );
9829 }
9830
9831 VULKAN_HPP_INLINE std::string to_string( DescriptorPoolCreateFlags value )
9832 {
9833 if ( !value )
9834 return "{}";
9835
9836 std::string result;
9837 if ( value & DescriptorPoolCreateFlagBits::eFreeDescriptorSet )
9838 result += "FreeDescriptorSet | ";
9839 if ( value & DescriptorPoolCreateFlagBits::eUpdateAfterBind )
9840 result += "UpdateAfterBind | ";
9841 if ( value & DescriptorPoolCreateFlagBits::eHostOnlyVALVE )
9842 result += "HostOnlyVALVE | ";
9843
9844 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
9845 }
9846
9847 using DescriptorPoolResetFlags = Flags<DescriptorPoolResetFlagBits>;
9848
9849 VULKAN_HPP_INLINE std::string to_string( DescriptorPoolResetFlags )
9850 {
9851 return "{}";
9852 }
9853
9854 using DescriptorSetLayoutCreateFlags = Flags<DescriptorSetLayoutCreateFlagBits>;
9855
9856 template <>
9857 struct FlagTraits<DescriptorSetLayoutCreateFlagBits>
9858 {
9859 enum : VkFlags
9860 {
9861 allFlags = VkFlags( DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPool ) |
9862 VkFlags( DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR ) |
9863 VkFlags( DescriptorSetLayoutCreateFlagBits::eHostOnlyPoolVALVE )
9864 };
9865 };
9866
9867 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateFlags
9868 operator|( DescriptorSetLayoutCreateFlagBits bit0, DescriptorSetLayoutCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9869 {
9870 return DescriptorSetLayoutCreateFlags( bit0 ) | bit1;
9871 }
9872
9873 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateFlags
9874 operator&(DescriptorSetLayoutCreateFlagBits bit0, DescriptorSetLayoutCreateFlagBits bit1)VULKAN_HPP_NOEXCEPT
9875 {
9876 return DescriptorSetLayoutCreateFlags( bit0 ) & bit1;
9877 }
9878
9879 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateFlags
9880 operator^( DescriptorSetLayoutCreateFlagBits bit0, DescriptorSetLayoutCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9881 {
9882 return DescriptorSetLayoutCreateFlags( bit0 ) ^ bit1;
9883 }
9884
9885 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateFlags
9886 operator~( DescriptorSetLayoutCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT
9887 {
9888 return ~( DescriptorSetLayoutCreateFlags( bits ) );
9889 }
9890
9891 VULKAN_HPP_INLINE std::string to_string( DescriptorSetLayoutCreateFlags value )
9892 {
9893 if ( !value )
9894 return "{}";
9895
9896 std::string result;
9897 if ( value & DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPool )
9898 result += "UpdateAfterBindPool | ";
9899 if ( value & DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR )
9900 result += "PushDescriptorKHR | ";
9901 if ( value & DescriptorSetLayoutCreateFlagBits::eHostOnlyPoolVALVE )
9902 result += "HostOnlyPoolVALVE | ";
9903
9904 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
9905 }
9906
9907 using AccessFlags = Flags<AccessFlagBits>;
9908
9909 template <>
9910 struct FlagTraits<AccessFlagBits>
9911 {
9912 enum : VkFlags
9913 {
9914 allFlags = VkFlags( AccessFlagBits::eIndirectCommandRead ) | VkFlags( AccessFlagBits::eIndexRead ) |
9915 VkFlags( AccessFlagBits::eVertexAttributeRead ) | VkFlags( AccessFlagBits::eUniformRead ) |
9916 VkFlags( AccessFlagBits::eInputAttachmentRead ) | VkFlags( AccessFlagBits::eShaderRead ) |
9917 VkFlags( AccessFlagBits::eShaderWrite ) | VkFlags( AccessFlagBits::eColorAttachmentRead ) |
9918 VkFlags( AccessFlagBits::eColorAttachmentWrite ) |
9919 VkFlags( AccessFlagBits::eDepthStencilAttachmentRead ) |
9920 VkFlags( AccessFlagBits::eDepthStencilAttachmentWrite ) | VkFlags( AccessFlagBits::eTransferRead ) |
9921 VkFlags( AccessFlagBits::eTransferWrite ) | VkFlags( AccessFlagBits::eHostRead ) |
9922 VkFlags( AccessFlagBits::eHostWrite ) | VkFlags( AccessFlagBits::eMemoryRead ) |
9923 VkFlags( AccessFlagBits::eMemoryWrite ) | VkFlags( AccessFlagBits::eTransformFeedbackWriteEXT ) |
9924 VkFlags( AccessFlagBits::eTransformFeedbackCounterReadEXT ) |
9925 VkFlags( AccessFlagBits::eTransformFeedbackCounterWriteEXT ) |
9926 VkFlags( AccessFlagBits::eConditionalRenderingReadEXT ) |
9927 VkFlags( AccessFlagBits::eColorAttachmentReadNoncoherentEXT ) |
9928 VkFlags( AccessFlagBits::eAccelerationStructureReadKHR ) |
9929 VkFlags( AccessFlagBits::eAccelerationStructureWriteKHR ) |
9930 VkFlags( AccessFlagBits::eFragmentDensityMapReadEXT ) |
9931 VkFlags( AccessFlagBits::eFragmentShadingRateAttachmentReadKHR ) |
9932 VkFlags( AccessFlagBits::eCommandPreprocessReadNV ) |
9933 VkFlags( AccessFlagBits::eCommandPreprocessWriteNV ) | VkFlags( AccessFlagBits::eNoneKHR )
9934 };
9935 };
9936
9937 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags operator|( AccessFlagBits bit0,
9938 AccessFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9939 {
9940 return AccessFlags( bit0 ) | bit1;
9941 }
9942
9943 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags operator&(AccessFlagBits bit0,
9944 AccessFlagBits bit1)VULKAN_HPP_NOEXCEPT
9945 {
9946 return AccessFlags( bit0 ) & bit1;
9947 }
9948
9949 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags operator^( AccessFlagBits bit0,
9950 AccessFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
9951 {
9952 return AccessFlags( bit0 ) ^ bit1;
9953 }
9954
9955 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags operator~( AccessFlagBits bits ) VULKAN_HPP_NOEXCEPT
9956 {
9957 return ~( AccessFlags( bits ) );
9958 }
9959
9960 VULKAN_HPP_INLINE std::string to_string( AccessFlags value )
9961 {
9962 if ( !value )
9963 return "{}";
9964
9965 std::string result;
9966 if ( value & AccessFlagBits::eIndirectCommandRead )
9967 result += "IndirectCommandRead | ";
9968 if ( value & AccessFlagBits::eIndexRead )
9969 result += "IndexRead | ";
9970 if ( value & AccessFlagBits::eVertexAttributeRead )
9971 result += "VertexAttributeRead | ";
9972 if ( value & AccessFlagBits::eUniformRead )
9973 result += "UniformRead | ";
9974 if ( value & AccessFlagBits::eInputAttachmentRead )
9975 result += "InputAttachmentRead | ";
9976 if ( value & AccessFlagBits::eShaderRead )
9977 result += "ShaderRead | ";
9978 if ( value & AccessFlagBits::eShaderWrite )
9979 result += "ShaderWrite | ";
9980 if ( value & AccessFlagBits::eColorAttachmentRead )
9981 result += "ColorAttachmentRead | ";
9982 if ( value & AccessFlagBits::eColorAttachmentWrite )
9983 result += "ColorAttachmentWrite | ";
9984 if ( value & AccessFlagBits::eDepthStencilAttachmentRead )
9985 result += "DepthStencilAttachmentRead | ";
9986 if ( value & AccessFlagBits::eDepthStencilAttachmentWrite )
9987 result += "DepthStencilAttachmentWrite | ";
9988 if ( value & AccessFlagBits::eTransferRead )
9989 result += "TransferRead | ";
9990 if ( value & AccessFlagBits::eTransferWrite )
9991 result += "TransferWrite | ";
9992 if ( value & AccessFlagBits::eHostRead )
9993 result += "HostRead | ";
9994 if ( value & AccessFlagBits::eHostWrite )
9995 result += "HostWrite | ";
9996 if ( value & AccessFlagBits::eMemoryRead )
9997 result += "MemoryRead | ";
9998 if ( value & AccessFlagBits::eMemoryWrite )
9999 result += "MemoryWrite | ";
10000 if ( value & AccessFlagBits::eTransformFeedbackWriteEXT )
10001 result += "TransformFeedbackWriteEXT | ";
10002 if ( value & AccessFlagBits::eTransformFeedbackCounterReadEXT )
10003 result += "TransformFeedbackCounterReadEXT | ";
10004 if ( value & AccessFlagBits::eTransformFeedbackCounterWriteEXT )
10005 result += "TransformFeedbackCounterWriteEXT | ";
10006 if ( value & AccessFlagBits::eConditionalRenderingReadEXT )
10007 result += "ConditionalRenderingReadEXT | ";
10008 if ( value & AccessFlagBits::eColorAttachmentReadNoncoherentEXT )
10009 result += "ColorAttachmentReadNoncoherentEXT | ";
10010 if ( value & AccessFlagBits::eAccelerationStructureReadKHR )
10011 result += "AccelerationStructureReadKHR | ";
10012 if ( value & AccessFlagBits::eAccelerationStructureWriteKHR )
10013 result += "AccelerationStructureWriteKHR | ";
10014 if ( value & AccessFlagBits::eFragmentDensityMapReadEXT )
10015 result += "FragmentDensityMapReadEXT | ";
10016 if ( value & AccessFlagBits::eFragmentShadingRateAttachmentReadKHR )
10017 result += "FragmentShadingRateAttachmentReadKHR | ";
10018 if ( value & AccessFlagBits::eCommandPreprocessReadNV )
10019 result += "CommandPreprocessReadNV | ";
10020 if ( value & AccessFlagBits::eCommandPreprocessWriteNV )
10021 result += "CommandPreprocessWriteNV | ";
10022
10023 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
10024 }
10025
10026 using AttachmentDescriptionFlags = Flags<AttachmentDescriptionFlagBits>;
10027
10028 template <>
10029 struct FlagTraits<AttachmentDescriptionFlagBits>
10030 {
10031 enum : VkFlags
10032 {
10033 allFlags = VkFlags( AttachmentDescriptionFlagBits::eMayAlias )
10034 };
10035 };
10036
10037 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AttachmentDescriptionFlags
10038 operator|( AttachmentDescriptionFlagBits bit0, AttachmentDescriptionFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10039 {
10040 return AttachmentDescriptionFlags( bit0 ) | bit1;
10041 }
10042
10043 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AttachmentDescriptionFlags
10044 operator&(AttachmentDescriptionFlagBits bit0, AttachmentDescriptionFlagBits bit1)VULKAN_HPP_NOEXCEPT
10045 {
10046 return AttachmentDescriptionFlags( bit0 ) & bit1;
10047 }
10048
10049 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AttachmentDescriptionFlags
10050 operator^( AttachmentDescriptionFlagBits bit0, AttachmentDescriptionFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10051 {
10052 return AttachmentDescriptionFlags( bit0 ) ^ bit1;
10053 }
10054
10055 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AttachmentDescriptionFlags operator~( AttachmentDescriptionFlagBits bits )
10056 VULKAN_HPP_NOEXCEPT
10057 {
10058 return ~( AttachmentDescriptionFlags( bits ) );
10059 }
10060
10061 VULKAN_HPP_INLINE std::string to_string( AttachmentDescriptionFlags value )
10062 {
10063 if ( !value )
10064 return "{}";
10065
10066 std::string result;
10067 if ( value & AttachmentDescriptionFlagBits::eMayAlias )
10068 result += "MayAlias | ";
10069
10070 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
10071 }
10072
10073 using DependencyFlags = Flags<DependencyFlagBits>;
10074
10075 template <>
10076 struct FlagTraits<DependencyFlagBits>
10077 {
10078 enum : VkFlags
10079 {
10080 allFlags = VkFlags( DependencyFlagBits::eByRegion ) | VkFlags( DependencyFlagBits::eDeviceGroup ) |
10081 VkFlags( DependencyFlagBits::eViewLocal )
10082 };
10083 };
10084
10085 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DependencyFlags operator|( DependencyFlagBits bit0,
10086 DependencyFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10087 {
10088 return DependencyFlags( bit0 ) | bit1;
10089 }
10090
10091 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DependencyFlags operator&(DependencyFlagBits bit0,
10092 DependencyFlagBits bit1)VULKAN_HPP_NOEXCEPT
10093 {
10094 return DependencyFlags( bit0 ) & bit1;
10095 }
10096
10097 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DependencyFlags operator^( DependencyFlagBits bit0,
10098 DependencyFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10099 {
10100 return DependencyFlags( bit0 ) ^ bit1;
10101 }
10102
10103 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DependencyFlags operator~( DependencyFlagBits bits ) VULKAN_HPP_NOEXCEPT
10104 {
10105 return ~( DependencyFlags( bits ) );
10106 }
10107
10108 VULKAN_HPP_INLINE std::string to_string( DependencyFlags value )
10109 {
10110 if ( !value )
10111 return "{}";
10112
10113 std::string result;
10114 if ( value & DependencyFlagBits::eByRegion )
10115 result += "ByRegion | ";
10116 if ( value & DependencyFlagBits::eDeviceGroup )
10117 result += "DeviceGroup | ";
10118 if ( value & DependencyFlagBits::eViewLocal )
10119 result += "ViewLocal | ";
10120
10121 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
10122 }
10123
10124 using FramebufferCreateFlags = Flags<FramebufferCreateFlagBits>;
10125
10126 template <>
10127 struct FlagTraits<FramebufferCreateFlagBits>
10128 {
10129 enum : VkFlags
10130 {
10131 allFlags = VkFlags( FramebufferCreateFlagBits::eImageless )
10132 };
10133 };
10134
10135 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FramebufferCreateFlags
10136 operator|( FramebufferCreateFlagBits bit0, FramebufferCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10137 {
10138 return FramebufferCreateFlags( bit0 ) | bit1;
10139 }
10140
10141 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FramebufferCreateFlags
10142 operator&(FramebufferCreateFlagBits bit0, FramebufferCreateFlagBits bit1)VULKAN_HPP_NOEXCEPT
10143 {
10144 return FramebufferCreateFlags( bit0 ) & bit1;
10145 }
10146
10147 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FramebufferCreateFlags
10148 operator^( FramebufferCreateFlagBits bit0, FramebufferCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10149 {
10150 return FramebufferCreateFlags( bit0 ) ^ bit1;
10151 }
10152
10153 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FramebufferCreateFlags operator~( FramebufferCreateFlagBits bits )
10154 VULKAN_HPP_NOEXCEPT
10155 {
10156 return ~( FramebufferCreateFlags( bits ) );
10157 }
10158
10159 VULKAN_HPP_INLINE std::string to_string( FramebufferCreateFlags value )
10160 {
10161 if ( !value )
10162 return "{}";
10163
10164 std::string result;
10165 if ( value & FramebufferCreateFlagBits::eImageless )
10166 result += "Imageless | ";
10167
10168 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
10169 }
10170
10171 using RenderPassCreateFlags = Flags<RenderPassCreateFlagBits>;
10172
10173 template <>
10174 struct FlagTraits<RenderPassCreateFlagBits>
10175 {
10176 enum : VkFlags
10177 {
10178 allFlags = VkFlags( RenderPassCreateFlagBits::eTransformQCOM )
10179 };
10180 };
10181
10182 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderPassCreateFlags
10183 operator|( RenderPassCreateFlagBits bit0, RenderPassCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10184 {
10185 return RenderPassCreateFlags( bit0 ) | bit1;
10186 }
10187
10188 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderPassCreateFlags
10189 operator&(RenderPassCreateFlagBits bit0, RenderPassCreateFlagBits bit1)VULKAN_HPP_NOEXCEPT
10190 {
10191 return RenderPassCreateFlags( bit0 ) & bit1;
10192 }
10193
10194 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderPassCreateFlags
10195 operator^( RenderPassCreateFlagBits bit0, RenderPassCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10196 {
10197 return RenderPassCreateFlags( bit0 ) ^ bit1;
10198 }
10199
10200 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderPassCreateFlags operator~( RenderPassCreateFlagBits bits )
10201 VULKAN_HPP_NOEXCEPT
10202 {
10203 return ~( RenderPassCreateFlags( bits ) );
10204 }
10205
10206 VULKAN_HPP_INLINE std::string to_string( RenderPassCreateFlags value )
10207 {
10208 if ( !value )
10209 return "{}";
10210
10211 std::string result;
10212 if ( value & RenderPassCreateFlagBits::eTransformQCOM )
10213 result += "TransformQCOM | ";
10214
10215 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
10216 }
10217
10218 using SubpassDescriptionFlags = Flags<SubpassDescriptionFlagBits>;
10219
10220 template <>
10221 struct FlagTraits<SubpassDescriptionFlagBits>
10222 {
10223 enum : VkFlags
10224 {
10225 allFlags = VkFlags( SubpassDescriptionFlagBits::ePerViewAttributesNVX ) |
10226 VkFlags( SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX ) |
10227 VkFlags( SubpassDescriptionFlagBits::eFragmentRegionQCOM ) |
10228 VkFlags( SubpassDescriptionFlagBits::eShaderResolveQCOM )
10229 };
10230 };
10231
10232 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubpassDescriptionFlags
10233 operator|( SubpassDescriptionFlagBits bit0, SubpassDescriptionFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10234 {
10235 return SubpassDescriptionFlags( bit0 ) | bit1;
10236 }
10237
10238 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubpassDescriptionFlags
10239 operator&(SubpassDescriptionFlagBits bit0, SubpassDescriptionFlagBits bit1)VULKAN_HPP_NOEXCEPT
10240 {
10241 return SubpassDescriptionFlags( bit0 ) & bit1;
10242 }
10243
10244 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubpassDescriptionFlags
10245 operator^( SubpassDescriptionFlagBits bit0, SubpassDescriptionFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10246 {
10247 return SubpassDescriptionFlags( bit0 ) ^ bit1;
10248 }
10249
10250 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubpassDescriptionFlags operator~( SubpassDescriptionFlagBits bits )
10251 VULKAN_HPP_NOEXCEPT
10252 {
10253 return ~( SubpassDescriptionFlags( bits ) );
10254 }
10255
10256 VULKAN_HPP_INLINE std::string to_string( SubpassDescriptionFlags value )
10257 {
10258 if ( !value )
10259 return "{}";
10260
10261 std::string result;
10262 if ( value & SubpassDescriptionFlagBits::ePerViewAttributesNVX )
10263 result += "PerViewAttributesNVX | ";
10264 if ( value & SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX )
10265 result += "PerViewPositionXOnlyNVX | ";
10266 if ( value & SubpassDescriptionFlagBits::eFragmentRegionQCOM )
10267 result += "FragmentRegionQCOM | ";
10268 if ( value & SubpassDescriptionFlagBits::eShaderResolveQCOM )
10269 result += "ShaderResolveQCOM | ";
10270
10271 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
10272 }
10273
10274 using CommandPoolCreateFlags = Flags<CommandPoolCreateFlagBits>;
10275
10276 template <>
10277 struct FlagTraits<CommandPoolCreateFlagBits>
10278 {
10279 enum : VkFlags
10280 {
10281 allFlags = VkFlags( CommandPoolCreateFlagBits::eTransient ) |
10282 VkFlags( CommandPoolCreateFlagBits::eResetCommandBuffer ) |
10283 VkFlags( CommandPoolCreateFlagBits::eProtected )
10284 };
10285 };
10286
10287 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolCreateFlags
10288 operator|( CommandPoolCreateFlagBits bit0, CommandPoolCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10289 {
10290 return CommandPoolCreateFlags( bit0 ) | bit1;
10291 }
10292
10293 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolCreateFlags
10294 operator&(CommandPoolCreateFlagBits bit0, CommandPoolCreateFlagBits bit1)VULKAN_HPP_NOEXCEPT
10295 {
10296 return CommandPoolCreateFlags( bit0 ) & bit1;
10297 }
10298
10299 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolCreateFlags
10300 operator^( CommandPoolCreateFlagBits bit0, CommandPoolCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10301 {
10302 return CommandPoolCreateFlags( bit0 ) ^ bit1;
10303 }
10304
10305 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolCreateFlags operator~( CommandPoolCreateFlagBits bits )
10306 VULKAN_HPP_NOEXCEPT
10307 {
10308 return ~( CommandPoolCreateFlags( bits ) );
10309 }
10310
10311 VULKAN_HPP_INLINE std::string to_string( CommandPoolCreateFlags value )
10312 {
10313 if ( !value )
10314 return "{}";
10315
10316 std::string result;
10317 if ( value & CommandPoolCreateFlagBits::eTransient )
10318 result += "Transient | ";
10319 if ( value & CommandPoolCreateFlagBits::eResetCommandBuffer )
10320 result += "ResetCommandBuffer | ";
10321 if ( value & CommandPoolCreateFlagBits::eProtected )
10322 result += "Protected | ";
10323
10324 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
10325 }
10326
10327 using CommandPoolResetFlags = Flags<CommandPoolResetFlagBits>;
10328
10329 template <>
10330 struct FlagTraits<CommandPoolResetFlagBits>
10331 {
10332 enum : VkFlags
10333 {
10334 allFlags = VkFlags( CommandPoolResetFlagBits::eReleaseResources )
10335 };
10336 };
10337
10338 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolResetFlags
10339 operator|( CommandPoolResetFlagBits bit0, CommandPoolResetFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10340 {
10341 return CommandPoolResetFlags( bit0 ) | bit1;
10342 }
10343
10344 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolResetFlags
10345 operator&(CommandPoolResetFlagBits bit0, CommandPoolResetFlagBits bit1)VULKAN_HPP_NOEXCEPT
10346 {
10347 return CommandPoolResetFlags( bit0 ) & bit1;
10348 }
10349
10350 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolResetFlags
10351 operator^( CommandPoolResetFlagBits bit0, CommandPoolResetFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10352 {
10353 return CommandPoolResetFlags( bit0 ) ^ bit1;
10354 }
10355
10356 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolResetFlags operator~( CommandPoolResetFlagBits bits )
10357 VULKAN_HPP_NOEXCEPT
10358 {
10359 return ~( CommandPoolResetFlags( bits ) );
10360 }
10361
10362 VULKAN_HPP_INLINE std::string to_string( CommandPoolResetFlags value )
10363 {
10364 if ( !value )
10365 return "{}";
10366
10367 std::string result;
10368 if ( value & CommandPoolResetFlagBits::eReleaseResources )
10369 result += "ReleaseResources | ";
10370
10371 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
10372 }
10373
10374 using CommandBufferResetFlags = Flags<CommandBufferResetFlagBits>;
10375
10376 template <>
10377 struct FlagTraits<CommandBufferResetFlagBits>
10378 {
10379 enum : VkFlags
10380 {
10381 allFlags = VkFlags( CommandBufferResetFlagBits::eReleaseResources )
10382 };
10383 };
10384
10385 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferResetFlags
10386 operator|( CommandBufferResetFlagBits bit0, CommandBufferResetFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10387 {
10388 return CommandBufferResetFlags( bit0 ) | bit1;
10389 }
10390
10391 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferResetFlags
10392 operator&(CommandBufferResetFlagBits bit0, CommandBufferResetFlagBits bit1)VULKAN_HPP_NOEXCEPT
10393 {
10394 return CommandBufferResetFlags( bit0 ) & bit1;
10395 }
10396
10397 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferResetFlags
10398 operator^( CommandBufferResetFlagBits bit0, CommandBufferResetFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10399 {
10400 return CommandBufferResetFlags( bit0 ) ^ bit1;
10401 }
10402
10403 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferResetFlags operator~( CommandBufferResetFlagBits bits )
10404 VULKAN_HPP_NOEXCEPT
10405 {
10406 return ~( CommandBufferResetFlags( bits ) );
10407 }
10408
10409 VULKAN_HPP_INLINE std::string to_string( CommandBufferResetFlags value )
10410 {
10411 if ( !value )
10412 return "{}";
10413
10414 std::string result;
10415 if ( value & CommandBufferResetFlagBits::eReleaseResources )
10416 result += "ReleaseResources | ";
10417
10418 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
10419 }
10420
10421 using CommandBufferUsageFlags = Flags<CommandBufferUsageFlagBits>;
10422
10423 template <>
10424 struct FlagTraits<CommandBufferUsageFlagBits>
10425 {
10426 enum : VkFlags
10427 {
10428 allFlags = VkFlags( CommandBufferUsageFlagBits::eOneTimeSubmit ) |
10429 VkFlags( CommandBufferUsageFlagBits::eRenderPassContinue ) |
10430 VkFlags( CommandBufferUsageFlagBits::eSimultaneousUse )
10431 };
10432 };
10433
10434 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferUsageFlags
10435 operator|( CommandBufferUsageFlagBits bit0, CommandBufferUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10436 {
10437 return CommandBufferUsageFlags( bit0 ) | bit1;
10438 }
10439
10440 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferUsageFlags
10441 operator&(CommandBufferUsageFlagBits bit0, CommandBufferUsageFlagBits bit1)VULKAN_HPP_NOEXCEPT
10442 {
10443 return CommandBufferUsageFlags( bit0 ) & bit1;
10444 }
10445
10446 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferUsageFlags
10447 operator^( CommandBufferUsageFlagBits bit0, CommandBufferUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10448 {
10449 return CommandBufferUsageFlags( bit0 ) ^ bit1;
10450 }
10451
10452 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferUsageFlags operator~( CommandBufferUsageFlagBits bits )
10453 VULKAN_HPP_NOEXCEPT
10454 {
10455 return ~( CommandBufferUsageFlags( bits ) );
10456 }
10457
10458 VULKAN_HPP_INLINE std::string to_string( CommandBufferUsageFlags value )
10459 {
10460 if ( !value )
10461 return "{}";
10462
10463 std::string result;
10464 if ( value & CommandBufferUsageFlagBits::eOneTimeSubmit )
10465 result += "OneTimeSubmit | ";
10466 if ( value & CommandBufferUsageFlagBits::eRenderPassContinue )
10467 result += "RenderPassContinue | ";
10468 if ( value & CommandBufferUsageFlagBits::eSimultaneousUse )
10469 result += "SimultaneousUse | ";
10470
10471 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
10472 }
10473
10474 using QueryControlFlags = Flags<QueryControlFlagBits>;
10475
10476 template <>
10477 struct FlagTraits<QueryControlFlagBits>
10478 {
10479 enum : VkFlags
10480 {
10481 allFlags = VkFlags( QueryControlFlagBits::ePrecise )
10482 };
10483 };
10484
10485 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryControlFlags operator|( QueryControlFlagBits bit0,
10486 QueryControlFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10487 {
10488 return QueryControlFlags( bit0 ) | bit1;
10489 }
10490
10491 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryControlFlags operator&(QueryControlFlagBits bit0,
10492 QueryControlFlagBits bit1)VULKAN_HPP_NOEXCEPT
10493 {
10494 return QueryControlFlags( bit0 ) & bit1;
10495 }
10496
10497 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryControlFlags operator^( QueryControlFlagBits bit0,
10498 QueryControlFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10499 {
10500 return QueryControlFlags( bit0 ) ^ bit1;
10501 }
10502
10503 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryControlFlags operator~( QueryControlFlagBits bits ) VULKAN_HPP_NOEXCEPT
10504 {
10505 return ~( QueryControlFlags( bits ) );
10506 }
10507
10508 VULKAN_HPP_INLINE std::string to_string( QueryControlFlags value )
10509 {
10510 if ( !value )
10511 return "{}";
10512
10513 std::string result;
10514 if ( value & QueryControlFlagBits::ePrecise )
10515 result += "Precise | ";
10516
10517 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
10518 }
10519
10520 using StencilFaceFlags = Flags<StencilFaceFlagBits>;
10521
10522 template <>
10523 struct FlagTraits<StencilFaceFlagBits>
10524 {
10525 enum : VkFlags
10526 {
10527 allFlags = VkFlags( StencilFaceFlagBits::eFront ) | VkFlags( StencilFaceFlagBits::eBack ) |
10528 VkFlags( StencilFaceFlagBits::eFrontAndBack )
10529 };
10530 };
10531
10532 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR StencilFaceFlags operator|( StencilFaceFlagBits bit0,
10533 StencilFaceFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10534 {
10535 return StencilFaceFlags( bit0 ) | bit1;
10536 }
10537
10538 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR StencilFaceFlags operator&(StencilFaceFlagBits bit0,
10539 StencilFaceFlagBits bit1)VULKAN_HPP_NOEXCEPT
10540 {
10541 return StencilFaceFlags( bit0 ) & bit1;
10542 }
10543
10544 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR StencilFaceFlags operator^( StencilFaceFlagBits bit0,
10545 StencilFaceFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10546 {
10547 return StencilFaceFlags( bit0 ) ^ bit1;
10548 }
10549
10550 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR StencilFaceFlags operator~( StencilFaceFlagBits bits ) VULKAN_HPP_NOEXCEPT
10551 {
10552 return ~( StencilFaceFlags( bits ) );
10553 }
10554
10555 VULKAN_HPP_INLINE std::string to_string( StencilFaceFlags value )
10556 {
10557 if ( !value )
10558 return "{}";
10559
10560 std::string result;
10561 if ( value & StencilFaceFlagBits::eFront )
10562 result += "Front | ";
10563 if ( value & StencilFaceFlagBits::eBack )
10564 result += "Back | ";
10565
10566 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
10567 }
10568
10569 //=== VK_VERSION_1_1 ===
10570
10571 using SubgroupFeatureFlags = Flags<SubgroupFeatureFlagBits>;
10572
10573 template <>
10574 struct FlagTraits<SubgroupFeatureFlagBits>
10575 {
10576 enum : VkFlags
10577 {
10578 allFlags = VkFlags( SubgroupFeatureFlagBits::eBasic ) | VkFlags( SubgroupFeatureFlagBits::eVote ) |
10579 VkFlags( SubgroupFeatureFlagBits::eArithmetic ) | VkFlags( SubgroupFeatureFlagBits::eBallot ) |
10580 VkFlags( SubgroupFeatureFlagBits::eShuffle ) | VkFlags( SubgroupFeatureFlagBits::eShuffleRelative ) |
10581 VkFlags( SubgroupFeatureFlagBits::eClustered ) | VkFlags( SubgroupFeatureFlagBits::eQuad ) |
10582 VkFlags( SubgroupFeatureFlagBits::ePartitionedNV )
10583 };
10584 };
10585
10586 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubgroupFeatureFlags
10587 operator|( SubgroupFeatureFlagBits bit0, SubgroupFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10588 {
10589 return SubgroupFeatureFlags( bit0 ) | bit1;
10590 }
10591
10592 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubgroupFeatureFlags operator&(SubgroupFeatureFlagBits bit0,
10593 SubgroupFeatureFlagBits bit1)VULKAN_HPP_NOEXCEPT
10594 {
10595 return SubgroupFeatureFlags( bit0 ) & bit1;
10596 }
10597
10598 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubgroupFeatureFlags
10599 operator^( SubgroupFeatureFlagBits bit0, SubgroupFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10600 {
10601 return SubgroupFeatureFlags( bit0 ) ^ bit1;
10602 }
10603
10604 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubgroupFeatureFlags operator~( SubgroupFeatureFlagBits bits )
10605 VULKAN_HPP_NOEXCEPT
10606 {
10607 return ~( SubgroupFeatureFlags( bits ) );
10608 }
10609
10610 VULKAN_HPP_INLINE std::string to_string( SubgroupFeatureFlags value )
10611 {
10612 if ( !value )
10613 return "{}";
10614
10615 std::string result;
10616 if ( value & SubgroupFeatureFlagBits::eBasic )
10617 result += "Basic | ";
10618 if ( value & SubgroupFeatureFlagBits::eVote )
10619 result += "Vote | ";
10620 if ( value & SubgroupFeatureFlagBits::eArithmetic )
10621 result += "Arithmetic | ";
10622 if ( value & SubgroupFeatureFlagBits::eBallot )
10623 result += "Ballot | ";
10624 if ( value & SubgroupFeatureFlagBits::eShuffle )
10625 result += "Shuffle | ";
10626 if ( value & SubgroupFeatureFlagBits::eShuffleRelative )
10627 result += "ShuffleRelative | ";
10628 if ( value & SubgroupFeatureFlagBits::eClustered )
10629 result += "Clustered | ";
10630 if ( value & SubgroupFeatureFlagBits::eQuad )
10631 result += "Quad | ";
10632 if ( value & SubgroupFeatureFlagBits::ePartitionedNV )
10633 result += "PartitionedNV | ";
10634
10635 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
10636 }
10637
10638 using PeerMemoryFeatureFlags = Flags<PeerMemoryFeatureFlagBits>;
10639
10640 template <>
10641 struct FlagTraits<PeerMemoryFeatureFlagBits>
10642 {
10643 enum : VkFlags
10644 {
10645 allFlags = VkFlags( PeerMemoryFeatureFlagBits::eCopySrc ) | VkFlags( PeerMemoryFeatureFlagBits::eCopyDst ) |
10646 VkFlags( PeerMemoryFeatureFlagBits::eGenericSrc ) | VkFlags( PeerMemoryFeatureFlagBits::eGenericDst )
10647 };
10648 };
10649
10650 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PeerMemoryFeatureFlags
10651 operator|( PeerMemoryFeatureFlagBits bit0, PeerMemoryFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10652 {
10653 return PeerMemoryFeatureFlags( bit0 ) | bit1;
10654 }
10655
10656 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PeerMemoryFeatureFlags
10657 operator&(PeerMemoryFeatureFlagBits bit0, PeerMemoryFeatureFlagBits bit1)VULKAN_HPP_NOEXCEPT
10658 {
10659 return PeerMemoryFeatureFlags( bit0 ) & bit1;
10660 }
10661
10662 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PeerMemoryFeatureFlags
10663 operator^( PeerMemoryFeatureFlagBits bit0, PeerMemoryFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10664 {
10665 return PeerMemoryFeatureFlags( bit0 ) ^ bit1;
10666 }
10667
10668 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PeerMemoryFeatureFlags operator~( PeerMemoryFeatureFlagBits bits )
10669 VULKAN_HPP_NOEXCEPT
10670 {
10671 return ~( PeerMemoryFeatureFlags( bits ) );
10672 }
10673
10674 using PeerMemoryFeatureFlagsKHR = PeerMemoryFeatureFlags;
10675
10676 VULKAN_HPP_INLINE std::string to_string( PeerMemoryFeatureFlags value )
10677 {
10678 if ( !value )
10679 return "{}";
10680
10681 std::string result;
10682 if ( value & PeerMemoryFeatureFlagBits::eCopySrc )
10683 result += "CopySrc | ";
10684 if ( value & PeerMemoryFeatureFlagBits::eCopyDst )
10685 result += "CopyDst | ";
10686 if ( value & PeerMemoryFeatureFlagBits::eGenericSrc )
10687 result += "GenericSrc | ";
10688 if ( value & PeerMemoryFeatureFlagBits::eGenericDst )
10689 result += "GenericDst | ";
10690
10691 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
10692 }
10693
10694 using MemoryAllocateFlags = Flags<MemoryAllocateFlagBits>;
10695
10696 template <>
10697 struct FlagTraits<MemoryAllocateFlagBits>
10698 {
10699 enum : VkFlags
10700 {
10701 allFlags = VkFlags( MemoryAllocateFlagBits::eDeviceMask ) | VkFlags( MemoryAllocateFlagBits::eDeviceAddress ) |
10702 VkFlags( MemoryAllocateFlagBits::eDeviceAddressCaptureReplay )
10703 };
10704 };
10705
10706 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryAllocateFlags
10707 operator|( MemoryAllocateFlagBits bit0, MemoryAllocateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10708 {
10709 return MemoryAllocateFlags( bit0 ) | bit1;
10710 }
10711
10712 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryAllocateFlags operator&(MemoryAllocateFlagBits bit0,
10713 MemoryAllocateFlagBits bit1)VULKAN_HPP_NOEXCEPT
10714 {
10715 return MemoryAllocateFlags( bit0 ) & bit1;
10716 }
10717
10718 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryAllocateFlags
10719 operator^( MemoryAllocateFlagBits bit0, MemoryAllocateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10720 {
10721 return MemoryAllocateFlags( bit0 ) ^ bit1;
10722 }
10723
10724 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryAllocateFlags operator~( MemoryAllocateFlagBits bits )
10725 VULKAN_HPP_NOEXCEPT
10726 {
10727 return ~( MemoryAllocateFlags( bits ) );
10728 }
10729
10730 using MemoryAllocateFlagsKHR = MemoryAllocateFlags;
10731
10732 VULKAN_HPP_INLINE std::string to_string( MemoryAllocateFlags value )
10733 {
10734 if ( !value )
10735 return "{}";
10736
10737 std::string result;
10738 if ( value & MemoryAllocateFlagBits::eDeviceMask )
10739 result += "DeviceMask | ";
10740 if ( value & MemoryAllocateFlagBits::eDeviceAddress )
10741 result += "DeviceAddress | ";
10742 if ( value & MemoryAllocateFlagBits::eDeviceAddressCaptureReplay )
10743 result += "DeviceAddressCaptureReplay | ";
10744
10745 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
10746 }
10747
10748 using CommandPoolTrimFlags = Flags<CommandPoolTrimFlagBits>;
10749
10750 using CommandPoolTrimFlagsKHR = CommandPoolTrimFlags;
10751
10752 VULKAN_HPP_INLINE std::string to_string( CommandPoolTrimFlags )
10753 {
10754 return "{}";
10755 }
10756
10757 using DescriptorUpdateTemplateCreateFlags = Flags<DescriptorUpdateTemplateCreateFlagBits>;
10758
10759 using DescriptorUpdateTemplateCreateFlagsKHR = DescriptorUpdateTemplateCreateFlags;
10760
10761 VULKAN_HPP_INLINE std::string to_string( DescriptorUpdateTemplateCreateFlags )
10762 {
10763 return "{}";
10764 }
10765
10766 using ExternalMemoryHandleTypeFlags = Flags<ExternalMemoryHandleTypeFlagBits>;
10767
10768 template <>
10769 struct FlagTraits<ExternalMemoryHandleTypeFlagBits>
10770 {
10771 enum : VkFlags
10772 {
10773 allFlags = VkFlags( ExternalMemoryHandleTypeFlagBits::eOpaqueFd ) |
10774 VkFlags( ExternalMemoryHandleTypeFlagBits::eOpaqueWin32 ) |
10775 VkFlags( ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt ) |
10776 VkFlags( ExternalMemoryHandleTypeFlagBits::eD3D11Texture ) |
10777 VkFlags( ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt ) |
10778 VkFlags( ExternalMemoryHandleTypeFlagBits::eD3D12Heap ) |
10779 VkFlags( ExternalMemoryHandleTypeFlagBits::eD3D12Resource ) |
10780 VkFlags( ExternalMemoryHandleTypeFlagBits::eDmaBufEXT )
10781#if defined( VK_USE_PLATFORM_ANDROID_KHR )
10782 | VkFlags( ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID )
10783#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
10784 | VkFlags( ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT ) |
10785 VkFlags( ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT )
10786#if defined( VK_USE_PLATFORM_FUCHSIA )
10787 | VkFlags( ExternalMemoryHandleTypeFlagBits::eZirconVmoFUCHSIA )
10788#endif /*VK_USE_PLATFORM_FUCHSIA*/
10789 | VkFlags( ExternalMemoryHandleTypeFlagBits::eRdmaAddressNV )
10790 };
10791 };
10792
10793 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlags
10794 operator|( ExternalMemoryHandleTypeFlagBits bit0, ExternalMemoryHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10795 {
10796 return ExternalMemoryHandleTypeFlags( bit0 ) | bit1;
10797 }
10798
10799 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlags
10800 operator&(ExternalMemoryHandleTypeFlagBits bit0, ExternalMemoryHandleTypeFlagBits bit1)VULKAN_HPP_NOEXCEPT
10801 {
10802 return ExternalMemoryHandleTypeFlags( bit0 ) & bit1;
10803 }
10804
10805 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlags
10806 operator^( ExternalMemoryHandleTypeFlagBits bit0, ExternalMemoryHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10807 {
10808 return ExternalMemoryHandleTypeFlags( bit0 ) ^ bit1;
10809 }
10810
10811 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlags
10812 operator~( ExternalMemoryHandleTypeFlagBits bits ) VULKAN_HPP_NOEXCEPT
10813 {
10814 return ~( ExternalMemoryHandleTypeFlags( bits ) );
10815 }
10816
10817 using ExternalMemoryHandleTypeFlagsKHR = ExternalMemoryHandleTypeFlags;
10818
10819 VULKAN_HPP_INLINE std::string to_string( ExternalMemoryHandleTypeFlags value )
10820 {
10821 if ( !value )
10822 return "{}";
10823
10824 std::string result;
10825 if ( value & ExternalMemoryHandleTypeFlagBits::eOpaqueFd )
10826 result += "OpaqueFd | ";
10827 if ( value & ExternalMemoryHandleTypeFlagBits::eOpaqueWin32 )
10828 result += "OpaqueWin32 | ";
10829 if ( value & ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt )
10830 result += "OpaqueWin32Kmt | ";
10831 if ( value & ExternalMemoryHandleTypeFlagBits::eD3D11Texture )
10832 result += "D3D11Texture | ";
10833 if ( value & ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt )
10834 result += "D3D11TextureKmt | ";
10835 if ( value & ExternalMemoryHandleTypeFlagBits::eD3D12Heap )
10836 result += "D3D12Heap | ";
10837 if ( value & ExternalMemoryHandleTypeFlagBits::eD3D12Resource )
10838 result += "D3D12Resource | ";
10839 if ( value & ExternalMemoryHandleTypeFlagBits::eDmaBufEXT )
10840 result += "DmaBufEXT | ";
10841#if defined( VK_USE_PLATFORM_ANDROID_KHR )
10842 if ( value & ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID )
10843 result += "AndroidHardwareBufferANDROID | ";
10844#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
10845 if ( value & ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT )
10846 result += "HostAllocationEXT | ";
10847 if ( value & ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT )
10848 result += "HostMappedForeignMemoryEXT | ";
10849#if defined( VK_USE_PLATFORM_FUCHSIA )
10850 if ( value & ExternalMemoryHandleTypeFlagBits::eZirconVmoFUCHSIA )
10851 result += "ZirconVmoFUCHSIA | ";
10852#endif /*VK_USE_PLATFORM_FUCHSIA*/
10853 if ( value & ExternalMemoryHandleTypeFlagBits::eRdmaAddressNV )
10854 result += "RdmaAddressNV | ";
10855
10856 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
10857 }
10858
10859 using ExternalMemoryFeatureFlags = Flags<ExternalMemoryFeatureFlagBits>;
10860
10861 template <>
10862 struct FlagTraits<ExternalMemoryFeatureFlagBits>
10863 {
10864 enum : VkFlags
10865 {
10866 allFlags = VkFlags( ExternalMemoryFeatureFlagBits::eDedicatedOnly ) |
10867 VkFlags( ExternalMemoryFeatureFlagBits::eExportable ) |
10868 VkFlags( ExternalMemoryFeatureFlagBits::eImportable )
10869 };
10870 };
10871
10872 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlags
10873 operator|( ExternalMemoryFeatureFlagBits bit0, ExternalMemoryFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10874 {
10875 return ExternalMemoryFeatureFlags( bit0 ) | bit1;
10876 }
10877
10878 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlags
10879 operator&(ExternalMemoryFeatureFlagBits bit0, ExternalMemoryFeatureFlagBits bit1)VULKAN_HPP_NOEXCEPT
10880 {
10881 return ExternalMemoryFeatureFlags( bit0 ) & bit1;
10882 }
10883
10884 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlags
10885 operator^( ExternalMemoryFeatureFlagBits bit0, ExternalMemoryFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10886 {
10887 return ExternalMemoryFeatureFlags( bit0 ) ^ bit1;
10888 }
10889
10890 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlags operator~( ExternalMemoryFeatureFlagBits bits )
10891 VULKAN_HPP_NOEXCEPT
10892 {
10893 return ~( ExternalMemoryFeatureFlags( bits ) );
10894 }
10895
10896 using ExternalMemoryFeatureFlagsKHR = ExternalMemoryFeatureFlags;
10897
10898 VULKAN_HPP_INLINE std::string to_string( ExternalMemoryFeatureFlags value )
10899 {
10900 if ( !value )
10901 return "{}";
10902
10903 std::string result;
10904 if ( value & ExternalMemoryFeatureFlagBits::eDedicatedOnly )
10905 result += "DedicatedOnly | ";
10906 if ( value & ExternalMemoryFeatureFlagBits::eExportable )
10907 result += "Exportable | ";
10908 if ( value & ExternalMemoryFeatureFlagBits::eImportable )
10909 result += "Importable | ";
10910
10911 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
10912 }
10913
10914 using ExternalFenceHandleTypeFlags = Flags<ExternalFenceHandleTypeFlagBits>;
10915
10916 template <>
10917 struct FlagTraits<ExternalFenceHandleTypeFlagBits>
10918 {
10919 enum : VkFlags
10920 {
10921 allFlags = VkFlags( ExternalFenceHandleTypeFlagBits::eOpaqueFd ) |
10922 VkFlags( ExternalFenceHandleTypeFlagBits::eOpaqueWin32 ) |
10923 VkFlags( ExternalFenceHandleTypeFlagBits::eOpaqueWin32Kmt ) |
10924 VkFlags( ExternalFenceHandleTypeFlagBits::eSyncFd )
10925 };
10926 };
10927
10928 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceHandleTypeFlags
10929 operator|( ExternalFenceHandleTypeFlagBits bit0, ExternalFenceHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10930 {
10931 return ExternalFenceHandleTypeFlags( bit0 ) | bit1;
10932 }
10933
10934 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceHandleTypeFlags
10935 operator&(ExternalFenceHandleTypeFlagBits bit0, ExternalFenceHandleTypeFlagBits bit1)VULKAN_HPP_NOEXCEPT
10936 {
10937 return ExternalFenceHandleTypeFlags( bit0 ) & bit1;
10938 }
10939
10940 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceHandleTypeFlags
10941 operator^( ExternalFenceHandleTypeFlagBits bit0, ExternalFenceHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10942 {
10943 return ExternalFenceHandleTypeFlags( bit0 ) ^ bit1;
10944 }
10945
10946 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceHandleTypeFlags operator~( ExternalFenceHandleTypeFlagBits bits )
10947 VULKAN_HPP_NOEXCEPT
10948 {
10949 return ~( ExternalFenceHandleTypeFlags( bits ) );
10950 }
10951
10952 using ExternalFenceHandleTypeFlagsKHR = ExternalFenceHandleTypeFlags;
10953
10954 VULKAN_HPP_INLINE std::string to_string( ExternalFenceHandleTypeFlags value )
10955 {
10956 if ( !value )
10957 return "{}";
10958
10959 std::string result;
10960 if ( value & ExternalFenceHandleTypeFlagBits::eOpaqueFd )
10961 result += "OpaqueFd | ";
10962 if ( value & ExternalFenceHandleTypeFlagBits::eOpaqueWin32 )
10963 result += "OpaqueWin32 | ";
10964 if ( value & ExternalFenceHandleTypeFlagBits::eOpaqueWin32Kmt )
10965 result += "OpaqueWin32Kmt | ";
10966 if ( value & ExternalFenceHandleTypeFlagBits::eSyncFd )
10967 result += "SyncFd | ";
10968
10969 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
10970 }
10971
10972 using ExternalFenceFeatureFlags = Flags<ExternalFenceFeatureFlagBits>;
10973
10974 template <>
10975 struct FlagTraits<ExternalFenceFeatureFlagBits>
10976 {
10977 enum : VkFlags
10978 {
10979 allFlags =
10980 VkFlags( ExternalFenceFeatureFlagBits::eExportable ) | VkFlags( ExternalFenceFeatureFlagBits::eImportable )
10981 };
10982 };
10983
10984 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceFeatureFlags
10985 operator|( ExternalFenceFeatureFlagBits bit0, ExternalFenceFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10986 {
10987 return ExternalFenceFeatureFlags( bit0 ) | bit1;
10988 }
10989
10990 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceFeatureFlags
10991 operator&(ExternalFenceFeatureFlagBits bit0, ExternalFenceFeatureFlagBits bit1)VULKAN_HPP_NOEXCEPT
10992 {
10993 return ExternalFenceFeatureFlags( bit0 ) & bit1;
10994 }
10995
10996 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceFeatureFlags
10997 operator^( ExternalFenceFeatureFlagBits bit0, ExternalFenceFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
10998 {
10999 return ExternalFenceFeatureFlags( bit0 ) ^ bit1;
11000 }
11001
11002 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceFeatureFlags operator~( ExternalFenceFeatureFlagBits bits )
11003 VULKAN_HPP_NOEXCEPT
11004 {
11005 return ~( ExternalFenceFeatureFlags( bits ) );
11006 }
11007
11008 using ExternalFenceFeatureFlagsKHR = ExternalFenceFeatureFlags;
11009
11010 VULKAN_HPP_INLINE std::string to_string( ExternalFenceFeatureFlags value )
11011 {
11012 if ( !value )
11013 return "{}";
11014
11015 std::string result;
11016 if ( value & ExternalFenceFeatureFlagBits::eExportable )
11017 result += "Exportable | ";
11018 if ( value & ExternalFenceFeatureFlagBits::eImportable )
11019 result += "Importable | ";
11020
11021 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
11022 }
11023
11024 using FenceImportFlags = Flags<FenceImportFlagBits>;
11025
11026 template <>
11027 struct FlagTraits<FenceImportFlagBits>
11028 {
11029 enum : VkFlags
11030 {
11031 allFlags = VkFlags( FenceImportFlagBits::eTemporary )
11032 };
11033 };
11034
11035 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceImportFlags operator|( FenceImportFlagBits bit0,
11036 FenceImportFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
11037 {
11038 return FenceImportFlags( bit0 ) | bit1;
11039 }
11040
11041 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceImportFlags operator&(FenceImportFlagBits bit0,
11042 FenceImportFlagBits bit1)VULKAN_HPP_NOEXCEPT
11043 {
11044 return FenceImportFlags( bit0 ) & bit1;
11045 }
11046
11047 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceImportFlags operator^( FenceImportFlagBits bit0,
11048 FenceImportFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
11049 {
11050 return FenceImportFlags( bit0 ) ^ bit1;
11051 }
11052
11053 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceImportFlags operator~( FenceImportFlagBits bits ) VULKAN_HPP_NOEXCEPT
11054 {
11055 return ~( FenceImportFlags( bits ) );
11056 }
11057
11058 using FenceImportFlagsKHR = FenceImportFlags;
11059
11060 VULKAN_HPP_INLINE std::string to_string( FenceImportFlags value )
11061 {
11062 if ( !value )
11063 return "{}";
11064
11065 std::string result;
11066 if ( value & FenceImportFlagBits::eTemporary )
11067 result += "Temporary | ";
11068
11069 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
11070 }
11071
11072 using SemaphoreImportFlags = Flags<SemaphoreImportFlagBits>;
11073
11074 template <>
11075 struct FlagTraits<SemaphoreImportFlagBits>
11076 {
11077 enum : VkFlags
11078 {
11079 allFlags = VkFlags( SemaphoreImportFlagBits::eTemporary )
11080 };
11081 };
11082
11083 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreImportFlags
11084 operator|( SemaphoreImportFlagBits bit0, SemaphoreImportFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
11085 {
11086 return SemaphoreImportFlags( bit0 ) | bit1;
11087 }
11088
11089 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreImportFlags operator&(SemaphoreImportFlagBits bit0,
11090 SemaphoreImportFlagBits bit1)VULKAN_HPP_NOEXCEPT
11091 {
11092 return SemaphoreImportFlags( bit0 ) & bit1;
11093 }
11094
11095 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreImportFlags
11096 operator^( SemaphoreImportFlagBits bit0, SemaphoreImportFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
11097 {
11098 return SemaphoreImportFlags( bit0 ) ^ bit1;
11099 }
11100
11101 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreImportFlags operator~( SemaphoreImportFlagBits bits )
11102 VULKAN_HPP_NOEXCEPT
11103 {
11104 return ~( SemaphoreImportFlags( bits ) );
11105 }
11106
11107 using SemaphoreImportFlagsKHR = SemaphoreImportFlags;
11108
11109 VULKAN_HPP_INLINE std::string to_string( SemaphoreImportFlags value )
11110 {
11111 if ( !value )
11112 return "{}";
11113
11114 std::string result;
11115 if ( value & SemaphoreImportFlagBits::eTemporary )
11116 result += "Temporary | ";
11117
11118 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
11119 }
11120
11121 using ExternalSemaphoreHandleTypeFlags = Flags<ExternalSemaphoreHandleTypeFlagBits>;
11122
11123 template <>
11124 struct FlagTraits<ExternalSemaphoreHandleTypeFlagBits>
11125 {
11126 enum : VkFlags
11127 {
11128 allFlags = VkFlags( ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd ) |
11129 VkFlags( ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32 ) |
11130 VkFlags( ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32Kmt ) |
11131 VkFlags( ExternalSemaphoreHandleTypeFlagBits::eD3D12Fence ) |
11132 VkFlags( ExternalSemaphoreHandleTypeFlagBits::eSyncFd )
11133#if defined( VK_USE_PLATFORM_FUCHSIA )
11134 | VkFlags( ExternalSemaphoreHandleTypeFlagBits::eZirconEventFUCHSIA )
11135#endif /*VK_USE_PLATFORM_FUCHSIA*/
11136 };
11137 };
11138
11139 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreHandleTypeFlags
11140 operator|( ExternalSemaphoreHandleTypeFlagBits bit0, ExternalSemaphoreHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
11141 {
11142 return ExternalSemaphoreHandleTypeFlags( bit0 ) | bit1;
11143 }
11144
11145 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreHandleTypeFlags
11146 operator&(ExternalSemaphoreHandleTypeFlagBits bit0, ExternalSemaphoreHandleTypeFlagBits bit1)VULKAN_HPP_NOEXCEPT
11147 {
11148 return ExternalSemaphoreHandleTypeFlags( bit0 ) & bit1;
11149 }
11150
11151 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreHandleTypeFlags
11152 operator^( ExternalSemaphoreHandleTypeFlagBits bit0, ExternalSemaphoreHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
11153 {
11154 return ExternalSemaphoreHandleTypeFlags( bit0 ) ^ bit1;
11155 }
11156
11157 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreHandleTypeFlags
11158 operator~( ExternalSemaphoreHandleTypeFlagBits bits ) VULKAN_HPP_NOEXCEPT
11159 {
11160 return ~( ExternalSemaphoreHandleTypeFlags( bits ) );
11161 }
11162
11163 using ExternalSemaphoreHandleTypeFlagsKHR = ExternalSemaphoreHandleTypeFlags;
11164
11165 VULKAN_HPP_INLINE std::string to_string( ExternalSemaphoreHandleTypeFlags value )
11166 {
11167 if ( !value )
11168 return "{}";
11169
11170 std::string result;
11171 if ( value & ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd )
11172 result += "OpaqueFd | ";
11173 if ( value & ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32 )
11174 result += "OpaqueWin32 | ";
11175 if ( value & ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32Kmt )
11176 result += "OpaqueWin32Kmt | ";
11177 if ( value & ExternalSemaphoreHandleTypeFlagBits::eD3D12Fence )
11178 result += "D3D12Fence | ";
11179 if ( value & ExternalSemaphoreHandleTypeFlagBits::eSyncFd )
11180 result += "SyncFd | ";
11181#if defined( VK_USE_PLATFORM_FUCHSIA )
11182 if ( value & ExternalSemaphoreHandleTypeFlagBits::eZirconEventFUCHSIA )
11183 result += "ZirconEventFUCHSIA | ";
11184#endif /*VK_USE_PLATFORM_FUCHSIA*/
11185
11186 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
11187 }
11188
11189 using ExternalSemaphoreFeatureFlags = Flags<ExternalSemaphoreFeatureFlagBits>;
11190
11191 template <>
11192 struct FlagTraits<ExternalSemaphoreFeatureFlagBits>
11193 {
11194 enum : VkFlags
11195 {
11196 allFlags = VkFlags( ExternalSemaphoreFeatureFlagBits::eExportable ) |
11197 VkFlags( ExternalSemaphoreFeatureFlagBits::eImportable )
11198 };
11199 };
11200
11201 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreFeatureFlags
11202 operator|( ExternalSemaphoreFeatureFlagBits bit0, ExternalSemaphoreFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
11203 {
11204 return ExternalSemaphoreFeatureFlags( bit0 ) | bit1;
11205 }
11206
11207 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreFeatureFlags
11208 operator&(ExternalSemaphoreFeatureFlagBits bit0, ExternalSemaphoreFeatureFlagBits bit1)VULKAN_HPP_NOEXCEPT
11209 {
11210 return ExternalSemaphoreFeatureFlags( bit0 ) & bit1;
11211 }
11212
11213 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreFeatureFlags
11214 operator^( ExternalSemaphoreFeatureFlagBits bit0, ExternalSemaphoreFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
11215 {
11216 return ExternalSemaphoreFeatureFlags( bit0 ) ^ bit1;
11217 }
11218
11219 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreFeatureFlags
11220 operator~( ExternalSemaphoreFeatureFlagBits bits ) VULKAN_HPP_NOEXCEPT
11221 {
11222 return ~( ExternalSemaphoreFeatureFlags( bits ) );
11223 }
11224
11225 using ExternalSemaphoreFeatureFlagsKHR = ExternalSemaphoreFeatureFlags;
11226
11227 VULKAN_HPP_INLINE std::string to_string( ExternalSemaphoreFeatureFlags value )
11228 {
11229 if ( !value )
11230 return "{}";
11231
11232 std::string result;
11233 if ( value & ExternalSemaphoreFeatureFlagBits::eExportable )
11234 result += "Exportable | ";
11235 if ( value & ExternalSemaphoreFeatureFlagBits::eImportable )
11236 result += "Importable | ";
11237
11238 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
11239 }
11240
11241 //=== VK_VERSION_1_2 ===
11242
11243 using DescriptorBindingFlags = Flags<DescriptorBindingFlagBits>;
11244
11245 template <>
11246 struct FlagTraits<DescriptorBindingFlagBits>
11247 {
11248 enum : VkFlags
11249 {
11250 allFlags = VkFlags( DescriptorBindingFlagBits::eUpdateAfterBind ) |
11251 VkFlags( DescriptorBindingFlagBits::eUpdateUnusedWhilePending ) |
11252 VkFlags( DescriptorBindingFlagBits::ePartiallyBound ) |
11253 VkFlags( DescriptorBindingFlagBits::eVariableDescriptorCount )
11254 };
11255 };
11256
11257 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorBindingFlags
11258 operator|( DescriptorBindingFlagBits bit0, DescriptorBindingFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
11259 {
11260 return DescriptorBindingFlags( bit0 ) | bit1;
11261 }
11262
11263 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorBindingFlags
11264 operator&(DescriptorBindingFlagBits bit0, DescriptorBindingFlagBits bit1)VULKAN_HPP_NOEXCEPT
11265 {
11266 return DescriptorBindingFlags( bit0 ) & bit1;
11267 }
11268
11269 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorBindingFlags
11270 operator^( DescriptorBindingFlagBits bit0, DescriptorBindingFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
11271 {
11272 return DescriptorBindingFlags( bit0 ) ^ bit1;
11273 }
11274
11275 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorBindingFlags operator~( DescriptorBindingFlagBits bits )
11276 VULKAN_HPP_NOEXCEPT
11277 {
11278 return ~( DescriptorBindingFlags( bits ) );
11279 }
11280
11281 using DescriptorBindingFlagsEXT = DescriptorBindingFlags;
11282
11283 VULKAN_HPP_INLINE std::string to_string( DescriptorBindingFlags value )
11284 {
11285 if ( !value )
11286 return "{}";
11287
11288 std::string result;
11289 if ( value & DescriptorBindingFlagBits::eUpdateAfterBind )
11290 result += "UpdateAfterBind | ";
11291 if ( value & DescriptorBindingFlagBits::eUpdateUnusedWhilePending )
11292 result += "UpdateUnusedWhilePending | ";
11293 if ( value & DescriptorBindingFlagBits::ePartiallyBound )
11294 result += "PartiallyBound | ";
11295 if ( value & DescriptorBindingFlagBits::eVariableDescriptorCount )
11296 result += "VariableDescriptorCount | ";
11297
11298 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
11299 }
11300
11301 using ResolveModeFlags = Flags<ResolveModeFlagBits>;
11302
11303 template <>
11304 struct FlagTraits<ResolveModeFlagBits>
11305 {
11306 enum : VkFlags
11307 {
11308 allFlags = VkFlags( ResolveModeFlagBits::eNone ) | VkFlags( ResolveModeFlagBits::eSampleZero ) |
11309 VkFlags( ResolveModeFlagBits::eAverage ) | VkFlags( ResolveModeFlagBits::eMin ) |
11310 VkFlags( ResolveModeFlagBits::eMax )
11311 };
11312 };
11313
11314 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ResolveModeFlags operator|( ResolveModeFlagBits bit0,
11315 ResolveModeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
11316 {
11317 return ResolveModeFlags( bit0 ) | bit1;
11318 }
11319
11320 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ResolveModeFlags operator&(ResolveModeFlagBits bit0,
11321 ResolveModeFlagBits bit1)VULKAN_HPP_NOEXCEPT
11322 {
11323 return ResolveModeFlags( bit0 ) & bit1;
11324 }
11325
11326 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ResolveModeFlags operator^( ResolveModeFlagBits bit0,
11327 ResolveModeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
11328 {
11329 return ResolveModeFlags( bit0 ) ^ bit1;
11330 }
11331
11332 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ResolveModeFlags operator~( ResolveModeFlagBits bits ) VULKAN_HPP_NOEXCEPT
11333 {
11334 return ~( ResolveModeFlags( bits ) );
11335 }
11336
11337 using ResolveModeFlagsKHR = ResolveModeFlags;
11338
11339 VULKAN_HPP_INLINE std::string to_string( ResolveModeFlags value )
11340 {
11341 if ( !value )
11342 return "{}";
11343
11344 std::string result;
11345 if ( value & ResolveModeFlagBits::eSampleZero )
11346 result += "SampleZero | ";
11347 if ( value & ResolveModeFlagBits::eAverage )
11348 result += "Average | ";
11349 if ( value & ResolveModeFlagBits::eMin )
11350 result += "Min | ";
11351 if ( value & ResolveModeFlagBits::eMax )
11352 result += "Max | ";
11353
11354 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
11355 }
11356
11357 using SemaphoreWaitFlags = Flags<SemaphoreWaitFlagBits>;
11358
11359 template <>
11360 struct FlagTraits<SemaphoreWaitFlagBits>
11361 {
11362 enum : VkFlags
11363 {
11364 allFlags = VkFlags( SemaphoreWaitFlagBits::eAny )
11365 };
11366 };
11367
11368 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreWaitFlags operator|( SemaphoreWaitFlagBits bit0,
11369 SemaphoreWaitFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
11370 {
11371 return SemaphoreWaitFlags( bit0 ) | bit1;
11372 }
11373
11374 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreWaitFlags operator&(SemaphoreWaitFlagBits bit0,
11375 SemaphoreWaitFlagBits bit1)VULKAN_HPP_NOEXCEPT
11376 {
11377 return SemaphoreWaitFlags( bit0 ) & bit1;
11378 }
11379
11380 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreWaitFlags operator^( SemaphoreWaitFlagBits bit0,
11381 SemaphoreWaitFlagBits bit1 ) VULKAN_HPP_NOEXCEPT
11382 {
11383 return SemaphoreWaitFlags( bit0 ) ^ bit1;
11384 }
11385
11386 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreWaitFlags operator~( SemaphoreWaitFlagBits bits ) VULKAN_HPP_NOEXCEPT
11387 {
11388 return ~( SemaphoreWaitFlags( bits ) );
11389 }
11390
11391 using SemaphoreWaitFlagsKHR = SemaphoreWaitFlags;
11392
11393 VULKAN_HPP_INLINE std::string to_string( SemaphoreWaitFlags value )
11394 {
11395 if ( !value )
11396 return "{}";
11397
11398 std::string result;
11399 if ( value & SemaphoreWaitFlagBits::eAny )
11400 result += "Any | ";
11401
11402 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
11403 }
11404
11405 //=== VK_KHR_surface ===
11406
11407 using CompositeAlphaFlagsKHR = Flags<CompositeAlphaFlagBitsKHR>;
11408
11409 template <>
11410 struct FlagTraits<CompositeAlphaFlagBitsKHR>
11411 {
11412 enum : VkFlags
11413 {
11414 allFlags = VkFlags( CompositeAlphaFlagBitsKHR::eOpaque ) | VkFlags( CompositeAlphaFlagBitsKHR::ePreMultiplied ) |
11415 VkFlags( CompositeAlphaFlagBitsKHR::ePostMultiplied ) | VkFlags( CompositeAlphaFlagBitsKHR::eInherit )
11416 };
11417 };
11418
11419 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CompositeAlphaFlagsKHR
11420 operator|( CompositeAlphaFlagBitsKHR bit0, CompositeAlphaFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
11421 {
11422 return CompositeAlphaFlagsKHR( bit0 ) | bit1;
11423 }
11424
11425 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CompositeAlphaFlagsKHR
11426 operator&(CompositeAlphaFlagBitsKHR bit0, CompositeAlphaFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
11427 {
11428 return CompositeAlphaFlagsKHR( bit0 ) & bit1;
11429 }
11430
11431 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CompositeAlphaFlagsKHR
11432 operator^( CompositeAlphaFlagBitsKHR bit0, CompositeAlphaFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
11433 {
11434 return CompositeAlphaFlagsKHR( bit0 ) ^ bit1;
11435 }
11436
11437 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CompositeAlphaFlagsKHR operator~( CompositeAlphaFlagBitsKHR bits )
11438 VULKAN_HPP_NOEXCEPT
11439 {
11440 return ~( CompositeAlphaFlagsKHR( bits ) );
11441 }
11442
11443 VULKAN_HPP_INLINE std::string to_string( CompositeAlphaFlagsKHR value )
11444 {
11445 if ( !value )
11446 return "{}";
11447
11448 std::string result;
11449 if ( value & CompositeAlphaFlagBitsKHR::eOpaque )
11450 result += "Opaque | ";
11451 if ( value & CompositeAlphaFlagBitsKHR::ePreMultiplied )
11452 result += "PreMultiplied | ";
11453 if ( value & CompositeAlphaFlagBitsKHR::ePostMultiplied )
11454 result += "PostMultiplied | ";
11455 if ( value & CompositeAlphaFlagBitsKHR::eInherit )
11456 result += "Inherit | ";
11457
11458 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
11459 }
11460
11461 //=== VK_KHR_swapchain ===
11462
11463 using SwapchainCreateFlagsKHR = Flags<SwapchainCreateFlagBitsKHR>;
11464
11465 template <>
11466 struct FlagTraits<SwapchainCreateFlagBitsKHR>
11467 {
11468 enum : VkFlags
11469 {
11470 allFlags = VkFlags( SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions ) |
11471 VkFlags( SwapchainCreateFlagBitsKHR::eProtected ) |
11472 VkFlags( SwapchainCreateFlagBitsKHR::eMutableFormat )
11473 };
11474 };
11475
11476 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SwapchainCreateFlagsKHR
11477 operator|( SwapchainCreateFlagBitsKHR bit0, SwapchainCreateFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
11478 {
11479 return SwapchainCreateFlagsKHR( bit0 ) | bit1;
11480 }
11481
11482 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SwapchainCreateFlagsKHR
11483 operator&(SwapchainCreateFlagBitsKHR bit0, SwapchainCreateFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
11484 {
11485 return SwapchainCreateFlagsKHR( bit0 ) & bit1;
11486 }
11487
11488 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SwapchainCreateFlagsKHR
11489 operator^( SwapchainCreateFlagBitsKHR bit0, SwapchainCreateFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
11490 {
11491 return SwapchainCreateFlagsKHR( bit0 ) ^ bit1;
11492 }
11493
11494 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SwapchainCreateFlagsKHR operator~( SwapchainCreateFlagBitsKHR bits )
11495 VULKAN_HPP_NOEXCEPT
11496 {
11497 return ~( SwapchainCreateFlagsKHR( bits ) );
11498 }
11499
11500 VULKAN_HPP_INLINE std::string to_string( SwapchainCreateFlagsKHR value )
11501 {
11502 if ( !value )
11503 return "{}";
11504
11505 std::string result;
11506 if ( value & SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions )
11507 result += "SplitInstanceBindRegions | ";
11508 if ( value & SwapchainCreateFlagBitsKHR::eProtected )
11509 result += "Protected | ";
11510 if ( value & SwapchainCreateFlagBitsKHR::eMutableFormat )
11511 result += "MutableFormat | ";
11512
11513 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
11514 }
11515
11516 using DeviceGroupPresentModeFlagsKHR = Flags<DeviceGroupPresentModeFlagBitsKHR>;
11517
11518 template <>
11519 struct FlagTraits<DeviceGroupPresentModeFlagBitsKHR>
11520 {
11521 enum : VkFlags
11522 {
11523 allFlags = VkFlags( DeviceGroupPresentModeFlagBitsKHR::eLocal ) |
11524 VkFlags( DeviceGroupPresentModeFlagBitsKHR::eRemote ) |
11525 VkFlags( DeviceGroupPresentModeFlagBitsKHR::eSum ) |
11526 VkFlags( DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice )
11527 };
11528 };
11529
11530 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceGroupPresentModeFlagsKHR
11531 operator|( DeviceGroupPresentModeFlagBitsKHR bit0, DeviceGroupPresentModeFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
11532 {
11533 return DeviceGroupPresentModeFlagsKHR( bit0 ) | bit1;
11534 }
11535
11536 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceGroupPresentModeFlagsKHR
11537 operator&(DeviceGroupPresentModeFlagBitsKHR bit0, DeviceGroupPresentModeFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
11538 {
11539 return DeviceGroupPresentModeFlagsKHR( bit0 ) & bit1;
11540 }
11541
11542 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceGroupPresentModeFlagsKHR
11543 operator^( DeviceGroupPresentModeFlagBitsKHR bit0, DeviceGroupPresentModeFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
11544 {
11545 return DeviceGroupPresentModeFlagsKHR( bit0 ) ^ bit1;
11546 }
11547
11548 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceGroupPresentModeFlagsKHR
11549 operator~( DeviceGroupPresentModeFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT
11550 {
11551 return ~( DeviceGroupPresentModeFlagsKHR( bits ) );
11552 }
11553
11554 VULKAN_HPP_INLINE std::string to_string( DeviceGroupPresentModeFlagsKHR value )
11555 {
11556 if ( !value )
11557 return "{}";
11558
11559 std::string result;
11560 if ( value & DeviceGroupPresentModeFlagBitsKHR::eLocal )
11561 result += "Local | ";
11562 if ( value & DeviceGroupPresentModeFlagBitsKHR::eRemote )
11563 result += "Remote | ";
11564 if ( value & DeviceGroupPresentModeFlagBitsKHR::eSum )
11565 result += "Sum | ";
11566 if ( value & DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice )
11567 result += "LocalMultiDevice | ";
11568
11569 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
11570 }
11571
11572 //=== VK_KHR_display ===
11573
11574 using DisplayModeCreateFlagsKHR = Flags<DisplayModeCreateFlagBitsKHR>;
11575
11576 VULKAN_HPP_INLINE std::string to_string( DisplayModeCreateFlagsKHR )
11577 {
11578 return "{}";
11579 }
11580
11581 using DisplayPlaneAlphaFlagsKHR = Flags<DisplayPlaneAlphaFlagBitsKHR>;
11582
11583 template <>
11584 struct FlagTraits<DisplayPlaneAlphaFlagBitsKHR>
11585 {
11586 enum : VkFlags
11587 {
11588 allFlags = VkFlags( DisplayPlaneAlphaFlagBitsKHR::eOpaque ) | VkFlags( DisplayPlaneAlphaFlagBitsKHR::eGlobal ) |
11589 VkFlags( DisplayPlaneAlphaFlagBitsKHR::ePerPixel ) |
11590 VkFlags( DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied )
11591 };
11592 };
11593
11594 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DisplayPlaneAlphaFlagsKHR
11595 operator|( DisplayPlaneAlphaFlagBitsKHR bit0, DisplayPlaneAlphaFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
11596 {
11597 return DisplayPlaneAlphaFlagsKHR( bit0 ) | bit1;
11598 }
11599
11600 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DisplayPlaneAlphaFlagsKHR
11601 operator&(DisplayPlaneAlphaFlagBitsKHR bit0, DisplayPlaneAlphaFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
11602 {
11603 return DisplayPlaneAlphaFlagsKHR( bit0 ) & bit1;
11604 }
11605
11606 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DisplayPlaneAlphaFlagsKHR
11607 operator^( DisplayPlaneAlphaFlagBitsKHR bit0, DisplayPlaneAlphaFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
11608 {
11609 return DisplayPlaneAlphaFlagsKHR( bit0 ) ^ bit1;
11610 }
11611
11612 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DisplayPlaneAlphaFlagsKHR operator~( DisplayPlaneAlphaFlagBitsKHR bits )
11613 VULKAN_HPP_NOEXCEPT
11614 {
11615 return ~( DisplayPlaneAlphaFlagsKHR( bits ) );
11616 }
11617
11618 VULKAN_HPP_INLINE std::string to_string( DisplayPlaneAlphaFlagsKHR value )
11619 {
11620 if ( !value )
11621 return "{}";
11622
11623 std::string result;
11624 if ( value & DisplayPlaneAlphaFlagBitsKHR::eOpaque )
11625 result += "Opaque | ";
11626 if ( value & DisplayPlaneAlphaFlagBitsKHR::eGlobal )
11627 result += "Global | ";
11628 if ( value & DisplayPlaneAlphaFlagBitsKHR::ePerPixel )
11629 result += "PerPixel | ";
11630 if ( value & DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied )
11631 result += "PerPixelPremultiplied | ";
11632
11633 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
11634 }
11635
11636 using DisplaySurfaceCreateFlagsKHR = Flags<DisplaySurfaceCreateFlagBitsKHR>;
11637
11638 VULKAN_HPP_INLINE std::string to_string( DisplaySurfaceCreateFlagsKHR )
11639 {
11640 return "{}";
11641 }
11642
11643 using SurfaceTransformFlagsKHR = Flags<SurfaceTransformFlagBitsKHR>;
11644
11645 template <>
11646 struct FlagTraits<SurfaceTransformFlagBitsKHR>
11647 {
11648 enum : VkFlags
11649 {
11650 allFlags = VkFlags( SurfaceTransformFlagBitsKHR::eIdentity ) | VkFlags( SurfaceTransformFlagBitsKHR::eRotate90 ) |
11651 VkFlags( SurfaceTransformFlagBitsKHR::eRotate180 ) |
11652 VkFlags( SurfaceTransformFlagBitsKHR::eRotate270 ) |
11653 VkFlags( SurfaceTransformFlagBitsKHR::eHorizontalMirror ) |
11654 VkFlags( SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate90 ) |
11655 VkFlags( SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate180 ) |
11656 VkFlags( SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate270 ) |
11657 VkFlags( SurfaceTransformFlagBitsKHR::eInherit )
11658 };
11659 };
11660
11661 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceTransformFlagsKHR
11662 operator|( SurfaceTransformFlagBitsKHR bit0, SurfaceTransformFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
11663 {
11664 return SurfaceTransformFlagsKHR( bit0 ) | bit1;
11665 }
11666
11667 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceTransformFlagsKHR
11668 operator&(SurfaceTransformFlagBitsKHR bit0, SurfaceTransformFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
11669 {
11670 return SurfaceTransformFlagsKHR( bit0 ) & bit1;
11671 }
11672
11673 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceTransformFlagsKHR
11674 operator^( SurfaceTransformFlagBitsKHR bit0, SurfaceTransformFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
11675 {
11676 return SurfaceTransformFlagsKHR( bit0 ) ^ bit1;
11677 }
11678
11679 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceTransformFlagsKHR operator~( SurfaceTransformFlagBitsKHR bits )
11680 VULKAN_HPP_NOEXCEPT
11681 {
11682 return ~( SurfaceTransformFlagsKHR( bits ) );
11683 }
11684
11685 VULKAN_HPP_INLINE std::string to_string( SurfaceTransformFlagsKHR value )
11686 {
11687 if ( !value )
11688 return "{}";
11689
11690 std::string result;
11691 if ( value & SurfaceTransformFlagBitsKHR::eIdentity )
11692 result += "Identity | ";
11693 if ( value & SurfaceTransformFlagBitsKHR::eRotate90 )
11694 result += "Rotate90 | ";
11695 if ( value & SurfaceTransformFlagBitsKHR::eRotate180 )
11696 result += "Rotate180 | ";
11697 if ( value & SurfaceTransformFlagBitsKHR::eRotate270 )
11698 result += "Rotate270 | ";
11699 if ( value & SurfaceTransformFlagBitsKHR::eHorizontalMirror )
11700 result += "HorizontalMirror | ";
11701 if ( value & SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate90 )
11702 result += "HorizontalMirrorRotate90 | ";
11703 if ( value & SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate180 )
11704 result += "HorizontalMirrorRotate180 | ";
11705 if ( value & SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate270 )
11706 result += "HorizontalMirrorRotate270 | ";
11707 if ( value & SurfaceTransformFlagBitsKHR::eInherit )
11708 result += "Inherit | ";
11709
11710 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
11711 }
11712
11713#if defined( VK_USE_PLATFORM_XLIB_KHR )
11714 //=== VK_KHR_xlib_surface ===
11715
11716 using XlibSurfaceCreateFlagsKHR = Flags<XlibSurfaceCreateFlagBitsKHR>;
11717
11718 VULKAN_HPP_INLINE std::string to_string( XlibSurfaceCreateFlagsKHR )
11719 {
11720 return "{}";
11721 }
11722#endif /*VK_USE_PLATFORM_XLIB_KHR*/
11723
11724#if defined( VK_USE_PLATFORM_XCB_KHR )
11725 //=== VK_KHR_xcb_surface ===
11726
11727 using XcbSurfaceCreateFlagsKHR = Flags<XcbSurfaceCreateFlagBitsKHR>;
11728
11729 VULKAN_HPP_INLINE std::string to_string( XcbSurfaceCreateFlagsKHR )
11730 {
11731 return "{}";
11732 }
11733#endif /*VK_USE_PLATFORM_XCB_KHR*/
11734
11735#if defined( VK_USE_PLATFORM_WAYLAND_KHR )
11736 //=== VK_KHR_wayland_surface ===
11737
11738 using WaylandSurfaceCreateFlagsKHR = Flags<WaylandSurfaceCreateFlagBitsKHR>;
11739
11740 VULKAN_HPP_INLINE std::string to_string( WaylandSurfaceCreateFlagsKHR )
11741 {
11742 return "{}";
11743 }
11744#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
11745
11746#if defined( VK_USE_PLATFORM_ANDROID_KHR )
11747 //=== VK_KHR_android_surface ===
11748
11749 using AndroidSurfaceCreateFlagsKHR = Flags<AndroidSurfaceCreateFlagBitsKHR>;
11750
11751 VULKAN_HPP_INLINE std::string to_string( AndroidSurfaceCreateFlagsKHR )
11752 {
11753 return "{}";
11754 }
11755#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
11756
11757#if defined( VK_USE_PLATFORM_WIN32_KHR )
11758 //=== VK_KHR_win32_surface ===
11759
11760 using Win32SurfaceCreateFlagsKHR = Flags<Win32SurfaceCreateFlagBitsKHR>;
11761
11762 VULKAN_HPP_INLINE std::string to_string( Win32SurfaceCreateFlagsKHR )
11763 {
11764 return "{}";
11765 }
11766#endif /*VK_USE_PLATFORM_WIN32_KHR*/
11767
11768 //=== VK_EXT_debug_report ===
11769
11770 using DebugReportFlagsEXT = Flags<DebugReportFlagBitsEXT>;
11771
11772 template <>
11773 struct FlagTraits<DebugReportFlagBitsEXT>
11774 {
11775 enum : VkFlags
11776 {
11777 allFlags = VkFlags( DebugReportFlagBitsEXT::eInformation ) | VkFlags( DebugReportFlagBitsEXT::eWarning ) |
11778 VkFlags( DebugReportFlagBitsEXT::ePerformanceWarning ) | VkFlags( DebugReportFlagBitsEXT::eError ) |
11779 VkFlags( DebugReportFlagBitsEXT::eDebug )
11780 };
11781 };
11782
11783 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugReportFlagsEXT
11784 operator|( DebugReportFlagBitsEXT bit0, DebugReportFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
11785 {
11786 return DebugReportFlagsEXT( bit0 ) | bit1;
11787 }
11788
11789 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugReportFlagsEXT operator&(DebugReportFlagBitsEXT bit0,
11790 DebugReportFlagBitsEXT bit1)VULKAN_HPP_NOEXCEPT
11791 {
11792 return DebugReportFlagsEXT( bit0 ) & bit1;
11793 }
11794
11795 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugReportFlagsEXT
11796 operator^( DebugReportFlagBitsEXT bit0, DebugReportFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
11797 {
11798 return DebugReportFlagsEXT( bit0 ) ^ bit1;
11799 }
11800
11801 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugReportFlagsEXT operator~( DebugReportFlagBitsEXT bits )
11802 VULKAN_HPP_NOEXCEPT
11803 {
11804 return ~( DebugReportFlagsEXT( bits ) );
11805 }
11806
11807 VULKAN_HPP_INLINE std::string to_string( DebugReportFlagsEXT value )
11808 {
11809 if ( !value )
11810 return "{}";
11811
11812 std::string result;
11813 if ( value & DebugReportFlagBitsEXT::eInformation )
11814 result += "Information | ";
11815 if ( value & DebugReportFlagBitsEXT::eWarning )
11816 result += "Warning | ";
11817 if ( value & DebugReportFlagBitsEXT::ePerformanceWarning )
11818 result += "PerformanceWarning | ";
11819 if ( value & DebugReportFlagBitsEXT::eError )
11820 result += "Error | ";
11821 if ( value & DebugReportFlagBitsEXT::eDebug )
11822 result += "Debug | ";
11823
11824 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
11825 }
11826
11827#if defined( VK_ENABLE_BETA_EXTENSIONS )
11828 //=== VK_KHR_video_queue ===
11829
11830 using VideoCodecOperationFlagsKHR = Flags<VideoCodecOperationFlagBitsKHR>;
11831
11832 template <>
11833 struct FlagTraits<VideoCodecOperationFlagBitsKHR>
11834 {
11835 enum : VkFlags
11836 {
11837 allFlags = VkFlags( VideoCodecOperationFlagBitsKHR::eInvalid )
11838# if defined( VK_ENABLE_BETA_EXTENSIONS )
11839 | VkFlags( VideoCodecOperationFlagBitsKHR::eEncodeH264EXT ) |
11840 VkFlags( VideoCodecOperationFlagBitsKHR::eDecodeH264EXT ) |
11841 VkFlags( VideoCodecOperationFlagBitsKHR::eDecodeH265EXT )
11842# endif /*VK_ENABLE_BETA_EXTENSIONS*/
11843 };
11844 };
11845
11846 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCodecOperationFlagsKHR
11847 operator|( VideoCodecOperationFlagBitsKHR bit0, VideoCodecOperationFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
11848 {
11849 return VideoCodecOperationFlagsKHR( bit0 ) | bit1;
11850 }
11851
11852 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCodecOperationFlagsKHR
11853 operator&(VideoCodecOperationFlagBitsKHR bit0, VideoCodecOperationFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
11854 {
11855 return VideoCodecOperationFlagsKHR( bit0 ) & bit1;
11856 }
11857
11858 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCodecOperationFlagsKHR
11859 operator^( VideoCodecOperationFlagBitsKHR bit0, VideoCodecOperationFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
11860 {
11861 return VideoCodecOperationFlagsKHR( bit0 ) ^ bit1;
11862 }
11863
11864 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCodecOperationFlagsKHR operator~( VideoCodecOperationFlagBitsKHR bits )
11865 VULKAN_HPP_NOEXCEPT
11866 {
11867 return ~( VideoCodecOperationFlagsKHR( bits ) );
11868 }
11869
11870 VULKAN_HPP_INLINE std::string to_string( VideoCodecOperationFlagsKHR value )
11871 {
11872 if ( !value )
11873 return "{}";
11874
11875 std::string result;
11876# if defined( VK_ENABLE_BETA_EXTENSIONS )
11877 if ( value & VideoCodecOperationFlagBitsKHR::eEncodeH264EXT )
11878 result += "EncodeH264EXT | ";
11879 if ( value & VideoCodecOperationFlagBitsKHR::eDecodeH264EXT )
11880 result += "DecodeH264EXT | ";
11881 if ( value & VideoCodecOperationFlagBitsKHR::eDecodeH265EXT )
11882 result += "DecodeH265EXT | ";
11883# endif /*VK_ENABLE_BETA_EXTENSIONS*/
11884
11885 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
11886 }
11887
11888 using VideoChromaSubsamplingFlagsKHR = Flags<VideoChromaSubsamplingFlagBitsKHR>;
11889
11890 template <>
11891 struct FlagTraits<VideoChromaSubsamplingFlagBitsKHR>
11892 {
11893 enum : VkFlags
11894 {
11895 allFlags = VkFlags( VideoChromaSubsamplingFlagBitsKHR::eInvalid ) |
11896 VkFlags( VideoChromaSubsamplingFlagBitsKHR::eMonochrome ) |
11897 VkFlags( VideoChromaSubsamplingFlagBitsKHR::e420 ) |
11898 VkFlags( VideoChromaSubsamplingFlagBitsKHR::e422 ) | VkFlags( VideoChromaSubsamplingFlagBitsKHR::e444 )
11899 };
11900 };
11901
11902 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoChromaSubsamplingFlagsKHR
11903 operator|( VideoChromaSubsamplingFlagBitsKHR bit0, VideoChromaSubsamplingFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
11904 {
11905 return VideoChromaSubsamplingFlagsKHR( bit0 ) | bit1;
11906 }
11907
11908 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoChromaSubsamplingFlagsKHR
11909 operator&(VideoChromaSubsamplingFlagBitsKHR bit0, VideoChromaSubsamplingFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
11910 {
11911 return VideoChromaSubsamplingFlagsKHR( bit0 ) & bit1;
11912 }
11913
11914 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoChromaSubsamplingFlagsKHR
11915 operator^( VideoChromaSubsamplingFlagBitsKHR bit0, VideoChromaSubsamplingFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
11916 {
11917 return VideoChromaSubsamplingFlagsKHR( bit0 ) ^ bit1;
11918 }
11919
11920 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoChromaSubsamplingFlagsKHR
11921 operator~( VideoChromaSubsamplingFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT
11922 {
11923 return ~( VideoChromaSubsamplingFlagsKHR( bits ) );
11924 }
11925
11926 VULKAN_HPP_INLINE std::string to_string( VideoChromaSubsamplingFlagsKHR value )
11927 {
11928 if ( !value )
11929 return "{}";
11930
11931 std::string result;
11932 if ( value & VideoChromaSubsamplingFlagBitsKHR::eMonochrome )
11933 result += "Monochrome | ";
11934 if ( value & VideoChromaSubsamplingFlagBitsKHR::e420 )
11935 result += "420 | ";
11936 if ( value & VideoChromaSubsamplingFlagBitsKHR::e422 )
11937 result += "422 | ";
11938 if ( value & VideoChromaSubsamplingFlagBitsKHR::e444 )
11939 result += "444 | ";
11940
11941 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
11942 }
11943
11944 using VideoComponentBitDepthFlagsKHR = Flags<VideoComponentBitDepthFlagBitsKHR>;
11945
11946 template <>
11947 struct FlagTraits<VideoComponentBitDepthFlagBitsKHR>
11948 {
11949 enum : VkFlags
11950 {
11951 allFlags = VkFlags( VideoComponentBitDepthFlagBitsKHR::eInvalid ) |
11952 VkFlags( VideoComponentBitDepthFlagBitsKHR::e8 ) | VkFlags( VideoComponentBitDepthFlagBitsKHR::e10 ) |
11953 VkFlags( VideoComponentBitDepthFlagBitsKHR::e12 )
11954 };
11955 };
11956
11957 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoComponentBitDepthFlagsKHR
11958 operator|( VideoComponentBitDepthFlagBitsKHR bit0, VideoComponentBitDepthFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
11959 {
11960 return VideoComponentBitDepthFlagsKHR( bit0 ) | bit1;
11961 }
11962
11963 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoComponentBitDepthFlagsKHR
11964 operator&(VideoComponentBitDepthFlagBitsKHR bit0, VideoComponentBitDepthFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
11965 {
11966 return VideoComponentBitDepthFlagsKHR( bit0 ) & bit1;
11967 }
11968
11969 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoComponentBitDepthFlagsKHR
11970 operator^( VideoComponentBitDepthFlagBitsKHR bit0, VideoComponentBitDepthFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
11971 {
11972 return VideoComponentBitDepthFlagsKHR( bit0 ) ^ bit1;
11973 }
11974
11975 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoComponentBitDepthFlagsKHR
11976 operator~( VideoComponentBitDepthFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT
11977 {
11978 return ~( VideoComponentBitDepthFlagsKHR( bits ) );
11979 }
11980
11981 VULKAN_HPP_INLINE std::string to_string( VideoComponentBitDepthFlagsKHR value )
11982 {
11983 if ( !value )
11984 return "{}";
11985
11986 std::string result;
11987 if ( value & VideoComponentBitDepthFlagBitsKHR::e8 )
11988 result += "8 | ";
11989 if ( value & VideoComponentBitDepthFlagBitsKHR::e10 )
11990 result += "10 | ";
11991 if ( value & VideoComponentBitDepthFlagBitsKHR::e12 )
11992 result += "12 | ";
11993
11994 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
11995 }
11996
11997 using VideoCapabilityFlagsKHR = Flags<VideoCapabilityFlagBitsKHR>;
11998
11999 template <>
12000 struct FlagTraits<VideoCapabilityFlagBitsKHR>
12001 {
12002 enum : VkFlags
12003 {
12004 allFlags = VkFlags( VideoCapabilityFlagBitsKHR::eProtectedContent ) |
12005 VkFlags( VideoCapabilityFlagBitsKHR::eSeparateReferenceImages )
12006 };
12007 };
12008
12009 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCapabilityFlagsKHR
12010 operator|( VideoCapabilityFlagBitsKHR bit0, VideoCapabilityFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
12011 {
12012 return VideoCapabilityFlagsKHR( bit0 ) | bit1;
12013 }
12014
12015 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCapabilityFlagsKHR
12016 operator&(VideoCapabilityFlagBitsKHR bit0, VideoCapabilityFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
12017 {
12018 return VideoCapabilityFlagsKHR( bit0 ) & bit1;
12019 }
12020
12021 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCapabilityFlagsKHR
12022 operator^( VideoCapabilityFlagBitsKHR bit0, VideoCapabilityFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
12023 {
12024 return VideoCapabilityFlagsKHR( bit0 ) ^ bit1;
12025 }
12026
12027 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCapabilityFlagsKHR operator~( VideoCapabilityFlagBitsKHR bits )
12028 VULKAN_HPP_NOEXCEPT
12029 {
12030 return ~( VideoCapabilityFlagsKHR( bits ) );
12031 }
12032
12033 VULKAN_HPP_INLINE std::string to_string( VideoCapabilityFlagsKHR value )
12034 {
12035 if ( !value )
12036 return "{}";
12037
12038 std::string result;
12039 if ( value & VideoCapabilityFlagBitsKHR::eProtectedContent )
12040 result += "ProtectedContent | ";
12041 if ( value & VideoCapabilityFlagBitsKHR::eSeparateReferenceImages )
12042 result += "SeparateReferenceImages | ";
12043
12044 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
12045 }
12046
12047 using VideoSessionCreateFlagsKHR = Flags<VideoSessionCreateFlagBitsKHR>;
12048
12049 template <>
12050 struct FlagTraits<VideoSessionCreateFlagBitsKHR>
12051 {
12052 enum : VkFlags
12053 {
12054 allFlags =
12055 VkFlags( VideoSessionCreateFlagBitsKHR::eDefault ) | VkFlags( VideoSessionCreateFlagBitsKHR::eProtectedContent )
12056 };
12057 };
12058
12059 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoSessionCreateFlagsKHR
12060 operator|( VideoSessionCreateFlagBitsKHR bit0, VideoSessionCreateFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
12061 {
12062 return VideoSessionCreateFlagsKHR( bit0 ) | bit1;
12063 }
12064
12065 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoSessionCreateFlagsKHR
12066 operator&(VideoSessionCreateFlagBitsKHR bit0, VideoSessionCreateFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
12067 {
12068 return VideoSessionCreateFlagsKHR( bit0 ) & bit1;
12069 }
12070
12071 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoSessionCreateFlagsKHR
12072 operator^( VideoSessionCreateFlagBitsKHR bit0, VideoSessionCreateFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
12073 {
12074 return VideoSessionCreateFlagsKHR( bit0 ) ^ bit1;
12075 }
12076
12077 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoSessionCreateFlagsKHR operator~( VideoSessionCreateFlagBitsKHR bits )
12078 VULKAN_HPP_NOEXCEPT
12079 {
12080 return ~( VideoSessionCreateFlagsKHR( bits ) );
12081 }
12082
12083 VULKAN_HPP_INLINE std::string to_string( VideoSessionCreateFlagsKHR value )
12084 {
12085 if ( !value )
12086 return "{}";
12087
12088 std::string result;
12089 if ( value & VideoSessionCreateFlagBitsKHR::eProtectedContent )
12090 result += "ProtectedContent | ";
12091
12092 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
12093 }
12094
12095 using VideoBeginCodingFlagsKHR = Flags<VideoBeginCodingFlagBitsKHR>;
12096
12097 VULKAN_HPP_INLINE std::string to_string( VideoBeginCodingFlagsKHR )
12098 {
12099 return "{}";
12100 }
12101
12102 using VideoEndCodingFlagsKHR = Flags<VideoEndCodingFlagBitsKHR>;
12103
12104 VULKAN_HPP_INLINE std::string to_string( VideoEndCodingFlagsKHR )
12105 {
12106 return "{}";
12107 }
12108
12109 using VideoCodingControlFlagsKHR = Flags<VideoCodingControlFlagBitsKHR>;
12110
12111 template <>
12112 struct FlagTraits<VideoCodingControlFlagBitsKHR>
12113 {
12114 enum : VkFlags
12115 {
12116 allFlags = VkFlags( VideoCodingControlFlagBitsKHR::eDefault ) | VkFlags( VideoCodingControlFlagBitsKHR::eReset )
12117 };
12118 };
12119
12120 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCodingControlFlagsKHR
12121 operator|( VideoCodingControlFlagBitsKHR bit0, VideoCodingControlFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
12122 {
12123 return VideoCodingControlFlagsKHR( bit0 ) | bit1;
12124 }
12125
12126 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCodingControlFlagsKHR
12127 operator&(VideoCodingControlFlagBitsKHR bit0, VideoCodingControlFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
12128 {
12129 return VideoCodingControlFlagsKHR( bit0 ) & bit1;
12130 }
12131
12132 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCodingControlFlagsKHR
12133 operator^( VideoCodingControlFlagBitsKHR bit0, VideoCodingControlFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
12134 {
12135 return VideoCodingControlFlagsKHR( bit0 ) ^ bit1;
12136 }
12137
12138 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCodingControlFlagsKHR operator~( VideoCodingControlFlagBitsKHR bits )
12139 VULKAN_HPP_NOEXCEPT
12140 {
12141 return ~( VideoCodingControlFlagsKHR( bits ) );
12142 }
12143
12144 VULKAN_HPP_INLINE std::string to_string( VideoCodingControlFlagsKHR value )
12145 {
12146 if ( !value )
12147 return "{}";
12148
12149 std::string result;
12150 if ( value & VideoCodingControlFlagBitsKHR::eReset )
12151 result += "Reset | ";
12152
12153 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
12154 }
12155
12156 using VideoCodingQualityPresetFlagsKHR = Flags<VideoCodingQualityPresetFlagBitsKHR>;
12157
12158 template <>
12159 struct FlagTraits<VideoCodingQualityPresetFlagBitsKHR>
12160 {
12161 enum : VkFlags
12162 {
12163 allFlags = VkFlags( VideoCodingQualityPresetFlagBitsKHR::eDefault ) |
12164 VkFlags( VideoCodingQualityPresetFlagBitsKHR::eNormal ) |
12165 VkFlags( VideoCodingQualityPresetFlagBitsKHR::ePower ) |
12166 VkFlags( VideoCodingQualityPresetFlagBitsKHR::eQuality )
12167 };
12168 };
12169
12170 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCodingQualityPresetFlagsKHR
12171 operator|( VideoCodingQualityPresetFlagBitsKHR bit0, VideoCodingQualityPresetFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
12172 {
12173 return VideoCodingQualityPresetFlagsKHR( bit0 ) | bit1;
12174 }
12175
12176 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCodingQualityPresetFlagsKHR
12177 operator&(VideoCodingQualityPresetFlagBitsKHR bit0, VideoCodingQualityPresetFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
12178 {
12179 return VideoCodingQualityPresetFlagsKHR( bit0 ) & bit1;
12180 }
12181
12182 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCodingQualityPresetFlagsKHR
12183 operator^( VideoCodingQualityPresetFlagBitsKHR bit0, VideoCodingQualityPresetFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
12184 {
12185 return VideoCodingQualityPresetFlagsKHR( bit0 ) ^ bit1;
12186 }
12187
12188 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCodingQualityPresetFlagsKHR
12189 operator~( VideoCodingQualityPresetFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT
12190 {
12191 return ~( VideoCodingQualityPresetFlagsKHR( bits ) );
12192 }
12193
12194 VULKAN_HPP_INLINE std::string to_string( VideoCodingQualityPresetFlagsKHR value )
12195 {
12196 if ( !value )
12197 return "{}";
12198
12199 std::string result;
12200 if ( value & VideoCodingQualityPresetFlagBitsKHR::eNormal )
12201 result += "Normal | ";
12202 if ( value & VideoCodingQualityPresetFlagBitsKHR::ePower )
12203 result += "Power | ";
12204 if ( value & VideoCodingQualityPresetFlagBitsKHR::eQuality )
12205 result += "Quality | ";
12206
12207 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
12208 }
12209#endif /*VK_ENABLE_BETA_EXTENSIONS*/
12210
12211#if defined( VK_ENABLE_BETA_EXTENSIONS )
12212 //=== VK_KHR_video_decode_queue ===
12213
12214 using VideoDecodeFlagsKHR = Flags<VideoDecodeFlagBitsKHR>;
12215
12216 template <>
12217 struct FlagTraits<VideoDecodeFlagBitsKHR>
12218 {
12219 enum : VkFlags
12220 {
12221 allFlags = VkFlags( VideoDecodeFlagBitsKHR::eDefault ) | VkFlags( VideoDecodeFlagBitsKHR::eReserved0 )
12222 };
12223 };
12224
12225 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoDecodeFlagsKHR
12226 operator|( VideoDecodeFlagBitsKHR bit0, VideoDecodeFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
12227 {
12228 return VideoDecodeFlagsKHR( bit0 ) | bit1;
12229 }
12230
12231 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoDecodeFlagsKHR operator&(VideoDecodeFlagBitsKHR bit0,
12232 VideoDecodeFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
12233 {
12234 return VideoDecodeFlagsKHR( bit0 ) & bit1;
12235 }
12236
12237 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoDecodeFlagsKHR
12238 operator^( VideoDecodeFlagBitsKHR bit0, VideoDecodeFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
12239 {
12240 return VideoDecodeFlagsKHR( bit0 ) ^ bit1;
12241 }
12242
12243 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoDecodeFlagsKHR operator~( VideoDecodeFlagBitsKHR bits )
12244 VULKAN_HPP_NOEXCEPT
12245 {
12246 return ~( VideoDecodeFlagsKHR( bits ) );
12247 }
12248
12249 VULKAN_HPP_INLINE std::string to_string( VideoDecodeFlagsKHR value )
12250 {
12251 if ( !value )
12252 return "{}";
12253
12254 std::string result;
12255 if ( value & VideoDecodeFlagBitsKHR::eReserved0 )
12256 result += "Reserved0 | ";
12257
12258 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
12259 }
12260#endif /*VK_ENABLE_BETA_EXTENSIONS*/
12261
12262 //=== VK_EXT_transform_feedback ===
12263
12264 using PipelineRasterizationStateStreamCreateFlagsEXT = Flags<PipelineRasterizationStateStreamCreateFlagBitsEXT>;
12265
12266 VULKAN_HPP_INLINE std::string to_string( PipelineRasterizationStateStreamCreateFlagsEXT )
12267 {
12268 return "{}";
12269 }
12270
12271#if defined( VK_ENABLE_BETA_EXTENSIONS )
12272 //=== VK_EXT_video_encode_h264 ===
12273
12274 using VideoEncodeH264CapabilityFlagsEXT = Flags<VideoEncodeH264CapabilityFlagBitsEXT>;
12275
12276 template <>
12277 struct FlagTraits<VideoEncodeH264CapabilityFlagBitsEXT>
12278 {
12279 enum : VkFlags
12280 {
12281 allFlags = VkFlags( VideoEncodeH264CapabilityFlagBitsEXT::eCabac ) |
12282 VkFlags( VideoEncodeH264CapabilityFlagBitsEXT::eCavlc ) |
12283 VkFlags( VideoEncodeH264CapabilityFlagBitsEXT::eWeightedBiPredImplicit ) |
12284 VkFlags( VideoEncodeH264CapabilityFlagBitsEXT::eTransform8X8 ) |
12285 VkFlags( VideoEncodeH264CapabilityFlagBitsEXT::eChromaQpOffset ) |
12286 VkFlags( VideoEncodeH264CapabilityFlagBitsEXT::eSecondChromaQpOffset ) |
12287 VkFlags( VideoEncodeH264CapabilityFlagBitsEXT::eDeblockingFilterDisabled ) |
12288 VkFlags( VideoEncodeH264CapabilityFlagBitsEXT::eDeblockingFilterEnabled ) |
12289 VkFlags( VideoEncodeH264CapabilityFlagBitsEXT::eDeblockingFilterPartial ) |
12290 VkFlags( VideoEncodeH264CapabilityFlagBitsEXT::eMultipleSlicePerFrame ) |
12291 VkFlags( VideoEncodeH264CapabilityFlagBitsEXT::eEvenlyDistributedSliceSize )
12292 };
12293 };
12294
12295 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264CapabilityFlagsEXT operator|(
12296 VideoEncodeH264CapabilityFlagBitsEXT bit0, VideoEncodeH264CapabilityFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
12297 {
12298 return VideoEncodeH264CapabilityFlagsEXT( bit0 ) | bit1;
12299 }
12300
12301 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264CapabilityFlagsEXT
12302 operator&(VideoEncodeH264CapabilityFlagBitsEXT bit0, VideoEncodeH264CapabilityFlagBitsEXT bit1)VULKAN_HPP_NOEXCEPT
12303 {
12304 return VideoEncodeH264CapabilityFlagsEXT( bit0 ) & bit1;
12305 }
12306
12307 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264CapabilityFlagsEXT operator^(
12308 VideoEncodeH264CapabilityFlagBitsEXT bit0, VideoEncodeH264CapabilityFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
12309 {
12310 return VideoEncodeH264CapabilityFlagsEXT( bit0 ) ^ bit1;
12311 }
12312
12313 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264CapabilityFlagsEXT
12314 operator~( VideoEncodeH264CapabilityFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT
12315 {
12316 return ~( VideoEncodeH264CapabilityFlagsEXT( bits ) );
12317 }
12318
12319 VULKAN_HPP_INLINE std::string to_string( VideoEncodeH264CapabilityFlagsEXT value )
12320 {
12321 if ( !value )
12322 return "{}";
12323
12324 std::string result;
12325 if ( value & VideoEncodeH264CapabilityFlagBitsEXT::eCabac )
12326 result += "Cabac | ";
12327 if ( value & VideoEncodeH264CapabilityFlagBitsEXT::eCavlc )
12328 result += "Cavlc | ";
12329 if ( value & VideoEncodeH264CapabilityFlagBitsEXT::eWeightedBiPredImplicit )
12330 result += "WeightedBiPredImplicit | ";
12331 if ( value & VideoEncodeH264CapabilityFlagBitsEXT::eTransform8X8 )
12332 result += "Transform8X8 | ";
12333 if ( value & VideoEncodeH264CapabilityFlagBitsEXT::eChromaQpOffset )
12334 result += "ChromaQpOffset | ";
12335 if ( value & VideoEncodeH264CapabilityFlagBitsEXT::eSecondChromaQpOffset )
12336 result += "SecondChromaQpOffset | ";
12337 if ( value & VideoEncodeH264CapabilityFlagBitsEXT::eDeblockingFilterDisabled )
12338 result += "DeblockingFilterDisabled | ";
12339 if ( value & VideoEncodeH264CapabilityFlagBitsEXT::eDeblockingFilterEnabled )
12340 result += "DeblockingFilterEnabled | ";
12341 if ( value & VideoEncodeH264CapabilityFlagBitsEXT::eDeblockingFilterPartial )
12342 result += "DeblockingFilterPartial | ";
12343 if ( value & VideoEncodeH264CapabilityFlagBitsEXT::eMultipleSlicePerFrame )
12344 result += "MultipleSlicePerFrame | ";
12345 if ( value & VideoEncodeH264CapabilityFlagBitsEXT::eEvenlyDistributedSliceSize )
12346 result += "EvenlyDistributedSliceSize | ";
12347
12348 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
12349 }
12350
12351 using VideoEncodeH264InputModeFlagsEXT = Flags<VideoEncodeH264InputModeFlagBitsEXT>;
12352
12353 template <>
12354 struct FlagTraits<VideoEncodeH264InputModeFlagBitsEXT>
12355 {
12356 enum : VkFlags
12357 {
12358 allFlags = VkFlags( VideoEncodeH264InputModeFlagBitsEXT::eFrame ) |
12359 VkFlags( VideoEncodeH264InputModeFlagBitsEXT::eSlice ) |
12360 VkFlags( VideoEncodeH264InputModeFlagBitsEXT::eNonVcl )
12361 };
12362 };
12363
12364 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264InputModeFlagsEXT
12365 operator|( VideoEncodeH264InputModeFlagBitsEXT bit0, VideoEncodeH264InputModeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
12366 {
12367 return VideoEncodeH264InputModeFlagsEXT( bit0 ) | bit1;
12368 }
12369
12370 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264InputModeFlagsEXT
12371 operator&(VideoEncodeH264InputModeFlagBitsEXT bit0, VideoEncodeH264InputModeFlagBitsEXT bit1)VULKAN_HPP_NOEXCEPT
12372 {
12373 return VideoEncodeH264InputModeFlagsEXT( bit0 ) & bit1;
12374 }
12375
12376 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264InputModeFlagsEXT
12377 operator^( VideoEncodeH264InputModeFlagBitsEXT bit0, VideoEncodeH264InputModeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
12378 {
12379 return VideoEncodeH264InputModeFlagsEXT( bit0 ) ^ bit1;
12380 }
12381
12382 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264InputModeFlagsEXT
12383 operator~( VideoEncodeH264InputModeFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT
12384 {
12385 return ~( VideoEncodeH264InputModeFlagsEXT( bits ) );
12386 }
12387
12388 VULKAN_HPP_INLINE std::string to_string( VideoEncodeH264InputModeFlagsEXT value )
12389 {
12390 if ( !value )
12391 return "{}";
12392
12393 std::string result;
12394 if ( value & VideoEncodeH264InputModeFlagBitsEXT::eFrame )
12395 result += "Frame | ";
12396 if ( value & VideoEncodeH264InputModeFlagBitsEXT::eSlice )
12397 result += "Slice | ";
12398 if ( value & VideoEncodeH264InputModeFlagBitsEXT::eNonVcl )
12399 result += "NonVcl | ";
12400
12401 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
12402 }
12403
12404 using VideoEncodeH264OutputModeFlagsEXT = Flags<VideoEncodeH264OutputModeFlagBitsEXT>;
12405
12406 template <>
12407 struct FlagTraits<VideoEncodeH264OutputModeFlagBitsEXT>
12408 {
12409 enum : VkFlags
12410 {
12411 allFlags = VkFlags( VideoEncodeH264OutputModeFlagBitsEXT::eFrame ) |
12412 VkFlags( VideoEncodeH264OutputModeFlagBitsEXT::eSlice ) |
12413 VkFlags( VideoEncodeH264OutputModeFlagBitsEXT::eNonVcl )
12414 };
12415 };
12416
12417 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264OutputModeFlagsEXT operator|(
12418 VideoEncodeH264OutputModeFlagBitsEXT bit0, VideoEncodeH264OutputModeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
12419 {
12420 return VideoEncodeH264OutputModeFlagsEXT( bit0 ) | bit1;
12421 }
12422
12423 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264OutputModeFlagsEXT
12424 operator&(VideoEncodeH264OutputModeFlagBitsEXT bit0, VideoEncodeH264OutputModeFlagBitsEXT bit1)VULKAN_HPP_NOEXCEPT
12425 {
12426 return VideoEncodeH264OutputModeFlagsEXT( bit0 ) & bit1;
12427 }
12428
12429 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264OutputModeFlagsEXT operator^(
12430 VideoEncodeH264OutputModeFlagBitsEXT bit0, VideoEncodeH264OutputModeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
12431 {
12432 return VideoEncodeH264OutputModeFlagsEXT( bit0 ) ^ bit1;
12433 }
12434
12435 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264OutputModeFlagsEXT
12436 operator~( VideoEncodeH264OutputModeFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT
12437 {
12438 return ~( VideoEncodeH264OutputModeFlagsEXT( bits ) );
12439 }
12440
12441 VULKAN_HPP_INLINE std::string to_string( VideoEncodeH264OutputModeFlagsEXT value )
12442 {
12443 if ( !value )
12444 return "{}";
12445
12446 std::string result;
12447 if ( value & VideoEncodeH264OutputModeFlagBitsEXT::eFrame )
12448 result += "Frame | ";
12449 if ( value & VideoEncodeH264OutputModeFlagBitsEXT::eSlice )
12450 result += "Slice | ";
12451 if ( value & VideoEncodeH264OutputModeFlagBitsEXT::eNonVcl )
12452 result += "NonVcl | ";
12453
12454 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
12455 }
12456
12457 using VideoEncodeH264CreateFlagsEXT = Flags<VideoEncodeH264CreateFlagBitsEXT>;
12458
12459 template <>
12460 struct FlagTraits<VideoEncodeH264CreateFlagBitsEXT>
12461 {
12462 enum : VkFlags
12463 {
12464 allFlags =
12465 VkFlags( VideoEncodeH264CreateFlagBitsEXT::eDefault ) | VkFlags( VideoEncodeH264CreateFlagBitsEXT::eReserved0 )
12466 };
12467 };
12468
12469 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264CreateFlagsEXT
12470 operator|( VideoEncodeH264CreateFlagBitsEXT bit0, VideoEncodeH264CreateFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
12471 {
12472 return VideoEncodeH264CreateFlagsEXT( bit0 ) | bit1;
12473 }
12474
12475 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264CreateFlagsEXT
12476 operator&(VideoEncodeH264CreateFlagBitsEXT bit0, VideoEncodeH264CreateFlagBitsEXT bit1)VULKAN_HPP_NOEXCEPT
12477 {
12478 return VideoEncodeH264CreateFlagsEXT( bit0 ) & bit1;
12479 }
12480
12481 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264CreateFlagsEXT
12482 operator^( VideoEncodeH264CreateFlagBitsEXT bit0, VideoEncodeH264CreateFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
12483 {
12484 return VideoEncodeH264CreateFlagsEXT( bit0 ) ^ bit1;
12485 }
12486
12487 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264CreateFlagsEXT
12488 operator~( VideoEncodeH264CreateFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT
12489 {
12490 return ~( VideoEncodeH264CreateFlagsEXT( bits ) );
12491 }
12492
12493 VULKAN_HPP_INLINE std::string to_string( VideoEncodeH264CreateFlagsEXT value )
12494 {
12495 if ( !value )
12496 return "{}";
12497
12498 std::string result;
12499 if ( value & VideoEncodeH264CreateFlagBitsEXT::eReserved0 )
12500 result += "Reserved0 | ";
12501
12502 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
12503 }
12504#endif /*VK_ENABLE_BETA_EXTENSIONS*/
12505
12506#if defined( VK_ENABLE_BETA_EXTENSIONS )
12507 //=== VK_EXT_video_decode_h264 ===
12508
12509 using VideoDecodeH264PictureLayoutFlagsEXT = Flags<VideoDecodeH264PictureLayoutFlagBitsEXT>;
12510
12511 template <>
12512 struct FlagTraits<VideoDecodeH264PictureLayoutFlagBitsEXT>
12513 {
12514 enum : VkFlags
12515 {
12516 allFlags = VkFlags( VideoDecodeH264PictureLayoutFlagBitsEXT::eProgressive ) |
12517 VkFlags( VideoDecodeH264PictureLayoutFlagBitsEXT::eInterlacedInterleavedLines ) |
12518 VkFlags( VideoDecodeH264PictureLayoutFlagBitsEXT::eInterlacedSeparatePlanes )
12519 };
12520 };
12521
12522 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoDecodeH264PictureLayoutFlagsEXT operator|(
12523 VideoDecodeH264PictureLayoutFlagBitsEXT bit0, VideoDecodeH264PictureLayoutFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
12524 {
12525 return VideoDecodeH264PictureLayoutFlagsEXT( bit0 ) | bit1;
12526 }
12527
12528 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoDecodeH264PictureLayoutFlagsEXT operator&(
12529 VideoDecodeH264PictureLayoutFlagBitsEXT bit0, VideoDecodeH264PictureLayoutFlagBitsEXT bit1)VULKAN_HPP_NOEXCEPT
12530 {
12531 return VideoDecodeH264PictureLayoutFlagsEXT( bit0 ) & bit1;
12532 }
12533
12534 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoDecodeH264PictureLayoutFlagsEXT operator^(
12535 VideoDecodeH264PictureLayoutFlagBitsEXT bit0, VideoDecodeH264PictureLayoutFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
12536 {
12537 return VideoDecodeH264PictureLayoutFlagsEXT( bit0 ) ^ bit1;
12538 }
12539
12540 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoDecodeH264PictureLayoutFlagsEXT
12541 operator~( VideoDecodeH264PictureLayoutFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT
12542 {
12543 return ~( VideoDecodeH264PictureLayoutFlagsEXT( bits ) );
12544 }
12545
12546 VULKAN_HPP_INLINE std::string to_string( VideoDecodeH264PictureLayoutFlagsEXT value )
12547 {
12548 if ( !value )
12549 return "{}";
12550
12551 std::string result;
12552 if ( value & VideoDecodeH264PictureLayoutFlagBitsEXT::eInterlacedInterleavedLines )
12553 result += "InterlacedInterleavedLines | ";
12554 if ( value & VideoDecodeH264PictureLayoutFlagBitsEXT::eInterlacedSeparatePlanes )
12555 result += "InterlacedSeparatePlanes | ";
12556
12557 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
12558 }
12559
12560 using VideoDecodeH264CreateFlagsEXT = Flags<VideoDecodeH264CreateFlagBitsEXT>;
12561
12562 VULKAN_HPP_INLINE std::string to_string( VideoDecodeH264CreateFlagsEXT )
12563 {
12564 return "{}";
12565 }
12566#endif /*VK_ENABLE_BETA_EXTENSIONS*/
12567
12568#if defined( VK_USE_PLATFORM_GGP )
12569 //=== VK_GGP_stream_descriptor_surface ===
12570
12571 using StreamDescriptorSurfaceCreateFlagsGGP = Flags<StreamDescriptorSurfaceCreateFlagBitsGGP>;
12572
12573 VULKAN_HPP_INLINE std::string to_string( StreamDescriptorSurfaceCreateFlagsGGP )
12574 {
12575 return "{}";
12576 }
12577#endif /*VK_USE_PLATFORM_GGP*/
12578
12579 //=== VK_NV_external_memory_capabilities ===
12580
12581 using ExternalMemoryHandleTypeFlagsNV = Flags<ExternalMemoryHandleTypeFlagBitsNV>;
12582
12583 template <>
12584 struct FlagTraits<ExternalMemoryHandleTypeFlagBitsNV>
12585 {
12586 enum : VkFlags
12587 {
12588 allFlags = VkFlags( ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32 ) |
12589 VkFlags( ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32Kmt ) |
12590 VkFlags( ExternalMemoryHandleTypeFlagBitsNV::eD3D11Image ) |
12591 VkFlags( ExternalMemoryHandleTypeFlagBitsNV::eD3D11ImageKmt )
12592 };
12593 };
12594
12595 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlagsNV
12596 operator|( ExternalMemoryHandleTypeFlagBitsNV bit0, ExternalMemoryHandleTypeFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
12597 {
12598 return ExternalMemoryHandleTypeFlagsNV( bit0 ) | bit1;
12599 }
12600
12601 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlagsNV
12602 operator&(ExternalMemoryHandleTypeFlagBitsNV bit0, ExternalMemoryHandleTypeFlagBitsNV bit1)VULKAN_HPP_NOEXCEPT
12603 {
12604 return ExternalMemoryHandleTypeFlagsNV( bit0 ) & bit1;
12605 }
12606
12607 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlagsNV
12608 operator^( ExternalMemoryHandleTypeFlagBitsNV bit0, ExternalMemoryHandleTypeFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
12609 {
12610 return ExternalMemoryHandleTypeFlagsNV( bit0 ) ^ bit1;
12611 }
12612
12613 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlagsNV
12614 operator~( ExternalMemoryHandleTypeFlagBitsNV bits ) VULKAN_HPP_NOEXCEPT
12615 {
12616 return ~( ExternalMemoryHandleTypeFlagsNV( bits ) );
12617 }
12618
12619 VULKAN_HPP_INLINE std::string to_string( ExternalMemoryHandleTypeFlagsNV value )
12620 {
12621 if ( !value )
12622 return "{}";
12623
12624 std::string result;
12625 if ( value & ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32 )
12626 result += "OpaqueWin32 | ";
12627 if ( value & ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32Kmt )
12628 result += "OpaqueWin32Kmt | ";
12629 if ( value & ExternalMemoryHandleTypeFlagBitsNV::eD3D11Image )
12630 result += "D3D11Image | ";
12631 if ( value & ExternalMemoryHandleTypeFlagBitsNV::eD3D11ImageKmt )
12632 result += "D3D11ImageKmt | ";
12633
12634 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
12635 }
12636
12637 using ExternalMemoryFeatureFlagsNV = Flags<ExternalMemoryFeatureFlagBitsNV>;
12638
12639 template <>
12640 struct FlagTraits<ExternalMemoryFeatureFlagBitsNV>
12641 {
12642 enum : VkFlags
12643 {
12644 allFlags = VkFlags( ExternalMemoryFeatureFlagBitsNV::eDedicatedOnly ) |
12645 VkFlags( ExternalMemoryFeatureFlagBitsNV::eExportable ) |
12646 VkFlags( ExternalMemoryFeatureFlagBitsNV::eImportable )
12647 };
12648 };
12649
12650 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlagsNV
12651 operator|( ExternalMemoryFeatureFlagBitsNV bit0, ExternalMemoryFeatureFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
12652 {
12653 return ExternalMemoryFeatureFlagsNV( bit0 ) | bit1;
12654 }
12655
12656 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlagsNV
12657 operator&(ExternalMemoryFeatureFlagBitsNV bit0, ExternalMemoryFeatureFlagBitsNV bit1)VULKAN_HPP_NOEXCEPT
12658 {
12659 return ExternalMemoryFeatureFlagsNV( bit0 ) & bit1;
12660 }
12661
12662 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlagsNV
12663 operator^( ExternalMemoryFeatureFlagBitsNV bit0, ExternalMemoryFeatureFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
12664 {
12665 return ExternalMemoryFeatureFlagsNV( bit0 ) ^ bit1;
12666 }
12667
12668 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlagsNV operator~( ExternalMemoryFeatureFlagBitsNV bits )
12669 VULKAN_HPP_NOEXCEPT
12670 {
12671 return ~( ExternalMemoryFeatureFlagsNV( bits ) );
12672 }
12673
12674 VULKAN_HPP_INLINE std::string to_string( ExternalMemoryFeatureFlagsNV value )
12675 {
12676 if ( !value )
12677 return "{}";
12678
12679 std::string result;
12680 if ( value & ExternalMemoryFeatureFlagBitsNV::eDedicatedOnly )
12681 result += "DedicatedOnly | ";
12682 if ( value & ExternalMemoryFeatureFlagBitsNV::eExportable )
12683 result += "Exportable | ";
12684 if ( value & ExternalMemoryFeatureFlagBitsNV::eImportable )
12685 result += "Importable | ";
12686
12687 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
12688 }
12689
12690#if defined( VK_USE_PLATFORM_VI_NN )
12691 //=== VK_NN_vi_surface ===
12692
12693 using ViSurfaceCreateFlagsNN = Flags<ViSurfaceCreateFlagBitsNN>;
12694
12695 VULKAN_HPP_INLINE std::string to_string( ViSurfaceCreateFlagsNN )
12696 {
12697 return "{}";
12698 }
12699#endif /*VK_USE_PLATFORM_VI_NN*/
12700
12701 //=== VK_EXT_conditional_rendering ===
12702
12703 using ConditionalRenderingFlagsEXT = Flags<ConditionalRenderingFlagBitsEXT>;
12704
12705 template <>
12706 struct FlagTraits<ConditionalRenderingFlagBitsEXT>
12707 {
12708 enum : VkFlags
12709 {
12710 allFlags = VkFlags( ConditionalRenderingFlagBitsEXT::eInverted )
12711 };
12712 };
12713
12714 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ConditionalRenderingFlagsEXT
12715 operator|( ConditionalRenderingFlagBitsEXT bit0, ConditionalRenderingFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
12716 {
12717 return ConditionalRenderingFlagsEXT( bit0 ) | bit1;
12718 }
12719
12720 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ConditionalRenderingFlagsEXT
12721 operator&(ConditionalRenderingFlagBitsEXT bit0, ConditionalRenderingFlagBitsEXT bit1)VULKAN_HPP_NOEXCEPT
12722 {
12723 return ConditionalRenderingFlagsEXT( bit0 ) & bit1;
12724 }
12725
12726 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ConditionalRenderingFlagsEXT
12727 operator^( ConditionalRenderingFlagBitsEXT bit0, ConditionalRenderingFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
12728 {
12729 return ConditionalRenderingFlagsEXT( bit0 ) ^ bit1;
12730 }
12731
12732 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ConditionalRenderingFlagsEXT operator~( ConditionalRenderingFlagBitsEXT bits )
12733 VULKAN_HPP_NOEXCEPT
12734 {
12735 return ~( ConditionalRenderingFlagsEXT( bits ) );
12736 }
12737
12738 VULKAN_HPP_INLINE std::string to_string( ConditionalRenderingFlagsEXT value )
12739 {
12740 if ( !value )
12741 return "{}";
12742
12743 std::string result;
12744 if ( value & ConditionalRenderingFlagBitsEXT::eInverted )
12745 result += "Inverted | ";
12746
12747 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
12748 }
12749
12750 //=== VK_EXT_display_surface_counter ===
12751
12752 using SurfaceCounterFlagsEXT = Flags<SurfaceCounterFlagBitsEXT>;
12753
12754 template <>
12755 struct FlagTraits<SurfaceCounterFlagBitsEXT>
12756 {
12757 enum : VkFlags
12758 {
12759 allFlags = VkFlags( SurfaceCounterFlagBitsEXT::eVblank )
12760 };
12761 };
12762
12763 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceCounterFlagsEXT
12764 operator|( SurfaceCounterFlagBitsEXT bit0, SurfaceCounterFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
12765 {
12766 return SurfaceCounterFlagsEXT( bit0 ) | bit1;
12767 }
12768
12769 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceCounterFlagsEXT
12770 operator&(SurfaceCounterFlagBitsEXT bit0, SurfaceCounterFlagBitsEXT bit1)VULKAN_HPP_NOEXCEPT
12771 {
12772 return SurfaceCounterFlagsEXT( bit0 ) & bit1;
12773 }
12774
12775 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceCounterFlagsEXT
12776 operator^( SurfaceCounterFlagBitsEXT bit0, SurfaceCounterFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
12777 {
12778 return SurfaceCounterFlagsEXT( bit0 ) ^ bit1;
12779 }
12780
12781 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceCounterFlagsEXT operator~( SurfaceCounterFlagBitsEXT bits )
12782 VULKAN_HPP_NOEXCEPT
12783 {
12784 return ~( SurfaceCounterFlagsEXT( bits ) );
12785 }
12786
12787 VULKAN_HPP_INLINE std::string to_string( SurfaceCounterFlagsEXT value )
12788 {
12789 if ( !value )
12790 return "{}";
12791
12792 std::string result;
12793 if ( value & SurfaceCounterFlagBitsEXT::eVblank )
12794 result += "Vblank | ";
12795
12796 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
12797 }
12798
12799 //=== VK_NV_viewport_swizzle ===
12800
12801 using PipelineViewportSwizzleStateCreateFlagsNV = Flags<PipelineViewportSwizzleStateCreateFlagBitsNV>;
12802
12803 VULKAN_HPP_INLINE std::string to_string( PipelineViewportSwizzleStateCreateFlagsNV )
12804 {
12805 return "{}";
12806 }
12807
12808 //=== VK_EXT_discard_rectangles ===
12809
12810 using PipelineDiscardRectangleStateCreateFlagsEXT = Flags<PipelineDiscardRectangleStateCreateFlagBitsEXT>;
12811
12812 VULKAN_HPP_INLINE std::string to_string( PipelineDiscardRectangleStateCreateFlagsEXT )
12813 {
12814 return "{}";
12815 }
12816
12817 //=== VK_EXT_conservative_rasterization ===
12818
12819 using PipelineRasterizationConservativeStateCreateFlagsEXT =
12820 Flags<PipelineRasterizationConservativeStateCreateFlagBitsEXT>;
12821
12822 VULKAN_HPP_INLINE std::string to_string( PipelineRasterizationConservativeStateCreateFlagsEXT )
12823 {
12824 return "{}";
12825 }
12826
12827 //=== VK_EXT_depth_clip_enable ===
12828
12829 using PipelineRasterizationDepthClipStateCreateFlagsEXT = Flags<PipelineRasterizationDepthClipStateCreateFlagBitsEXT>;
12830
12831 VULKAN_HPP_INLINE std::string to_string( PipelineRasterizationDepthClipStateCreateFlagsEXT )
12832 {
12833 return "{}";
12834 }
12835
12836 //=== VK_KHR_performance_query ===
12837
12838 using PerformanceCounterDescriptionFlagsKHR = Flags<PerformanceCounterDescriptionFlagBitsKHR>;
12839
12840 template <>
12841 struct FlagTraits<PerformanceCounterDescriptionFlagBitsKHR>
12842 {
12843 enum : VkFlags
12844 {
12845 allFlags = VkFlags( PerformanceCounterDescriptionFlagBitsKHR::ePerformanceImpacting ) |
12846 VkFlags( PerformanceCounterDescriptionFlagBitsKHR::eConcurrentlyImpacted )
12847 };
12848 };
12849
12850 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PerformanceCounterDescriptionFlagsKHR operator|(
12851 PerformanceCounterDescriptionFlagBitsKHR bit0, PerformanceCounterDescriptionFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
12852 {
12853 return PerformanceCounterDescriptionFlagsKHR( bit0 ) | bit1;
12854 }
12855
12856 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PerformanceCounterDescriptionFlagsKHR operator&(
12857 PerformanceCounterDescriptionFlagBitsKHR bit0, PerformanceCounterDescriptionFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
12858 {
12859 return PerformanceCounterDescriptionFlagsKHR( bit0 ) & bit1;
12860 }
12861
12862 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PerformanceCounterDescriptionFlagsKHR operator^(
12863 PerformanceCounterDescriptionFlagBitsKHR bit0, PerformanceCounterDescriptionFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
12864 {
12865 return PerformanceCounterDescriptionFlagsKHR( bit0 ) ^ bit1;
12866 }
12867
12868 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PerformanceCounterDescriptionFlagsKHR
12869 operator~( PerformanceCounterDescriptionFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT
12870 {
12871 return ~( PerformanceCounterDescriptionFlagsKHR( bits ) );
12872 }
12873
12874 VULKAN_HPP_INLINE std::string to_string( PerformanceCounterDescriptionFlagsKHR value )
12875 {
12876 if ( !value )
12877 return "{}";
12878
12879 std::string result;
12880 if ( value & PerformanceCounterDescriptionFlagBitsKHR::ePerformanceImpacting )
12881 result += "PerformanceImpacting | ";
12882 if ( value & PerformanceCounterDescriptionFlagBitsKHR::eConcurrentlyImpacted )
12883 result += "ConcurrentlyImpacted | ";
12884
12885 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
12886 }
12887
12888 using AcquireProfilingLockFlagsKHR = Flags<AcquireProfilingLockFlagBitsKHR>;
12889
12890 VULKAN_HPP_INLINE std::string to_string( AcquireProfilingLockFlagsKHR )
12891 {
12892 return "{}";
12893 }
12894
12895#if defined( VK_USE_PLATFORM_IOS_MVK )
12896 //=== VK_MVK_ios_surface ===
12897
12898 using IOSSurfaceCreateFlagsMVK = Flags<IOSSurfaceCreateFlagBitsMVK>;
12899
12900 VULKAN_HPP_INLINE std::string to_string( IOSSurfaceCreateFlagsMVK )
12901 {
12902 return "{}";
12903 }
12904#endif /*VK_USE_PLATFORM_IOS_MVK*/
12905
12906#if defined( VK_USE_PLATFORM_MACOS_MVK )
12907 //=== VK_MVK_macos_surface ===
12908
12909 using MacOSSurfaceCreateFlagsMVK = Flags<MacOSSurfaceCreateFlagBitsMVK>;
12910
12911 VULKAN_HPP_INLINE std::string to_string( MacOSSurfaceCreateFlagsMVK )
12912 {
12913 return "{}";
12914 }
12915#endif /*VK_USE_PLATFORM_MACOS_MVK*/
12916
12917 //=== VK_EXT_debug_utils ===
12918
12919 using DebugUtilsMessageSeverityFlagsEXT = Flags<DebugUtilsMessageSeverityFlagBitsEXT>;
12920
12921 template <>
12922 struct FlagTraits<DebugUtilsMessageSeverityFlagBitsEXT>
12923 {
12924 enum : VkFlags
12925 {
12926 allFlags = VkFlags( DebugUtilsMessageSeverityFlagBitsEXT::eVerbose ) |
12927 VkFlags( DebugUtilsMessageSeverityFlagBitsEXT::eInfo ) |
12928 VkFlags( DebugUtilsMessageSeverityFlagBitsEXT::eWarning ) |
12929 VkFlags( DebugUtilsMessageSeverityFlagBitsEXT::eError )
12930 };
12931 };
12932
12933 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageSeverityFlagsEXT operator|(
12934 DebugUtilsMessageSeverityFlagBitsEXT bit0, DebugUtilsMessageSeverityFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
12935 {
12936 return DebugUtilsMessageSeverityFlagsEXT( bit0 ) | bit1;
12937 }
12938
12939 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageSeverityFlagsEXT
12940 operator&(DebugUtilsMessageSeverityFlagBitsEXT bit0, DebugUtilsMessageSeverityFlagBitsEXT bit1)VULKAN_HPP_NOEXCEPT
12941 {
12942 return DebugUtilsMessageSeverityFlagsEXT( bit0 ) & bit1;
12943 }
12944
12945 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageSeverityFlagsEXT operator^(
12946 DebugUtilsMessageSeverityFlagBitsEXT bit0, DebugUtilsMessageSeverityFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
12947 {
12948 return DebugUtilsMessageSeverityFlagsEXT( bit0 ) ^ bit1;
12949 }
12950
12951 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageSeverityFlagsEXT
12952 operator~( DebugUtilsMessageSeverityFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT
12953 {
12954 return ~( DebugUtilsMessageSeverityFlagsEXT( bits ) );
12955 }
12956
12957 VULKAN_HPP_INLINE std::string to_string( DebugUtilsMessageSeverityFlagsEXT value )
12958 {
12959 if ( !value )
12960 return "{}";
12961
12962 std::string result;
12963 if ( value & DebugUtilsMessageSeverityFlagBitsEXT::eVerbose )
12964 result += "Verbose | ";
12965 if ( value & DebugUtilsMessageSeverityFlagBitsEXT::eInfo )
12966 result += "Info | ";
12967 if ( value & DebugUtilsMessageSeverityFlagBitsEXT::eWarning )
12968 result += "Warning | ";
12969 if ( value & DebugUtilsMessageSeverityFlagBitsEXT::eError )
12970 result += "Error | ";
12971
12972 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
12973 }
12974
12975 using DebugUtilsMessageTypeFlagsEXT = Flags<DebugUtilsMessageTypeFlagBitsEXT>;
12976
12977 template <>
12978 struct FlagTraits<DebugUtilsMessageTypeFlagBitsEXT>
12979 {
12980 enum : VkFlags
12981 {
12982 allFlags = VkFlags( DebugUtilsMessageTypeFlagBitsEXT::eGeneral ) |
12983 VkFlags( DebugUtilsMessageTypeFlagBitsEXT::eValidation ) |
12984 VkFlags( DebugUtilsMessageTypeFlagBitsEXT::ePerformance )
12985 };
12986 };
12987
12988 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageTypeFlagsEXT
12989 operator|( DebugUtilsMessageTypeFlagBitsEXT bit0, DebugUtilsMessageTypeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
12990 {
12991 return DebugUtilsMessageTypeFlagsEXT( bit0 ) | bit1;
12992 }
12993
12994 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageTypeFlagsEXT
12995 operator&(DebugUtilsMessageTypeFlagBitsEXT bit0, DebugUtilsMessageTypeFlagBitsEXT bit1)VULKAN_HPP_NOEXCEPT
12996 {
12997 return DebugUtilsMessageTypeFlagsEXT( bit0 ) & bit1;
12998 }
12999
13000 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageTypeFlagsEXT
13001 operator^( DebugUtilsMessageTypeFlagBitsEXT bit0, DebugUtilsMessageTypeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
13002 {
13003 return DebugUtilsMessageTypeFlagsEXT( bit0 ) ^ bit1;
13004 }
13005
13006 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageTypeFlagsEXT
13007 operator~( DebugUtilsMessageTypeFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT
13008 {
13009 return ~( DebugUtilsMessageTypeFlagsEXT( bits ) );
13010 }
13011
13012 VULKAN_HPP_INLINE std::string to_string( DebugUtilsMessageTypeFlagsEXT value )
13013 {
13014 if ( !value )
13015 return "{}";
13016
13017 std::string result;
13018 if ( value & DebugUtilsMessageTypeFlagBitsEXT::eGeneral )
13019 result += "General | ";
13020 if ( value & DebugUtilsMessageTypeFlagBitsEXT::eValidation )
13021 result += "Validation | ";
13022 if ( value & DebugUtilsMessageTypeFlagBitsEXT::ePerformance )
13023 result += "Performance | ";
13024
13025 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
13026 }
13027
13028 using DebugUtilsMessengerCallbackDataFlagsEXT = Flags<DebugUtilsMessengerCallbackDataFlagBitsEXT>;
13029
13030 VULKAN_HPP_INLINE std::string to_string( DebugUtilsMessengerCallbackDataFlagsEXT )
13031 {
13032 return "{}";
13033 }
13034
13035 using DebugUtilsMessengerCreateFlagsEXT = Flags<DebugUtilsMessengerCreateFlagBitsEXT>;
13036
13037 VULKAN_HPP_INLINE std::string to_string( DebugUtilsMessengerCreateFlagsEXT )
13038 {
13039 return "{}";
13040 }
13041
13042 //=== VK_NV_fragment_coverage_to_color ===
13043
13044 using PipelineCoverageToColorStateCreateFlagsNV = Flags<PipelineCoverageToColorStateCreateFlagBitsNV>;
13045
13046 VULKAN_HPP_INLINE std::string to_string( PipelineCoverageToColorStateCreateFlagsNV )
13047 {
13048 return "{}";
13049 }
13050
13051 //=== VK_KHR_acceleration_structure ===
13052
13053 using GeometryFlagsKHR = Flags<GeometryFlagBitsKHR>;
13054
13055 template <>
13056 struct FlagTraits<GeometryFlagBitsKHR>
13057 {
13058 enum : VkFlags
13059 {
13060 allFlags = VkFlags( GeometryFlagBitsKHR::eOpaque ) | VkFlags( GeometryFlagBitsKHR::eNoDuplicateAnyHitInvocation )
13061 };
13062 };
13063
13064 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryFlagsKHR operator|( GeometryFlagBitsKHR bit0,
13065 GeometryFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
13066 {
13067 return GeometryFlagsKHR( bit0 ) | bit1;
13068 }
13069
13070 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryFlagsKHR operator&(GeometryFlagBitsKHR bit0,
13071 GeometryFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
13072 {
13073 return GeometryFlagsKHR( bit0 ) & bit1;
13074 }
13075
13076 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryFlagsKHR operator^( GeometryFlagBitsKHR bit0,
13077 GeometryFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
13078 {
13079 return GeometryFlagsKHR( bit0 ) ^ bit1;
13080 }
13081
13082 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryFlagsKHR operator~( GeometryFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT
13083 {
13084 return ~( GeometryFlagsKHR( bits ) );
13085 }
13086
13087 using GeometryFlagsNV = GeometryFlagsKHR;
13088
13089 VULKAN_HPP_INLINE std::string to_string( GeometryFlagsKHR value )
13090 {
13091 if ( !value )
13092 return "{}";
13093
13094 std::string result;
13095 if ( value & GeometryFlagBitsKHR::eOpaque )
13096 result += "Opaque | ";
13097 if ( value & GeometryFlagBitsKHR::eNoDuplicateAnyHitInvocation )
13098 result += "NoDuplicateAnyHitInvocation | ";
13099
13100 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
13101 }
13102
13103 using GeometryInstanceFlagsKHR = Flags<GeometryInstanceFlagBitsKHR>;
13104
13105 template <>
13106 struct FlagTraits<GeometryInstanceFlagBitsKHR>
13107 {
13108 enum : VkFlags
13109 {
13110 allFlags = VkFlags( GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable ) |
13111 VkFlags( GeometryInstanceFlagBitsKHR::eTriangleFlipFacing ) |
13112 VkFlags( GeometryInstanceFlagBitsKHR::eForceOpaque ) |
13113 VkFlags( GeometryInstanceFlagBitsKHR::eForceNoOpaque )
13114 };
13115 };
13116
13117 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryInstanceFlagsKHR
13118 operator|( GeometryInstanceFlagBitsKHR bit0, GeometryInstanceFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
13119 {
13120 return GeometryInstanceFlagsKHR( bit0 ) | bit1;
13121 }
13122
13123 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryInstanceFlagsKHR
13124 operator&(GeometryInstanceFlagBitsKHR bit0, GeometryInstanceFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
13125 {
13126 return GeometryInstanceFlagsKHR( bit0 ) & bit1;
13127 }
13128
13129 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryInstanceFlagsKHR
13130 operator^( GeometryInstanceFlagBitsKHR bit0, GeometryInstanceFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
13131 {
13132 return GeometryInstanceFlagsKHR( bit0 ) ^ bit1;
13133 }
13134
13135 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryInstanceFlagsKHR operator~( GeometryInstanceFlagBitsKHR bits )
13136 VULKAN_HPP_NOEXCEPT
13137 {
13138 return ~( GeometryInstanceFlagsKHR( bits ) );
13139 }
13140
13141 using GeometryInstanceFlagsNV = GeometryInstanceFlagsKHR;
13142
13143 VULKAN_HPP_INLINE std::string to_string( GeometryInstanceFlagsKHR value )
13144 {
13145 if ( !value )
13146 return "{}";
13147
13148 std::string result;
13149 if ( value & GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable )
13150 result += "TriangleFacingCullDisable | ";
13151 if ( value & GeometryInstanceFlagBitsKHR::eTriangleFlipFacing )
13152 result += "TriangleFlipFacing | ";
13153 if ( value & GeometryInstanceFlagBitsKHR::eForceOpaque )
13154 result += "ForceOpaque | ";
13155 if ( value & GeometryInstanceFlagBitsKHR::eForceNoOpaque )
13156 result += "ForceNoOpaque | ";
13157
13158 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
13159 }
13160
13161 using BuildAccelerationStructureFlagsKHR = Flags<BuildAccelerationStructureFlagBitsKHR>;
13162
13163 template <>
13164 struct FlagTraits<BuildAccelerationStructureFlagBitsKHR>
13165 {
13166 enum : VkFlags
13167 {
13168 allFlags = VkFlags( BuildAccelerationStructureFlagBitsKHR::eAllowUpdate ) |
13169 VkFlags( BuildAccelerationStructureFlagBitsKHR::eAllowCompaction ) |
13170 VkFlags( BuildAccelerationStructureFlagBitsKHR::ePreferFastTrace ) |
13171 VkFlags( BuildAccelerationStructureFlagBitsKHR::ePreferFastBuild ) |
13172 VkFlags( BuildAccelerationStructureFlagBitsKHR::eLowMemory ) |
13173 VkFlags( BuildAccelerationStructureFlagBitsKHR::eMotionNV )
13174 };
13175 };
13176
13177 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BuildAccelerationStructureFlagsKHR operator|(
13178 BuildAccelerationStructureFlagBitsKHR bit0, BuildAccelerationStructureFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
13179 {
13180 return BuildAccelerationStructureFlagsKHR( bit0 ) | bit1;
13181 }
13182
13183 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BuildAccelerationStructureFlagsKHR
13184 operator&(BuildAccelerationStructureFlagBitsKHR bit0, BuildAccelerationStructureFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
13185 {
13186 return BuildAccelerationStructureFlagsKHR( bit0 ) & bit1;
13187 }
13188
13189 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BuildAccelerationStructureFlagsKHR operator^(
13190 BuildAccelerationStructureFlagBitsKHR bit0, BuildAccelerationStructureFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
13191 {
13192 return BuildAccelerationStructureFlagsKHR( bit0 ) ^ bit1;
13193 }
13194
13195 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BuildAccelerationStructureFlagsKHR
13196 operator~( BuildAccelerationStructureFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT
13197 {
13198 return ~( BuildAccelerationStructureFlagsKHR( bits ) );
13199 }
13200
13201 using BuildAccelerationStructureFlagsNV = BuildAccelerationStructureFlagsKHR;
13202
13203 VULKAN_HPP_INLINE std::string to_string( BuildAccelerationStructureFlagsKHR value )
13204 {
13205 if ( !value )
13206 return "{}";
13207
13208 std::string result;
13209 if ( value & BuildAccelerationStructureFlagBitsKHR::eAllowUpdate )
13210 result += "AllowUpdate | ";
13211 if ( value & BuildAccelerationStructureFlagBitsKHR::eAllowCompaction )
13212 result += "AllowCompaction | ";
13213 if ( value & BuildAccelerationStructureFlagBitsKHR::ePreferFastTrace )
13214 result += "PreferFastTrace | ";
13215 if ( value & BuildAccelerationStructureFlagBitsKHR::ePreferFastBuild )
13216 result += "PreferFastBuild | ";
13217 if ( value & BuildAccelerationStructureFlagBitsKHR::eLowMemory )
13218 result += "LowMemory | ";
13219 if ( value & BuildAccelerationStructureFlagBitsKHR::eMotionNV )
13220 result += "MotionNV | ";
13221
13222 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
13223 }
13224
13225 using AccelerationStructureCreateFlagsKHR = Flags<AccelerationStructureCreateFlagBitsKHR>;
13226
13227 template <>
13228 struct FlagTraits<AccelerationStructureCreateFlagBitsKHR>
13229 {
13230 enum : VkFlags
13231 {
13232 allFlags = VkFlags( AccelerationStructureCreateFlagBitsKHR::eDeviceAddressCaptureReplay ) |
13233 VkFlags( AccelerationStructureCreateFlagBitsKHR::eMotionNV )
13234 };
13235 };
13236
13237 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccelerationStructureCreateFlagsKHR operator|(
13238 AccelerationStructureCreateFlagBitsKHR bit0, AccelerationStructureCreateFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
13239 {
13240 return AccelerationStructureCreateFlagsKHR( bit0 ) | bit1;
13241 }
13242
13243 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccelerationStructureCreateFlagsKHR operator&(
13244 AccelerationStructureCreateFlagBitsKHR bit0, AccelerationStructureCreateFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
13245 {
13246 return AccelerationStructureCreateFlagsKHR( bit0 ) & bit1;
13247 }
13248
13249 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccelerationStructureCreateFlagsKHR operator^(
13250 AccelerationStructureCreateFlagBitsKHR bit0, AccelerationStructureCreateFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
13251 {
13252 return AccelerationStructureCreateFlagsKHR( bit0 ) ^ bit1;
13253 }
13254
13255 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccelerationStructureCreateFlagsKHR
13256 operator~( AccelerationStructureCreateFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT
13257 {
13258 return ~( AccelerationStructureCreateFlagsKHR( bits ) );
13259 }
13260
13261 VULKAN_HPP_INLINE std::string to_string( AccelerationStructureCreateFlagsKHR value )
13262 {
13263 if ( !value )
13264 return "{}";
13265
13266 std::string result;
13267 if ( value & AccelerationStructureCreateFlagBitsKHR::eDeviceAddressCaptureReplay )
13268 result += "DeviceAddressCaptureReplay | ";
13269 if ( value & AccelerationStructureCreateFlagBitsKHR::eMotionNV )
13270 result += "MotionNV | ";
13271
13272 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
13273 }
13274
13275 //=== VK_NV_framebuffer_mixed_samples ===
13276
13277 using PipelineCoverageModulationStateCreateFlagsNV = Flags<PipelineCoverageModulationStateCreateFlagBitsNV>;
13278
13279 VULKAN_HPP_INLINE std::string to_string( PipelineCoverageModulationStateCreateFlagsNV )
13280 {
13281 return "{}";
13282 }
13283
13284 //=== VK_EXT_validation_cache ===
13285
13286 using ValidationCacheCreateFlagsEXT = Flags<ValidationCacheCreateFlagBitsEXT>;
13287
13288 VULKAN_HPP_INLINE std::string to_string( ValidationCacheCreateFlagsEXT )
13289 {
13290 return "{}";
13291 }
13292
13293 //=== VK_AMD_pipeline_compiler_control ===
13294
13295 using PipelineCompilerControlFlagsAMD = Flags<PipelineCompilerControlFlagBitsAMD>;
13296
13297 VULKAN_HPP_INLINE std::string to_string( PipelineCompilerControlFlagsAMD )
13298 {
13299 return "{}";
13300 }
13301
13302#if defined( VK_ENABLE_BETA_EXTENSIONS )
13303 //=== VK_EXT_video_decode_h265 ===
13304
13305 using VideoDecodeH265CreateFlagsEXT = Flags<VideoDecodeH265CreateFlagBitsEXT>;
13306
13307 VULKAN_HPP_INLINE std::string to_string( VideoDecodeH265CreateFlagsEXT )
13308 {
13309 return "{}";
13310 }
13311#endif /*VK_ENABLE_BETA_EXTENSIONS*/
13312
13313 //=== VK_EXT_pipeline_creation_feedback ===
13314
13315 using PipelineCreationFeedbackFlagsEXT = Flags<PipelineCreationFeedbackFlagBitsEXT>;
13316
13317 template <>
13318 struct FlagTraits<PipelineCreationFeedbackFlagBitsEXT>
13319 {
13320 enum : VkFlags
13321 {
13322 allFlags = VkFlags( PipelineCreationFeedbackFlagBitsEXT::eValid ) |
13323 VkFlags( PipelineCreationFeedbackFlagBitsEXT::eApplicationPipelineCacheHit ) |
13324 VkFlags( PipelineCreationFeedbackFlagBitsEXT::eBasePipelineAcceleration )
13325 };
13326 };
13327
13328 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackFlagsEXT
13329 operator|( PipelineCreationFeedbackFlagBitsEXT bit0, PipelineCreationFeedbackFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
13330 {
13331 return PipelineCreationFeedbackFlagsEXT( bit0 ) | bit1;
13332 }
13333
13334 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackFlagsEXT
13335 operator&(PipelineCreationFeedbackFlagBitsEXT bit0, PipelineCreationFeedbackFlagBitsEXT bit1)VULKAN_HPP_NOEXCEPT
13336 {
13337 return PipelineCreationFeedbackFlagsEXT( bit0 ) & bit1;
13338 }
13339
13340 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackFlagsEXT
13341 operator^( PipelineCreationFeedbackFlagBitsEXT bit0, PipelineCreationFeedbackFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
13342 {
13343 return PipelineCreationFeedbackFlagsEXT( bit0 ) ^ bit1;
13344 }
13345
13346 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackFlagsEXT
13347 operator~( PipelineCreationFeedbackFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT
13348 {
13349 return ~( PipelineCreationFeedbackFlagsEXT( bits ) );
13350 }
13351
13352 VULKAN_HPP_INLINE std::string to_string( PipelineCreationFeedbackFlagsEXT value )
13353 {
13354 if ( !value )
13355 return "{}";
13356
13357 std::string result;
13358 if ( value & PipelineCreationFeedbackFlagBitsEXT::eValid )
13359 result += "Valid | ";
13360 if ( value & PipelineCreationFeedbackFlagBitsEXT::eApplicationPipelineCacheHit )
13361 result += "ApplicationPipelineCacheHit | ";
13362 if ( value & PipelineCreationFeedbackFlagBitsEXT::eBasePipelineAcceleration )
13363 result += "BasePipelineAcceleration | ";
13364
13365 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
13366 }
13367
13368#if defined( VK_USE_PLATFORM_FUCHSIA )
13369 //=== VK_FUCHSIA_imagepipe_surface ===
13370
13371 using ImagePipeSurfaceCreateFlagsFUCHSIA = Flags<ImagePipeSurfaceCreateFlagBitsFUCHSIA>;
13372
13373 VULKAN_HPP_INLINE std::string to_string( ImagePipeSurfaceCreateFlagsFUCHSIA )
13374 {
13375 return "{}";
13376 }
13377#endif /*VK_USE_PLATFORM_FUCHSIA*/
13378
13379#if defined( VK_USE_PLATFORM_METAL_EXT )
13380 //=== VK_EXT_metal_surface ===
13381
13382 using MetalSurfaceCreateFlagsEXT = Flags<MetalSurfaceCreateFlagBitsEXT>;
13383
13384 VULKAN_HPP_INLINE std::string to_string( MetalSurfaceCreateFlagsEXT )
13385 {
13386 return "{}";
13387 }
13388#endif /*VK_USE_PLATFORM_METAL_EXT*/
13389
13390 //=== VK_AMD_shader_core_properties2 ===
13391
13392 using ShaderCorePropertiesFlagsAMD = Flags<ShaderCorePropertiesFlagBitsAMD>;
13393
13394 VULKAN_HPP_INLINE std::string to_string( ShaderCorePropertiesFlagsAMD )
13395 {
13396 return "{}";
13397 }
13398
13399 //=== VK_EXT_tooling_info ===
13400
13401 using ToolPurposeFlagsEXT = Flags<ToolPurposeFlagBitsEXT>;
13402
13403 template <>
13404 struct FlagTraits<ToolPurposeFlagBitsEXT>
13405 {
13406 enum : VkFlags
13407 {
13408 allFlags = VkFlags( ToolPurposeFlagBitsEXT::eValidation ) | VkFlags( ToolPurposeFlagBitsEXT::eProfiling ) |
13409 VkFlags( ToolPurposeFlagBitsEXT::eTracing ) | VkFlags( ToolPurposeFlagBitsEXT::eAdditionalFeatures ) |
13410 VkFlags( ToolPurposeFlagBitsEXT::eModifyingFeatures ) |
13411 VkFlags( ToolPurposeFlagBitsEXT::eDebugReporting ) | VkFlags( ToolPurposeFlagBitsEXT::eDebugMarkers )
13412 };
13413 };
13414
13415 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ToolPurposeFlagsEXT
13416 operator|( ToolPurposeFlagBitsEXT bit0, ToolPurposeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
13417 {
13418 return ToolPurposeFlagsEXT( bit0 ) | bit1;
13419 }
13420
13421 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ToolPurposeFlagsEXT operator&(ToolPurposeFlagBitsEXT bit0,
13422 ToolPurposeFlagBitsEXT bit1)VULKAN_HPP_NOEXCEPT
13423 {
13424 return ToolPurposeFlagsEXT( bit0 ) & bit1;
13425 }
13426
13427 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ToolPurposeFlagsEXT
13428 operator^( ToolPurposeFlagBitsEXT bit0, ToolPurposeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT
13429 {
13430 return ToolPurposeFlagsEXT( bit0 ) ^ bit1;
13431 }
13432
13433 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ToolPurposeFlagsEXT operator~( ToolPurposeFlagBitsEXT bits )
13434 VULKAN_HPP_NOEXCEPT
13435 {
13436 return ~( ToolPurposeFlagsEXT( bits ) );
13437 }
13438
13439 VULKAN_HPP_INLINE std::string to_string( ToolPurposeFlagsEXT value )
13440 {
13441 if ( !value )
13442 return "{}";
13443
13444 std::string result;
13445 if ( value & ToolPurposeFlagBitsEXT::eValidation )
13446 result += "Validation | ";
13447 if ( value & ToolPurposeFlagBitsEXT::eProfiling )
13448 result += "Profiling | ";
13449 if ( value & ToolPurposeFlagBitsEXT::eTracing )
13450 result += "Tracing | ";
13451 if ( value & ToolPurposeFlagBitsEXT::eAdditionalFeatures )
13452 result += "AdditionalFeatures | ";
13453 if ( value & ToolPurposeFlagBitsEXT::eModifyingFeatures )
13454 result += "ModifyingFeatures | ";
13455 if ( value & ToolPurposeFlagBitsEXT::eDebugReporting )
13456 result += "DebugReporting | ";
13457 if ( value & ToolPurposeFlagBitsEXT::eDebugMarkers )
13458 result += "DebugMarkers | ";
13459
13460 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
13461 }
13462
13463 //=== VK_NV_coverage_reduction_mode ===
13464
13465 using PipelineCoverageReductionStateCreateFlagsNV = Flags<PipelineCoverageReductionStateCreateFlagBitsNV>;
13466
13467 VULKAN_HPP_INLINE std::string to_string( PipelineCoverageReductionStateCreateFlagsNV )
13468 {
13469 return "{}";
13470 }
13471
13472 //=== VK_EXT_headless_surface ===
13473
13474 using HeadlessSurfaceCreateFlagsEXT = Flags<HeadlessSurfaceCreateFlagBitsEXT>;
13475
13476 VULKAN_HPP_INLINE std::string to_string( HeadlessSurfaceCreateFlagsEXT )
13477 {
13478 return "{}";
13479 }
13480
13481 //=== VK_NV_device_generated_commands ===
13482
13483 using IndirectStateFlagsNV = Flags<IndirectStateFlagBitsNV>;
13484
13485 template <>
13486 struct FlagTraits<IndirectStateFlagBitsNV>
13487 {
13488 enum : VkFlags
13489 {
13490 allFlags = VkFlags( IndirectStateFlagBitsNV::eFlagFrontface )
13491 };
13492 };
13493
13494 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectStateFlagsNV
13495 operator|( IndirectStateFlagBitsNV bit0, IndirectStateFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
13496 {
13497 return IndirectStateFlagsNV( bit0 ) | bit1;
13498 }
13499
13500 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectStateFlagsNV operator&(IndirectStateFlagBitsNV bit0,
13501 IndirectStateFlagBitsNV bit1)VULKAN_HPP_NOEXCEPT
13502 {
13503 return IndirectStateFlagsNV( bit0 ) & bit1;
13504 }
13505
13506 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectStateFlagsNV
13507 operator^( IndirectStateFlagBitsNV bit0, IndirectStateFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
13508 {
13509 return IndirectStateFlagsNV( bit0 ) ^ bit1;
13510 }
13511
13512 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectStateFlagsNV operator~( IndirectStateFlagBitsNV bits )
13513 VULKAN_HPP_NOEXCEPT
13514 {
13515 return ~( IndirectStateFlagsNV( bits ) );
13516 }
13517
13518 VULKAN_HPP_INLINE std::string to_string( IndirectStateFlagsNV value )
13519 {
13520 if ( !value )
13521 return "{}";
13522
13523 std::string result;
13524 if ( value & IndirectStateFlagBitsNV::eFlagFrontface )
13525 result += "FlagFrontface | ";
13526
13527 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
13528 }
13529
13530 using IndirectCommandsLayoutUsageFlagsNV = Flags<IndirectCommandsLayoutUsageFlagBitsNV>;
13531
13532 template <>
13533 struct FlagTraits<IndirectCommandsLayoutUsageFlagBitsNV>
13534 {
13535 enum : VkFlags
13536 {
13537 allFlags = VkFlags( IndirectCommandsLayoutUsageFlagBitsNV::eExplicitPreprocess ) |
13538 VkFlags( IndirectCommandsLayoutUsageFlagBitsNV::eIndexedSequences ) |
13539 VkFlags( IndirectCommandsLayoutUsageFlagBitsNV::eUnorderedSequences )
13540 };
13541 };
13542
13543 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutUsageFlagsNV operator|(
13544 IndirectCommandsLayoutUsageFlagBitsNV bit0, IndirectCommandsLayoutUsageFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
13545 {
13546 return IndirectCommandsLayoutUsageFlagsNV( bit0 ) | bit1;
13547 }
13548
13549 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutUsageFlagsNV
13550 operator&(IndirectCommandsLayoutUsageFlagBitsNV bit0, IndirectCommandsLayoutUsageFlagBitsNV bit1)VULKAN_HPP_NOEXCEPT
13551 {
13552 return IndirectCommandsLayoutUsageFlagsNV( bit0 ) & bit1;
13553 }
13554
13555 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutUsageFlagsNV operator^(
13556 IndirectCommandsLayoutUsageFlagBitsNV bit0, IndirectCommandsLayoutUsageFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
13557 {
13558 return IndirectCommandsLayoutUsageFlagsNV( bit0 ) ^ bit1;
13559 }
13560
13561 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutUsageFlagsNV
13562 operator~( IndirectCommandsLayoutUsageFlagBitsNV bits ) VULKAN_HPP_NOEXCEPT
13563 {
13564 return ~( IndirectCommandsLayoutUsageFlagsNV( bits ) );
13565 }
13566
13567 VULKAN_HPP_INLINE std::string to_string( IndirectCommandsLayoutUsageFlagsNV value )
13568 {
13569 if ( !value )
13570 return "{}";
13571
13572 std::string result;
13573 if ( value & IndirectCommandsLayoutUsageFlagBitsNV::eExplicitPreprocess )
13574 result += "ExplicitPreprocess | ";
13575 if ( value & IndirectCommandsLayoutUsageFlagBitsNV::eIndexedSequences )
13576 result += "IndexedSequences | ";
13577 if ( value & IndirectCommandsLayoutUsageFlagBitsNV::eUnorderedSequences )
13578 result += "UnorderedSequences | ";
13579
13580 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
13581 }
13582
13583 //=== VK_EXT_device_memory_report ===
13584
13585 using DeviceMemoryReportFlagsEXT = Flags<DeviceMemoryReportFlagBitsEXT>;
13586
13587 VULKAN_HPP_INLINE std::string to_string( DeviceMemoryReportFlagsEXT )
13588 {
13589 return "{}";
13590 }
13591
13592 //=== VK_EXT_private_data ===
13593
13594 using PrivateDataSlotCreateFlagsEXT = Flags<PrivateDataSlotCreateFlagBitsEXT>;
13595
13596 VULKAN_HPP_INLINE std::string to_string( PrivateDataSlotCreateFlagsEXT )
13597 {
13598 return "{}";
13599 }
13600
13601#if defined( VK_ENABLE_BETA_EXTENSIONS )
13602 //=== VK_KHR_video_encode_queue ===
13603
13604 using VideoEncodeFlagsKHR = Flags<VideoEncodeFlagBitsKHR>;
13605
13606 template <>
13607 struct FlagTraits<VideoEncodeFlagBitsKHR>
13608 {
13609 enum : VkFlags
13610 {
13611 allFlags = VkFlags( VideoEncodeFlagBitsKHR::eDefault ) | VkFlags( VideoEncodeFlagBitsKHR::eReserved0 )
13612 };
13613 };
13614
13615 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeFlagsKHR
13616 operator|( VideoEncodeFlagBitsKHR bit0, VideoEncodeFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
13617 {
13618 return VideoEncodeFlagsKHR( bit0 ) | bit1;
13619 }
13620
13621 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeFlagsKHR operator&(VideoEncodeFlagBitsKHR bit0,
13622 VideoEncodeFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
13623 {
13624 return VideoEncodeFlagsKHR( bit0 ) & bit1;
13625 }
13626
13627 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeFlagsKHR
13628 operator^( VideoEncodeFlagBitsKHR bit0, VideoEncodeFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
13629 {
13630 return VideoEncodeFlagsKHR( bit0 ) ^ bit1;
13631 }
13632
13633 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeFlagsKHR operator~( VideoEncodeFlagBitsKHR bits )
13634 VULKAN_HPP_NOEXCEPT
13635 {
13636 return ~( VideoEncodeFlagsKHR( bits ) );
13637 }
13638
13639 VULKAN_HPP_INLINE std::string to_string( VideoEncodeFlagsKHR value )
13640 {
13641 if ( !value )
13642 return "{}";
13643
13644 std::string result;
13645 if ( value & VideoEncodeFlagBitsKHR::eReserved0 )
13646 result += "Reserved0 | ";
13647
13648 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
13649 }
13650
13651 using VideoEncodeRateControlFlagsKHR = Flags<VideoEncodeRateControlFlagBitsKHR>;
13652
13653 template <>
13654 struct FlagTraits<VideoEncodeRateControlFlagBitsKHR>
13655 {
13656 enum : VkFlags
13657 {
13658 allFlags =
13659 VkFlags( VideoEncodeRateControlFlagBitsKHR::eDefault ) | VkFlags( VideoEncodeRateControlFlagBitsKHR::eReset )
13660 };
13661 };
13662
13663 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeRateControlFlagsKHR
13664 operator|( VideoEncodeRateControlFlagBitsKHR bit0, VideoEncodeRateControlFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
13665 {
13666 return VideoEncodeRateControlFlagsKHR( bit0 ) | bit1;
13667 }
13668
13669 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeRateControlFlagsKHR
13670 operator&(VideoEncodeRateControlFlagBitsKHR bit0, VideoEncodeRateControlFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
13671 {
13672 return VideoEncodeRateControlFlagsKHR( bit0 ) & bit1;
13673 }
13674
13675 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeRateControlFlagsKHR
13676 operator^( VideoEncodeRateControlFlagBitsKHR bit0, VideoEncodeRateControlFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
13677 {
13678 return VideoEncodeRateControlFlagsKHR( bit0 ) ^ bit1;
13679 }
13680
13681 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeRateControlFlagsKHR
13682 operator~( VideoEncodeRateControlFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT
13683 {
13684 return ~( VideoEncodeRateControlFlagsKHR( bits ) );
13685 }
13686
13687 VULKAN_HPP_INLINE std::string to_string( VideoEncodeRateControlFlagsKHR value )
13688 {
13689 if ( !value )
13690 return "{}";
13691
13692 std::string result;
13693 if ( value & VideoEncodeRateControlFlagBitsKHR::eReset )
13694 result += "Reset | ";
13695
13696 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
13697 }
13698
13699 using VideoEncodeRateControlModeFlagsKHR = Flags<VideoEncodeRateControlModeFlagBitsKHR>;
13700
13701 template <>
13702 struct FlagTraits<VideoEncodeRateControlModeFlagBitsKHR>
13703 {
13704 enum : VkFlags
13705 {
13706 allFlags = VkFlags( VideoEncodeRateControlModeFlagBitsKHR::eNone ) |
13707 VkFlags( VideoEncodeRateControlModeFlagBitsKHR::eCbr ) |
13708 VkFlags( VideoEncodeRateControlModeFlagBitsKHR::eVbr )
13709 };
13710 };
13711
13712 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeRateControlModeFlagsKHR operator|(
13713 VideoEncodeRateControlModeFlagBitsKHR bit0, VideoEncodeRateControlModeFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
13714 {
13715 return VideoEncodeRateControlModeFlagsKHR( bit0 ) | bit1;
13716 }
13717
13718 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeRateControlModeFlagsKHR
13719 operator&(VideoEncodeRateControlModeFlagBitsKHR bit0, VideoEncodeRateControlModeFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
13720 {
13721 return VideoEncodeRateControlModeFlagsKHR( bit0 ) & bit1;
13722 }
13723
13724 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeRateControlModeFlagsKHR operator^(
13725 VideoEncodeRateControlModeFlagBitsKHR bit0, VideoEncodeRateControlModeFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
13726 {
13727 return VideoEncodeRateControlModeFlagsKHR( bit0 ) ^ bit1;
13728 }
13729
13730 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeRateControlModeFlagsKHR
13731 operator~( VideoEncodeRateControlModeFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT
13732 {
13733 return ~( VideoEncodeRateControlModeFlagsKHR( bits ) );
13734 }
13735
13736 VULKAN_HPP_INLINE std::string to_string( VideoEncodeRateControlModeFlagsKHR value )
13737 {
13738 if ( !value )
13739 return "{}";
13740
13741 std::string result;
13742
13743 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
13744 }
13745#endif /*VK_ENABLE_BETA_EXTENSIONS*/
13746
13747 //=== VK_NV_device_diagnostics_config ===
13748
13749 using DeviceDiagnosticsConfigFlagsNV = Flags<DeviceDiagnosticsConfigFlagBitsNV>;
13750
13751 template <>
13752 struct FlagTraits<DeviceDiagnosticsConfigFlagBitsNV>
13753 {
13754 enum : VkFlags
13755 {
13756 allFlags = VkFlags( DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderDebugInfo ) |
13757 VkFlags( DeviceDiagnosticsConfigFlagBitsNV::eEnableResourceTracking ) |
13758 VkFlags( DeviceDiagnosticsConfigFlagBitsNV::eEnableAutomaticCheckpoints )
13759 };
13760 };
13761
13762 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigFlagsNV
13763 operator|( DeviceDiagnosticsConfigFlagBitsNV bit0, DeviceDiagnosticsConfigFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
13764 {
13765 return DeviceDiagnosticsConfigFlagsNV( bit0 ) | bit1;
13766 }
13767
13768 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigFlagsNV
13769 operator&(DeviceDiagnosticsConfigFlagBitsNV bit0, DeviceDiagnosticsConfigFlagBitsNV bit1)VULKAN_HPP_NOEXCEPT
13770 {
13771 return DeviceDiagnosticsConfigFlagsNV( bit0 ) & bit1;
13772 }
13773
13774 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigFlagsNV
13775 operator^( DeviceDiagnosticsConfigFlagBitsNV bit0, DeviceDiagnosticsConfigFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT
13776 {
13777 return DeviceDiagnosticsConfigFlagsNV( bit0 ) ^ bit1;
13778 }
13779
13780 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigFlagsNV
13781 operator~( DeviceDiagnosticsConfigFlagBitsNV bits ) VULKAN_HPP_NOEXCEPT
13782 {
13783 return ~( DeviceDiagnosticsConfigFlagsNV( bits ) );
13784 }
13785
13786 VULKAN_HPP_INLINE std::string to_string( DeviceDiagnosticsConfigFlagsNV value )
13787 {
13788 if ( !value )
13789 return "{}";
13790
13791 std::string result;
13792 if ( value & DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderDebugInfo )
13793 result += "EnableShaderDebugInfo | ";
13794 if ( value & DeviceDiagnosticsConfigFlagBitsNV::eEnableResourceTracking )
13795 result += "EnableResourceTracking | ";
13796 if ( value & DeviceDiagnosticsConfigFlagBitsNV::eEnableAutomaticCheckpoints )
13797 result += "EnableAutomaticCheckpoints | ";
13798
13799 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
13800 }
13801
13802 //=== VK_KHR_synchronization2 ===
13803
13804 using PipelineStageFlags2KHR = Flags<PipelineStageFlagBits2KHR>;
13805
13806 template <>
13807 struct FlagTraits<PipelineStageFlagBits2KHR>
13808 {
13809 enum : VkFlags64
13810 {
13811 allFlags =
13812 VkFlags64( PipelineStageFlagBits2KHR::eNone ) | VkFlags64( PipelineStageFlagBits2KHR::eTopOfPipe ) |
13813 VkFlags64( PipelineStageFlagBits2KHR::eDrawIndirect ) | VkFlags64( PipelineStageFlagBits2KHR::eVertexInput ) |
13814 VkFlags64( PipelineStageFlagBits2KHR::eVertexShader ) |
13815 VkFlags64( PipelineStageFlagBits2KHR::eTessellationControlShader ) |
13816 VkFlags64( PipelineStageFlagBits2KHR::eTessellationEvaluationShader ) |
13817 VkFlags64( PipelineStageFlagBits2KHR::eGeometryShader ) |
13818 VkFlags64( PipelineStageFlagBits2KHR::eFragmentShader ) |
13819 VkFlags64( PipelineStageFlagBits2KHR::eEarlyFragmentTests ) |
13820 VkFlags64( PipelineStageFlagBits2KHR::eLateFragmentTests ) |
13821 VkFlags64( PipelineStageFlagBits2KHR::eColorAttachmentOutput ) |
13822 VkFlags64( PipelineStageFlagBits2KHR::eComputeShader ) | VkFlags64( PipelineStageFlagBits2KHR::eAllTransfer ) |
13823 VkFlags64( PipelineStageFlagBits2KHR::eBottomOfPipe ) | VkFlags64( PipelineStageFlagBits2KHR::eHost ) |
13824 VkFlags64( PipelineStageFlagBits2KHR::eAllGraphics ) | VkFlags64( PipelineStageFlagBits2KHR::eAllCommands ) |
13825 VkFlags64( PipelineStageFlagBits2KHR::eCopy ) | VkFlags64( PipelineStageFlagBits2KHR::eResolve ) |
13826 VkFlags64( PipelineStageFlagBits2KHR::eBlit ) | VkFlags64( PipelineStageFlagBits2KHR::eClear ) |
13827 VkFlags64( PipelineStageFlagBits2KHR::eIndexInput ) |
13828 VkFlags64( PipelineStageFlagBits2KHR::eVertexAttributeInput ) |
13829 VkFlags64( PipelineStageFlagBits2KHR::ePreRasterizationShaders )
13830#if defined( VK_ENABLE_BETA_EXTENSIONS )
13831 | VkFlags64( PipelineStageFlagBits2KHR::eVideoDecode ) | VkFlags64( PipelineStageFlagBits2KHR::eVideoEncode )
13832#endif /*VK_ENABLE_BETA_EXTENSIONS*/
13833 | VkFlags64( PipelineStageFlagBits2KHR::eTransformFeedbackEXT ) |
13834 VkFlags64( PipelineStageFlagBits2KHR::eConditionalRenderingEXT ) |
13835 VkFlags64( PipelineStageFlagBits2KHR::eCommandPreprocessNV ) |
13836 VkFlags64( PipelineStageFlagBits2KHR::eFragmentShadingRateAttachment ) |
13837 VkFlags64( PipelineStageFlagBits2KHR::eAccelerationStructureBuild ) |
13838 VkFlags64( PipelineStageFlagBits2KHR::eRayTracingShader ) |
13839 VkFlags64( PipelineStageFlagBits2KHR::eFragmentDensityProcessEXT ) |
13840 VkFlags64( PipelineStageFlagBits2KHR::eTaskShaderNV ) | VkFlags64( PipelineStageFlagBits2KHR::eMeshShaderNV ) |
13841 VkFlags64( PipelineStageFlagBits2KHR::eSubpassShadingHUAWEI ) |
13842 VkFlags64( PipelineStageFlagBits2KHR::eInvocationMaskHUAWEI )
13843 };
13844 };
13845
13846 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags2KHR
13847 operator|( PipelineStageFlagBits2KHR bit0, PipelineStageFlagBits2KHR bit1 ) VULKAN_HPP_NOEXCEPT
13848 {
13849 return PipelineStageFlags2KHR( bit0 ) | bit1;
13850 }
13851
13852 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags2KHR
13853 operator&(PipelineStageFlagBits2KHR bit0, PipelineStageFlagBits2KHR bit1)VULKAN_HPP_NOEXCEPT
13854 {
13855 return PipelineStageFlags2KHR( bit0 ) & bit1;
13856 }
13857
13858 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags2KHR
13859 operator^( PipelineStageFlagBits2KHR bit0, PipelineStageFlagBits2KHR bit1 ) VULKAN_HPP_NOEXCEPT
13860 {
13861 return PipelineStageFlags2KHR( bit0 ) ^ bit1;
13862 }
13863
13864 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags2KHR operator~( PipelineStageFlagBits2KHR bits )
13865 VULKAN_HPP_NOEXCEPT
13866 {
13867 return ~( PipelineStageFlags2KHR( bits ) );
13868 }
13869
13870 VULKAN_HPP_INLINE std::string to_string( PipelineStageFlags2KHR value )
13871 {
13872 if ( !value )
13873 return "{}";
13874
13875 std::string result;
13876 if ( value & PipelineStageFlagBits2KHR::eTopOfPipe )
13877 result += "TopOfPipe | ";
13878 if ( value & PipelineStageFlagBits2KHR::eDrawIndirect )
13879 result += "DrawIndirect | ";
13880 if ( value & PipelineStageFlagBits2KHR::eVertexInput )
13881 result += "VertexInput | ";
13882 if ( value & PipelineStageFlagBits2KHR::eVertexShader )
13883 result += "VertexShader | ";
13884 if ( value & PipelineStageFlagBits2KHR::eTessellationControlShader )
13885 result += "TessellationControlShader | ";
13886 if ( value & PipelineStageFlagBits2KHR::eTessellationEvaluationShader )
13887 result += "TessellationEvaluationShader | ";
13888 if ( value & PipelineStageFlagBits2KHR::eGeometryShader )
13889 result += "GeometryShader | ";
13890 if ( value & PipelineStageFlagBits2KHR::eFragmentShader )
13891 result += "FragmentShader | ";
13892 if ( value & PipelineStageFlagBits2KHR::eEarlyFragmentTests )
13893 result += "EarlyFragmentTests | ";
13894 if ( value & PipelineStageFlagBits2KHR::eLateFragmentTests )
13895 result += "LateFragmentTests | ";
13896 if ( value & PipelineStageFlagBits2KHR::eColorAttachmentOutput )
13897 result += "ColorAttachmentOutput | ";
13898 if ( value & PipelineStageFlagBits2KHR::eComputeShader )
13899 result += "ComputeShader | ";
13900 if ( value & PipelineStageFlagBits2KHR::eAllTransfer )
13901 result += "AllTransfer | ";
13902 if ( value & PipelineStageFlagBits2KHR::eBottomOfPipe )
13903 result += "BottomOfPipe | ";
13904 if ( value & PipelineStageFlagBits2KHR::eHost )
13905 result += "Host | ";
13906 if ( value & PipelineStageFlagBits2KHR::eAllGraphics )
13907 result += "AllGraphics | ";
13908 if ( value & PipelineStageFlagBits2KHR::eAllCommands )
13909 result += "AllCommands | ";
13910 if ( value & PipelineStageFlagBits2KHR::eCopy )
13911 result += "Copy | ";
13912 if ( value & PipelineStageFlagBits2KHR::eResolve )
13913 result += "Resolve | ";
13914 if ( value & PipelineStageFlagBits2KHR::eBlit )
13915 result += "Blit | ";
13916 if ( value & PipelineStageFlagBits2KHR::eClear )
13917 result += "Clear | ";
13918 if ( value & PipelineStageFlagBits2KHR::eIndexInput )
13919 result += "IndexInput | ";
13920 if ( value & PipelineStageFlagBits2KHR::eVertexAttributeInput )
13921 result += "VertexAttributeInput | ";
13922 if ( value & PipelineStageFlagBits2KHR::ePreRasterizationShaders )
13923 result += "PreRasterizationShaders | ";
13924#if defined( VK_ENABLE_BETA_EXTENSIONS )
13925 if ( value & PipelineStageFlagBits2KHR::eVideoDecode )
13926 result += "VideoDecode | ";
13927 if ( value & PipelineStageFlagBits2KHR::eVideoEncode )
13928 result += "VideoEncode | ";
13929#endif /*VK_ENABLE_BETA_EXTENSIONS*/
13930 if ( value & PipelineStageFlagBits2KHR::eTransformFeedbackEXT )
13931 result += "TransformFeedbackEXT | ";
13932 if ( value & PipelineStageFlagBits2KHR::eConditionalRenderingEXT )
13933 result += "ConditionalRenderingEXT | ";
13934 if ( value & PipelineStageFlagBits2KHR::eCommandPreprocessNV )
13935 result += "CommandPreprocessNV | ";
13936 if ( value & PipelineStageFlagBits2KHR::eFragmentShadingRateAttachment )
13937 result += "FragmentShadingRateAttachment | ";
13938 if ( value & PipelineStageFlagBits2KHR::eAccelerationStructureBuild )
13939 result += "AccelerationStructureBuild | ";
13940 if ( value & PipelineStageFlagBits2KHR::eRayTracingShader )
13941 result += "RayTracingShader | ";
13942 if ( value & PipelineStageFlagBits2KHR::eFragmentDensityProcessEXT )
13943 result += "FragmentDensityProcessEXT | ";
13944 if ( value & PipelineStageFlagBits2KHR::eTaskShaderNV )
13945 result += "TaskShaderNV | ";
13946 if ( value & PipelineStageFlagBits2KHR::eMeshShaderNV )
13947 result += "MeshShaderNV | ";
13948 if ( value & PipelineStageFlagBits2KHR::eSubpassShadingHUAWEI )
13949 result += "SubpassShadingHUAWEI | ";
13950 if ( value & PipelineStageFlagBits2KHR::eInvocationMaskHUAWEI )
13951 result += "InvocationMaskHUAWEI | ";
13952
13953 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
13954 }
13955
13956 using AccessFlags2KHR = Flags<AccessFlagBits2KHR>;
13957
13958 template <>
13959 struct FlagTraits<AccessFlagBits2KHR>
13960 {
13961 enum : VkFlags64
13962 {
13963 allFlags =
13964 VkFlags64( AccessFlagBits2KHR::eNone ) | VkFlags64( AccessFlagBits2KHR::eIndirectCommandRead ) |
13965 VkFlags64( AccessFlagBits2KHR::eIndexRead ) | VkFlags64( AccessFlagBits2KHR::eVertexAttributeRead ) |
13966 VkFlags64( AccessFlagBits2KHR::eUniformRead ) | VkFlags64( AccessFlagBits2KHR::eInputAttachmentRead ) |
13967 VkFlags64( AccessFlagBits2KHR::eShaderRead ) | VkFlags64( AccessFlagBits2KHR::eShaderWrite ) |
13968 VkFlags64( AccessFlagBits2KHR::eColorAttachmentRead ) | VkFlags64( AccessFlagBits2KHR::eColorAttachmentWrite ) |
13969 VkFlags64( AccessFlagBits2KHR::eDepthStencilAttachmentRead ) |
13970 VkFlags64( AccessFlagBits2KHR::eDepthStencilAttachmentWrite ) | VkFlags64( AccessFlagBits2KHR::eTransferRead ) |
13971 VkFlags64( AccessFlagBits2KHR::eTransferWrite ) | VkFlags64( AccessFlagBits2KHR::eHostRead ) |
13972 VkFlags64( AccessFlagBits2KHR::eHostWrite ) | VkFlags64( AccessFlagBits2KHR::eMemoryRead ) |
13973 VkFlags64( AccessFlagBits2KHR::eMemoryWrite ) | VkFlags64( AccessFlagBits2KHR::eShaderSampledRead ) |
13974 VkFlags64( AccessFlagBits2KHR::eShaderStorageRead ) | VkFlags64( AccessFlagBits2KHR::eShaderStorageWrite )
13975#if defined( VK_ENABLE_BETA_EXTENSIONS )
13976 | VkFlags64( AccessFlagBits2KHR::eVideoDecodeRead ) | VkFlags64( AccessFlagBits2KHR::eVideoDecodeWrite ) |
13977 VkFlags64( AccessFlagBits2KHR::eVideoEncodeRead ) | VkFlags64( AccessFlagBits2KHR::eVideoEncodeWrite )
13978#endif /*VK_ENABLE_BETA_EXTENSIONS*/
13979 | VkFlags64( AccessFlagBits2KHR::eTransformFeedbackWriteEXT ) |
13980 VkFlags64( AccessFlagBits2KHR::eTransformFeedbackCounterReadEXT ) |
13981 VkFlags64( AccessFlagBits2KHR::eTransformFeedbackCounterWriteEXT ) |
13982 VkFlags64( AccessFlagBits2KHR::eConditionalRenderingReadEXT ) |
13983 VkFlags64( AccessFlagBits2KHR::eCommandPreprocessReadNV ) |
13984 VkFlags64( AccessFlagBits2KHR::eCommandPreprocessWriteNV ) |
13985 VkFlags64( AccessFlagBits2KHR::eFragmentShadingRateAttachmentRead ) |
13986 VkFlags64( AccessFlagBits2KHR::eAccelerationStructureRead ) |
13987 VkFlags64( AccessFlagBits2KHR::eAccelerationStructureWrite ) |
13988 VkFlags64( AccessFlagBits2KHR::eFragmentDensityMapReadEXT ) |
13989 VkFlags64( AccessFlagBits2KHR::eColorAttachmentReadNoncoherentEXT ) |
13990 VkFlags64( AccessFlagBits2KHR::eInvocationMaskReadHUAWEI )
13991 };
13992 };
13993
13994 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags2KHR operator|( AccessFlagBits2KHR bit0,
13995 AccessFlagBits2KHR bit1 ) VULKAN_HPP_NOEXCEPT
13996 {
13997 return AccessFlags2KHR( bit0 ) | bit1;
13998 }
13999
14000 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags2KHR operator&(AccessFlagBits2KHR bit0,
14001 AccessFlagBits2KHR bit1)VULKAN_HPP_NOEXCEPT
14002 {
14003 return AccessFlags2KHR( bit0 ) & bit1;
14004 }
14005
14006 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags2KHR operator^( AccessFlagBits2KHR bit0,
14007 AccessFlagBits2KHR bit1 ) VULKAN_HPP_NOEXCEPT
14008 {
14009 return AccessFlags2KHR( bit0 ) ^ bit1;
14010 }
14011
14012 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags2KHR operator~( AccessFlagBits2KHR bits ) VULKAN_HPP_NOEXCEPT
14013 {
14014 return ~( AccessFlags2KHR( bits ) );
14015 }
14016
14017 VULKAN_HPP_INLINE std::string to_string( AccessFlags2KHR value )
14018 {
14019 if ( !value )
14020 return "{}";
14021
14022 std::string result;
14023 if ( value & AccessFlagBits2KHR::eIndirectCommandRead )
14024 result += "IndirectCommandRead | ";
14025 if ( value & AccessFlagBits2KHR::eIndexRead )
14026 result += "IndexRead | ";
14027 if ( value & AccessFlagBits2KHR::eVertexAttributeRead )
14028 result += "VertexAttributeRead | ";
14029 if ( value & AccessFlagBits2KHR::eUniformRead )
14030 result += "UniformRead | ";
14031 if ( value & AccessFlagBits2KHR::eInputAttachmentRead )
14032 result += "InputAttachmentRead | ";
14033 if ( value & AccessFlagBits2KHR::eShaderRead )
14034 result += "ShaderRead | ";
14035 if ( value & AccessFlagBits2KHR::eShaderWrite )
14036 result += "ShaderWrite | ";
14037 if ( value & AccessFlagBits2KHR::eColorAttachmentRead )
14038 result += "ColorAttachmentRead | ";
14039 if ( value & AccessFlagBits2KHR::eColorAttachmentWrite )
14040 result += "ColorAttachmentWrite | ";
14041 if ( value & AccessFlagBits2KHR::eDepthStencilAttachmentRead )
14042 result += "DepthStencilAttachmentRead | ";
14043 if ( value & AccessFlagBits2KHR::eDepthStencilAttachmentWrite )
14044 result += "DepthStencilAttachmentWrite | ";
14045 if ( value & AccessFlagBits2KHR::eTransferRead )
14046 result += "TransferRead | ";
14047 if ( value & AccessFlagBits2KHR::eTransferWrite )
14048 result += "TransferWrite | ";
14049 if ( value & AccessFlagBits2KHR::eHostRead )
14050 result += "HostRead | ";
14051 if ( value & AccessFlagBits2KHR::eHostWrite )
14052 result += "HostWrite | ";
14053 if ( value & AccessFlagBits2KHR::eMemoryRead )
14054 result += "MemoryRead | ";
14055 if ( value & AccessFlagBits2KHR::eMemoryWrite )
14056 result += "MemoryWrite | ";
14057 if ( value & AccessFlagBits2KHR::eShaderSampledRead )
14058 result += "ShaderSampledRead | ";
14059 if ( value & AccessFlagBits2KHR::eShaderStorageRead )
14060 result += "ShaderStorageRead | ";
14061 if ( value & AccessFlagBits2KHR::eShaderStorageWrite )
14062 result += "ShaderStorageWrite | ";
14063#if defined( VK_ENABLE_BETA_EXTENSIONS )
14064 if ( value & AccessFlagBits2KHR::eVideoDecodeRead )
14065 result += "VideoDecodeRead | ";
14066 if ( value & AccessFlagBits2KHR::eVideoDecodeWrite )
14067 result += "VideoDecodeWrite | ";
14068 if ( value & AccessFlagBits2KHR::eVideoEncodeRead )
14069 result += "VideoEncodeRead | ";
14070 if ( value & AccessFlagBits2KHR::eVideoEncodeWrite )
14071 result += "VideoEncodeWrite | ";
14072#endif /*VK_ENABLE_BETA_EXTENSIONS*/
14073 if ( value & AccessFlagBits2KHR::eTransformFeedbackWriteEXT )
14074 result += "TransformFeedbackWriteEXT | ";
14075 if ( value & AccessFlagBits2KHR::eTransformFeedbackCounterReadEXT )
14076 result += "TransformFeedbackCounterReadEXT | ";
14077 if ( value & AccessFlagBits2KHR::eTransformFeedbackCounterWriteEXT )
14078 result += "TransformFeedbackCounterWriteEXT | ";
14079 if ( value & AccessFlagBits2KHR::eConditionalRenderingReadEXT )
14080 result += "ConditionalRenderingReadEXT | ";
14081 if ( value & AccessFlagBits2KHR::eCommandPreprocessReadNV )
14082 result += "CommandPreprocessReadNV | ";
14083 if ( value & AccessFlagBits2KHR::eCommandPreprocessWriteNV )
14084 result += "CommandPreprocessWriteNV | ";
14085 if ( value & AccessFlagBits2KHR::eFragmentShadingRateAttachmentRead )
14086 result += "FragmentShadingRateAttachmentRead | ";
14087 if ( value & AccessFlagBits2KHR::eAccelerationStructureRead )
14088 result += "AccelerationStructureRead | ";
14089 if ( value & AccessFlagBits2KHR::eAccelerationStructureWrite )
14090 result += "AccelerationStructureWrite | ";
14091 if ( value & AccessFlagBits2KHR::eFragmentDensityMapReadEXT )
14092 result += "FragmentDensityMapReadEXT | ";
14093 if ( value & AccessFlagBits2KHR::eColorAttachmentReadNoncoherentEXT )
14094 result += "ColorAttachmentReadNoncoherentEXT | ";
14095 if ( value & AccessFlagBits2KHR::eInvocationMaskReadHUAWEI )
14096 result += "InvocationMaskReadHUAWEI | ";
14097
14098 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
14099 }
14100
14101 using SubmitFlagsKHR = Flags<SubmitFlagBitsKHR>;
14102
14103 template <>
14104 struct FlagTraits<SubmitFlagBitsKHR>
14105 {
14106 enum : VkFlags
14107 {
14108 allFlags = VkFlags( SubmitFlagBitsKHR::eProtected )
14109 };
14110 };
14111
14112 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubmitFlagsKHR operator|( SubmitFlagBitsKHR bit0,
14113 SubmitFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
14114 {
14115 return SubmitFlagsKHR( bit0 ) | bit1;
14116 }
14117
14118 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubmitFlagsKHR operator&(SubmitFlagBitsKHR bit0,
14119 SubmitFlagBitsKHR bit1)VULKAN_HPP_NOEXCEPT
14120 {
14121 return SubmitFlagsKHR( bit0 ) & bit1;
14122 }
14123
14124 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubmitFlagsKHR operator^( SubmitFlagBitsKHR bit0,
14125 SubmitFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
14126 {
14127 return SubmitFlagsKHR( bit0 ) ^ bit1;
14128 }
14129
14130 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubmitFlagsKHR operator~( SubmitFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT
14131 {
14132 return ~( SubmitFlagsKHR( bits ) );
14133 }
14134
14135 VULKAN_HPP_INLINE std::string to_string( SubmitFlagsKHR value )
14136 {
14137 if ( !value )
14138 return "{}";
14139
14140 std::string result;
14141 if ( value & SubmitFlagBitsKHR::eProtected )
14142 result += "Protected | ";
14143
14144 return "{ " + result.substr( 0, result.size() - 3 ) + " }";
14145 }
14146
14147 //=== VK_NV_ray_tracing_motion_blur ===
14148
14149 using AccelerationStructureMotionInfoFlagsNV = Flags<AccelerationStructureMotionInfoFlagBitsNV>;
14150
14151 VULKAN_HPP_INLINE std::string to_string( AccelerationStructureMotionInfoFlagsNV )
14152 {
14153 return "{}";
14154 }
14155
14156 using AccelerationStructureMotionInstanceFlagsNV = Flags<AccelerationStructureMotionInstanceFlagBitsNV>;
14157
14158 VULKAN_HPP_INLINE std::string to_string( AccelerationStructureMotionInstanceFlagsNV )
14159 {
14160 return "{}";
14161 }
14162
14163#if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
14164 //=== VK_EXT_directfb_surface ===
14165
14166 using DirectFBSurfaceCreateFlagsEXT = Flags<DirectFBSurfaceCreateFlagBitsEXT>;
14167
14168 VULKAN_HPP_INLINE std::string to_string( DirectFBSurfaceCreateFlagsEXT )
14169 {
14170 return "{}";
14171 }
14172#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
14173
14174#if defined( VK_USE_PLATFORM_SCREEN_QNX )
14175 //=== VK_QNX_screen_surface ===
14176
14177 using ScreenSurfaceCreateFlagsQNX = Flags<ScreenSurfaceCreateFlagBitsQNX>;
14178
14179 VULKAN_HPP_INLINE std::string to_string( ScreenSurfaceCreateFlagsQNX )
14180 {
14181 return "{}";
14182 }
14183#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
14184
14185} // namespace VULKAN_HPP_NAMESPACE
14186#endif