1// Copyright 2015-2023 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
18 //=============
19 //=== ENUMs ===
20 //=============
21
22 //=== VK_VERSION_1_0 ===
23
24 enum class Result
25 {
26 eSuccess = VK_SUCCESS,
27 eNotReady = VK_NOT_READY,
28 eTimeout = VK_TIMEOUT,
29 eEventSet = VK_EVENT_SET,
30 eEventReset = VK_EVENT_RESET,
31 eIncomplete = VK_INCOMPLETE,
32 eErrorOutOfHostMemory = VK_ERROR_OUT_OF_HOST_MEMORY,
33 eErrorOutOfDeviceMemory = VK_ERROR_OUT_OF_DEVICE_MEMORY,
34 eErrorInitializationFailed = VK_ERROR_INITIALIZATION_FAILED,
35 eErrorDeviceLost = VK_ERROR_DEVICE_LOST,
36 eErrorMemoryMapFailed = VK_ERROR_MEMORY_MAP_FAILED,
37 eErrorLayerNotPresent = VK_ERROR_LAYER_NOT_PRESENT,
38 eErrorExtensionNotPresent = VK_ERROR_EXTENSION_NOT_PRESENT,
39 eErrorFeatureNotPresent = VK_ERROR_FEATURE_NOT_PRESENT,
40 eErrorIncompatibleDriver = VK_ERROR_INCOMPATIBLE_DRIVER,
41 eErrorTooManyObjects = VK_ERROR_TOO_MANY_OBJECTS,
42 eErrorFormatNotSupported = VK_ERROR_FORMAT_NOT_SUPPORTED,
43 eErrorFragmentedPool = VK_ERROR_FRAGMENTED_POOL,
44 eErrorUnknown = VK_ERROR_UNKNOWN,
45 eErrorOutOfPoolMemory = VK_ERROR_OUT_OF_POOL_MEMORY,
46 eErrorInvalidExternalHandle = VK_ERROR_INVALID_EXTERNAL_HANDLE,
47 eErrorFragmentation = VK_ERROR_FRAGMENTATION,
48 eErrorInvalidOpaqueCaptureAddress = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
49 ePipelineCompileRequired = VK_PIPELINE_COMPILE_REQUIRED,
50 eErrorSurfaceLostKHR = VK_ERROR_SURFACE_LOST_KHR,
51 eErrorNativeWindowInUseKHR = VK_ERROR_NATIVE_WINDOW_IN_USE_KHR,
52 eSuboptimalKHR = VK_SUBOPTIMAL_KHR,
53 eErrorOutOfDateKHR = VK_ERROR_OUT_OF_DATE_KHR,
54 eErrorIncompatibleDisplayKHR = VK_ERROR_INCOMPATIBLE_DISPLAY_KHR,
55 eErrorValidationFailedEXT = VK_ERROR_VALIDATION_FAILED_EXT,
56 eErrorInvalidShaderNV = VK_ERROR_INVALID_SHADER_NV,
57 eErrorImageUsageNotSupportedKHR = VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR,
58 eErrorVideoPictureLayoutNotSupportedKHR = VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR,
59 eErrorVideoProfileOperationNotSupportedKHR = VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR,
60 eErrorVideoProfileFormatNotSupportedKHR = VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR,
61 eErrorVideoProfileCodecNotSupportedKHR = VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR,
62 eErrorVideoStdVersionNotSupportedKHR = VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR,
63 eErrorOutOfPoolMemoryKHR = VK_ERROR_OUT_OF_POOL_MEMORY_KHR,
64 eErrorInvalidExternalHandleKHR = VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR,
65 eErrorInvalidDrmFormatModifierPlaneLayoutEXT = VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT,
66 eErrorFragmentationEXT = VK_ERROR_FRAGMENTATION_EXT,
67 eErrorNotPermittedEXT = VK_ERROR_NOT_PERMITTED_EXT,
68 eErrorNotPermittedKHR = VK_ERROR_NOT_PERMITTED_KHR,
69 eErrorInvalidDeviceAddressEXT = VK_ERROR_INVALID_DEVICE_ADDRESS_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 eErrorInvalidOpaqueCaptureAddressKHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR,
74 eThreadIdleKHR = VK_THREAD_IDLE_KHR,
75 eThreadDoneKHR = VK_THREAD_DONE_KHR,
76 eOperationDeferredKHR = VK_OPERATION_DEFERRED_KHR,
77 eOperationNotDeferredKHR = VK_OPERATION_NOT_DEFERRED_KHR,
78 ePipelineCompileRequiredEXT = VK_PIPELINE_COMPILE_REQUIRED_EXT,
79 eErrorPipelineCompileRequiredEXT = VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT,
80#if defined( VK_ENABLE_BETA_EXTENSIONS )
81 eErrorInvalidVideoStdParametersKHR = VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR,
82#endif /*VK_ENABLE_BETA_EXTENSIONS*/
83 eErrorCompressionExhaustedEXT = VK_ERROR_COMPRESSION_EXHAUSTED_EXT,
84 eErrorIncompatibleShaderBinaryEXT = VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT
85 };
86
87 enum class StructureType
88 {
89 eApplicationInfo = VK_STRUCTURE_TYPE_APPLICATION_INFO,
90 eInstanceCreateInfo = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
91 eDeviceQueueCreateInfo = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,
92 eDeviceCreateInfo = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,
93 eSubmitInfo = VK_STRUCTURE_TYPE_SUBMIT_INFO,
94 eMemoryAllocateInfo = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO,
95 eMappedMemoryRange = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE,
96 eBindSparseInfo = VK_STRUCTURE_TYPE_BIND_SPARSE_INFO,
97 eFenceCreateInfo = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
98 eSemaphoreCreateInfo = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
99 eEventCreateInfo = VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
100 eQueryPoolCreateInfo = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO,
101 eBufferCreateInfo = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO,
102 eBufferViewCreateInfo = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO,
103 eImageCreateInfo = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO,
104 eImageViewCreateInfo = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,
105 eShaderModuleCreateInfo = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO,
106 ePipelineCacheCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO,
107 ePipelineShaderStageCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO,
108 ePipelineVertexInputStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,
109 ePipelineInputAssemblyStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,
110 ePipelineTessellationStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO,
111 ePipelineViewportStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO,
112 ePipelineRasterizationStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
113 ePipelineMultisampleStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,
114 ePipelineDepthStencilStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO,
115 ePipelineColorBlendStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,
116 ePipelineDynamicStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO,
117 eGraphicsPipelineCreateInfo = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO,
118 eComputePipelineCreateInfo = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO,
119 ePipelineLayoutCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,
120 eSamplerCreateInfo = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO,
121 eDescriptorSetLayoutCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
122 eDescriptorPoolCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
123 eDescriptorSetAllocateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO,
124 eWriteDescriptorSet = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET,
125 eCopyDescriptorSet = VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET,
126 eFramebufferCreateInfo = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO,
127 eRenderPassCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO,
128 eCommandPoolCreateInfo = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,
129 eCommandBufferAllocateInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,
130 eCommandBufferInheritanceInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO,
131 eCommandBufferBeginInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
132 eRenderPassBeginInfo = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO,
133 eBufferMemoryBarrier = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER,
134 eImageMemoryBarrier = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,
135 eMemoryBarrier = VK_STRUCTURE_TYPE_MEMORY_BARRIER,
136 eLoaderInstanceCreateInfo = VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO,
137 eLoaderDeviceCreateInfo = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,
138 ePhysicalDeviceSubgroupProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES,
139 eBindBufferMemoryInfo = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
140 eBindImageMemoryInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
141 ePhysicalDevice16BitStorageFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
142 eMemoryDedicatedRequirements = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
143 eMemoryDedicatedAllocateInfo = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
144 eMemoryAllocateFlagsInfo = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
145 eDeviceGroupRenderPassBeginInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
146 eDeviceGroupCommandBufferBeginInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
147 eDeviceGroupSubmitInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
148 eDeviceGroupBindSparseInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
149 eBindBufferMemoryDeviceGroupInfo = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
150 eBindImageMemoryDeviceGroupInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
151 ePhysicalDeviceGroupProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
152 eDeviceGroupDeviceCreateInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
153 eBufferMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
154 eImageMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
155 eImageSparseMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
156 eMemoryRequirements2 = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
157 eSparseImageMemoryRequirements2 = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
158 ePhysicalDeviceFeatures2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
159 ePhysicalDeviceProperties2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
160 eFormatProperties2 = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
161 eImageFormatProperties2 = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
162 ePhysicalDeviceImageFormatInfo2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
163 eQueueFamilyProperties2 = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
164 ePhysicalDeviceMemoryProperties2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
165 eSparseImageFormatProperties2 = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
166 ePhysicalDeviceSparseImageFormatInfo2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
167 ePhysicalDevicePointClippingProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
168 eRenderPassInputAttachmentAspectCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
169 eImageViewUsageCreateInfo = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
170 ePipelineTessellationDomainOriginStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
171 eRenderPassMultiviewCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
172 ePhysicalDeviceMultiviewFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
173 ePhysicalDeviceMultiviewProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
174 ePhysicalDeviceVariablePointersFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
175 ePhysicalDeviceVariablePointerFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,
176 eProtectedSubmitInfo = VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO,
177 ePhysicalDeviceProtectedMemoryFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,
178 ePhysicalDeviceProtectedMemoryProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES,
179 eDeviceQueueInfo2 = VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2,
180 eSamplerYcbcrConversionCreateInfo = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
181 eSamplerYcbcrConversionInfo = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
182 eBindImagePlaneMemoryInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
183 eImagePlaneMemoryRequirementsInfo = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
184 ePhysicalDeviceSamplerYcbcrConversionFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
185 eSamplerYcbcrConversionImageFormatProperties = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
186 eDescriptorUpdateTemplateCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
187 ePhysicalDeviceExternalImageFormatInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
188 eExternalImageFormatProperties = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
189 ePhysicalDeviceExternalBufferInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
190 eExternalBufferProperties = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
191 ePhysicalDeviceIdProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
192 eExternalMemoryBufferCreateInfo = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
193 eExternalMemoryImageCreateInfo = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
194 eExportMemoryAllocateInfo = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
195 ePhysicalDeviceExternalFenceInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
196 eExternalFenceProperties = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
197 eExportFenceCreateInfo = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
198 eExportSemaphoreCreateInfo = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
199 ePhysicalDeviceExternalSemaphoreInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
200 eExternalSemaphoreProperties = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
201 ePhysicalDeviceMaintenance3Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
202 eDescriptorSetLayoutSupport = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
203 ePhysicalDeviceShaderDrawParametersFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
204 ePhysicalDeviceShaderDrawParameterFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES,
205 ePhysicalDeviceVulkan11Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES,
206 ePhysicalDeviceVulkan11Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES,
207 ePhysicalDeviceVulkan12Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES,
208 ePhysicalDeviceVulkan12Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES,
209 eImageFormatListCreateInfo = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
210 eAttachmentDescription2 = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
211 eAttachmentReference2 = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
212 eSubpassDescription2 = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
213 eSubpassDependency2 = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
214 eRenderPassCreateInfo2 = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
215 eSubpassBeginInfo = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
216 eSubpassEndInfo = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
217 ePhysicalDevice8BitStorageFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
218 ePhysicalDeviceDriverProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
219 ePhysicalDeviceShaderAtomicInt64Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
220 ePhysicalDeviceShaderFloat16Int8Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
221 ePhysicalDeviceFloatControlsProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
222 eDescriptorSetLayoutBindingFlagsCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
223 ePhysicalDeviceDescriptorIndexingFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
224 ePhysicalDeviceDescriptorIndexingProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
225 eDescriptorSetVariableDescriptorCountAllocateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
226 eDescriptorSetVariableDescriptorCountLayoutSupport = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
227 ePhysicalDeviceDepthStencilResolveProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
228 eSubpassDescriptionDepthStencilResolve = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
229 ePhysicalDeviceScalarBlockLayoutFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
230 eImageStencilUsageCreateInfo = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
231 ePhysicalDeviceSamplerFilterMinmaxProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
232 eSamplerReductionModeCreateInfo = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
233 ePhysicalDeviceVulkanMemoryModelFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
234 ePhysicalDeviceImagelessFramebufferFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
235 eFramebufferAttachmentsCreateInfo = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
236 eFramebufferAttachmentImageInfo = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
237 eRenderPassAttachmentBeginInfo = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
238 ePhysicalDeviceUniformBufferStandardLayoutFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
239 ePhysicalDeviceShaderSubgroupExtendedTypesFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
240 ePhysicalDeviceSeparateDepthStencilLayoutsFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
241 eAttachmentReferenceStencilLayout = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
242 eAttachmentDescriptionStencilLayout = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
243 ePhysicalDeviceHostQueryResetFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
244 ePhysicalDeviceTimelineSemaphoreFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
245 ePhysicalDeviceTimelineSemaphoreProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
246 eSemaphoreTypeCreateInfo = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
247 eTimelineSemaphoreSubmitInfo = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
248 eSemaphoreWaitInfo = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
249 eSemaphoreSignalInfo = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
250 ePhysicalDeviceBufferDeviceAddressFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
251 eBufferDeviceAddressInfo = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
252 eBufferOpaqueCaptureAddressCreateInfo = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
253 eMemoryOpaqueCaptureAddressAllocateInfo = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
254 eDeviceMemoryOpaqueCaptureAddressInfo = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
255 ePhysicalDeviceVulkan13Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES,
256 ePhysicalDeviceVulkan13Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES,
257 ePipelineCreationFeedbackCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO,
258 ePhysicalDeviceShaderTerminateInvocationFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES,
259 ePhysicalDeviceToolProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES,
260 ePhysicalDeviceShaderDemoteToHelperInvocationFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
261 ePhysicalDevicePrivateDataFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES,
262 eDevicePrivateDataCreateInfo = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO,
263 ePrivateDataSlotCreateInfo = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO,
264 ePhysicalDevicePipelineCreationCacheControlFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES,
265 eMemoryBarrier2 = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2,
266 eBufferMemoryBarrier2 = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2,
267 eImageMemoryBarrier2 = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2,
268 eDependencyInfo = VK_STRUCTURE_TYPE_DEPENDENCY_INFO,
269 eSubmitInfo2 = VK_STRUCTURE_TYPE_SUBMIT_INFO_2,
270 eSemaphoreSubmitInfo = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO,
271 eCommandBufferSubmitInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO,
272 ePhysicalDeviceSynchronization2Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES,
273 ePhysicalDeviceZeroInitializeWorkgroupMemoryFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES,
274 ePhysicalDeviceImageRobustnessFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES,
275 eCopyBufferInfo2 = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2,
276 eCopyImageInfo2 = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2,
277 eCopyBufferToImageInfo2 = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2,
278 eCopyImageToBufferInfo2 = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2,
279 eBlitImageInfo2 = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2,
280 eResolveImageInfo2 = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2,
281 eBufferCopy2 = VK_STRUCTURE_TYPE_BUFFER_COPY_2,
282 eImageCopy2 = VK_STRUCTURE_TYPE_IMAGE_COPY_2,
283 eImageBlit2 = VK_STRUCTURE_TYPE_IMAGE_BLIT_2,
284 eBufferImageCopy2 = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2,
285 eImageResolve2 = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2,
286 ePhysicalDeviceSubgroupSizeControlProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES,
287 ePipelineShaderStageRequiredSubgroupSizeCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
288 ePhysicalDeviceSubgroupSizeControlFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES,
289 ePhysicalDeviceInlineUniformBlockFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES,
290 ePhysicalDeviceInlineUniformBlockProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES,
291 eWriteDescriptorSetInlineUniformBlock = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK,
292 eDescriptorPoolInlineUniformBlockCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO,
293 ePhysicalDeviceTextureCompressionAstcHdrFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES,
294 eRenderingInfo = VK_STRUCTURE_TYPE_RENDERING_INFO,
295 eRenderingAttachmentInfo = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO,
296 ePipelineRenderingCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO,
297 ePhysicalDeviceDynamicRenderingFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES,
298 eCommandBufferInheritanceRenderingInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO,
299 ePhysicalDeviceShaderIntegerDotProductFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
300 ePhysicalDeviceShaderIntegerDotProductProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES,
301 ePhysicalDeviceTexelBufferAlignmentProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES,
302 eFormatProperties3 = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3,
303 ePhysicalDeviceMaintenance4Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
304 ePhysicalDeviceMaintenance4Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
305 eDeviceBufferMemoryRequirements = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS,
306 eDeviceImageMemoryRequirements = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS,
307 eSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR,
308 ePresentInfoKHR = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR,
309 eDeviceGroupPresentCapabilitiesKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,
310 eImageSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR,
311 eBindImageMemorySwapchainInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,
312 eAcquireNextImageInfoKHR = VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR,
313 eDeviceGroupPresentInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR,
314 eDeviceGroupSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,
315 eDisplayModeCreateInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR,
316 eDisplaySurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR,
317 eDisplayPresentInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR,
318#if defined( VK_USE_PLATFORM_XLIB_KHR )
319 eXlibSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR,
320#endif /*VK_USE_PLATFORM_XLIB_KHR*/
321#if defined( VK_USE_PLATFORM_XCB_KHR )
322 eXcbSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR,
323#endif /*VK_USE_PLATFORM_XCB_KHR*/
324#if defined( VK_USE_PLATFORM_WAYLAND_KHR )
325 eWaylandSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR,
326#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
327#if defined( VK_USE_PLATFORM_ANDROID_KHR )
328 eAndroidSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR,
329#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
330#if defined( VK_USE_PLATFORM_WIN32_KHR )
331 eWin32SurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR,
332#endif /*VK_USE_PLATFORM_WIN32_KHR*/
333 eDebugReportCallbackCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
334 eDebugReportCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT,
335 ePipelineRasterizationStateRasterizationOrderAMD = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD,
336 eDebugMarkerObjectNameInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT,
337 eDebugMarkerObjectTagInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT,
338 eDebugMarkerMarkerInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT,
339 eVideoProfileInfoKHR = VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR,
340 eVideoCapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR,
341 eVideoPictureResourceInfoKHR = VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR,
342 eVideoSessionMemoryRequirementsKHR = VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR,
343 eBindVideoSessionMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_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 eVideoReferenceSlotInfoKHR = VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR,
351 eQueueFamilyVideoPropertiesKHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR,
352 eVideoProfileListInfoKHR = VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR,
353 ePhysicalDeviceVideoFormatInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR,
354 eVideoFormatPropertiesKHR = VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR,
355 eQueueFamilyQueryResultStatusPropertiesKHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR,
356 eVideoDecodeInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR,
357 eVideoDecodeCapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR,
358 eVideoDecodeUsageInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR,
359 eDedicatedAllocationImageCreateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV,
360 eDedicatedAllocationBufferCreateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV,
361 eDedicatedAllocationMemoryAllocateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV,
362 ePhysicalDeviceTransformFeedbackFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT,
363 ePhysicalDeviceTransformFeedbackPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT,
364 ePipelineRasterizationStateStreamCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT,
365 eCuModuleCreateInfoNVX = VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX,
366 eCuFunctionCreateInfoNVX = VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX,
367 eCuLaunchInfoNVX = VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX,
368 eImageViewHandleInfoNVX = VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX,
369 eImageViewAddressPropertiesNVX = VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX,
370#if defined( VK_ENABLE_BETA_EXTENSIONS )
371 eVideoEncodeH264CapabilitiesEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT,
372 eVideoEncodeH264SessionParametersCreateInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT,
373 eVideoEncodeH264SessionParametersAddInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT,
374 eVideoEncodeH264VclFrameInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT,
375 eVideoEncodeH264DpbSlotInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT,
376 eVideoEncodeH264NaluSliceInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT,
377 eVideoEncodeH264ProfileInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT,
378 eVideoEncodeH264RateControlInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT,
379 eVideoEncodeH264RateControlLayerInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT,
380 eVideoEncodeH265CapabilitiesEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT,
381 eVideoEncodeH265SessionParametersCreateInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT,
382 eVideoEncodeH265SessionParametersAddInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT,
383 eVideoEncodeH265VclFrameInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT,
384 eVideoEncodeH265DpbSlotInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT,
385 eVideoEncodeH265NaluSliceSegmentInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT,
386 eVideoEncodeH265ProfileInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT,
387 eVideoEncodeH265RateControlInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT,
388 eVideoEncodeH265RateControlLayerInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT,
389#endif /*VK_ENABLE_BETA_EXTENSIONS*/
390 eVideoDecodeH264CapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR,
391 eVideoDecodeH264PictureInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR,
392 eVideoDecodeH264ProfileInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR,
393 eVideoDecodeH264SessionParametersCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR,
394 eVideoDecodeH264SessionParametersAddInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR,
395 eVideoDecodeH264DpbSlotInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR,
396 eTextureLodGatherFormatPropertiesAMD = VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD,
397 eRenderingInfoKHR = VK_STRUCTURE_TYPE_RENDERING_INFO_KHR,
398 eRenderingAttachmentInfoKHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR,
399 ePipelineRenderingCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR,
400 ePhysicalDeviceDynamicRenderingFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR,
401 eCommandBufferInheritanceRenderingInfoKHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR,
402 eRenderingFragmentShadingRateAttachmentInfoKHR = VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
403 eRenderingFragmentDensityMapAttachmentInfoEXT = VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT,
404 eAttachmentSampleCountInfoAMD = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
405 eAttachmentSampleCountInfoNV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV,
406 eMultiviewPerViewAttributesInfoNVX = VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX,
407#if defined( VK_USE_PLATFORM_GGP )
408 eStreamDescriptorSurfaceCreateInfoGGP = VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP,
409#endif /*VK_USE_PLATFORM_GGP*/
410 ePhysicalDeviceCornerSampledImageFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV,
411 eRenderPassMultiviewCreateInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR,
412 ePhysicalDeviceMultiviewFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR,
413 ePhysicalDeviceMultiviewPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR,
414 eExternalMemoryImageCreateInfoNV = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV,
415 eExportMemoryAllocateInfoNV = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV,
416#if defined( VK_USE_PLATFORM_WIN32_KHR )
417 eImportMemoryWin32HandleInfoNV = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV,
418 eExportMemoryWin32HandleInfoNV = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV,
419 eWin32KeyedMutexAcquireReleaseInfoNV = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV,
420#endif /*VK_USE_PLATFORM_WIN32_KHR*/
421 ePhysicalDeviceFeatures2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR,
422 ePhysicalDeviceProperties2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR,
423 eFormatProperties2KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR,
424 eImageFormatProperties2KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR,
425 ePhysicalDeviceImageFormatInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR,
426 eQueueFamilyProperties2KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR,
427 ePhysicalDeviceMemoryProperties2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR,
428 eSparseImageFormatProperties2KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR,
429 ePhysicalDeviceSparseImageFormatInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR,
430 eMemoryAllocateFlagsInfoKHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR,
431 eDeviceGroupRenderPassBeginInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR,
432 eDeviceGroupCommandBufferBeginInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR,
433 eDeviceGroupSubmitInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR,
434 eDeviceGroupBindSparseInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR,
435 eBindBufferMemoryDeviceGroupInfoKHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR,
436 eBindImageMemoryDeviceGroupInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR,
437 eValidationFlagsEXT = VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT,
438#if defined( VK_USE_PLATFORM_VI_NN )
439 eViSurfaceCreateInfoNN = VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN,
440#endif /*VK_USE_PLATFORM_VI_NN*/
441 ePhysicalDeviceTextureCompressionAstcHdrFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT,
442 eImageViewAstcDecodeModeEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT,
443 ePhysicalDeviceAstcDecodeFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT,
444 ePipelineRobustnessCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT,
445 ePhysicalDevicePipelineRobustnessFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT,
446 ePhysicalDevicePipelineRobustnessPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT,
447 ePhysicalDeviceGroupPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR,
448 eDeviceGroupDeviceCreateInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR,
449 ePhysicalDeviceExternalImageFormatInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR,
450 eExternalImageFormatPropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR,
451 ePhysicalDeviceExternalBufferInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR,
452 eExternalBufferPropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR,
453 ePhysicalDeviceIdPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR,
454 eExternalMemoryBufferCreateInfoKHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR,
455 eExternalMemoryImageCreateInfoKHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR,
456 eExportMemoryAllocateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR,
457#if defined( VK_USE_PLATFORM_WIN32_KHR )
458 eImportMemoryWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
459 eExportMemoryWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
460 eMemoryWin32HandlePropertiesKHR = VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR,
461 eMemoryGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR,
462#endif /*VK_USE_PLATFORM_WIN32_KHR*/
463 eImportMemoryFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR,
464 eMemoryFdPropertiesKHR = VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR,
465 eMemoryGetFdInfoKHR = VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR,
466#if defined( VK_USE_PLATFORM_WIN32_KHR )
467 eWin32KeyedMutexAcquireReleaseInfoKHR = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR,
468#endif /*VK_USE_PLATFORM_WIN32_KHR*/
469 ePhysicalDeviceExternalSemaphoreInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR,
470 eExternalSemaphorePropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR,
471 eExportSemaphoreCreateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR,
472#if defined( VK_USE_PLATFORM_WIN32_KHR )
473 eImportSemaphoreWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
474 eExportSemaphoreWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
475 eD3D12FenceSubmitInfoKHR = VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR,
476 eSemaphoreGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR,
477#endif /*VK_USE_PLATFORM_WIN32_KHR*/
478 eImportSemaphoreFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR,
479 eSemaphoreGetFdInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR,
480 ePhysicalDevicePushDescriptorPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR,
481 eCommandBufferInheritanceConditionalRenderingInfoEXT = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT,
482 ePhysicalDeviceConditionalRenderingFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT,
483 eConditionalRenderingBeginInfoEXT = VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT,
484 ePhysicalDeviceShaderFloat16Int8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR,
485 ePhysicalDeviceFloat16Int8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR,
486 ePhysicalDevice16BitStorageFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR,
487 ePresentRegionsKHR = VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR,
488 eDescriptorUpdateTemplateCreateInfoKHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR,
489 ePipelineViewportWScalingStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV,
490 eSurfaceCapabilities2EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
491 eDisplayPowerInfoEXT = VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT,
492 eDeviceEventInfoEXT = VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT,
493 eDisplayEventInfoEXT = VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT,
494 eSwapchainCounterCreateInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT,
495 ePresentTimesInfoGOOGLE = VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE,
496 ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX,
497 ePipelineViewportSwizzleStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV,
498 ePhysicalDeviceDiscardRectanglePropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT,
499 ePipelineDiscardRectangleStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT,
500 ePhysicalDeviceConservativeRasterizationPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT,
501 ePipelineRasterizationConservativeStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT,
502 ePhysicalDeviceDepthClipEnableFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT,
503 ePipelineRasterizationDepthClipStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT,
504 eHdrMetadataEXT = VK_STRUCTURE_TYPE_HDR_METADATA_EXT,
505 ePhysicalDeviceImagelessFramebufferFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR,
506 eFramebufferAttachmentsCreateInfoKHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR,
507 eFramebufferAttachmentImageInfoKHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR,
508 eRenderPassAttachmentBeginInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR,
509 eAttachmentDescription2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR,
510 eAttachmentReference2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR,
511 eSubpassDescription2KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR,
512 eSubpassDependency2KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR,
513 eRenderPassCreateInfo2KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR,
514 eSubpassBeginInfoKHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR,
515 eSubpassEndInfoKHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR,
516 eSharedPresentSurfaceCapabilitiesKHR = VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR,
517 ePhysicalDeviceExternalFenceInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR,
518 eExternalFencePropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR,
519 eExportFenceCreateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR,
520#if defined( VK_USE_PLATFORM_WIN32_KHR )
521 eImportFenceWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR,
522 eExportFenceWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR,
523 eFenceGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR,
524#endif /*VK_USE_PLATFORM_WIN32_KHR*/
525 eImportFenceFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR,
526 eFenceGetFdInfoKHR = VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR,
527 ePhysicalDevicePerformanceQueryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR,
528 ePhysicalDevicePerformanceQueryPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR,
529 eQueryPoolPerformanceCreateInfoKHR = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR,
530 ePerformanceQuerySubmitInfoKHR = VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR,
531 eAcquireProfilingLockInfoKHR = VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR,
532 ePerformanceCounterKHR = VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR,
533 ePerformanceCounterDescriptionKHR = VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR,
534 ePhysicalDevicePointClippingPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR,
535 eRenderPassInputAttachmentAspectCreateInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR,
536 eImageViewUsageCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR,
537 ePipelineTessellationDomainOriginStateCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR,
538 ePhysicalDeviceSurfaceInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR,
539 eSurfaceCapabilities2KHR = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR,
540 eSurfaceFormat2KHR = VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR,
541 ePhysicalDeviceVariablePointersFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
542 ePhysicalDeviceVariablePointerFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR,
543 eDisplayProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR,
544 eDisplayPlaneProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR,
545 eDisplayModeProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR,
546 eDisplayPlaneInfo2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR,
547 eDisplayPlaneCapabilities2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR,
548#if defined( VK_USE_PLATFORM_IOS_MVK )
549 eIosSurfaceCreateInfoMVK = VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK,
550#endif /*VK_USE_PLATFORM_IOS_MVK*/
551#if defined( VK_USE_PLATFORM_MACOS_MVK )
552 eMacosSurfaceCreateInfoMVK = VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK,
553#endif /*VK_USE_PLATFORM_MACOS_MVK*/
554 eMemoryDedicatedRequirementsKHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR,
555 eMemoryDedicatedAllocateInfoKHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR,
556 eDebugUtilsObjectNameInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT,
557 eDebugUtilsObjectTagInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT,
558 eDebugUtilsLabelEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT,
559 eDebugUtilsMessengerCallbackDataEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT,
560 eDebugUtilsMessengerCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT,
561#if defined( VK_USE_PLATFORM_ANDROID_KHR )
562 eAndroidHardwareBufferUsageANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID,
563 eAndroidHardwareBufferPropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID,
564 eAndroidHardwareBufferFormatPropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID,
565 eImportAndroidHardwareBufferInfoANDROID = VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
566 eMemoryGetAndroidHardwareBufferInfoANDROID = VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
567 eExternalFormatANDROID = VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID,
568 eAndroidHardwareBufferFormatProperties2ANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID,
569#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
570 ePhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT,
571 eSamplerReductionModeCreateInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT,
572 ePhysicalDeviceInlineUniformBlockFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT,
573 ePhysicalDeviceInlineUniformBlockPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT,
574 eWriteDescriptorSetInlineUniformBlockEXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT,
575 eDescriptorPoolInlineUniformBlockCreateInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT,
576 eSampleLocationsInfoEXT = VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT,
577 eRenderPassSampleLocationsBeginInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT,
578 ePipelineSampleLocationsStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT,
579 ePhysicalDeviceSampleLocationsPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT,
580 eMultisamplePropertiesEXT = VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT,
581 eBufferMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR,
582 eImageMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR,
583 eImageSparseMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR,
584 eMemoryRequirements2KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR,
585 eSparseImageMemoryRequirements2KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR,
586 eImageFormatListCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR,
587 ePhysicalDeviceBlendOperationAdvancedFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT,
588 ePhysicalDeviceBlendOperationAdvancedPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT,
589 ePipelineColorBlendAdvancedStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT,
590 ePipelineCoverageToColorStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV,
591 eWriteDescriptorSetAccelerationStructureKHR = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,
592 eAccelerationStructureBuildGeometryInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR,
593 eAccelerationStructureDeviceAddressInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR,
594 eAccelerationStructureGeometryAabbsDataKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR,
595 eAccelerationStructureGeometryInstancesDataKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR,
596 eAccelerationStructureGeometryTrianglesDataKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR,
597 eAccelerationStructureGeometryKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR,
598 eAccelerationStructureVersionInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR,
599 eCopyAccelerationStructureInfoKHR = VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR,
600 eCopyAccelerationStructureToMemoryInfoKHR = VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR,
601 eCopyMemoryToAccelerationStructureInfoKHR = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR,
602 ePhysicalDeviceAccelerationStructureFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR,
603 ePhysicalDeviceAccelerationStructurePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR,
604 eAccelerationStructureCreateInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR,
605 eAccelerationStructureBuildSizesInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR,
606 ePhysicalDeviceRayTracingPipelineFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR,
607 ePhysicalDeviceRayTracingPipelinePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR,
608 eRayTracingPipelineCreateInfoKHR = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR,
609 eRayTracingShaderGroupCreateInfoKHR = VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR,
610 eRayTracingPipelineInterfaceCreateInfoKHR = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR,
611 ePhysicalDeviceRayQueryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR,
612 ePipelineCoverageModulationStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV,
613 ePhysicalDeviceShaderSmBuiltinsFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV,
614 ePhysicalDeviceShaderSmBuiltinsPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV,
615 eSamplerYcbcrConversionCreateInfoKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR,
616 eSamplerYcbcrConversionInfoKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR,
617 eBindImagePlaneMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR,
618 eImagePlaneMemoryRequirementsInfoKHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR,
619 ePhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR,
620 eSamplerYcbcrConversionImageFormatPropertiesKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR,
621 eBindBufferMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR,
622 eBindImageMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR,
623 eDrmFormatModifierPropertiesListEXT = VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT,
624 ePhysicalDeviceImageDrmFormatModifierInfoEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT,
625 eImageDrmFormatModifierListCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT,
626 eImageDrmFormatModifierExplicitCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT,
627 eImageDrmFormatModifierPropertiesEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
628 eDrmFormatModifierPropertiesList2EXT = VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT,
629 eValidationCacheCreateInfoEXT = VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT,
630 eShaderModuleValidationCacheCreateInfoEXT = VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT,
631 eDescriptorSetLayoutBindingFlagsCreateInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT,
632 ePhysicalDeviceDescriptorIndexingFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT,
633 ePhysicalDeviceDescriptorIndexingPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT,
634 eDescriptorSetVariableDescriptorCountAllocateInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT,
635 eDescriptorSetVariableDescriptorCountLayoutSupportEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT,
636#if defined( VK_ENABLE_BETA_EXTENSIONS )
637 ePhysicalDevicePortabilitySubsetFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR,
638 ePhysicalDevicePortabilitySubsetPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR,
639#endif /*VK_ENABLE_BETA_EXTENSIONS*/
640 ePipelineViewportShadingRateImageStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV,
641 ePhysicalDeviceShadingRateImageFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV,
642 ePhysicalDeviceShadingRateImagePropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV,
643 ePipelineViewportCoarseSampleOrderStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV,
644 eRayTracingPipelineCreateInfoNV = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV,
645 eAccelerationStructureCreateInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV,
646 eGeometryNV = VK_STRUCTURE_TYPE_GEOMETRY_NV,
647 eGeometryTrianglesNV = VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV,
648 eGeometryAabbNV = VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV,
649 eBindAccelerationStructureMemoryInfoNV = VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV,
650 eWriteDescriptorSetAccelerationStructureNV = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV,
651 eAccelerationStructureMemoryRequirementsInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV,
652 ePhysicalDeviceRayTracingPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV,
653 eRayTracingShaderGroupCreateInfoNV = VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV,
654 eAccelerationStructureInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV,
655 ePhysicalDeviceRepresentativeFragmentTestFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV,
656 ePipelineRepresentativeFragmentTestStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV,
657 ePhysicalDeviceMaintenance3PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR,
658 eDescriptorSetLayoutSupportKHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR,
659 ePhysicalDeviceImageViewImageFormatInfoEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT,
660 eFilterCubicImageViewImageFormatPropertiesEXT = VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT,
661 eDeviceQueueGlobalPriorityCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT,
662 ePhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR,
663 ePhysicalDevice8BitStorageFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR,
664 eImportMemoryHostPointerInfoEXT = VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT,
665 eMemoryHostPointerPropertiesEXT = VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT,
666 ePhysicalDeviceExternalMemoryHostPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT,
667 ePhysicalDeviceShaderAtomicInt64FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR,
668 ePhysicalDeviceShaderClockFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR,
669 ePipelineCompilerControlCreateInfoAMD = VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD,
670 eCalibratedTimestampInfoEXT = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT,
671 ePhysicalDeviceShaderCorePropertiesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD,
672 eVideoDecodeH265CapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR,
673 eVideoDecodeH265SessionParametersCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR,
674 eVideoDecodeH265SessionParametersAddInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR,
675 eVideoDecodeH265ProfileInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR,
676 eVideoDecodeH265PictureInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR,
677 eVideoDecodeH265DpbSlotInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR,
678 eDeviceQueueGlobalPriorityCreateInfoKHR = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR,
679 ePhysicalDeviceGlobalPriorityQueryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR,
680 eQueueFamilyGlobalPriorityPropertiesKHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR,
681 eDeviceMemoryOverallocationCreateInfoAMD = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD,
682 ePhysicalDeviceVertexAttributeDivisorPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT,
683 ePipelineVertexInputDivisorStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT,
684 ePhysicalDeviceVertexAttributeDivisorFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT,
685#if defined( VK_USE_PLATFORM_GGP )
686 ePresentFrameTokenGGP = VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP,
687#endif /*VK_USE_PLATFORM_GGP*/
688 ePipelineCreationFeedbackCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT,
689 ePhysicalDeviceDriverPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR,
690 ePhysicalDeviceFloatControlsPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR,
691 ePhysicalDeviceDepthStencilResolvePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR,
692 eSubpassDescriptionDepthStencilResolveKHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR,
693 ePhysicalDeviceComputeShaderDerivativesFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV,
694 ePhysicalDeviceMeshShaderFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV,
695 ePhysicalDeviceMeshShaderPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV,
696 ePhysicalDeviceFragmentShaderBarycentricFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV,
697 ePhysicalDeviceShaderImageFootprintFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV,
698 ePipelineViewportExclusiveScissorStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV,
699 ePhysicalDeviceExclusiveScissorFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV,
700 eCheckpointDataNV = VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV,
701 eQueueFamilyCheckpointPropertiesNV = VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV,
702 ePhysicalDeviceTimelineSemaphoreFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR,
703 ePhysicalDeviceTimelineSemaphorePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR,
704 eSemaphoreTypeCreateInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR,
705 eTimelineSemaphoreSubmitInfoKHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR,
706 eSemaphoreWaitInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR,
707 eSemaphoreSignalInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR,
708 ePhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL,
709 eQueryPoolPerformanceQueryCreateInfoINTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
710 eQueryPoolCreateInfoINTEL = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL,
711 eInitializePerformanceApiInfoINTEL = VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL,
712 ePerformanceMarkerInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL,
713 ePerformanceStreamMarkerInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL,
714 ePerformanceOverrideInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL,
715 ePerformanceConfigurationAcquireInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL,
716 ePhysicalDeviceVulkanMemoryModelFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR,
717 ePhysicalDevicePciBusInfoPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT,
718 eDisplayNativeHdrSurfaceCapabilitiesAMD = VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD,
719 eSwapchainDisplayNativeHdrCreateInfoAMD = VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD,
720#if defined( VK_USE_PLATFORM_FUCHSIA )
721 eImagepipeSurfaceCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA,
722#endif /*VK_USE_PLATFORM_FUCHSIA*/
723 ePhysicalDeviceShaderTerminateInvocationFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR,
724#if defined( VK_USE_PLATFORM_METAL_EXT )
725 eMetalSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT,
726#endif /*VK_USE_PLATFORM_METAL_EXT*/
727 ePhysicalDeviceFragmentDensityMapFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT,
728 ePhysicalDeviceFragmentDensityMapPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT,
729 eRenderPassFragmentDensityMapCreateInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT,
730 ePhysicalDeviceScalarBlockLayoutFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT,
731 ePhysicalDeviceSubgroupSizeControlPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT,
732 ePipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT,
733 ePhysicalDeviceSubgroupSizeControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT,
734 eFragmentShadingRateAttachmentInfoKHR = VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
735 ePipelineFragmentShadingRateStateCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR,
736 ePhysicalDeviceFragmentShadingRatePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR,
737 ePhysicalDeviceFragmentShadingRateFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR,
738 ePhysicalDeviceFragmentShadingRateKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR,
739 ePhysicalDeviceShaderCoreProperties2AMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD,
740 ePhysicalDeviceCoherentMemoryFeaturesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD,
741 ePhysicalDeviceShaderImageAtomicInt64FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT,
742 ePhysicalDeviceMemoryBudgetPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT,
743 ePhysicalDeviceMemoryPriorityFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT,
744 eMemoryPriorityAllocateInfoEXT = VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT,
745 eSurfaceProtectedCapabilitiesKHR = VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR,
746 ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV,
747 ePhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR,
748 eAttachmentReferenceStencilLayoutKHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR,
749 eAttachmentDescriptionStencilLayoutKHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR,
750 ePhysicalDeviceBufferDeviceAddressFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
751 ePhysicalDeviceBufferAddressFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT,
752 eBufferDeviceAddressInfoEXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT,
753 eBufferDeviceAddressCreateInfoEXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT,
754 ePhysicalDeviceToolPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT,
755 eImageStencilUsageCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT,
756 eValidationFeaturesEXT = VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT,
757 ePhysicalDevicePresentWaitFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR,
758 ePhysicalDeviceCooperativeMatrixFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV,
759 eCooperativeMatrixPropertiesNV = VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV,
760 ePhysicalDeviceCooperativeMatrixPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV,
761 ePhysicalDeviceCoverageReductionModeFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV,
762 ePipelineCoverageReductionStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV,
763 eFramebufferMixedSamplesCombinationNV = VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV,
764 ePhysicalDeviceFragmentShaderInterlockFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT,
765 ePhysicalDeviceYcbcrImageArraysFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT,
766 ePhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR,
767 ePhysicalDeviceProvokingVertexFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT,
768 ePipelineRasterizationProvokingVertexStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT,
769 ePhysicalDeviceProvokingVertexPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT,
770#if defined( VK_USE_PLATFORM_WIN32_KHR )
771 eSurfaceFullScreenExclusiveInfoEXT = VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT,
772 eSurfaceCapabilitiesFullScreenExclusiveEXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT,
773 eSurfaceFullScreenExclusiveWin32InfoEXT = VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT,
774#endif /*VK_USE_PLATFORM_WIN32_KHR*/
775 eHeadlessSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT,
776 ePhysicalDeviceBufferDeviceAddressFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR,
777 eBufferDeviceAddressInfoKHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR,
778 eBufferOpaqueCaptureAddressCreateInfoKHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR,
779 eMemoryOpaqueCaptureAddressAllocateInfoKHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR,
780 eDeviceMemoryOpaqueCaptureAddressInfoKHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR,
781 ePhysicalDeviceLineRasterizationFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT,
782 ePipelineRasterizationLineStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT,
783 ePhysicalDeviceLineRasterizationPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT,
784 ePhysicalDeviceShaderAtomicFloatFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT,
785 ePhysicalDeviceHostQueryResetFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT,
786 ePhysicalDeviceIndexTypeUint8FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT,
787 ePhysicalDeviceExtendedDynamicStateFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT,
788 ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR,
789 ePipelineInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR,
790 ePipelineExecutablePropertiesKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR,
791 ePipelineExecutableInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR,
792 ePipelineExecutableStatisticKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR,
793 ePipelineExecutableInternalRepresentationKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR,
794 eMemoryMapInfoKHR = VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR,
795 eMemoryUnmapInfoKHR = VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR,
796 ePhysicalDeviceShaderAtomicFloat2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT,
797 eSurfacePresentModeEXT = VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT,
798 eSurfacePresentScalingCapabilitiesEXT = VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT,
799 eSurfacePresentModeCompatibilityEXT = VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT,
800 ePhysicalDeviceSwapchainMaintenance1FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT,
801 eSwapchainPresentFenceInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT,
802 eSwapchainPresentModesCreateInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT,
803 eSwapchainPresentModeInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT,
804 eSwapchainPresentScalingCreateInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT,
805 eReleaseSwapchainImagesInfoEXT = VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT,
806 ePhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT,
807 ePhysicalDeviceDeviceGeneratedCommandsPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV,
808 eGraphicsShaderGroupCreateInfoNV = VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV,
809 eGraphicsPipelineShaderGroupsCreateInfoNV = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV,
810 eIndirectCommandsLayoutTokenNV = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV,
811 eIndirectCommandsLayoutCreateInfoNV = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV,
812 eGeneratedCommandsInfoNV = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV,
813 eGeneratedCommandsMemoryRequirementsInfoNV = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV,
814 ePhysicalDeviceDeviceGeneratedCommandsFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV,
815 ePhysicalDeviceInheritedViewportScissorFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV,
816 eCommandBufferInheritanceViewportScissorInfoNV = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV,
817 ePhysicalDeviceShaderIntegerDotProductFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR,
818 ePhysicalDeviceShaderIntegerDotProductPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR,
819 ePhysicalDeviceTexelBufferAlignmentFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT,
820 ePhysicalDeviceTexelBufferAlignmentPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT,
821 eCommandBufferInheritanceRenderPassTransformInfoQCOM = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM,
822 eRenderPassTransformBeginInfoQCOM = VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM,
823 ePhysicalDeviceDeviceMemoryReportFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT,
824 eDeviceDeviceMemoryReportCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT,
825 eDeviceMemoryReportCallbackDataEXT = VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT,
826 ePhysicalDeviceRobustness2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT,
827 ePhysicalDeviceRobustness2PropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT,
828 eSamplerCustomBorderColorCreateInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT,
829 ePhysicalDeviceCustomBorderColorPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT,
830 ePhysicalDeviceCustomBorderColorFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT,
831 ePipelineLibraryCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR,
832 ePhysicalDevicePresentBarrierFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV,
833 eSurfaceCapabilitiesPresentBarrierNV = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV,
834 eSwapchainPresentBarrierCreateInfoNV = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV,
835 ePresentIdKHR = VK_STRUCTURE_TYPE_PRESENT_ID_KHR,
836 ePhysicalDevicePresentIdFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR,
837 ePhysicalDevicePrivateDataFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT,
838 eDevicePrivateDataCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT,
839 ePrivateDataSlotCreateInfoEXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT,
840 ePhysicalDevicePipelineCreationCacheControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT,
841#if defined( VK_ENABLE_BETA_EXTENSIONS )
842 eVideoEncodeInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR,
843 eVideoEncodeRateControlInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR,
844 eVideoEncodeRateControlLayerInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR,
845 eVideoEncodeCapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR,
846 eVideoEncodeUsageInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR,
847 eQueryPoolVideoEncodeFeedbackCreateInfoKHR = VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR,
848#endif /*VK_ENABLE_BETA_EXTENSIONS*/
849 ePhysicalDeviceDiagnosticsConfigFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV,
850 eDeviceDiagnosticsConfigCreateInfoNV = VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV,
851 eQueryLowLatencySupportNV = VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV,
852#if defined( VK_USE_PLATFORM_METAL_EXT )
853 eExportMetalObjectCreateInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT,
854 eExportMetalObjectsInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT,
855 eExportMetalDeviceInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT,
856 eExportMetalCommandQueueInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT,
857 eExportMetalBufferInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT,
858 eImportMetalBufferInfoEXT = VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT,
859 eExportMetalTextureInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT,
860 eImportMetalTextureInfoEXT = VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT,
861 eExportMetalIoSurfaceInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT,
862 eImportMetalIoSurfaceInfoEXT = VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT,
863 eExportMetalSharedEventInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT,
864 eImportMetalSharedEventInfoEXT = VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT,
865#endif /*VK_USE_PLATFORM_METAL_EXT*/
866 eMemoryBarrier2KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR,
867 eBufferMemoryBarrier2KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR,
868 eImageMemoryBarrier2KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR,
869 eDependencyInfoKHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR,
870 eSubmitInfo2KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR,
871 eSemaphoreSubmitInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR,
872 eCommandBufferSubmitInfoKHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR,
873 ePhysicalDeviceSynchronization2FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR,
874 eQueueFamilyCheckpointProperties2NV = VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV,
875 eCheckpointData2NV = VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV,
876 ePhysicalDeviceDescriptorBufferPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT,
877 ePhysicalDeviceDescriptorBufferDensityMapPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT,
878 ePhysicalDeviceDescriptorBufferFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT,
879 eDescriptorAddressInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT,
880 eDescriptorGetInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT,
881 eBufferCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
882 eImageCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
883 eImageViewCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
884 eSamplerCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
885 eOpaqueCaptureDescriptorDataCreateInfoEXT = VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT,
886 eDescriptorBufferBindingInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT,
887 eDescriptorBufferBindingPushDescriptorBufferHandleEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT,
888 eAccelerationStructureCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
889 ePhysicalDeviceGraphicsPipelineLibraryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT,
890 ePhysicalDeviceGraphicsPipelineLibraryPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT,
891 eGraphicsPipelineLibraryCreateInfoEXT = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT,
892 ePhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD,
893 ePhysicalDeviceFragmentShaderBarycentricFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR,
894 ePhysicalDeviceFragmentShaderBarycentricPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR,
895 ePhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR,
896 ePhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR,
897 ePhysicalDeviceFragmentShadingRateEnumsPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV,
898 ePhysicalDeviceFragmentShadingRateEnumsFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV,
899 ePipelineFragmentShadingRateEnumStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV,
900 eAccelerationStructureGeometryMotionTrianglesDataNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV,
901 ePhysicalDeviceRayTracingMotionBlurFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV,
902 eAccelerationStructureMotionInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV,
903 ePhysicalDeviceMeshShaderFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT,
904 ePhysicalDeviceMeshShaderPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT,
905 ePhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT,
906 ePhysicalDeviceFragmentDensityMap2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT,
907 ePhysicalDeviceFragmentDensityMap2PropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT,
908 eCopyCommandTransformInfoQCOM = VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM,
909 ePhysicalDeviceImageRobustnessFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT,
910 ePhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR,
911 eCopyBufferInfo2KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR,
912 eCopyImageInfo2KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR,
913 eCopyBufferToImageInfo2KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR,
914 eCopyImageToBufferInfo2KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR,
915 eBlitImageInfo2KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR,
916 eResolveImageInfo2KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR,
917 eBufferCopy2KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR,
918 eImageCopy2KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR,
919 eImageBlit2KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR,
920 eBufferImageCopy2KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR,
921 eImageResolve2KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR,
922 ePhysicalDeviceImageCompressionControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT,
923 eImageCompressionControlEXT = VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT,
924 eSubresourceLayout2EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT,
925 eImageSubresource2EXT = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT,
926 eImageCompressionPropertiesEXT = VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT,
927 ePhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT,
928 ePhysicalDevice4444FormatsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT,
929 ePhysicalDeviceFaultFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT,
930 eDeviceFaultCountsEXT = VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT,
931 eDeviceFaultInfoEXT = VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT,
932 ePhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM,
933 ePhysicalDeviceRgba10X6FormatsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT,
934#if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
935 eDirectfbSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT,
936#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
937 ePhysicalDeviceMutableDescriptorTypeFeaturesVALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE,
938 eMutableDescriptorTypeCreateInfoVALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE,
939 ePhysicalDeviceVertexInputDynamicStateFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT,
940 eVertexInputBindingDescription2EXT = VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT,
941 eVertexInputAttributeDescription2EXT = VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT,
942 ePhysicalDeviceDrmPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT,
943 ePhysicalDeviceAddressBindingReportFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT,
944 eDeviceAddressBindingCallbackDataEXT = VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT,
945 ePhysicalDeviceDepthClipControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT,
946 ePipelineViewportDepthClipControlCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT,
947 ePhysicalDevicePrimitiveTopologyListRestartFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT,
948 eFormatProperties3KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR,
949#if defined( VK_USE_PLATFORM_FUCHSIA )
950 eImportMemoryZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA,
951 eMemoryZirconHandlePropertiesFUCHSIA = VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA,
952 eMemoryGetZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
953 eImportSemaphoreZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA,
954 eSemaphoreGetZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
955 eBufferCollectionCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA,
956 eImportMemoryBufferCollectionFUCHSIA = VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA,
957 eBufferCollectionImageCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA,
958 eBufferCollectionPropertiesFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA,
959 eBufferConstraintsInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA,
960 eBufferCollectionBufferCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA,
961 eImageConstraintsInfoFUCHSIA = VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA,
962 eImageFormatConstraintsInfoFUCHSIA = VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA,
963 eSysmemColorSpaceFUCHSIA = VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA,
964 eBufferCollectionConstraintsInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA,
965#endif /*VK_USE_PLATFORM_FUCHSIA*/
966 eSubpassShadingPipelineCreateInfoHUAWEI = VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI,
967 ePhysicalDeviceSubpassShadingFeaturesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI,
968 ePhysicalDeviceSubpassShadingPropertiesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI,
969 ePhysicalDeviceInvocationMaskFeaturesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI,
970 eMemoryGetRemoteAddressInfoNV = VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV,
971 ePhysicalDeviceExternalMemoryRdmaFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV,
972 ePipelinePropertiesIdentifierEXT = VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT,
973 ePhysicalDevicePipelinePropertiesFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT,
974 ePipelineInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT,
975 ePhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT,
976 eSubpassResolvePerformanceQueryEXT = VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT,
977 eMultisampledRenderToSingleSampledInfoEXT = VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT,
978 ePhysicalDeviceExtendedDynamicState2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT,
979#if defined( VK_USE_PLATFORM_SCREEN_QNX )
980 eScreenSurfaceCreateInfoQNX = VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX,
981#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
982 ePhysicalDeviceColorWriteEnableFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT,
983 ePipelineColorWriteCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT,
984 ePhysicalDevicePrimitivesGeneratedQueryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT,
985 ePhysicalDeviceRayTracingMaintenance1FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR,
986 ePhysicalDeviceGlobalPriorityQueryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT,
987 eQueueFamilyGlobalPriorityPropertiesEXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT,
988 ePhysicalDeviceImageViewMinLodFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT,
989 eImageViewMinLodCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT,
990 ePhysicalDeviceMultiDrawFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT,
991 ePhysicalDeviceMultiDrawPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT,
992 ePhysicalDeviceImage2DViewOf3DFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT,
993 ePhysicalDeviceShaderTileImageFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT,
994 ePhysicalDeviceShaderTileImagePropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT,
995 eMicromapBuildInfoEXT = VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT,
996 eMicromapVersionInfoEXT = VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT,
997 eCopyMicromapInfoEXT = VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT,
998 eCopyMicromapToMemoryInfoEXT = VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT,
999 eCopyMemoryToMicromapInfoEXT = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT,
1000 ePhysicalDeviceOpacityMicromapFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT,
1001 ePhysicalDeviceOpacityMicromapPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT,
1002 eMicromapCreateInfoEXT = VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT,
1003 eMicromapBuildSizesInfoEXT = VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT,
1004 eAccelerationStructureTrianglesOpacityMicromapEXT = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT,
1005#if defined( VK_ENABLE_BETA_EXTENSIONS )
1006 ePhysicalDeviceDisplacementMicromapFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV,
1007 ePhysicalDeviceDisplacementMicromapPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV,
1008 eAccelerationStructureTrianglesDisplacementMicromapNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV,
1009#endif /*VK_ENABLE_BETA_EXTENSIONS*/
1010 ePhysicalDeviceClusterCullingShaderFeaturesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI,
1011 ePhysicalDeviceClusterCullingShaderPropertiesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI,
1012 ePhysicalDeviceBorderColorSwizzleFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT,
1013 eSamplerBorderColorComponentMappingCreateInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT,
1014 ePhysicalDevicePageableDeviceLocalMemoryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT,
1015 ePhysicalDeviceMaintenance4FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR,
1016 ePhysicalDeviceMaintenance4PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR,
1017 eDeviceBufferMemoryRequirementsKHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR,
1018 eDeviceImageMemoryRequirementsKHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR,
1019 ePhysicalDeviceShaderCorePropertiesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM,
1020 ePhysicalDeviceImageSlicedViewOf3DFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT,
1021 eImageViewSlicedCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT,
1022 ePhysicalDeviceDescriptorSetHostMappingFeaturesVALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE,
1023 eDescriptorSetBindingReferenceVALVE = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE,
1024 eDescriptorSetLayoutHostMappingInfoVALVE = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE,
1025 ePhysicalDeviceDepthClampZeroOneFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT,
1026 ePhysicalDeviceNonSeamlessCubeMapFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT,
1027 ePhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM,
1028 ePhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM,
1029 eSubpassFragmentDensityMapOffsetEndInfoQCOM = VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM,
1030 ePhysicalDeviceCopyMemoryIndirectFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV,
1031 ePhysicalDeviceCopyMemoryIndirectPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV,
1032 ePhysicalDeviceMemoryDecompressionFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV,
1033 ePhysicalDeviceMemoryDecompressionPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV,
1034 ePhysicalDeviceLinearColorAttachmentFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV,
1035 ePhysicalDeviceImageCompressionControlSwapchainFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT,
1036 ePhysicalDeviceImageProcessingFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM,
1037 ePhysicalDeviceImageProcessingPropertiesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM,
1038 eImageViewSampleWeightCreateInfoQCOM = VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM,
1039 ePhysicalDeviceExtendedDynamicState3FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT,
1040 ePhysicalDeviceExtendedDynamicState3PropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT,
1041 ePhysicalDeviceSubpassMergeFeedbackFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT,
1042 eRenderPassCreationControlEXT = VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT,
1043 eRenderPassCreationFeedbackCreateInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT,
1044 eRenderPassSubpassFeedbackCreateInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT,
1045 eDirectDriverLoadingInfoLUNARG = VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG,
1046 eDirectDriverLoadingListLUNARG = VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG,
1047 ePhysicalDeviceShaderModuleIdentifierFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT,
1048 ePhysicalDeviceShaderModuleIdentifierPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT,
1049 ePipelineShaderStageModuleIdentifierCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT,
1050 eShaderModuleIdentifierEXT = VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT,
1051 ePhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT,
1052 ePhysicalDeviceOpticalFlowFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV,
1053 ePhysicalDeviceOpticalFlowPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV,
1054 eOpticalFlowImageFormatInfoNV = VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV,
1055 eOpticalFlowImageFormatPropertiesNV = VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV,
1056 eOpticalFlowSessionCreateInfoNV = VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV,
1057 eOpticalFlowExecuteInfoNV = VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV,
1058 eOpticalFlowSessionCreatePrivateDataInfoNV = VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV,
1059 ePhysicalDeviceLegacyDitheringFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT,
1060 ePhysicalDevicePipelineProtectedAccessFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT,
1061 ePhysicalDeviceShaderObjectFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT,
1062 ePhysicalDeviceShaderObjectPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT,
1063 eShaderCreateInfoEXT = VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT,
1064 eShaderRequiredSubgroupSizeCreateInfoEXT = VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT,
1065 ePhysicalDeviceTilePropertiesFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM,
1066 eTilePropertiesQCOM = VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM,
1067 ePhysicalDeviceAmigoProfilingFeaturesSEC = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC,
1068 eAmigoProfilingSubmitInfoSEC = VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC,
1069 ePhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM,
1070 ePhysicalDeviceRayTracingInvocationReorderFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV,
1071 ePhysicalDeviceRayTracingInvocationReorderPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV,
1072 ePhysicalDeviceMutableDescriptorTypeFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT,
1073 eMutableDescriptorTypeCreateInfoEXT = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT,
1074 ePhysicalDeviceShaderCoreBuiltinsFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM,
1075 ePhysicalDeviceShaderCoreBuiltinsPropertiesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM,
1076 ePhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT,
1077 ePhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM,
1078 eMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM = VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM
1079 };
1080
1081 enum class PipelineCacheHeaderVersion
1082 {
1083 eOne = VK_PIPELINE_CACHE_HEADER_VERSION_ONE
1084 };
1085
1086 enum class ObjectType
1087 {
1088 eUnknown = VK_OBJECT_TYPE_UNKNOWN,
1089 eInstance = VK_OBJECT_TYPE_INSTANCE,
1090 ePhysicalDevice = VK_OBJECT_TYPE_PHYSICAL_DEVICE,
1091 eDevice = VK_OBJECT_TYPE_DEVICE,
1092 eQueue = VK_OBJECT_TYPE_QUEUE,
1093 eSemaphore = VK_OBJECT_TYPE_SEMAPHORE,
1094 eCommandBuffer = VK_OBJECT_TYPE_COMMAND_BUFFER,
1095 eFence = VK_OBJECT_TYPE_FENCE,
1096 eDeviceMemory = VK_OBJECT_TYPE_DEVICE_MEMORY,
1097 eBuffer = VK_OBJECT_TYPE_BUFFER,
1098 eImage = VK_OBJECT_TYPE_IMAGE,
1099 eEvent = VK_OBJECT_TYPE_EVENT,
1100 eQueryPool = VK_OBJECT_TYPE_QUERY_POOL,
1101 eBufferView = VK_OBJECT_TYPE_BUFFER_VIEW,
1102 eImageView = VK_OBJECT_TYPE_IMAGE_VIEW,
1103 eShaderModule = VK_OBJECT_TYPE_SHADER_MODULE,
1104 ePipelineCache = VK_OBJECT_TYPE_PIPELINE_CACHE,
1105 ePipelineLayout = VK_OBJECT_TYPE_PIPELINE_LAYOUT,
1106 eRenderPass = VK_OBJECT_TYPE_RENDER_PASS,
1107 ePipeline = VK_OBJECT_TYPE_PIPELINE,
1108 eDescriptorSetLayout = VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT,
1109 eSampler = VK_OBJECT_TYPE_SAMPLER,
1110 eDescriptorPool = VK_OBJECT_TYPE_DESCRIPTOR_POOL,
1111 eDescriptorSet = VK_OBJECT_TYPE_DESCRIPTOR_SET,
1112 eFramebuffer = VK_OBJECT_TYPE_FRAMEBUFFER,
1113 eCommandPool = VK_OBJECT_TYPE_COMMAND_POOL,
1114 eSamplerYcbcrConversion = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1115 eDescriptorUpdateTemplate = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1116 ePrivateDataSlot = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT,
1117 eSurfaceKHR = VK_OBJECT_TYPE_SURFACE_KHR,
1118 eSwapchainKHR = VK_OBJECT_TYPE_SWAPCHAIN_KHR,
1119 eDisplayKHR = VK_OBJECT_TYPE_DISPLAY_KHR,
1120 eDisplayModeKHR = VK_OBJECT_TYPE_DISPLAY_MODE_KHR,
1121 eDebugReportCallbackEXT = VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT,
1122 eVideoSessionKHR = VK_OBJECT_TYPE_VIDEO_SESSION_KHR,
1123 eVideoSessionParametersKHR = VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR,
1124 eCuModuleNVX = VK_OBJECT_TYPE_CU_MODULE_NVX,
1125 eCuFunctionNVX = VK_OBJECT_TYPE_CU_FUNCTION_NVX,
1126 eDescriptorUpdateTemplateKHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR,
1127 eDebugUtilsMessengerEXT = VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT,
1128 eAccelerationStructureKHR = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR,
1129 eSamplerYcbcrConversionKHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR,
1130 eValidationCacheEXT = VK_OBJECT_TYPE_VALIDATION_CACHE_EXT,
1131 eAccelerationStructureNV = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV,
1132 ePerformanceConfigurationINTEL = VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL,
1133 eDeferredOperationKHR = VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR,
1134 eIndirectCommandsLayoutNV = VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV,
1135 ePrivateDataSlotEXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT,
1136#if defined( VK_USE_PLATFORM_FUCHSIA )
1137 eBufferCollectionFUCHSIA = VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA,
1138#endif /*VK_USE_PLATFORM_FUCHSIA*/
1139 eMicromapEXT = VK_OBJECT_TYPE_MICROMAP_EXT,
1140 eOpticalFlowSessionNV = VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV,
1141 eShaderEXT = VK_OBJECT_TYPE_SHADER_EXT
1142 };
1143
1144 enum class VendorId
1145 {
1146 eVIV = VK_VENDOR_ID_VIV,
1147 eVSI = VK_VENDOR_ID_VSI,
1148 eKazan = VK_VENDOR_ID_KAZAN,
1149 eCodeplay = VK_VENDOR_ID_CODEPLAY,
1150 eMESA = VK_VENDOR_ID_MESA,
1151 ePocl = VK_VENDOR_ID_POCL,
1152 eMobileye = VK_VENDOR_ID_MOBILEYE
1153 };
1154
1155 enum class Format
1156 {
1157 eUndefined = VK_FORMAT_UNDEFINED,
1158 eR4G4UnormPack8 = VK_FORMAT_R4G4_UNORM_PACK8,
1159 eR4G4B4A4UnormPack16 = VK_FORMAT_R4G4B4A4_UNORM_PACK16,
1160 eB4G4R4A4UnormPack16 = VK_FORMAT_B4G4R4A4_UNORM_PACK16,
1161 eR5G6B5UnormPack16 = VK_FORMAT_R5G6B5_UNORM_PACK16,
1162 eB5G6R5UnormPack16 = VK_FORMAT_B5G6R5_UNORM_PACK16,
1163 eR5G5B5A1UnormPack16 = VK_FORMAT_R5G5B5A1_UNORM_PACK16,
1164 eB5G5R5A1UnormPack16 = VK_FORMAT_B5G5R5A1_UNORM_PACK16,
1165 eA1R5G5B5UnormPack16 = VK_FORMAT_A1R5G5B5_UNORM_PACK16,
1166 eR8Unorm = VK_FORMAT_R8_UNORM,
1167 eR8Snorm = VK_FORMAT_R8_SNORM,
1168 eR8Uscaled = VK_FORMAT_R8_USCALED,
1169 eR8Sscaled = VK_FORMAT_R8_SSCALED,
1170 eR8Uint = VK_FORMAT_R8_UINT,
1171 eR8Sint = VK_FORMAT_R8_SINT,
1172 eR8Srgb = VK_FORMAT_R8_SRGB,
1173 eR8G8Unorm = VK_FORMAT_R8G8_UNORM,
1174 eR8G8Snorm = VK_FORMAT_R8G8_SNORM,
1175 eR8G8Uscaled = VK_FORMAT_R8G8_USCALED,
1176 eR8G8Sscaled = VK_FORMAT_R8G8_SSCALED,
1177 eR8G8Uint = VK_FORMAT_R8G8_UINT,
1178 eR8G8Sint = VK_FORMAT_R8G8_SINT,
1179 eR8G8Srgb = VK_FORMAT_R8G8_SRGB,
1180 eR8G8B8Unorm = VK_FORMAT_R8G8B8_UNORM,
1181 eR8G8B8Snorm = VK_FORMAT_R8G8B8_SNORM,
1182 eR8G8B8Uscaled = VK_FORMAT_R8G8B8_USCALED,
1183 eR8G8B8Sscaled = VK_FORMAT_R8G8B8_SSCALED,
1184 eR8G8B8Uint = VK_FORMAT_R8G8B8_UINT,
1185 eR8G8B8Sint = VK_FORMAT_R8G8B8_SINT,
1186 eR8G8B8Srgb = VK_FORMAT_R8G8B8_SRGB,
1187 eB8G8R8Unorm = VK_FORMAT_B8G8R8_UNORM,
1188 eB8G8R8Snorm = VK_FORMAT_B8G8R8_SNORM,
1189 eB8G8R8Uscaled = VK_FORMAT_B8G8R8_USCALED,
1190 eB8G8R8Sscaled = VK_FORMAT_B8G8R8_SSCALED,
1191 eB8G8R8Uint = VK_FORMAT_B8G8R8_UINT,
1192 eB8G8R8Sint = VK_FORMAT_B8G8R8_SINT,
1193 eB8G8R8Srgb = VK_FORMAT_B8G8R8_SRGB,
1194 eR8G8B8A8Unorm = VK_FORMAT_R8G8B8A8_UNORM,
1195 eR8G8B8A8Snorm = VK_FORMAT_R8G8B8A8_SNORM,
1196 eR8G8B8A8Uscaled = VK_FORMAT_R8G8B8A8_USCALED,
1197 eR8G8B8A8Sscaled = VK_FORMAT_R8G8B8A8_SSCALED,
1198 eR8G8B8A8Uint = VK_FORMAT_R8G8B8A8_UINT,
1199 eR8G8B8A8Sint = VK_FORMAT_R8G8B8A8_SINT,
1200 eR8G8B8A8Srgb = VK_FORMAT_R8G8B8A8_SRGB,
1201 eB8G8R8A8Unorm = VK_FORMAT_B8G8R8A8_UNORM,
1202 eB8G8R8A8Snorm = VK_FORMAT_B8G8R8A8_SNORM,
1203 eB8G8R8A8Uscaled = VK_FORMAT_B8G8R8A8_USCALED,
1204 eB8G8R8A8Sscaled = VK_FORMAT_B8G8R8A8_SSCALED,
1205 eB8G8R8A8Uint = VK_FORMAT_B8G8R8A8_UINT,
1206 eB8G8R8A8Sint = VK_FORMAT_B8G8R8A8_SINT,
1207 eB8G8R8A8Srgb = VK_FORMAT_B8G8R8A8_SRGB,
1208 eA8B8G8R8UnormPack32 = VK_FORMAT_A8B8G8R8_UNORM_PACK32,
1209 eA8B8G8R8SnormPack32 = VK_FORMAT_A8B8G8R8_SNORM_PACK32,
1210 eA8B8G8R8UscaledPack32 = VK_FORMAT_A8B8G8R8_USCALED_PACK32,
1211 eA8B8G8R8SscaledPack32 = VK_FORMAT_A8B8G8R8_SSCALED_PACK32,
1212 eA8B8G8R8UintPack32 = VK_FORMAT_A8B8G8R8_UINT_PACK32,
1213 eA8B8G8R8SintPack32 = VK_FORMAT_A8B8G8R8_SINT_PACK32,
1214 eA8B8G8R8SrgbPack32 = VK_FORMAT_A8B8G8R8_SRGB_PACK32,
1215 eA2R10G10B10UnormPack32 = VK_FORMAT_A2R10G10B10_UNORM_PACK32,
1216 eA2R10G10B10SnormPack32 = VK_FORMAT_A2R10G10B10_SNORM_PACK32,
1217 eA2R10G10B10UscaledPack32 = VK_FORMAT_A2R10G10B10_USCALED_PACK32,
1218 eA2R10G10B10SscaledPack32 = VK_FORMAT_A2R10G10B10_SSCALED_PACK32,
1219 eA2R10G10B10UintPack32 = VK_FORMAT_A2R10G10B10_UINT_PACK32,
1220 eA2R10G10B10SintPack32 = VK_FORMAT_A2R10G10B10_SINT_PACK32,
1221 eA2B10G10R10UnormPack32 = VK_FORMAT_A2B10G10R10_UNORM_PACK32,
1222 eA2B10G10R10SnormPack32 = VK_FORMAT_A2B10G10R10_SNORM_PACK32,
1223 eA2B10G10R10UscaledPack32 = VK_FORMAT_A2B10G10R10_USCALED_PACK32,
1224 eA2B10G10R10SscaledPack32 = VK_FORMAT_A2B10G10R10_SSCALED_PACK32,
1225 eA2B10G10R10UintPack32 = VK_FORMAT_A2B10G10R10_UINT_PACK32,
1226 eA2B10G10R10SintPack32 = VK_FORMAT_A2B10G10R10_SINT_PACK32,
1227 eR16Unorm = VK_FORMAT_R16_UNORM,
1228 eR16Snorm = VK_FORMAT_R16_SNORM,
1229 eR16Uscaled = VK_FORMAT_R16_USCALED,
1230 eR16Sscaled = VK_FORMAT_R16_SSCALED,
1231 eR16Uint = VK_FORMAT_R16_UINT,
1232 eR16Sint = VK_FORMAT_R16_SINT,
1233 eR16Sfloat = VK_FORMAT_R16_SFLOAT,
1234 eR16G16Unorm = VK_FORMAT_R16G16_UNORM,
1235 eR16G16Snorm = VK_FORMAT_R16G16_SNORM,
1236 eR16G16Uscaled = VK_FORMAT_R16G16_USCALED,
1237 eR16G16Sscaled = VK_FORMAT_R16G16_SSCALED,
1238 eR16G16Uint = VK_FORMAT_R16G16_UINT,
1239 eR16G16Sint = VK_FORMAT_R16G16_SINT,
1240 eR16G16Sfloat = VK_FORMAT_R16G16_SFLOAT,
1241 eR16G16B16Unorm = VK_FORMAT_R16G16B16_UNORM,
1242 eR16G16B16Snorm = VK_FORMAT_R16G16B16_SNORM,
1243 eR16G16B16Uscaled = VK_FORMAT_R16G16B16_USCALED,
1244 eR16G16B16Sscaled = VK_FORMAT_R16G16B16_SSCALED,
1245 eR16G16B16Uint = VK_FORMAT_R16G16B16_UINT,
1246 eR16G16B16Sint = VK_FORMAT_R16G16B16_SINT,
1247 eR16G16B16Sfloat = VK_FORMAT_R16G16B16_SFLOAT,
1248 eR16G16B16A16Unorm = VK_FORMAT_R16G16B16A16_UNORM,
1249 eR16G16B16A16Snorm = VK_FORMAT_R16G16B16A16_SNORM,
1250 eR16G16B16A16Uscaled = VK_FORMAT_R16G16B16A16_USCALED,
1251 eR16G16B16A16Sscaled = VK_FORMAT_R16G16B16A16_SSCALED,
1252 eR16G16B16A16Uint = VK_FORMAT_R16G16B16A16_UINT,
1253 eR16G16B16A16Sint = VK_FORMAT_R16G16B16A16_SINT,
1254 eR16G16B16A16Sfloat = VK_FORMAT_R16G16B16A16_SFLOAT,
1255 eR32Uint = VK_FORMAT_R32_UINT,
1256 eR32Sint = VK_FORMAT_R32_SINT,
1257 eR32Sfloat = VK_FORMAT_R32_SFLOAT,
1258 eR32G32Uint = VK_FORMAT_R32G32_UINT,
1259 eR32G32Sint = VK_FORMAT_R32G32_SINT,
1260 eR32G32Sfloat = VK_FORMAT_R32G32_SFLOAT,
1261 eR32G32B32Uint = VK_FORMAT_R32G32B32_UINT,
1262 eR32G32B32Sint = VK_FORMAT_R32G32B32_SINT,
1263 eR32G32B32Sfloat = VK_FORMAT_R32G32B32_SFLOAT,
1264 eR32G32B32A32Uint = VK_FORMAT_R32G32B32A32_UINT,
1265 eR32G32B32A32Sint = VK_FORMAT_R32G32B32A32_SINT,
1266 eR32G32B32A32Sfloat = VK_FORMAT_R32G32B32A32_SFLOAT,
1267 eR64Uint = VK_FORMAT_R64_UINT,
1268 eR64Sint = VK_FORMAT_R64_SINT,
1269 eR64Sfloat = VK_FORMAT_R64_SFLOAT,
1270 eR64G64Uint = VK_FORMAT_R64G64_UINT,
1271 eR64G64Sint = VK_FORMAT_R64G64_SINT,
1272 eR64G64Sfloat = VK_FORMAT_R64G64_SFLOAT,
1273 eR64G64B64Uint = VK_FORMAT_R64G64B64_UINT,
1274 eR64G64B64Sint = VK_FORMAT_R64G64B64_SINT,
1275 eR64G64B64Sfloat = VK_FORMAT_R64G64B64_SFLOAT,
1276 eR64G64B64A64Uint = VK_FORMAT_R64G64B64A64_UINT,
1277 eR64G64B64A64Sint = VK_FORMAT_R64G64B64A64_SINT,
1278 eR64G64B64A64Sfloat = VK_FORMAT_R64G64B64A64_SFLOAT,
1279 eB10G11R11UfloatPack32 = VK_FORMAT_B10G11R11_UFLOAT_PACK32,
1280 eE5B9G9R9UfloatPack32 = VK_FORMAT_E5B9G9R9_UFLOAT_PACK32,
1281 eD16Unorm = VK_FORMAT_D16_UNORM,
1282 eX8D24UnormPack32 = VK_FORMAT_X8_D24_UNORM_PACK32,
1283 eD32Sfloat = VK_FORMAT_D32_SFLOAT,
1284 eS8Uint = VK_FORMAT_S8_UINT,
1285 eD16UnormS8Uint = VK_FORMAT_D16_UNORM_S8_UINT,
1286 eD24UnormS8Uint = VK_FORMAT_D24_UNORM_S8_UINT,
1287 eD32SfloatS8Uint = VK_FORMAT_D32_SFLOAT_S8_UINT,
1288 eBc1RgbUnormBlock = VK_FORMAT_BC1_RGB_UNORM_BLOCK,
1289 eBc1RgbSrgbBlock = VK_FORMAT_BC1_RGB_SRGB_BLOCK,
1290 eBc1RgbaUnormBlock = VK_FORMAT_BC1_RGBA_UNORM_BLOCK,
1291 eBc1RgbaSrgbBlock = VK_FORMAT_BC1_RGBA_SRGB_BLOCK,
1292 eBc2UnormBlock = VK_FORMAT_BC2_UNORM_BLOCK,
1293 eBc2SrgbBlock = VK_FORMAT_BC2_SRGB_BLOCK,
1294 eBc3UnormBlock = VK_FORMAT_BC3_UNORM_BLOCK,
1295 eBc3SrgbBlock = VK_FORMAT_BC3_SRGB_BLOCK,
1296 eBc4UnormBlock = VK_FORMAT_BC4_UNORM_BLOCK,
1297 eBc4SnormBlock = VK_FORMAT_BC4_SNORM_BLOCK,
1298 eBc5UnormBlock = VK_FORMAT_BC5_UNORM_BLOCK,
1299 eBc5SnormBlock = VK_FORMAT_BC5_SNORM_BLOCK,
1300 eBc6HUfloatBlock = VK_FORMAT_BC6H_UFLOAT_BLOCK,
1301 eBc6HSfloatBlock = VK_FORMAT_BC6H_SFLOAT_BLOCK,
1302 eBc7UnormBlock = VK_FORMAT_BC7_UNORM_BLOCK,
1303 eBc7SrgbBlock = VK_FORMAT_BC7_SRGB_BLOCK,
1304 eEtc2R8G8B8UnormBlock = VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK,
1305 eEtc2R8G8B8SrgbBlock = VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK,
1306 eEtc2R8G8B8A1UnormBlock = VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK,
1307 eEtc2R8G8B8A1SrgbBlock = VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK,
1308 eEtc2R8G8B8A8UnormBlock = VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK,
1309 eEtc2R8G8B8A8SrgbBlock = VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK,
1310 eEacR11UnormBlock = VK_FORMAT_EAC_R11_UNORM_BLOCK,
1311 eEacR11SnormBlock = VK_FORMAT_EAC_R11_SNORM_BLOCK,
1312 eEacR11G11UnormBlock = VK_FORMAT_EAC_R11G11_UNORM_BLOCK,
1313 eEacR11G11SnormBlock = VK_FORMAT_EAC_R11G11_SNORM_BLOCK,
1314 eAstc4x4UnormBlock = VK_FORMAT_ASTC_4x4_UNORM_BLOCK,
1315 eAstc4x4SrgbBlock = VK_FORMAT_ASTC_4x4_SRGB_BLOCK,
1316 eAstc5x4UnormBlock = VK_FORMAT_ASTC_5x4_UNORM_BLOCK,
1317 eAstc5x4SrgbBlock = VK_FORMAT_ASTC_5x4_SRGB_BLOCK,
1318 eAstc5x5UnormBlock = VK_FORMAT_ASTC_5x5_UNORM_BLOCK,
1319 eAstc5x5SrgbBlock = VK_FORMAT_ASTC_5x5_SRGB_BLOCK,
1320 eAstc6x5UnormBlock = VK_FORMAT_ASTC_6x5_UNORM_BLOCK,
1321 eAstc6x5SrgbBlock = VK_FORMAT_ASTC_6x5_SRGB_BLOCK,
1322 eAstc6x6UnormBlock = VK_FORMAT_ASTC_6x6_UNORM_BLOCK,
1323 eAstc6x6SrgbBlock = VK_FORMAT_ASTC_6x6_SRGB_BLOCK,
1324 eAstc8x5UnormBlock = VK_FORMAT_ASTC_8x5_UNORM_BLOCK,
1325 eAstc8x5SrgbBlock = VK_FORMAT_ASTC_8x5_SRGB_BLOCK,
1326 eAstc8x6UnormBlock = VK_FORMAT_ASTC_8x6_UNORM_BLOCK,
1327 eAstc8x6SrgbBlock = VK_FORMAT_ASTC_8x6_SRGB_BLOCK,
1328 eAstc8x8UnormBlock = VK_FORMAT_ASTC_8x8_UNORM_BLOCK,
1329 eAstc8x8SrgbBlock = VK_FORMAT_ASTC_8x8_SRGB_BLOCK,
1330 eAstc10x5UnormBlock = VK_FORMAT_ASTC_10x5_UNORM_BLOCK,
1331 eAstc10x5SrgbBlock = VK_FORMAT_ASTC_10x5_SRGB_BLOCK,
1332 eAstc10x6UnormBlock = VK_FORMAT_ASTC_10x6_UNORM_BLOCK,
1333 eAstc10x6SrgbBlock = VK_FORMAT_ASTC_10x6_SRGB_BLOCK,
1334 eAstc10x8UnormBlock = VK_FORMAT_ASTC_10x8_UNORM_BLOCK,
1335 eAstc10x8SrgbBlock = VK_FORMAT_ASTC_10x8_SRGB_BLOCK,
1336 eAstc10x10UnormBlock = VK_FORMAT_ASTC_10x10_UNORM_BLOCK,
1337 eAstc10x10SrgbBlock = VK_FORMAT_ASTC_10x10_SRGB_BLOCK,
1338 eAstc12x10UnormBlock = VK_FORMAT_ASTC_12x10_UNORM_BLOCK,
1339 eAstc12x10SrgbBlock = VK_FORMAT_ASTC_12x10_SRGB_BLOCK,
1340 eAstc12x12UnormBlock = VK_FORMAT_ASTC_12x12_UNORM_BLOCK,
1341 eAstc12x12SrgbBlock = VK_FORMAT_ASTC_12x12_SRGB_BLOCK,
1342 eG8B8G8R8422Unorm = VK_FORMAT_G8B8G8R8_422_UNORM,
1343 eB8G8R8G8422Unorm = VK_FORMAT_B8G8R8G8_422_UNORM,
1344 eG8B8R83Plane420Unorm = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
1345 eG8B8R82Plane420Unorm = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
1346 eG8B8R83Plane422Unorm = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
1347 eG8B8R82Plane422Unorm = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
1348 eG8B8R83Plane444Unorm = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
1349 eR10X6UnormPack16 = VK_FORMAT_R10X6_UNORM_PACK16,
1350 eR10X6G10X6Unorm2Pack16 = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
1351 eR10X6G10X6B10X6A10X6Unorm4Pack16 = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
1352 eG10X6B10X6G10X6R10X6422Unorm4Pack16 = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
1353 eB10X6G10X6R10X6G10X6422Unorm4Pack16 = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
1354 eG10X6B10X6R10X63Plane420Unorm3Pack16 = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
1355 eG10X6B10X6R10X62Plane420Unorm3Pack16 = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
1356 eG10X6B10X6R10X63Plane422Unorm3Pack16 = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
1357 eG10X6B10X6R10X62Plane422Unorm3Pack16 = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
1358 eG10X6B10X6R10X63Plane444Unorm3Pack16 = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
1359 eR12X4UnormPack16 = VK_FORMAT_R12X4_UNORM_PACK16,
1360 eR12X4G12X4Unorm2Pack16 = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
1361 eR12X4G12X4B12X4A12X4Unorm4Pack16 = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
1362 eG12X4B12X4G12X4R12X4422Unorm4Pack16 = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
1363 eB12X4G12X4R12X4G12X4422Unorm4Pack16 = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
1364 eG12X4B12X4R12X43Plane420Unorm3Pack16 = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
1365 eG12X4B12X4R12X42Plane420Unorm3Pack16 = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
1366 eG12X4B12X4R12X43Plane422Unorm3Pack16 = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
1367 eG12X4B12X4R12X42Plane422Unorm3Pack16 = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
1368 eG12X4B12X4R12X43Plane444Unorm3Pack16 = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
1369 eG16B16G16R16422Unorm = VK_FORMAT_G16B16G16R16_422_UNORM,
1370 eB16G16R16G16422Unorm = VK_FORMAT_B16G16R16G16_422_UNORM,
1371 eG16B16R163Plane420Unorm = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
1372 eG16B16R162Plane420Unorm = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
1373 eG16B16R163Plane422Unorm = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
1374 eG16B16R162Plane422Unorm = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
1375 eG16B16R163Plane444Unorm = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
1376 eG8B8R82Plane444Unorm = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM,
1377 eG10X6B10X6R10X62Plane444Unorm3Pack16 = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16,
1378 eG12X4B12X4R12X42Plane444Unorm3Pack16 = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16,
1379 eG16B16R162Plane444Unorm = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM,
1380 eA4R4G4B4UnormPack16 = VK_FORMAT_A4R4G4B4_UNORM_PACK16,
1381 eA4B4G4R4UnormPack16 = VK_FORMAT_A4B4G4R4_UNORM_PACK16,
1382 eAstc4x4SfloatBlock = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK,
1383 eAstc5x4SfloatBlock = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK,
1384 eAstc5x5SfloatBlock = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK,
1385 eAstc6x5SfloatBlock = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK,
1386 eAstc6x6SfloatBlock = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK,
1387 eAstc8x5SfloatBlock = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK,
1388 eAstc8x6SfloatBlock = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK,
1389 eAstc8x8SfloatBlock = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK,
1390 eAstc10x5SfloatBlock = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK,
1391 eAstc10x6SfloatBlock = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK,
1392 eAstc10x8SfloatBlock = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK,
1393 eAstc10x10SfloatBlock = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK,
1394 eAstc12x10SfloatBlock = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK,
1395 eAstc12x12SfloatBlock = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK,
1396 ePvrtc12BppUnormBlockIMG = VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG,
1397 ePvrtc14BppUnormBlockIMG = VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG,
1398 ePvrtc22BppUnormBlockIMG = VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG,
1399 ePvrtc24BppUnormBlockIMG = VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG,
1400 ePvrtc12BppSrgbBlockIMG = VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG,
1401 ePvrtc14BppSrgbBlockIMG = VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG,
1402 ePvrtc22BppSrgbBlockIMG = VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG,
1403 ePvrtc24BppSrgbBlockIMG = VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG,
1404 eAstc4x4SfloatBlockEXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT,
1405 eAstc5x4SfloatBlockEXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT,
1406 eAstc5x5SfloatBlockEXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT,
1407 eAstc6x5SfloatBlockEXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT,
1408 eAstc6x6SfloatBlockEXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT,
1409 eAstc8x5SfloatBlockEXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT,
1410 eAstc8x6SfloatBlockEXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT,
1411 eAstc8x8SfloatBlockEXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT,
1412 eAstc10x5SfloatBlockEXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT,
1413 eAstc10x6SfloatBlockEXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT,
1414 eAstc10x8SfloatBlockEXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT,
1415 eAstc10x10SfloatBlockEXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT,
1416 eAstc12x10SfloatBlockEXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT,
1417 eAstc12x12SfloatBlockEXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT,
1418 eG8B8G8R8422UnormKHR = VK_FORMAT_G8B8G8R8_422_UNORM_KHR,
1419 eB8G8R8G8422UnormKHR = VK_FORMAT_B8G8R8G8_422_UNORM_KHR,
1420 eG8B8R83Plane420UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR,
1421 eG8B8R82Plane420UnormKHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR,
1422 eG8B8R83Plane422UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR,
1423 eG8B8R82Plane422UnormKHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR,
1424 eG8B8R83Plane444UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR,
1425 eR10X6UnormPack16KHR = VK_FORMAT_R10X6_UNORM_PACK16_KHR,
1426 eR10X6G10X6Unorm2Pack16KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR,
1427 eR10X6G10X6B10X6A10X6Unorm4Pack16KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR,
1428 eG10X6B10X6G10X6R10X6422Unorm4Pack16KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR,
1429 eB10X6G10X6R10X6G10X6422Unorm4Pack16KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR,
1430 eG10X6B10X6R10X63Plane420Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR,
1431 eG10X6B10X6R10X62Plane420Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR,
1432 eG10X6B10X6R10X63Plane422Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR,
1433 eG10X6B10X6R10X62Plane422Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR,
1434 eG10X6B10X6R10X63Plane444Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR,
1435 eR12X4UnormPack16KHR = VK_FORMAT_R12X4_UNORM_PACK16_KHR,
1436 eR12X4G12X4Unorm2Pack16KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR,
1437 eR12X4G12X4B12X4A12X4Unorm4Pack16KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR,
1438 eG12X4B12X4G12X4R12X4422Unorm4Pack16KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR,
1439 eB12X4G12X4R12X4G12X4422Unorm4Pack16KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR,
1440 eG12X4B12X4R12X43Plane420Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR,
1441 eG12X4B12X4R12X42Plane420Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR,
1442 eG12X4B12X4R12X43Plane422Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR,
1443 eG12X4B12X4R12X42Plane422Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR,
1444 eG12X4B12X4R12X43Plane444Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR,
1445 eG16B16G16R16422UnormKHR = VK_FORMAT_G16B16G16R16_422_UNORM_KHR,
1446 eB16G16R16G16422UnormKHR = VK_FORMAT_B16G16R16G16_422_UNORM_KHR,
1447 eG16B16R163Plane420UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR,
1448 eG16B16R162Plane420UnormKHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR,
1449 eG16B16R163Plane422UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR,
1450 eG16B16R162Plane422UnormKHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR,
1451 eG16B16R163Plane444UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR,
1452 eG8B8R82Plane444UnormEXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT,
1453 eG10X6B10X6R10X62Plane444Unorm3Pack16EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT,
1454 eG12X4B12X4R12X42Plane444Unorm3Pack16EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT,
1455 eG16B16R162Plane444UnormEXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT,
1456 eA4R4G4B4UnormPack16EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT,
1457 eA4B4G4R4UnormPack16EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT,
1458 eR16G16S105NV = VK_FORMAT_R16G16_S10_5_NV
1459 };
1460
1461 enum class FormatFeatureFlagBits : VkFormatFeatureFlags
1462 {
1463 eSampledImage = VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT,
1464 eStorageImage = VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT,
1465 eStorageImageAtomic = VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT,
1466 eUniformTexelBuffer = VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT,
1467 eStorageTexelBuffer = VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT,
1468 eStorageTexelBufferAtomic = VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT,
1469 eVertexBuffer = VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT,
1470 eColorAttachment = VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT,
1471 eColorAttachmentBlend = VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT,
1472 eDepthStencilAttachment = VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT,
1473 eBlitSrc = VK_FORMAT_FEATURE_BLIT_SRC_BIT,
1474 eBlitDst = VK_FORMAT_FEATURE_BLIT_DST_BIT,
1475 eSampledImageFilterLinear = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT,
1476 eTransferSrc = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
1477 eTransferDst = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
1478 eMidpointChromaSamples = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
1479 eSampledImageYcbcrConversionLinearFilter = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
1480 eSampledImageYcbcrConversionSeparateReconstructionFilter = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
1481 eSampledImageYcbcrConversionChromaReconstructionExplicit = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
1482 eSampledImageYcbcrConversionChromaReconstructionExplicitForceable =
1483 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,
1484 eDisjoint = VK_FORMAT_FEATURE_DISJOINT_BIT,
1485 eCositedChromaSamples = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
1486 eSampledImageFilterMinmax = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
1487 eSampledImageFilterCubicIMG = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
1488 eVideoDecodeOutputKHR = VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR,
1489 eVideoDecodeDpbKHR = VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR,
1490 eTransferSrcKHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR,
1491 eTransferDstKHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR,
1492 eSampledImageFilterMinmaxEXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT,
1493 eAccelerationStructureVertexBufferKHR = VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR,
1494 eMidpointChromaSamplesKHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR,
1495 eSampledImageYcbcrConversionLinearFilterKHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR,
1496 eSampledImageYcbcrConversionSeparateReconstructionFilterKHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR,
1497 eSampledImageYcbcrConversionChromaReconstructionExplicitKHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR,
1498 eSampledImageYcbcrConversionChromaReconstructionExplicitForceableKHR =
1499 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR,
1500 eDisjointKHR = VK_FORMAT_FEATURE_DISJOINT_BIT_KHR,
1501 eCositedChromaSamplesKHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR,
1502 eSampledImageFilterCubicEXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT,
1503 eFragmentDensityMapEXT = VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT,
1504 eFragmentShadingRateAttachmentKHR = VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
1505#if defined( VK_ENABLE_BETA_EXTENSIONS )
1506 eVideoEncodeInputKHR = VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR,
1507 eVideoEncodeDpbKHR = VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR
1508#endif /*VK_ENABLE_BETA_EXTENSIONS*/
1509 };
1510
1511 using FormatFeatureFlags = Flags<FormatFeatureFlagBits>;
1512
1513 template <>
1514 struct FlagTraits<FormatFeatureFlagBits>
1515 {
1516 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
1517 static VULKAN_HPP_CONST_OR_CONSTEXPR FormatFeatureFlags allFlags =
1518 FormatFeatureFlagBits::eSampledImage | FormatFeatureFlagBits::eStorageImage | FormatFeatureFlagBits::eStorageImageAtomic |
1519 FormatFeatureFlagBits::eUniformTexelBuffer | FormatFeatureFlagBits::eStorageTexelBuffer | FormatFeatureFlagBits::eStorageTexelBufferAtomic |
1520 FormatFeatureFlagBits::eVertexBuffer | FormatFeatureFlagBits::eColorAttachment | FormatFeatureFlagBits::eColorAttachmentBlend |
1521 FormatFeatureFlagBits::eDepthStencilAttachment | FormatFeatureFlagBits::eBlitSrc | FormatFeatureFlagBits::eBlitDst |
1522 FormatFeatureFlagBits::eSampledImageFilterLinear | FormatFeatureFlagBits::eTransferSrc | FormatFeatureFlagBits::eTransferDst |
1523 FormatFeatureFlagBits::eMidpointChromaSamples | FormatFeatureFlagBits::eSampledImageYcbcrConversionLinearFilter |
1524 FormatFeatureFlagBits::eSampledImageYcbcrConversionSeparateReconstructionFilter |
1525 FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicit |
1526 FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable | FormatFeatureFlagBits::eDisjoint |
1527 FormatFeatureFlagBits::eCositedChromaSamples | FormatFeatureFlagBits::eSampledImageFilterMinmax | FormatFeatureFlagBits::eVideoDecodeOutputKHR |
1528 FormatFeatureFlagBits::eVideoDecodeDpbKHR | FormatFeatureFlagBits::eAccelerationStructureVertexBufferKHR |
1529 FormatFeatureFlagBits::eSampledImageFilterCubicEXT | FormatFeatureFlagBits::eFragmentDensityMapEXT |
1530 FormatFeatureFlagBits::eFragmentShadingRateAttachmentKHR
1531#if defined( VK_ENABLE_BETA_EXTENSIONS )
1532 | FormatFeatureFlagBits::eVideoEncodeInputKHR | FormatFeatureFlagBits::eVideoEncodeDpbKHR
1533#endif /*VK_ENABLE_BETA_EXTENSIONS*/
1534 ;
1535 };
1536
1537 enum class ImageCreateFlagBits : VkImageCreateFlags
1538 {
1539 eSparseBinding = VK_IMAGE_CREATE_SPARSE_BINDING_BIT,
1540 eSparseResidency = VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT,
1541 eSparseAliased = VK_IMAGE_CREATE_SPARSE_ALIASED_BIT,
1542 eMutableFormat = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT,
1543 eCubeCompatible = VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT,
1544 eAlias = VK_IMAGE_CREATE_ALIAS_BIT,
1545 eSplitInstanceBindRegions = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
1546 e2DArrayCompatible = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
1547 eBlockTexelViewCompatible = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
1548 eExtendedUsage = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
1549 eProtected = VK_IMAGE_CREATE_PROTECTED_BIT,
1550 eDisjoint = VK_IMAGE_CREATE_DISJOINT_BIT,
1551 eCornerSampledNV = VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV,
1552 eSplitInstanceBindRegionsKHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR,
1553 e2DArrayCompatibleKHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR,
1554 eBlockTexelViewCompatibleKHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR,
1555 eExtendedUsageKHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR,
1556 eSampleLocationsCompatibleDepthEXT = VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT,
1557 eDisjointKHR = VK_IMAGE_CREATE_DISJOINT_BIT_KHR,
1558 eAliasKHR = VK_IMAGE_CREATE_ALIAS_BIT_KHR,
1559 eSubsampledEXT = VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT,
1560 eDescriptorBufferCaptureReplayEXT = VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,
1561 eMultisampledRenderToSingleSampledEXT = VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT,
1562 e2DViewCompatibleEXT = VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT,
1563 eFragmentDensityMapOffsetQCOM = VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM
1564 };
1565
1566 using ImageCreateFlags = Flags<ImageCreateFlagBits>;
1567
1568 template <>
1569 struct FlagTraits<ImageCreateFlagBits>
1570 {
1571 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
1572 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageCreateFlags allFlags =
1573 ImageCreateFlagBits::eSparseBinding | ImageCreateFlagBits::eSparseResidency | ImageCreateFlagBits::eSparseAliased | ImageCreateFlagBits::eMutableFormat |
1574 ImageCreateFlagBits::eCubeCompatible | ImageCreateFlagBits::eAlias | ImageCreateFlagBits::eSplitInstanceBindRegions |
1575 ImageCreateFlagBits::e2DArrayCompatible | ImageCreateFlagBits::eBlockTexelViewCompatible | ImageCreateFlagBits::eExtendedUsage |
1576 ImageCreateFlagBits::eProtected | ImageCreateFlagBits::eDisjoint | ImageCreateFlagBits::eCornerSampledNV |
1577 ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT | ImageCreateFlagBits::eSubsampledEXT | ImageCreateFlagBits::eDescriptorBufferCaptureReplayEXT |
1578 ImageCreateFlagBits::eMultisampledRenderToSingleSampledEXT | ImageCreateFlagBits::e2DViewCompatibleEXT |
1579 ImageCreateFlagBits::eFragmentDensityMapOffsetQCOM;
1580 };
1581
1582 enum class ImageTiling
1583 {
1584 eOptimal = VK_IMAGE_TILING_OPTIMAL,
1585 eLinear = VK_IMAGE_TILING_LINEAR,
1586 eDrmFormatModifierEXT = VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT
1587 };
1588
1589 enum class ImageType
1590 {
1591 e1D = VK_IMAGE_TYPE_1D,
1592 e2D = VK_IMAGE_TYPE_2D,
1593 e3D = VK_IMAGE_TYPE_3D
1594 };
1595
1596 enum class ImageUsageFlagBits : VkImageUsageFlags
1597 {
1598 eTransferSrc = VK_IMAGE_USAGE_TRANSFER_SRC_BIT,
1599 eTransferDst = VK_IMAGE_USAGE_TRANSFER_DST_BIT,
1600 eSampled = VK_IMAGE_USAGE_SAMPLED_BIT,
1601 eStorage = VK_IMAGE_USAGE_STORAGE_BIT,
1602 eColorAttachment = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
1603 eDepthStencilAttachment = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
1604 eTransientAttachment = VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT,
1605 eInputAttachment = VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT,
1606 eVideoDecodeDstKHR = VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR,
1607 eVideoDecodeSrcKHR = VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR,
1608 eVideoDecodeDpbKHR = VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR,
1609 eShadingRateImageNV = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV,
1610 eFragmentDensityMapEXT = VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT,
1611 eFragmentShadingRateAttachmentKHR = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
1612#if defined( VK_ENABLE_BETA_EXTENSIONS )
1613 eVideoEncodeDstKHR = VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR,
1614 eVideoEncodeSrcKHR = VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR,
1615 eVideoEncodeDpbKHR = VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR,
1616#endif /*VK_ENABLE_BETA_EXTENSIONS*/
1617 eAttachmentFeedbackLoopEXT = VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT,
1618 eInvocationMaskHUAWEI = VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI,
1619 eSampleWeightQCOM = VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM,
1620 eSampleBlockMatchQCOM = VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM
1621 };
1622
1623 using ImageUsageFlags = Flags<ImageUsageFlagBits>;
1624
1625 template <>
1626 struct FlagTraits<ImageUsageFlagBits>
1627 {
1628 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
1629 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageUsageFlags allFlags =
1630 ImageUsageFlagBits::eTransferSrc | ImageUsageFlagBits::eTransferDst | ImageUsageFlagBits::eSampled | ImageUsageFlagBits::eStorage |
1631 ImageUsageFlagBits::eColorAttachment | ImageUsageFlagBits::eDepthStencilAttachment | ImageUsageFlagBits::eTransientAttachment |
1632 ImageUsageFlagBits::eInputAttachment | ImageUsageFlagBits::eVideoDecodeDstKHR | ImageUsageFlagBits::eVideoDecodeSrcKHR |
1633 ImageUsageFlagBits::eVideoDecodeDpbKHR | ImageUsageFlagBits::eFragmentDensityMapEXT | ImageUsageFlagBits::eFragmentShadingRateAttachmentKHR
1634#if defined( VK_ENABLE_BETA_EXTENSIONS )
1635 | ImageUsageFlagBits::eVideoEncodeDstKHR | ImageUsageFlagBits::eVideoEncodeSrcKHR | ImageUsageFlagBits::eVideoEncodeDpbKHR
1636#endif /*VK_ENABLE_BETA_EXTENSIONS*/
1637 | ImageUsageFlagBits::eAttachmentFeedbackLoopEXT | ImageUsageFlagBits::eInvocationMaskHUAWEI | ImageUsageFlagBits::eSampleWeightQCOM |
1638 ImageUsageFlagBits::eSampleBlockMatchQCOM;
1639 };
1640
1641 enum class InstanceCreateFlagBits : VkInstanceCreateFlags
1642 {
1643 eEnumeratePortabilityKHR = VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR
1644 };
1645
1646 using InstanceCreateFlags = Flags<InstanceCreateFlagBits>;
1647
1648 template <>
1649 struct FlagTraits<InstanceCreateFlagBits>
1650 {
1651 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
1652 static VULKAN_HPP_CONST_OR_CONSTEXPR InstanceCreateFlags allFlags = InstanceCreateFlagBits::eEnumeratePortabilityKHR;
1653 };
1654
1655 enum class InternalAllocationType
1656 {
1657 eExecutable = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE
1658 };
1659
1660 enum class MemoryHeapFlagBits : VkMemoryHeapFlags
1661 {
1662 eDeviceLocal = VK_MEMORY_HEAP_DEVICE_LOCAL_BIT,
1663 eMultiInstance = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
1664 eMultiInstanceKHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR
1665 };
1666
1667 using MemoryHeapFlags = Flags<MemoryHeapFlagBits>;
1668
1669 template <>
1670 struct FlagTraits<MemoryHeapFlagBits>
1671 {
1672 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
1673 static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryHeapFlags allFlags = MemoryHeapFlagBits::eDeviceLocal | MemoryHeapFlagBits::eMultiInstance;
1674 };
1675
1676 enum class MemoryPropertyFlagBits : VkMemoryPropertyFlags
1677 {
1678 eDeviceLocal = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
1679 eHostVisible = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT,
1680 eHostCoherent = VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
1681 eHostCached = VK_MEMORY_PROPERTY_HOST_CACHED_BIT,
1682 eLazilyAllocated = VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT,
1683 eProtected = VK_MEMORY_PROPERTY_PROTECTED_BIT,
1684 eDeviceCoherentAMD = VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD,
1685 eDeviceUncachedAMD = VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD,
1686 eRdmaCapableNV = VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV
1687 };
1688
1689 using MemoryPropertyFlags = Flags<MemoryPropertyFlagBits>;
1690
1691 template <>
1692 struct FlagTraits<MemoryPropertyFlagBits>
1693 {
1694 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
1695 static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryPropertyFlags allFlags =
1696 MemoryPropertyFlagBits::eDeviceLocal | MemoryPropertyFlagBits::eHostVisible | MemoryPropertyFlagBits::eHostCoherent |
1697 MemoryPropertyFlagBits::eHostCached | MemoryPropertyFlagBits::eLazilyAllocated | MemoryPropertyFlagBits::eProtected |
1698 MemoryPropertyFlagBits::eDeviceCoherentAMD | MemoryPropertyFlagBits::eDeviceUncachedAMD | MemoryPropertyFlagBits::eRdmaCapableNV;
1699 };
1700
1701 enum class PhysicalDeviceType
1702 {
1703 eOther = VK_PHYSICAL_DEVICE_TYPE_OTHER,
1704 eIntegratedGpu = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU,
1705 eDiscreteGpu = VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU,
1706 eVirtualGpu = VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU,
1707 eCpu = VK_PHYSICAL_DEVICE_TYPE_CPU
1708 };
1709
1710 enum class QueueFlagBits : VkQueueFlags
1711 {
1712 eGraphics = VK_QUEUE_GRAPHICS_BIT,
1713 eCompute = VK_QUEUE_COMPUTE_BIT,
1714 eTransfer = VK_QUEUE_TRANSFER_BIT,
1715 eSparseBinding = VK_QUEUE_SPARSE_BINDING_BIT,
1716 eProtected = VK_QUEUE_PROTECTED_BIT,
1717 eVideoDecodeKHR = VK_QUEUE_VIDEO_DECODE_BIT_KHR,
1718#if defined( VK_ENABLE_BETA_EXTENSIONS )
1719 eVideoEncodeKHR = VK_QUEUE_VIDEO_ENCODE_BIT_KHR,
1720#endif /*VK_ENABLE_BETA_EXTENSIONS*/
1721 eOpticalFlowNV = VK_QUEUE_OPTICAL_FLOW_BIT_NV
1722 };
1723
1724 using QueueFlags = Flags<QueueFlagBits>;
1725
1726 template <>
1727 struct FlagTraits<QueueFlagBits>
1728 {
1729 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
1730 static VULKAN_HPP_CONST_OR_CONSTEXPR QueueFlags allFlags = QueueFlagBits::eGraphics | QueueFlagBits::eCompute | QueueFlagBits::eTransfer |
1731 QueueFlagBits::eSparseBinding | QueueFlagBits::eProtected | QueueFlagBits::eVideoDecodeKHR
1732#if defined( VK_ENABLE_BETA_EXTENSIONS )
1733 | QueueFlagBits::eVideoEncodeKHR
1734#endif /*VK_ENABLE_BETA_EXTENSIONS*/
1735 | QueueFlagBits::eOpticalFlowNV;
1736 };
1737
1738 enum class SampleCountFlagBits : VkSampleCountFlags
1739 {
1740 e1 = VK_SAMPLE_COUNT_1_BIT,
1741 e2 = VK_SAMPLE_COUNT_2_BIT,
1742 e4 = VK_SAMPLE_COUNT_4_BIT,
1743 e8 = VK_SAMPLE_COUNT_8_BIT,
1744 e16 = VK_SAMPLE_COUNT_16_BIT,
1745 e32 = VK_SAMPLE_COUNT_32_BIT,
1746 e64 = VK_SAMPLE_COUNT_64_BIT
1747 };
1748
1749 using SampleCountFlags = Flags<SampleCountFlagBits>;
1750
1751 template <>
1752 struct FlagTraits<SampleCountFlagBits>
1753 {
1754 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
1755 static VULKAN_HPP_CONST_OR_CONSTEXPR SampleCountFlags allFlags = SampleCountFlagBits::e1 | SampleCountFlagBits::e2 | SampleCountFlagBits::e4 |
1756 SampleCountFlagBits::e8 | SampleCountFlagBits::e16 | SampleCountFlagBits::e32 |
1757 SampleCountFlagBits::e64;
1758 };
1759
1760 enum class SystemAllocationScope
1761 {
1762 eCommand = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND,
1763 eObject = VK_SYSTEM_ALLOCATION_SCOPE_OBJECT,
1764 eCache = VK_SYSTEM_ALLOCATION_SCOPE_CACHE,
1765 eDevice = VK_SYSTEM_ALLOCATION_SCOPE_DEVICE,
1766 eInstance = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE
1767 };
1768
1769 enum class DeviceCreateFlagBits : VkDeviceCreateFlags
1770 {
1771 };
1772
1773 using DeviceCreateFlags = Flags<DeviceCreateFlagBits>;
1774
1775 template <>
1776 struct FlagTraits<DeviceCreateFlagBits>
1777 {
1778 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
1779 static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceCreateFlags allFlags = {};
1780 };
1781
1782 enum class PipelineStageFlagBits : VkPipelineStageFlags
1783 {
1784 eTopOfPipe = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,
1785 eDrawIndirect = VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT,
1786 eVertexInput = VK_PIPELINE_STAGE_VERTEX_INPUT_BIT,
1787 eVertexShader = VK_PIPELINE_STAGE_VERTEX_SHADER_BIT,
1788 eTessellationControlShader = VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT,
1789 eTessellationEvaluationShader = VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT,
1790 eGeometryShader = VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT,
1791 eFragmentShader = VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,
1792 eEarlyFragmentTests = VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT,
1793 eLateFragmentTests = VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT,
1794 eColorAttachmentOutput = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,
1795 eComputeShader = VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,
1796 eTransfer = VK_PIPELINE_STAGE_TRANSFER_BIT,
1797 eBottomOfPipe = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT,
1798 eHost = VK_PIPELINE_STAGE_HOST_BIT,
1799 eAllGraphics = VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT,
1800 eAllCommands = VK_PIPELINE_STAGE_ALL_COMMANDS_BIT,
1801 eNone = VK_PIPELINE_STAGE_NONE,
1802 eTransformFeedbackEXT = VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT,
1803 eConditionalRenderingEXT = VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT,
1804 eAccelerationStructureBuildKHR = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
1805 eRayTracingShaderKHR = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
1806 eShadingRateImageNV = VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV,
1807 eRayTracingShaderNV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV,
1808 eAccelerationStructureBuildNV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV,
1809 eTaskShaderNV = VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV,
1810 eMeshShaderNV = VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV,
1811 eFragmentDensityProcessEXT = VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT,
1812 eFragmentShadingRateAttachmentKHR = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
1813 eCommandPreprocessNV = VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV,
1814 eNoneKHR = VK_PIPELINE_STAGE_NONE_KHR,
1815 eTaskShaderEXT = VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT,
1816 eMeshShaderEXT = VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT
1817 };
1818
1819 using PipelineStageFlags = Flags<PipelineStageFlagBits>;
1820
1821 template <>
1822 struct FlagTraits<PipelineStageFlagBits>
1823 {
1824 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
1825 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineStageFlags allFlags =
1826 PipelineStageFlagBits::eTopOfPipe | PipelineStageFlagBits::eDrawIndirect | PipelineStageFlagBits::eVertexInput | PipelineStageFlagBits::eVertexShader |
1827 PipelineStageFlagBits::eTessellationControlShader | PipelineStageFlagBits::eTessellationEvaluationShader | PipelineStageFlagBits::eGeometryShader |
1828 PipelineStageFlagBits::eFragmentShader | PipelineStageFlagBits::eEarlyFragmentTests | PipelineStageFlagBits::eLateFragmentTests |
1829 PipelineStageFlagBits::eColorAttachmentOutput | PipelineStageFlagBits::eComputeShader | PipelineStageFlagBits::eTransfer |
1830 PipelineStageFlagBits::eBottomOfPipe | PipelineStageFlagBits::eHost | PipelineStageFlagBits::eAllGraphics | PipelineStageFlagBits::eAllCommands |
1831 PipelineStageFlagBits::eNone | PipelineStageFlagBits::eTransformFeedbackEXT | PipelineStageFlagBits::eConditionalRenderingEXT |
1832 PipelineStageFlagBits::eAccelerationStructureBuildKHR | PipelineStageFlagBits::eRayTracingShaderKHR | PipelineStageFlagBits::eFragmentDensityProcessEXT |
1833 PipelineStageFlagBits::eFragmentShadingRateAttachmentKHR | PipelineStageFlagBits::eCommandPreprocessNV | PipelineStageFlagBits::eTaskShaderEXT |
1834 PipelineStageFlagBits::eMeshShaderEXT;
1835 };
1836
1837 enum class MemoryMapFlagBits : VkMemoryMapFlags
1838 {
1839 };
1840
1841 using MemoryMapFlags = Flags<MemoryMapFlagBits>;
1842
1843 template <>
1844 struct FlagTraits<MemoryMapFlagBits>
1845 {
1846 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
1847 static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryMapFlags allFlags = {};
1848 };
1849
1850 enum class ImageAspectFlagBits : VkImageAspectFlags
1851 {
1852 eColor = VK_IMAGE_ASPECT_COLOR_BIT,
1853 eDepth = VK_IMAGE_ASPECT_DEPTH_BIT,
1854 eStencil = VK_IMAGE_ASPECT_STENCIL_BIT,
1855 eMetadata = VK_IMAGE_ASPECT_METADATA_BIT,
1856 ePlane0 = VK_IMAGE_ASPECT_PLANE_0_BIT,
1857 ePlane1 = VK_IMAGE_ASPECT_PLANE_1_BIT,
1858 ePlane2 = VK_IMAGE_ASPECT_PLANE_2_BIT,
1859 eNone = VK_IMAGE_ASPECT_NONE,
1860 ePlane0KHR = VK_IMAGE_ASPECT_PLANE_0_BIT_KHR,
1861 ePlane1KHR = VK_IMAGE_ASPECT_PLANE_1_BIT_KHR,
1862 ePlane2KHR = VK_IMAGE_ASPECT_PLANE_2_BIT_KHR,
1863 eMemoryPlane0EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT,
1864 eMemoryPlane1EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT,
1865 eMemoryPlane2EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT,
1866 eMemoryPlane3EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT,
1867 eNoneKHR = VK_IMAGE_ASPECT_NONE_KHR
1868 };
1869
1870 using ImageAspectFlags = Flags<ImageAspectFlagBits>;
1871
1872 template <>
1873 struct FlagTraits<ImageAspectFlagBits>
1874 {
1875 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
1876 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageAspectFlags allFlags = ImageAspectFlagBits::eColor | ImageAspectFlagBits::eDepth | ImageAspectFlagBits::eStencil |
1877 ImageAspectFlagBits::eMetadata | ImageAspectFlagBits::ePlane0 |
1878 ImageAspectFlagBits::ePlane1 | ImageAspectFlagBits::ePlane2 | ImageAspectFlagBits::eNone |
1879 ImageAspectFlagBits::eMemoryPlane0EXT | ImageAspectFlagBits::eMemoryPlane1EXT |
1880 ImageAspectFlagBits::eMemoryPlane2EXT | ImageAspectFlagBits::eMemoryPlane3EXT;
1881 };
1882
1883 enum class SparseImageFormatFlagBits : VkSparseImageFormatFlags
1884 {
1885 eSingleMiptail = VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT,
1886 eAlignedMipSize = VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT,
1887 eNonstandardBlockSize = VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT
1888 };
1889
1890 using SparseImageFormatFlags = Flags<SparseImageFormatFlagBits>;
1891
1892 template <>
1893 struct FlagTraits<SparseImageFormatFlagBits>
1894 {
1895 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
1896 static VULKAN_HPP_CONST_OR_CONSTEXPR SparseImageFormatFlags allFlags =
1897 SparseImageFormatFlagBits::eSingleMiptail | SparseImageFormatFlagBits::eAlignedMipSize | SparseImageFormatFlagBits::eNonstandardBlockSize;
1898 };
1899
1900 enum class SparseMemoryBindFlagBits : VkSparseMemoryBindFlags
1901 {
1902 eMetadata = VK_SPARSE_MEMORY_BIND_METADATA_BIT
1903 };
1904
1905 using SparseMemoryBindFlags = Flags<SparseMemoryBindFlagBits>;
1906
1907 template <>
1908 struct FlagTraits<SparseMemoryBindFlagBits>
1909 {
1910 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
1911 static VULKAN_HPP_CONST_OR_CONSTEXPR SparseMemoryBindFlags allFlags = SparseMemoryBindFlagBits::eMetadata;
1912 };
1913
1914 enum class FenceCreateFlagBits : VkFenceCreateFlags
1915 {
1916 eSignaled = VK_FENCE_CREATE_SIGNALED_BIT
1917 };
1918
1919 using FenceCreateFlags = Flags<FenceCreateFlagBits>;
1920
1921 template <>
1922 struct FlagTraits<FenceCreateFlagBits>
1923 {
1924 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
1925 static VULKAN_HPP_CONST_OR_CONSTEXPR FenceCreateFlags allFlags = FenceCreateFlagBits::eSignaled;
1926 };
1927
1928 enum class SemaphoreCreateFlagBits : VkSemaphoreCreateFlags
1929 {
1930 };
1931
1932 using SemaphoreCreateFlags = Flags<SemaphoreCreateFlagBits>;
1933
1934 template <>
1935 struct FlagTraits<SemaphoreCreateFlagBits>
1936 {
1937 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
1938 static VULKAN_HPP_CONST_OR_CONSTEXPR SemaphoreCreateFlags allFlags = {};
1939 };
1940
1941 enum class EventCreateFlagBits : VkEventCreateFlags
1942 {
1943 eDeviceOnly = VK_EVENT_CREATE_DEVICE_ONLY_BIT,
1944 eDeviceOnlyKHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR
1945 };
1946
1947 using EventCreateFlags = Flags<EventCreateFlagBits>;
1948
1949 template <>
1950 struct FlagTraits<EventCreateFlagBits>
1951 {
1952 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
1953 static VULKAN_HPP_CONST_OR_CONSTEXPR EventCreateFlags allFlags = EventCreateFlagBits::eDeviceOnly;
1954 };
1955
1956 enum class QueryPipelineStatisticFlagBits : VkQueryPipelineStatisticFlags
1957 {
1958 eInputAssemblyVertices = VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT,
1959 eInputAssemblyPrimitives = VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT,
1960 eVertexShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT,
1961 eGeometryShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT,
1962 eGeometryShaderPrimitives = VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT,
1963 eClippingInvocations = VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT,
1964 eClippingPrimitives = VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT,
1965 eFragmentShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT,
1966 eTessellationControlShaderPatches = VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT,
1967 eTessellationEvaluationShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT,
1968 eComputeShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT,
1969 eTaskShaderInvocationsEXT = VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT,
1970 eMeshShaderInvocationsEXT = VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT,
1971 eClusterCullingShaderInvocationsHUAWEI = VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI
1972 };
1973
1974 using QueryPipelineStatisticFlags = Flags<QueryPipelineStatisticFlagBits>;
1975
1976 template <>
1977 struct FlagTraits<QueryPipelineStatisticFlagBits>
1978 {
1979 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
1980 static VULKAN_HPP_CONST_OR_CONSTEXPR QueryPipelineStatisticFlags allFlags =
1981 QueryPipelineStatisticFlagBits::eInputAssemblyVertices | QueryPipelineStatisticFlagBits::eInputAssemblyPrimitives |
1982 QueryPipelineStatisticFlagBits::eVertexShaderInvocations | QueryPipelineStatisticFlagBits::eGeometryShaderInvocations |
1983 QueryPipelineStatisticFlagBits::eGeometryShaderPrimitives | QueryPipelineStatisticFlagBits::eClippingInvocations |
1984 QueryPipelineStatisticFlagBits::eClippingPrimitives | QueryPipelineStatisticFlagBits::eFragmentShaderInvocations |
1985 QueryPipelineStatisticFlagBits::eTessellationControlShaderPatches | QueryPipelineStatisticFlagBits::eTessellationEvaluationShaderInvocations |
1986 QueryPipelineStatisticFlagBits::eComputeShaderInvocations | QueryPipelineStatisticFlagBits::eTaskShaderInvocationsEXT |
1987 QueryPipelineStatisticFlagBits::eMeshShaderInvocationsEXT | QueryPipelineStatisticFlagBits::eClusterCullingShaderInvocationsHUAWEI;
1988 };
1989
1990 enum class QueryResultFlagBits : VkQueryResultFlags
1991 {
1992 e64 = VK_QUERY_RESULT_64_BIT,
1993 eWait = VK_QUERY_RESULT_WAIT_BIT,
1994 eWithAvailability = VK_QUERY_RESULT_WITH_AVAILABILITY_BIT,
1995 ePartial = VK_QUERY_RESULT_PARTIAL_BIT,
1996 eWithStatusKHR = VK_QUERY_RESULT_WITH_STATUS_BIT_KHR
1997 };
1998
1999 using QueryResultFlags = Flags<QueryResultFlagBits>;
2000
2001 template <>
2002 struct FlagTraits<QueryResultFlagBits>
2003 {
2004 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2005 static VULKAN_HPP_CONST_OR_CONSTEXPR QueryResultFlags allFlags = QueryResultFlagBits::e64 | QueryResultFlagBits::eWait |
2006 QueryResultFlagBits::eWithAvailability | QueryResultFlagBits::ePartial |
2007 QueryResultFlagBits::eWithStatusKHR;
2008 };
2009
2010 enum class QueryType
2011 {
2012 eOcclusion = VK_QUERY_TYPE_OCCLUSION,
2013 ePipelineStatistics = VK_QUERY_TYPE_PIPELINE_STATISTICS,
2014 eTimestamp = VK_QUERY_TYPE_TIMESTAMP,
2015 eResultStatusOnlyKHR = VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR,
2016 eTransformFeedbackStreamEXT = VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT,
2017 ePerformanceQueryKHR = VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR,
2018 eAccelerationStructureCompactedSizeKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR,
2019 eAccelerationStructureSerializationSizeKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR,
2020 eAccelerationStructureCompactedSizeNV = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV,
2021 ePerformanceQueryINTEL = VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL,
2022#if defined( VK_ENABLE_BETA_EXTENSIONS )
2023 eVideoEncodeFeedbackKHR = VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR,
2024#endif /*VK_ENABLE_BETA_EXTENSIONS*/
2025 eMeshPrimitivesGeneratedEXT = VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT,
2026 ePrimitivesGeneratedEXT = VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT,
2027 eAccelerationStructureSerializationBottomLevelPointersKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR,
2028 eAccelerationStructureSizeKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR,
2029 eMicromapSerializationSizeEXT = VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT,
2030 eMicromapCompactedSizeEXT = VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT
2031 };
2032
2033 enum class QueryPoolCreateFlagBits : VkQueryPoolCreateFlags
2034 {
2035 };
2036
2037 using QueryPoolCreateFlags = Flags<QueryPoolCreateFlagBits>;
2038
2039 template <>
2040 struct FlagTraits<QueryPoolCreateFlagBits>
2041 {
2042 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2043 static VULKAN_HPP_CONST_OR_CONSTEXPR QueryPoolCreateFlags allFlags = {};
2044 };
2045
2046 enum class BufferCreateFlagBits : VkBufferCreateFlags
2047 {
2048 eSparseBinding = VK_BUFFER_CREATE_SPARSE_BINDING_BIT,
2049 eSparseResidency = VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT,
2050 eSparseAliased = VK_BUFFER_CREATE_SPARSE_ALIASED_BIT,
2051 eProtected = VK_BUFFER_CREATE_PROTECTED_BIT,
2052 eDeviceAddressCaptureReplay = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2053 eDeviceAddressCaptureReplayEXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT,
2054 eDeviceAddressCaptureReplayKHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR,
2055 eDescriptorBufferCaptureReplayEXT = VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT
2056 };
2057
2058 using BufferCreateFlags = Flags<BufferCreateFlagBits>;
2059
2060 template <>
2061 struct FlagTraits<BufferCreateFlagBits>
2062 {
2063 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2064 static VULKAN_HPP_CONST_OR_CONSTEXPR BufferCreateFlags allFlags =
2065 BufferCreateFlagBits::eSparseBinding | BufferCreateFlagBits::eSparseResidency | BufferCreateFlagBits::eSparseAliased | BufferCreateFlagBits::eProtected |
2066 BufferCreateFlagBits::eDeviceAddressCaptureReplay | BufferCreateFlagBits::eDescriptorBufferCaptureReplayEXT;
2067 };
2068
2069 enum class BufferUsageFlagBits : VkBufferUsageFlags
2070 {
2071 eTransferSrc = VK_BUFFER_USAGE_TRANSFER_SRC_BIT,
2072 eTransferDst = VK_BUFFER_USAGE_TRANSFER_DST_BIT,
2073 eUniformTexelBuffer = VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT,
2074 eStorageTexelBuffer = VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT,
2075 eUniformBuffer = VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
2076 eStorageBuffer = VK_BUFFER_USAGE_STORAGE_BUFFER_BIT,
2077 eIndexBuffer = VK_BUFFER_USAGE_INDEX_BUFFER_BIT,
2078 eVertexBuffer = VK_BUFFER_USAGE_VERTEX_BUFFER_BIT,
2079 eIndirectBuffer = VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT,
2080 eShaderDeviceAddress = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2081 eVideoDecodeSrcKHR = VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR,
2082 eVideoDecodeDstKHR = VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR,
2083 eTransformFeedbackBufferEXT = VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT,
2084 eTransformFeedbackCounterBufferEXT = VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT,
2085 eConditionalRenderingEXT = VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT,
2086 eAccelerationStructureBuildInputReadOnlyKHR = VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR,
2087 eAccelerationStructureStorageKHR = VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR,
2088 eShaderBindingTableKHR = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
2089 eRayTracingNV = VK_BUFFER_USAGE_RAY_TRACING_BIT_NV,
2090 eShaderDeviceAddressEXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT,
2091 eShaderDeviceAddressKHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR,
2092#if defined( VK_ENABLE_BETA_EXTENSIONS )
2093 eVideoEncodeDstKHR = VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR,
2094 eVideoEncodeSrcKHR = VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR,
2095#endif /*VK_ENABLE_BETA_EXTENSIONS*/
2096 eSamplerDescriptorBufferEXT = VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT,
2097 eResourceDescriptorBufferEXT = VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT,
2098 ePushDescriptorsDescriptorBufferEXT = VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT,
2099 eMicromapBuildInputReadOnlyEXT = VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT,
2100 eMicromapStorageEXT = VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT
2101 };
2102
2103 using BufferUsageFlags = Flags<BufferUsageFlagBits>;
2104
2105 template <>
2106 struct FlagTraits<BufferUsageFlagBits>
2107 {
2108 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2109 static VULKAN_HPP_CONST_OR_CONSTEXPR BufferUsageFlags allFlags =
2110 BufferUsageFlagBits::eTransferSrc | BufferUsageFlagBits::eTransferDst | BufferUsageFlagBits::eUniformTexelBuffer |
2111 BufferUsageFlagBits::eStorageTexelBuffer | BufferUsageFlagBits::eUniformBuffer | BufferUsageFlagBits::eStorageBuffer | BufferUsageFlagBits::eIndexBuffer |
2112 BufferUsageFlagBits::eVertexBuffer | BufferUsageFlagBits::eIndirectBuffer | BufferUsageFlagBits::eShaderDeviceAddress |
2113 BufferUsageFlagBits::eVideoDecodeSrcKHR | BufferUsageFlagBits::eVideoDecodeDstKHR | BufferUsageFlagBits::eTransformFeedbackBufferEXT |
2114 BufferUsageFlagBits::eTransformFeedbackCounterBufferEXT | BufferUsageFlagBits::eConditionalRenderingEXT |
2115 BufferUsageFlagBits::eAccelerationStructureBuildInputReadOnlyKHR | BufferUsageFlagBits::eAccelerationStructureStorageKHR |
2116 BufferUsageFlagBits::eShaderBindingTableKHR
2117#if defined( VK_ENABLE_BETA_EXTENSIONS )
2118 | BufferUsageFlagBits::eVideoEncodeDstKHR | BufferUsageFlagBits::eVideoEncodeSrcKHR
2119#endif /*VK_ENABLE_BETA_EXTENSIONS*/
2120 | BufferUsageFlagBits::eSamplerDescriptorBufferEXT | BufferUsageFlagBits::eResourceDescriptorBufferEXT |
2121 BufferUsageFlagBits::ePushDescriptorsDescriptorBufferEXT | BufferUsageFlagBits::eMicromapBuildInputReadOnlyEXT | BufferUsageFlagBits::eMicromapStorageEXT;
2122 };
2123
2124 enum class SharingMode
2125 {
2126 eExclusive = VK_SHARING_MODE_EXCLUSIVE,
2127 eConcurrent = VK_SHARING_MODE_CONCURRENT
2128 };
2129
2130 enum class BufferViewCreateFlagBits : VkBufferViewCreateFlags
2131 {
2132 };
2133
2134 using BufferViewCreateFlags = Flags<BufferViewCreateFlagBits>;
2135
2136 template <>
2137 struct FlagTraits<BufferViewCreateFlagBits>
2138 {
2139 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2140 static VULKAN_HPP_CONST_OR_CONSTEXPR BufferViewCreateFlags allFlags = {};
2141 };
2142
2143 enum class ImageLayout
2144 {
2145 eUndefined = VK_IMAGE_LAYOUT_UNDEFINED,
2146 eGeneral = VK_IMAGE_LAYOUT_GENERAL,
2147 eColorAttachmentOptimal = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
2148 eDepthStencilAttachmentOptimal = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
2149 eDepthStencilReadOnlyOptimal = VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL,
2150 eShaderReadOnlyOptimal = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
2151 eTransferSrcOptimal = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
2152 eTransferDstOptimal = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
2153 ePreinitialized = VK_IMAGE_LAYOUT_PREINITIALIZED,
2154 eDepthReadOnlyStencilAttachmentOptimal = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
2155 eDepthAttachmentStencilReadOnlyOptimal = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
2156 eDepthAttachmentOptimal = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
2157 eDepthReadOnlyOptimal = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
2158 eStencilAttachmentOptimal = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
2159 eStencilReadOnlyOptimal = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
2160 eReadOnlyOptimal = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL,
2161 eAttachmentOptimal = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL,
2162 ePresentSrcKHR = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR,
2163 eVideoDecodeDstKHR = VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR,
2164 eVideoDecodeSrcKHR = VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR,
2165 eVideoDecodeDpbKHR = VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR,
2166 eSharedPresentKHR = VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR,
2167 eDepthReadOnlyStencilAttachmentOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR,
2168 eDepthAttachmentStencilReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR,
2169 eShadingRateOptimalNV = VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV,
2170 eFragmentDensityMapOptimalEXT = VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT,
2171 eFragmentShadingRateAttachmentOptimalKHR = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
2172 eDepthAttachmentOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR,
2173 eDepthReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR,
2174 eStencilAttachmentOptimalKHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR,
2175 eStencilReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR,
2176#if defined( VK_ENABLE_BETA_EXTENSIONS )
2177 eVideoEncodeDstKHR = VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR,
2178 eVideoEncodeSrcKHR = VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR,
2179 eVideoEncodeDpbKHR = VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR,
2180#endif /*VK_ENABLE_BETA_EXTENSIONS*/
2181 eReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR,
2182 eAttachmentOptimalKHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR,
2183 eAttachmentFeedbackLoopOptimalEXT = VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT
2184 };
2185
2186 enum class ComponentSwizzle
2187 {
2188 eIdentity = VK_COMPONENT_SWIZZLE_IDENTITY,
2189 eZero = VK_COMPONENT_SWIZZLE_ZERO,
2190 eOne = VK_COMPONENT_SWIZZLE_ONE,
2191 eR = VK_COMPONENT_SWIZZLE_R,
2192 eG = VK_COMPONENT_SWIZZLE_G,
2193 eB = VK_COMPONENT_SWIZZLE_B,
2194 eA = VK_COMPONENT_SWIZZLE_A
2195 };
2196
2197 enum class ImageViewCreateFlagBits : VkImageViewCreateFlags
2198 {
2199 eFragmentDensityMapDynamicEXT = VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT,
2200 eDescriptorBufferCaptureReplayEXT = VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,
2201 eFragmentDensityMapDeferredEXT = VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT
2202 };
2203
2204 using ImageViewCreateFlags = Flags<ImageViewCreateFlagBits>;
2205
2206 template <>
2207 struct FlagTraits<ImageViewCreateFlagBits>
2208 {
2209 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2210 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageViewCreateFlags allFlags = ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT |
2211 ImageViewCreateFlagBits::eDescriptorBufferCaptureReplayEXT |
2212 ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT;
2213 };
2214
2215 enum class ImageViewType
2216 {
2217 e1D = VK_IMAGE_VIEW_TYPE_1D,
2218 e2D = VK_IMAGE_VIEW_TYPE_2D,
2219 e3D = VK_IMAGE_VIEW_TYPE_3D,
2220 eCube = VK_IMAGE_VIEW_TYPE_CUBE,
2221 e1DArray = VK_IMAGE_VIEW_TYPE_1D_ARRAY,
2222 e2DArray = VK_IMAGE_VIEW_TYPE_2D_ARRAY,
2223 eCubeArray = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY
2224 };
2225
2226 enum class ShaderModuleCreateFlagBits : VkShaderModuleCreateFlags
2227 {
2228 };
2229
2230 using ShaderModuleCreateFlags = Flags<ShaderModuleCreateFlagBits>;
2231
2232 template <>
2233 struct FlagTraits<ShaderModuleCreateFlagBits>
2234 {
2235 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2236 static VULKAN_HPP_CONST_OR_CONSTEXPR ShaderModuleCreateFlags allFlags = {};
2237 };
2238
2239 enum class BlendFactor
2240 {
2241 eZero = VK_BLEND_FACTOR_ZERO,
2242 eOne = VK_BLEND_FACTOR_ONE,
2243 eSrcColor = VK_BLEND_FACTOR_SRC_COLOR,
2244 eOneMinusSrcColor = VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR,
2245 eDstColor = VK_BLEND_FACTOR_DST_COLOR,
2246 eOneMinusDstColor = VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR,
2247 eSrcAlpha = VK_BLEND_FACTOR_SRC_ALPHA,
2248 eOneMinusSrcAlpha = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA,
2249 eDstAlpha = VK_BLEND_FACTOR_DST_ALPHA,
2250 eOneMinusDstAlpha = VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA,
2251 eConstantColor = VK_BLEND_FACTOR_CONSTANT_COLOR,
2252 eOneMinusConstantColor = VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR,
2253 eConstantAlpha = VK_BLEND_FACTOR_CONSTANT_ALPHA,
2254 eOneMinusConstantAlpha = VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA,
2255 eSrcAlphaSaturate = VK_BLEND_FACTOR_SRC_ALPHA_SATURATE,
2256 eSrc1Color = VK_BLEND_FACTOR_SRC1_COLOR,
2257 eOneMinusSrc1Color = VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR,
2258 eSrc1Alpha = VK_BLEND_FACTOR_SRC1_ALPHA,
2259 eOneMinusSrc1Alpha = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA
2260 };
2261
2262 enum class BlendOp
2263 {
2264 eAdd = VK_BLEND_OP_ADD,
2265 eSubtract = VK_BLEND_OP_SUBTRACT,
2266 eReverseSubtract = VK_BLEND_OP_REVERSE_SUBTRACT,
2267 eMin = VK_BLEND_OP_MIN,
2268 eMax = VK_BLEND_OP_MAX,
2269 eZeroEXT = VK_BLEND_OP_ZERO_EXT,
2270 eSrcEXT = VK_BLEND_OP_SRC_EXT,
2271 eDstEXT = VK_BLEND_OP_DST_EXT,
2272 eSrcOverEXT = VK_BLEND_OP_SRC_OVER_EXT,
2273 eDstOverEXT = VK_BLEND_OP_DST_OVER_EXT,
2274 eSrcInEXT = VK_BLEND_OP_SRC_IN_EXT,
2275 eDstInEXT = VK_BLEND_OP_DST_IN_EXT,
2276 eSrcOutEXT = VK_BLEND_OP_SRC_OUT_EXT,
2277 eDstOutEXT = VK_BLEND_OP_DST_OUT_EXT,
2278 eSrcAtopEXT = VK_BLEND_OP_SRC_ATOP_EXT,
2279 eDstAtopEXT = VK_BLEND_OP_DST_ATOP_EXT,
2280 eXorEXT = VK_BLEND_OP_XOR_EXT,
2281 eMultiplyEXT = VK_BLEND_OP_MULTIPLY_EXT,
2282 eScreenEXT = VK_BLEND_OP_SCREEN_EXT,
2283 eOverlayEXT = VK_BLEND_OP_OVERLAY_EXT,
2284 eDarkenEXT = VK_BLEND_OP_DARKEN_EXT,
2285 eLightenEXT = VK_BLEND_OP_LIGHTEN_EXT,
2286 eColordodgeEXT = VK_BLEND_OP_COLORDODGE_EXT,
2287 eColorburnEXT = VK_BLEND_OP_COLORBURN_EXT,
2288 eHardlightEXT = VK_BLEND_OP_HARDLIGHT_EXT,
2289 eSoftlightEXT = VK_BLEND_OP_SOFTLIGHT_EXT,
2290 eDifferenceEXT = VK_BLEND_OP_DIFFERENCE_EXT,
2291 eExclusionEXT = VK_BLEND_OP_EXCLUSION_EXT,
2292 eInvertEXT = VK_BLEND_OP_INVERT_EXT,
2293 eInvertRgbEXT = VK_BLEND_OP_INVERT_RGB_EXT,
2294 eLineardodgeEXT = VK_BLEND_OP_LINEARDODGE_EXT,
2295 eLinearburnEXT = VK_BLEND_OP_LINEARBURN_EXT,
2296 eVividlightEXT = VK_BLEND_OP_VIVIDLIGHT_EXT,
2297 eLinearlightEXT = VK_BLEND_OP_LINEARLIGHT_EXT,
2298 ePinlightEXT = VK_BLEND_OP_PINLIGHT_EXT,
2299 eHardmixEXT = VK_BLEND_OP_HARDMIX_EXT,
2300 eHslHueEXT = VK_BLEND_OP_HSL_HUE_EXT,
2301 eHslSaturationEXT = VK_BLEND_OP_HSL_SATURATION_EXT,
2302 eHslColorEXT = VK_BLEND_OP_HSL_COLOR_EXT,
2303 eHslLuminosityEXT = VK_BLEND_OP_HSL_LUMINOSITY_EXT,
2304 ePlusEXT = VK_BLEND_OP_PLUS_EXT,
2305 ePlusClampedEXT = VK_BLEND_OP_PLUS_CLAMPED_EXT,
2306 ePlusClampedAlphaEXT = VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT,
2307 ePlusDarkerEXT = VK_BLEND_OP_PLUS_DARKER_EXT,
2308 eMinusEXT = VK_BLEND_OP_MINUS_EXT,
2309 eMinusClampedEXT = VK_BLEND_OP_MINUS_CLAMPED_EXT,
2310 eContrastEXT = VK_BLEND_OP_CONTRAST_EXT,
2311 eInvertOvgEXT = VK_BLEND_OP_INVERT_OVG_EXT,
2312 eRedEXT = VK_BLEND_OP_RED_EXT,
2313 eGreenEXT = VK_BLEND_OP_GREEN_EXT,
2314 eBlueEXT = VK_BLEND_OP_BLUE_EXT
2315 };
2316
2317 enum class ColorComponentFlagBits : VkColorComponentFlags
2318 {
2319 eR = VK_COLOR_COMPONENT_R_BIT,
2320 eG = VK_COLOR_COMPONENT_G_BIT,
2321 eB = VK_COLOR_COMPONENT_B_BIT,
2322 eA = VK_COLOR_COMPONENT_A_BIT
2323 };
2324
2325 using ColorComponentFlags = Flags<ColorComponentFlagBits>;
2326
2327 template <>
2328 struct FlagTraits<ColorComponentFlagBits>
2329 {
2330 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2331 static VULKAN_HPP_CONST_OR_CONSTEXPR ColorComponentFlags allFlags =
2332 ColorComponentFlagBits::eR | ColorComponentFlagBits::eG | ColorComponentFlagBits::eB | ColorComponentFlagBits::eA;
2333 };
2334
2335 enum class CompareOp
2336 {
2337 eNever = VK_COMPARE_OP_NEVER,
2338 eLess = VK_COMPARE_OP_LESS,
2339 eEqual = VK_COMPARE_OP_EQUAL,
2340 eLessOrEqual = VK_COMPARE_OP_LESS_OR_EQUAL,
2341 eGreater = VK_COMPARE_OP_GREATER,
2342 eNotEqual = VK_COMPARE_OP_NOT_EQUAL,
2343 eGreaterOrEqual = VK_COMPARE_OP_GREATER_OR_EQUAL,
2344 eAlways = VK_COMPARE_OP_ALWAYS
2345 };
2346
2347 enum class CullModeFlagBits : VkCullModeFlags
2348 {
2349 eNone = VK_CULL_MODE_NONE,
2350 eFront = VK_CULL_MODE_FRONT_BIT,
2351 eBack = VK_CULL_MODE_BACK_BIT,
2352 eFrontAndBack = VK_CULL_MODE_FRONT_AND_BACK
2353 };
2354
2355 using CullModeFlags = Flags<CullModeFlagBits>;
2356
2357 template <>
2358 struct FlagTraits<CullModeFlagBits>
2359 {
2360 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2361 static VULKAN_HPP_CONST_OR_CONSTEXPR CullModeFlags allFlags =
2362 CullModeFlagBits::eNone | CullModeFlagBits::eFront | CullModeFlagBits::eBack | CullModeFlagBits::eFrontAndBack;
2363 };
2364
2365 enum class DynamicState
2366 {
2367 eViewport = VK_DYNAMIC_STATE_VIEWPORT,
2368 eScissor = VK_DYNAMIC_STATE_SCISSOR,
2369 eLineWidth = VK_DYNAMIC_STATE_LINE_WIDTH,
2370 eDepthBias = VK_DYNAMIC_STATE_DEPTH_BIAS,
2371 eBlendConstants = VK_DYNAMIC_STATE_BLEND_CONSTANTS,
2372 eDepthBounds = VK_DYNAMIC_STATE_DEPTH_BOUNDS,
2373 eStencilCompareMask = VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK,
2374 eStencilWriteMask = VK_DYNAMIC_STATE_STENCIL_WRITE_MASK,
2375 eStencilReference = VK_DYNAMIC_STATE_STENCIL_REFERENCE,
2376 eCullMode = VK_DYNAMIC_STATE_CULL_MODE,
2377 eFrontFace = VK_DYNAMIC_STATE_FRONT_FACE,
2378 ePrimitiveTopology = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY,
2379 eViewportWithCount = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT,
2380 eScissorWithCount = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT,
2381 eVertexInputBindingStride = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE,
2382 eDepthTestEnable = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE,
2383 eDepthWriteEnable = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE,
2384 eDepthCompareOp = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP,
2385 eDepthBoundsTestEnable = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE,
2386 eStencilTestEnable = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE,
2387 eStencilOp = VK_DYNAMIC_STATE_STENCIL_OP,
2388 eRasterizerDiscardEnable = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE,
2389 eDepthBiasEnable = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE,
2390 ePrimitiveRestartEnable = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE,
2391 eViewportWScalingNV = VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV,
2392 eDiscardRectangleEXT = VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT,
2393 eDiscardRectangleEnableEXT = VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT,
2394 eDiscardRectangleModeEXT = VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT,
2395 eSampleLocationsEXT = VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT,
2396 eRayTracingPipelineStackSizeKHR = VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR,
2397 eViewportShadingRatePaletteNV = VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV,
2398 eViewportCoarseSampleOrderNV = VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV,
2399 eExclusiveScissorEnableNV = VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV,
2400 eExclusiveScissorNV = VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV,
2401 eFragmentShadingRateKHR = VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR,
2402 eLineStippleEXT = VK_DYNAMIC_STATE_LINE_STIPPLE_EXT,
2403 eCullModeEXT = VK_DYNAMIC_STATE_CULL_MODE_EXT,
2404 eFrontFaceEXT = VK_DYNAMIC_STATE_FRONT_FACE_EXT,
2405 ePrimitiveTopologyEXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT,
2406 eViewportWithCountEXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT,
2407 eScissorWithCountEXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT,
2408 eVertexInputBindingStrideEXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT,
2409 eDepthTestEnableEXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT,
2410 eDepthWriteEnableEXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT,
2411 eDepthCompareOpEXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT,
2412 eDepthBoundsTestEnableEXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT,
2413 eStencilTestEnableEXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT,
2414 eStencilOpEXT = VK_DYNAMIC_STATE_STENCIL_OP_EXT,
2415 eVertexInputEXT = VK_DYNAMIC_STATE_VERTEX_INPUT_EXT,
2416 ePatchControlPointsEXT = VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT,
2417 eRasterizerDiscardEnableEXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT,
2418 eDepthBiasEnableEXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT,
2419 eLogicOpEXT = VK_DYNAMIC_STATE_LOGIC_OP_EXT,
2420 ePrimitiveRestartEnableEXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT,
2421 eColorWriteEnableEXT = VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT,
2422 eTessellationDomainOriginEXT = VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT,
2423 eDepthClampEnableEXT = VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT,
2424 ePolygonModeEXT = VK_DYNAMIC_STATE_POLYGON_MODE_EXT,
2425 eRasterizationSamplesEXT = VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT,
2426 eSampleMaskEXT = VK_DYNAMIC_STATE_SAMPLE_MASK_EXT,
2427 eAlphaToCoverageEnableEXT = VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT,
2428 eAlphaToOneEnableEXT = VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT,
2429 eLogicOpEnableEXT = VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT,
2430 eColorBlendEnableEXT = VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT,
2431 eColorBlendEquationEXT = VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT,
2432 eColorWriteMaskEXT = VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT,
2433 eRasterizationStreamEXT = VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT,
2434 eConservativeRasterizationModeEXT = VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT,
2435 eExtraPrimitiveOverestimationSizeEXT = VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT,
2436 eDepthClipEnableEXT = VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT,
2437 eSampleLocationsEnableEXT = VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT,
2438 eColorBlendAdvancedEXT = VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT,
2439 eProvokingVertexModeEXT = VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT,
2440 eLineRasterizationModeEXT = VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT,
2441 eLineStippleEnableEXT = VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT,
2442 eDepthClipNegativeOneToOneEXT = VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT,
2443 eViewportWScalingEnableNV = VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV,
2444 eViewportSwizzleNV = VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV,
2445 eCoverageToColorEnableNV = VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV,
2446 eCoverageToColorLocationNV = VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV,
2447 eCoverageModulationModeNV = VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV,
2448 eCoverageModulationTableEnableNV = VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV,
2449 eCoverageModulationTableNV = VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV,
2450 eShadingRateImageEnableNV = VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV,
2451 eRepresentativeFragmentTestEnableNV = VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV,
2452 eCoverageReductionModeNV = VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV
2453 };
2454
2455 enum class FrontFace
2456 {
2457 eCounterClockwise = VK_FRONT_FACE_COUNTER_CLOCKWISE,
2458 eClockwise = VK_FRONT_FACE_CLOCKWISE
2459 };
2460
2461 enum class LogicOp
2462 {
2463 eClear = VK_LOGIC_OP_CLEAR,
2464 eAnd = VK_LOGIC_OP_AND,
2465 eAndReverse = VK_LOGIC_OP_AND_REVERSE,
2466 eCopy = VK_LOGIC_OP_COPY,
2467 eAndInverted = VK_LOGIC_OP_AND_INVERTED,
2468 eNoOp = VK_LOGIC_OP_NO_OP,
2469 eXor = VK_LOGIC_OP_XOR,
2470 eOr = VK_LOGIC_OP_OR,
2471 eNor = VK_LOGIC_OP_NOR,
2472 eEquivalent = VK_LOGIC_OP_EQUIVALENT,
2473 eInvert = VK_LOGIC_OP_INVERT,
2474 eOrReverse = VK_LOGIC_OP_OR_REVERSE,
2475 eCopyInverted = VK_LOGIC_OP_COPY_INVERTED,
2476 eOrInverted = VK_LOGIC_OP_OR_INVERTED,
2477 eNand = VK_LOGIC_OP_NAND,
2478 eSet = VK_LOGIC_OP_SET
2479 };
2480
2481 enum class PipelineCreateFlagBits : VkPipelineCreateFlags
2482 {
2483 eDisableOptimization = VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT,
2484 eAllowDerivatives = VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT,
2485 eDerivative = VK_PIPELINE_CREATE_DERIVATIVE_BIT,
2486 eViewIndexFromDeviceIndex = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
2487 eDispatchBase = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
2488 eFailOnPipelineCompileRequired = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT,
2489 eEarlyReturnOnFailure = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT,
2490 eRenderingFragmentShadingRateAttachmentKHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2491 eVkPipelineRasterizationStateCreateFragmentShadingRateAttachmentKHR = VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2492 eRenderingFragmentDensityMapAttachmentEXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
2493 eVkPipelineRasterizationStateCreateFragmentDensityMapAttachmentEXT = VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
2494 eViewIndexFromDeviceIndexKHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR,
2495 eDispatchBaseKHR = VK_PIPELINE_CREATE_DISPATCH_BASE_KHR,
2496 eRayTracingNoNullAnyHitShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR,
2497 eRayTracingNoNullClosestHitShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR,
2498 eRayTracingNoNullMissShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR,
2499 eRayTracingNoNullIntersectionShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR,
2500 eRayTracingSkipTrianglesKHR = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR,
2501 eRayTracingSkipAabbsKHR = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR,
2502 eRayTracingShaderGroupHandleCaptureReplayKHR = VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR,
2503 eDeferCompileNV = VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV,
2504 eCaptureStatisticsKHR = VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR,
2505 eCaptureInternalRepresentationsKHR = VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR,
2506 eIndirectBindableNV = VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV,
2507 eLibraryKHR = VK_PIPELINE_CREATE_LIBRARY_BIT_KHR,
2508 eFailOnPipelineCompileRequiredEXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT,
2509 eEarlyReturnOnFailureEXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT,
2510 eDescriptorBufferEXT = VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT,
2511 eRetainLinkTimeOptimizationInfoEXT = VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT,
2512 eLinkTimeOptimizationEXT = VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT,
2513 eRayTracingAllowMotionNV = VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV,
2514 eColorAttachmentFeedbackLoopEXT = VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT,
2515 eDepthStencilAttachmentFeedbackLoopEXT = VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT,
2516 eRayTracingOpacityMicromapEXT = VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT,
2517#if defined( VK_ENABLE_BETA_EXTENSIONS )
2518 eRayTracingDisplacementMicromapNV = VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV,
2519#endif /*VK_ENABLE_BETA_EXTENSIONS*/
2520 eNoProtectedAccessEXT = VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT,
2521 eProtectedAccessOnlyEXT = VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT
2522 };
2523
2524 using PipelineCreateFlags = Flags<PipelineCreateFlagBits>;
2525
2526 template <>
2527 struct FlagTraits<PipelineCreateFlagBits>
2528 {
2529 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2530 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCreateFlags allFlags =
2531 PipelineCreateFlagBits::eDisableOptimization | PipelineCreateFlagBits::eAllowDerivatives | PipelineCreateFlagBits::eDerivative |
2532 PipelineCreateFlagBits::eViewIndexFromDeviceIndex | PipelineCreateFlagBits::eDispatchBase | PipelineCreateFlagBits::eFailOnPipelineCompileRequired |
2533 PipelineCreateFlagBits::eEarlyReturnOnFailure | PipelineCreateFlagBits::eRenderingFragmentShadingRateAttachmentKHR |
2534 PipelineCreateFlagBits::eRenderingFragmentDensityMapAttachmentEXT | PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR |
2535 PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR | PipelineCreateFlagBits::eRayTracingNoNullMissShadersKHR |
2536 PipelineCreateFlagBits::eRayTracingNoNullIntersectionShadersKHR | PipelineCreateFlagBits::eRayTracingSkipTrianglesKHR |
2537 PipelineCreateFlagBits::eRayTracingSkipAabbsKHR | PipelineCreateFlagBits::eRayTracingShaderGroupHandleCaptureReplayKHR |
2538 PipelineCreateFlagBits::eDeferCompileNV | PipelineCreateFlagBits::eCaptureStatisticsKHR | PipelineCreateFlagBits::eCaptureInternalRepresentationsKHR |
2539 PipelineCreateFlagBits::eIndirectBindableNV | PipelineCreateFlagBits::eLibraryKHR | PipelineCreateFlagBits::eDescriptorBufferEXT |
2540 PipelineCreateFlagBits::eRetainLinkTimeOptimizationInfoEXT | PipelineCreateFlagBits::eLinkTimeOptimizationEXT |
2541 PipelineCreateFlagBits::eRayTracingAllowMotionNV | PipelineCreateFlagBits::eColorAttachmentFeedbackLoopEXT |
2542 PipelineCreateFlagBits::eDepthStencilAttachmentFeedbackLoopEXT | PipelineCreateFlagBits::eRayTracingOpacityMicromapEXT
2543#if defined( VK_ENABLE_BETA_EXTENSIONS )
2544 | PipelineCreateFlagBits::eRayTracingDisplacementMicromapNV
2545#endif /*VK_ENABLE_BETA_EXTENSIONS*/
2546 | PipelineCreateFlagBits::eNoProtectedAccessEXT | PipelineCreateFlagBits::eProtectedAccessOnlyEXT;
2547 };
2548
2549 enum class PipelineShaderStageCreateFlagBits : VkPipelineShaderStageCreateFlags
2550 {
2551 eAllowVaryingSubgroupSize = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT,
2552 eRequireFullSubgroups = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT,
2553 eAllowVaryingSubgroupSizeEXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT,
2554 eRequireFullSubgroupsEXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT
2555 };
2556
2557 using PipelineShaderStageCreateFlags = Flags<PipelineShaderStageCreateFlagBits>;
2558
2559 template <>
2560 struct FlagTraits<PipelineShaderStageCreateFlagBits>
2561 {
2562 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2563 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineShaderStageCreateFlags allFlags =
2564 PipelineShaderStageCreateFlagBits::eAllowVaryingSubgroupSize | PipelineShaderStageCreateFlagBits::eRequireFullSubgroups;
2565 };
2566
2567 enum class PolygonMode
2568 {
2569 eFill = VK_POLYGON_MODE_FILL,
2570 eLine = VK_POLYGON_MODE_LINE,
2571 ePoint = VK_POLYGON_MODE_POINT,
2572 eFillRectangleNV = VK_POLYGON_MODE_FILL_RECTANGLE_NV
2573 };
2574
2575 enum class PrimitiveTopology
2576 {
2577 ePointList = VK_PRIMITIVE_TOPOLOGY_POINT_LIST,
2578 eLineList = VK_PRIMITIVE_TOPOLOGY_LINE_LIST,
2579 eLineStrip = VK_PRIMITIVE_TOPOLOGY_LINE_STRIP,
2580 eTriangleList = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST,
2581 eTriangleStrip = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP,
2582 eTriangleFan = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN,
2583 eLineListWithAdjacency = VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY,
2584 eLineStripWithAdjacency = VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY,
2585 eTriangleListWithAdjacency = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY,
2586 eTriangleStripWithAdjacency = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY,
2587 ePatchList = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST
2588 };
2589
2590 enum class ShaderStageFlagBits : VkShaderStageFlags
2591 {
2592 eVertex = VK_SHADER_STAGE_VERTEX_BIT,
2593 eTessellationControl = VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT,
2594 eTessellationEvaluation = VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT,
2595 eGeometry = VK_SHADER_STAGE_GEOMETRY_BIT,
2596 eFragment = VK_SHADER_STAGE_FRAGMENT_BIT,
2597 eCompute = VK_SHADER_STAGE_COMPUTE_BIT,
2598 eAllGraphics = VK_SHADER_STAGE_ALL_GRAPHICS,
2599 eAll = VK_SHADER_STAGE_ALL,
2600 eRaygenKHR = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
2601 eAnyHitKHR = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
2602 eClosestHitKHR = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
2603 eMissKHR = VK_SHADER_STAGE_MISS_BIT_KHR,
2604 eIntersectionKHR = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
2605 eCallableKHR = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
2606 eRaygenNV = VK_SHADER_STAGE_RAYGEN_BIT_NV,
2607 eAnyHitNV = VK_SHADER_STAGE_ANY_HIT_BIT_NV,
2608 eClosestHitNV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV,
2609 eMissNV = VK_SHADER_STAGE_MISS_BIT_NV,
2610 eIntersectionNV = VK_SHADER_STAGE_INTERSECTION_BIT_NV,
2611 eCallableNV = VK_SHADER_STAGE_CALLABLE_BIT_NV,
2612 eTaskNV = VK_SHADER_STAGE_TASK_BIT_NV,
2613 eMeshNV = VK_SHADER_STAGE_MESH_BIT_NV,
2614 eTaskEXT = VK_SHADER_STAGE_TASK_BIT_EXT,
2615 eMeshEXT = VK_SHADER_STAGE_MESH_BIT_EXT,
2616 eSubpassShadingHUAWEI = VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI,
2617 eClusterCullingHUAWEI = VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI
2618 };
2619
2620 using ShaderStageFlags = Flags<ShaderStageFlagBits>;
2621
2622 template <>
2623 struct FlagTraits<ShaderStageFlagBits>
2624 {
2625 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2626 static VULKAN_HPP_CONST_OR_CONSTEXPR ShaderStageFlags allFlags =
2627 ShaderStageFlagBits::eVertex | ShaderStageFlagBits::eTessellationControl | ShaderStageFlagBits::eTessellationEvaluation | ShaderStageFlagBits::eGeometry |
2628 ShaderStageFlagBits::eFragment | ShaderStageFlagBits::eCompute | ShaderStageFlagBits::eAllGraphics | ShaderStageFlagBits::eAll |
2629 ShaderStageFlagBits::eRaygenKHR | ShaderStageFlagBits::eAnyHitKHR | ShaderStageFlagBits::eClosestHitKHR | ShaderStageFlagBits::eMissKHR |
2630 ShaderStageFlagBits::eIntersectionKHR | ShaderStageFlagBits::eCallableKHR | ShaderStageFlagBits::eTaskEXT | ShaderStageFlagBits::eMeshEXT |
2631 ShaderStageFlagBits::eSubpassShadingHUAWEI | ShaderStageFlagBits::eClusterCullingHUAWEI;
2632 };
2633
2634 enum class StencilOp
2635 {
2636 eKeep = VK_STENCIL_OP_KEEP,
2637 eZero = VK_STENCIL_OP_ZERO,
2638 eReplace = VK_STENCIL_OP_REPLACE,
2639 eIncrementAndClamp = VK_STENCIL_OP_INCREMENT_AND_CLAMP,
2640 eDecrementAndClamp = VK_STENCIL_OP_DECREMENT_AND_CLAMP,
2641 eInvert = VK_STENCIL_OP_INVERT,
2642 eIncrementAndWrap = VK_STENCIL_OP_INCREMENT_AND_WRAP,
2643 eDecrementAndWrap = VK_STENCIL_OP_DECREMENT_AND_WRAP
2644 };
2645
2646 enum class VertexInputRate
2647 {
2648 eVertex = VK_VERTEX_INPUT_RATE_VERTEX,
2649 eInstance = VK_VERTEX_INPUT_RATE_INSTANCE
2650 };
2651
2652 enum class PipelineDynamicStateCreateFlagBits : VkPipelineDynamicStateCreateFlags
2653 {
2654 };
2655
2656 using PipelineDynamicStateCreateFlags = Flags<PipelineDynamicStateCreateFlagBits>;
2657
2658 template <>
2659 struct FlagTraits<PipelineDynamicStateCreateFlagBits>
2660 {
2661 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2662 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineDynamicStateCreateFlags allFlags = {};
2663 };
2664
2665 enum class PipelineInputAssemblyStateCreateFlagBits : VkPipelineInputAssemblyStateCreateFlags
2666 {
2667 };
2668
2669 using PipelineInputAssemblyStateCreateFlags = Flags<PipelineInputAssemblyStateCreateFlagBits>;
2670
2671 template <>
2672 struct FlagTraits<PipelineInputAssemblyStateCreateFlagBits>
2673 {
2674 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2675 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineInputAssemblyStateCreateFlags allFlags = {};
2676 };
2677
2678 enum class PipelineMultisampleStateCreateFlagBits : VkPipelineMultisampleStateCreateFlags
2679 {
2680 };
2681
2682 using PipelineMultisampleStateCreateFlags = Flags<PipelineMultisampleStateCreateFlagBits>;
2683
2684 template <>
2685 struct FlagTraits<PipelineMultisampleStateCreateFlagBits>
2686 {
2687 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2688 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineMultisampleStateCreateFlags allFlags = {};
2689 };
2690
2691 enum class PipelineRasterizationStateCreateFlagBits : VkPipelineRasterizationStateCreateFlags
2692 {
2693 };
2694
2695 using PipelineRasterizationStateCreateFlags = Flags<PipelineRasterizationStateCreateFlagBits>;
2696
2697 template <>
2698 struct FlagTraits<PipelineRasterizationStateCreateFlagBits>
2699 {
2700 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2701 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineRasterizationStateCreateFlags allFlags = {};
2702 };
2703
2704 enum class PipelineTessellationStateCreateFlagBits : VkPipelineTessellationStateCreateFlags
2705 {
2706 };
2707
2708 using PipelineTessellationStateCreateFlags = Flags<PipelineTessellationStateCreateFlagBits>;
2709
2710 template <>
2711 struct FlagTraits<PipelineTessellationStateCreateFlagBits>
2712 {
2713 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2714 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineTessellationStateCreateFlags allFlags = {};
2715 };
2716
2717 enum class PipelineVertexInputStateCreateFlagBits : VkPipelineVertexInputStateCreateFlags
2718 {
2719 };
2720
2721 using PipelineVertexInputStateCreateFlags = Flags<PipelineVertexInputStateCreateFlagBits>;
2722
2723 template <>
2724 struct FlagTraits<PipelineVertexInputStateCreateFlagBits>
2725 {
2726 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2727 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineVertexInputStateCreateFlags allFlags = {};
2728 };
2729
2730 enum class PipelineViewportStateCreateFlagBits : VkPipelineViewportStateCreateFlags
2731 {
2732 };
2733
2734 using PipelineViewportStateCreateFlags = Flags<PipelineViewportStateCreateFlagBits>;
2735
2736 template <>
2737 struct FlagTraits<PipelineViewportStateCreateFlagBits>
2738 {
2739 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2740 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineViewportStateCreateFlags allFlags = {};
2741 };
2742
2743 enum class BorderColor
2744 {
2745 eFloatTransparentBlack = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,
2746 eIntTransparentBlack = VK_BORDER_COLOR_INT_TRANSPARENT_BLACK,
2747 eFloatOpaqueBlack = VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK,
2748 eIntOpaqueBlack = VK_BORDER_COLOR_INT_OPAQUE_BLACK,
2749 eFloatOpaqueWhite = VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE,
2750 eIntOpaqueWhite = VK_BORDER_COLOR_INT_OPAQUE_WHITE,
2751 eFloatCustomEXT = VK_BORDER_COLOR_FLOAT_CUSTOM_EXT,
2752 eIntCustomEXT = VK_BORDER_COLOR_INT_CUSTOM_EXT
2753 };
2754
2755 enum class Filter
2756 {
2757 eNearest = VK_FILTER_NEAREST,
2758 eLinear = VK_FILTER_LINEAR,
2759 eCubicIMG = VK_FILTER_CUBIC_IMG,
2760 eCubicEXT = VK_FILTER_CUBIC_EXT
2761 };
2762
2763 enum class SamplerAddressMode
2764 {
2765 eRepeat = VK_SAMPLER_ADDRESS_MODE_REPEAT,
2766 eMirroredRepeat = VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT,
2767 eClampToEdge = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,
2768 eClampToBorder = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER,
2769 eMirrorClampToEdge = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
2770 eMirrorClampToEdgeKHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR
2771 };
2772
2773 enum class SamplerCreateFlagBits : VkSamplerCreateFlags
2774 {
2775 eSubsampledEXT = VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT,
2776 eSubsampledCoarseReconstructionEXT = VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT,
2777 eDescriptorBufferCaptureReplayEXT = VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,
2778 eNonSeamlessCubeMapEXT = VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT,
2779 eImageProcessingQCOM = VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
2780 };
2781
2782 using SamplerCreateFlags = Flags<SamplerCreateFlagBits>;
2783
2784 template <>
2785 struct FlagTraits<SamplerCreateFlagBits>
2786 {
2787 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2788 static VULKAN_HPP_CONST_OR_CONSTEXPR SamplerCreateFlags allFlags =
2789 SamplerCreateFlagBits::eSubsampledEXT | SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT |
2790 SamplerCreateFlagBits::eDescriptorBufferCaptureReplayEXT | SamplerCreateFlagBits::eNonSeamlessCubeMapEXT | SamplerCreateFlagBits::eImageProcessingQCOM;
2791 };
2792
2793 enum class SamplerMipmapMode
2794 {
2795 eNearest = VK_SAMPLER_MIPMAP_MODE_NEAREST,
2796 eLinear = VK_SAMPLER_MIPMAP_MODE_LINEAR
2797 };
2798
2799 enum class DescriptorPoolCreateFlagBits : VkDescriptorPoolCreateFlags
2800 {
2801 eFreeDescriptorSet = VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT,
2802 eUpdateAfterBind = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
2803 eUpdateAfterBindEXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT,
2804 eHostOnlyVALVE = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE,
2805 eHostOnlyEXT = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT
2806 };
2807
2808 using DescriptorPoolCreateFlags = Flags<DescriptorPoolCreateFlagBits>;
2809
2810 template <>
2811 struct FlagTraits<DescriptorPoolCreateFlagBits>
2812 {
2813 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2814 static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorPoolCreateFlags allFlags =
2815 DescriptorPoolCreateFlagBits::eFreeDescriptorSet | DescriptorPoolCreateFlagBits::eUpdateAfterBind | DescriptorPoolCreateFlagBits::eHostOnlyEXT;
2816 };
2817
2818 enum class DescriptorSetLayoutCreateFlagBits : VkDescriptorSetLayoutCreateFlags
2819 {
2820 eUpdateAfterBindPool = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
2821 ePushDescriptorKHR = VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR,
2822 eUpdateAfterBindPoolEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT,
2823 eDescriptorBufferEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT,
2824 eEmbeddedImmutableSamplersEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT,
2825 eHostOnlyPoolVALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE,
2826 eHostOnlyPoolEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT
2827 };
2828
2829 using DescriptorSetLayoutCreateFlags = Flags<DescriptorSetLayoutCreateFlagBits>;
2830
2831 template <>
2832 struct FlagTraits<DescriptorSetLayoutCreateFlagBits>
2833 {
2834 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2835 static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorSetLayoutCreateFlags allFlags =
2836 DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPool | DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR |
2837 DescriptorSetLayoutCreateFlagBits::eDescriptorBufferEXT | DescriptorSetLayoutCreateFlagBits::eEmbeddedImmutableSamplersEXT |
2838 DescriptorSetLayoutCreateFlagBits::eHostOnlyPoolEXT;
2839 };
2840
2841 enum class DescriptorType
2842 {
2843 eSampler = VK_DESCRIPTOR_TYPE_SAMPLER,
2844 eCombinedImageSampler = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
2845 eSampledImage = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE,
2846 eStorageImage = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
2847 eUniformTexelBuffer = VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER,
2848 eStorageTexelBuffer = VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER,
2849 eUniformBuffer = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
2850 eStorageBuffer = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
2851 eUniformBufferDynamic = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,
2852 eStorageBufferDynamic = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC,
2853 eInputAttachment = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
2854 eInlineUniformBlock = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK,
2855 eInlineUniformBlockEXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT,
2856 eAccelerationStructureKHR = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR,
2857 eAccelerationStructureNV = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV,
2858 eMutableVALVE = VK_DESCRIPTOR_TYPE_MUTABLE_VALVE,
2859 eSampleWeightImageQCOM = VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM,
2860 eBlockMatchImageQCOM = VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM,
2861 eMutableEXT = VK_DESCRIPTOR_TYPE_MUTABLE_EXT
2862 };
2863
2864 enum class DescriptorPoolResetFlagBits : VkDescriptorPoolResetFlags
2865 {
2866 };
2867
2868 using DescriptorPoolResetFlags = Flags<DescriptorPoolResetFlagBits>;
2869
2870 template <>
2871 struct FlagTraits<DescriptorPoolResetFlagBits>
2872 {
2873 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2874 static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorPoolResetFlags allFlags = {};
2875 };
2876
2877 enum class AccessFlagBits : VkAccessFlags
2878 {
2879 eIndirectCommandRead = VK_ACCESS_INDIRECT_COMMAND_READ_BIT,
2880 eIndexRead = VK_ACCESS_INDEX_READ_BIT,
2881 eVertexAttributeRead = VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT,
2882 eUniformRead = VK_ACCESS_UNIFORM_READ_BIT,
2883 eInputAttachmentRead = VK_ACCESS_INPUT_ATTACHMENT_READ_BIT,
2884 eShaderRead = VK_ACCESS_SHADER_READ_BIT,
2885 eShaderWrite = VK_ACCESS_SHADER_WRITE_BIT,
2886 eColorAttachmentRead = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT,
2887 eColorAttachmentWrite = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,
2888 eDepthStencilAttachmentRead = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT,
2889 eDepthStencilAttachmentWrite = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
2890 eTransferRead = VK_ACCESS_TRANSFER_READ_BIT,
2891 eTransferWrite = VK_ACCESS_TRANSFER_WRITE_BIT,
2892 eHostRead = VK_ACCESS_HOST_READ_BIT,
2893 eHostWrite = VK_ACCESS_HOST_WRITE_BIT,
2894 eMemoryRead = VK_ACCESS_MEMORY_READ_BIT,
2895 eMemoryWrite = VK_ACCESS_MEMORY_WRITE_BIT,
2896 eNone = VK_ACCESS_NONE,
2897 eTransformFeedbackWriteEXT = VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
2898 eTransformFeedbackCounterReadEXT = VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
2899 eTransformFeedbackCounterWriteEXT = VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
2900 eConditionalRenderingReadEXT = VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT,
2901 eColorAttachmentReadNoncoherentEXT = VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
2902 eAccelerationStructureReadKHR = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
2903 eAccelerationStructureWriteKHR = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
2904 eShadingRateImageReadNV = VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV,
2905 eAccelerationStructureReadNV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV,
2906 eAccelerationStructureWriteNV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV,
2907 eFragmentDensityMapReadEXT = VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
2908 eFragmentShadingRateAttachmentReadKHR = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
2909 eCommandPreprocessReadNV = VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV,
2910 eCommandPreprocessWriteNV = VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV,
2911 eNoneKHR = VK_ACCESS_NONE_KHR
2912 };
2913
2914 using AccessFlags = Flags<AccessFlagBits>;
2915
2916 template <>
2917 struct FlagTraits<AccessFlagBits>
2918 {
2919 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2920 static VULKAN_HPP_CONST_OR_CONSTEXPR AccessFlags allFlags =
2921 AccessFlagBits::eIndirectCommandRead | AccessFlagBits::eIndexRead | AccessFlagBits::eVertexAttributeRead | AccessFlagBits::eUniformRead |
2922 AccessFlagBits::eInputAttachmentRead | AccessFlagBits::eShaderRead | AccessFlagBits::eShaderWrite | AccessFlagBits::eColorAttachmentRead |
2923 AccessFlagBits::eColorAttachmentWrite | AccessFlagBits::eDepthStencilAttachmentRead | AccessFlagBits::eDepthStencilAttachmentWrite |
2924 AccessFlagBits::eTransferRead | AccessFlagBits::eTransferWrite | AccessFlagBits::eHostRead | AccessFlagBits::eHostWrite | AccessFlagBits::eMemoryRead |
2925 AccessFlagBits::eMemoryWrite | AccessFlagBits::eNone | AccessFlagBits::eTransformFeedbackWriteEXT | AccessFlagBits::eTransformFeedbackCounterReadEXT |
2926 AccessFlagBits::eTransformFeedbackCounterWriteEXT | AccessFlagBits::eConditionalRenderingReadEXT | AccessFlagBits::eColorAttachmentReadNoncoherentEXT |
2927 AccessFlagBits::eAccelerationStructureReadKHR | AccessFlagBits::eAccelerationStructureWriteKHR | AccessFlagBits::eFragmentDensityMapReadEXT |
2928 AccessFlagBits::eFragmentShadingRateAttachmentReadKHR | AccessFlagBits::eCommandPreprocessReadNV | AccessFlagBits::eCommandPreprocessWriteNV;
2929 };
2930
2931 enum class AttachmentDescriptionFlagBits : VkAttachmentDescriptionFlags
2932 {
2933 eMayAlias = VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT
2934 };
2935
2936 using AttachmentDescriptionFlags = Flags<AttachmentDescriptionFlagBits>;
2937
2938 template <>
2939 struct FlagTraits<AttachmentDescriptionFlagBits>
2940 {
2941 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2942 static VULKAN_HPP_CONST_OR_CONSTEXPR AttachmentDescriptionFlags allFlags = AttachmentDescriptionFlagBits::eMayAlias;
2943 };
2944
2945 enum class AttachmentLoadOp
2946 {
2947 eLoad = VK_ATTACHMENT_LOAD_OP_LOAD,
2948 eClear = VK_ATTACHMENT_LOAD_OP_CLEAR,
2949 eDontCare = VK_ATTACHMENT_LOAD_OP_DONT_CARE,
2950 eNoneEXT = VK_ATTACHMENT_LOAD_OP_NONE_EXT
2951 };
2952
2953 enum class AttachmentStoreOp
2954 {
2955 eStore = VK_ATTACHMENT_STORE_OP_STORE,
2956 eDontCare = VK_ATTACHMENT_STORE_OP_DONT_CARE,
2957 eNone = VK_ATTACHMENT_STORE_OP_NONE,
2958 eNoneKHR = VK_ATTACHMENT_STORE_OP_NONE_KHR,
2959 eNoneQCOM = VK_ATTACHMENT_STORE_OP_NONE_QCOM,
2960 eNoneEXT = VK_ATTACHMENT_STORE_OP_NONE_EXT
2961 };
2962
2963 enum class DependencyFlagBits : VkDependencyFlags
2964 {
2965 eByRegion = VK_DEPENDENCY_BY_REGION_BIT,
2966 eDeviceGroup = VK_DEPENDENCY_DEVICE_GROUP_BIT,
2967 eViewLocal = VK_DEPENDENCY_VIEW_LOCAL_BIT,
2968 eViewLocalKHR = VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR,
2969 eDeviceGroupKHR = VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR,
2970 eFeedbackLoopEXT = VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT
2971 };
2972
2973 using DependencyFlags = Flags<DependencyFlagBits>;
2974
2975 template <>
2976 struct FlagTraits<DependencyFlagBits>
2977 {
2978 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2979 static VULKAN_HPP_CONST_OR_CONSTEXPR DependencyFlags allFlags =
2980 DependencyFlagBits::eByRegion | DependencyFlagBits::eDeviceGroup | DependencyFlagBits::eViewLocal | DependencyFlagBits::eFeedbackLoopEXT;
2981 };
2982
2983 enum class FramebufferCreateFlagBits : VkFramebufferCreateFlags
2984 {
2985 eImageless = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
2986 eImagelessKHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR
2987 };
2988
2989 using FramebufferCreateFlags = Flags<FramebufferCreateFlagBits>;
2990
2991 template <>
2992 struct FlagTraits<FramebufferCreateFlagBits>
2993 {
2994 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2995 static VULKAN_HPP_CONST_OR_CONSTEXPR FramebufferCreateFlags allFlags = FramebufferCreateFlagBits::eImageless;
2996 };
2997
2998 enum class PipelineBindPoint
2999 {
3000 eGraphics = VK_PIPELINE_BIND_POINT_GRAPHICS,
3001 eCompute = VK_PIPELINE_BIND_POINT_COMPUTE,
3002 eRayTracingKHR = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
3003 eRayTracingNV = VK_PIPELINE_BIND_POINT_RAY_TRACING_NV,
3004 eSubpassShadingHUAWEI = VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI
3005 };
3006
3007 enum class RenderPassCreateFlagBits : VkRenderPassCreateFlags
3008 {
3009 eTransformQCOM = VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM
3010 };
3011
3012 using RenderPassCreateFlags = Flags<RenderPassCreateFlagBits>;
3013
3014 template <>
3015 struct FlagTraits<RenderPassCreateFlagBits>
3016 {
3017 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3018 static VULKAN_HPP_CONST_OR_CONSTEXPR RenderPassCreateFlags allFlags = RenderPassCreateFlagBits::eTransformQCOM;
3019 };
3020
3021 enum class SubpassDescriptionFlagBits : VkSubpassDescriptionFlags
3022 {
3023 ePerViewAttributesNVX = VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX,
3024 ePerViewPositionXOnlyNVX = VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX,
3025 eFragmentRegionQCOM = VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM,
3026 eShaderResolveQCOM = VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM,
3027 eRasterizationOrderAttachmentColorAccessARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM,
3028 eRasterizationOrderAttachmentDepthAccessARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM,
3029 eRasterizationOrderAttachmentStencilAccessARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM,
3030 eRasterizationOrderAttachmentColorAccessEXT = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT,
3031 eRasterizationOrderAttachmentDepthAccessEXT = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT,
3032 eRasterizationOrderAttachmentStencilAccessEXT = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT,
3033 eEnableLegacyDitheringEXT = VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT
3034 };
3035
3036 using SubpassDescriptionFlags = Flags<SubpassDescriptionFlagBits>;
3037
3038 template <>
3039 struct FlagTraits<SubpassDescriptionFlagBits>
3040 {
3041 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3042 static VULKAN_HPP_CONST_OR_CONSTEXPR SubpassDescriptionFlags allFlags =
3043 SubpassDescriptionFlagBits::ePerViewAttributesNVX | SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX |
3044 SubpassDescriptionFlagBits::eFragmentRegionQCOM | SubpassDescriptionFlagBits::eShaderResolveQCOM |
3045 SubpassDescriptionFlagBits::eRasterizationOrderAttachmentColorAccessEXT | SubpassDescriptionFlagBits::eRasterizationOrderAttachmentDepthAccessEXT |
3046 SubpassDescriptionFlagBits::eRasterizationOrderAttachmentStencilAccessEXT | SubpassDescriptionFlagBits::eEnableLegacyDitheringEXT;
3047 };
3048
3049 enum class CommandPoolCreateFlagBits : VkCommandPoolCreateFlags
3050 {
3051 eTransient = VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,
3052 eResetCommandBuffer = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT,
3053 eProtected = VK_COMMAND_POOL_CREATE_PROTECTED_BIT
3054 };
3055
3056 using CommandPoolCreateFlags = Flags<CommandPoolCreateFlagBits>;
3057
3058 template <>
3059 struct FlagTraits<CommandPoolCreateFlagBits>
3060 {
3061 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3062 static VULKAN_HPP_CONST_OR_CONSTEXPR CommandPoolCreateFlags allFlags =
3063 CommandPoolCreateFlagBits::eTransient | CommandPoolCreateFlagBits::eResetCommandBuffer | CommandPoolCreateFlagBits::eProtected;
3064 };
3065
3066 enum class CommandPoolResetFlagBits : VkCommandPoolResetFlags
3067 {
3068 eReleaseResources = VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT
3069 };
3070
3071 using CommandPoolResetFlags = Flags<CommandPoolResetFlagBits>;
3072
3073 template <>
3074 struct FlagTraits<CommandPoolResetFlagBits>
3075 {
3076 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3077 static VULKAN_HPP_CONST_OR_CONSTEXPR CommandPoolResetFlags allFlags = CommandPoolResetFlagBits::eReleaseResources;
3078 };
3079
3080 enum class CommandBufferLevel
3081 {
3082 ePrimary = VK_COMMAND_BUFFER_LEVEL_PRIMARY,
3083 eSecondary = VK_COMMAND_BUFFER_LEVEL_SECONDARY
3084 };
3085
3086 enum class CommandBufferResetFlagBits : VkCommandBufferResetFlags
3087 {
3088 eReleaseResources = VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT
3089 };
3090
3091 using CommandBufferResetFlags = Flags<CommandBufferResetFlagBits>;
3092
3093 template <>
3094 struct FlagTraits<CommandBufferResetFlagBits>
3095 {
3096 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3097 static VULKAN_HPP_CONST_OR_CONSTEXPR CommandBufferResetFlags allFlags = CommandBufferResetFlagBits::eReleaseResources;
3098 };
3099
3100 enum class CommandBufferUsageFlagBits : VkCommandBufferUsageFlags
3101 {
3102 eOneTimeSubmit = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT,
3103 eRenderPassContinue = VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT,
3104 eSimultaneousUse = VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT
3105 };
3106
3107 using CommandBufferUsageFlags = Flags<CommandBufferUsageFlagBits>;
3108
3109 template <>
3110 struct FlagTraits<CommandBufferUsageFlagBits>
3111 {
3112 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3113 static VULKAN_HPP_CONST_OR_CONSTEXPR CommandBufferUsageFlags allFlags =
3114 CommandBufferUsageFlagBits::eOneTimeSubmit | CommandBufferUsageFlagBits::eRenderPassContinue | CommandBufferUsageFlagBits::eSimultaneousUse;
3115 };
3116
3117 enum class QueryControlFlagBits : VkQueryControlFlags
3118 {
3119 ePrecise = VK_QUERY_CONTROL_PRECISE_BIT
3120 };
3121
3122 using QueryControlFlags = Flags<QueryControlFlagBits>;
3123
3124 template <>
3125 struct FlagTraits<QueryControlFlagBits>
3126 {
3127 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3128 static VULKAN_HPP_CONST_OR_CONSTEXPR QueryControlFlags allFlags = QueryControlFlagBits::ePrecise;
3129 };
3130
3131 enum class IndexType
3132 {
3133 eUint16 = VK_INDEX_TYPE_UINT16,
3134 eUint32 = VK_INDEX_TYPE_UINT32,
3135 eNoneKHR = VK_INDEX_TYPE_NONE_KHR,
3136 eNoneNV = VK_INDEX_TYPE_NONE_NV,
3137 eUint8EXT = VK_INDEX_TYPE_UINT8_EXT
3138 };
3139
3140 enum class StencilFaceFlagBits : VkStencilFaceFlags
3141 {
3142 eFront = VK_STENCIL_FACE_FRONT_BIT,
3143 eBack = VK_STENCIL_FACE_BACK_BIT,
3144 eFrontAndBack = VK_STENCIL_FACE_FRONT_AND_BACK,
3145 eVkStencilFrontAndBack = VK_STENCIL_FRONT_AND_BACK
3146 };
3147
3148 using StencilFaceFlags = Flags<StencilFaceFlagBits>;
3149
3150 template <>
3151 struct FlagTraits<StencilFaceFlagBits>
3152 {
3153 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3154 static VULKAN_HPP_CONST_OR_CONSTEXPR StencilFaceFlags allFlags =
3155 StencilFaceFlagBits::eFront | StencilFaceFlagBits::eBack | StencilFaceFlagBits::eFrontAndBack;
3156 };
3157
3158 enum class SubpassContents
3159 {
3160 eInline = VK_SUBPASS_CONTENTS_INLINE,
3161 eSecondaryCommandBuffers = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS
3162 };
3163
3164 //=== VK_VERSION_1_1 ===
3165
3166 enum class SubgroupFeatureFlagBits : VkSubgroupFeatureFlags
3167 {
3168 eBasic = VK_SUBGROUP_FEATURE_BASIC_BIT,
3169 eVote = VK_SUBGROUP_FEATURE_VOTE_BIT,
3170 eArithmetic = VK_SUBGROUP_FEATURE_ARITHMETIC_BIT,
3171 eBallot = VK_SUBGROUP_FEATURE_BALLOT_BIT,
3172 eShuffle = VK_SUBGROUP_FEATURE_SHUFFLE_BIT,
3173 eShuffleRelative = VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT,
3174 eClustered = VK_SUBGROUP_FEATURE_CLUSTERED_BIT,
3175 eQuad = VK_SUBGROUP_FEATURE_QUAD_BIT,
3176 ePartitionedNV = VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV
3177 };
3178
3179 using SubgroupFeatureFlags = Flags<SubgroupFeatureFlagBits>;
3180
3181 template <>
3182 struct FlagTraits<SubgroupFeatureFlagBits>
3183 {
3184 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3185 static VULKAN_HPP_CONST_OR_CONSTEXPR SubgroupFeatureFlags allFlags =
3186 SubgroupFeatureFlagBits::eBasic | SubgroupFeatureFlagBits::eVote | SubgroupFeatureFlagBits::eArithmetic | SubgroupFeatureFlagBits::eBallot |
3187 SubgroupFeatureFlagBits::eShuffle | SubgroupFeatureFlagBits::eShuffleRelative | SubgroupFeatureFlagBits::eClustered | SubgroupFeatureFlagBits::eQuad |
3188 SubgroupFeatureFlagBits::ePartitionedNV;
3189 };
3190
3191 enum class PeerMemoryFeatureFlagBits : VkPeerMemoryFeatureFlags
3192 {
3193 eCopySrc = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
3194 eCopyDst = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
3195 eGenericSrc = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
3196 eGenericDst = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT
3197 };
3198 using PeerMemoryFeatureFlagBitsKHR = PeerMemoryFeatureFlagBits;
3199
3200 using PeerMemoryFeatureFlags = Flags<PeerMemoryFeatureFlagBits>;
3201 using PeerMemoryFeatureFlagsKHR = PeerMemoryFeatureFlags;
3202
3203 template <>
3204 struct FlagTraits<PeerMemoryFeatureFlagBits>
3205 {
3206 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3207 static VULKAN_HPP_CONST_OR_CONSTEXPR PeerMemoryFeatureFlags allFlags = PeerMemoryFeatureFlagBits::eCopySrc | PeerMemoryFeatureFlagBits::eCopyDst |
3208 PeerMemoryFeatureFlagBits::eGenericSrc | PeerMemoryFeatureFlagBits::eGenericDst;
3209 };
3210
3211 enum class MemoryAllocateFlagBits : VkMemoryAllocateFlags
3212 {
3213 eDeviceMask = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
3214 eDeviceAddress = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
3215 eDeviceAddressCaptureReplay = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT
3216 };
3217 using MemoryAllocateFlagBitsKHR = MemoryAllocateFlagBits;
3218
3219 using MemoryAllocateFlags = Flags<MemoryAllocateFlagBits>;
3220 using MemoryAllocateFlagsKHR = MemoryAllocateFlags;
3221
3222 template <>
3223 struct FlagTraits<MemoryAllocateFlagBits>
3224 {
3225 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3226 static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryAllocateFlags allFlags =
3227 MemoryAllocateFlagBits::eDeviceMask | MemoryAllocateFlagBits::eDeviceAddress | MemoryAllocateFlagBits::eDeviceAddressCaptureReplay;
3228 };
3229
3230 enum class CommandPoolTrimFlagBits : VkCommandPoolTrimFlags
3231 {
3232 };
3233
3234 using CommandPoolTrimFlags = Flags<CommandPoolTrimFlagBits>;
3235 using CommandPoolTrimFlagsKHR = CommandPoolTrimFlags;
3236
3237 template <>
3238 struct FlagTraits<CommandPoolTrimFlagBits>
3239 {
3240 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3241 static VULKAN_HPP_CONST_OR_CONSTEXPR CommandPoolTrimFlags allFlags = {};
3242 };
3243
3244 enum class PointClippingBehavior
3245 {
3246 eAllClipPlanes = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
3247 eUserClipPlanesOnly = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
3248 };
3249 using PointClippingBehaviorKHR = PointClippingBehavior;
3250
3251 enum class TessellationDomainOrigin
3252 {
3253 eUpperLeft = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
3254 eLowerLeft = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT
3255 };
3256 using TessellationDomainOriginKHR = TessellationDomainOrigin;
3257
3258 enum class DeviceQueueCreateFlagBits : VkDeviceQueueCreateFlags
3259 {
3260 eProtected = VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT
3261 };
3262
3263 using DeviceQueueCreateFlags = Flags<DeviceQueueCreateFlagBits>;
3264
3265 template <>
3266 struct FlagTraits<DeviceQueueCreateFlagBits>
3267 {
3268 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3269 static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceQueueCreateFlags allFlags = DeviceQueueCreateFlagBits::eProtected;
3270 };
3271
3272 enum class SamplerYcbcrModelConversion
3273 {
3274 eRgbIdentity = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
3275 eYcbcrIdentity = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
3276 eYcbcr709 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
3277 eYcbcr601 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
3278 eYcbcr2020 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020
3279 };
3280 using SamplerYcbcrModelConversionKHR = SamplerYcbcrModelConversion;
3281
3282 enum class SamplerYcbcrRange
3283 {
3284 eItuFull = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
3285 eItuNarrow = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW
3286 };
3287 using SamplerYcbcrRangeKHR = SamplerYcbcrRange;
3288
3289 enum class ChromaLocation
3290 {
3291 eCositedEven = VK_CHROMA_LOCATION_COSITED_EVEN,
3292 eMidpoint = VK_CHROMA_LOCATION_MIDPOINT
3293 };
3294 using ChromaLocationKHR = ChromaLocation;
3295
3296 enum class DescriptorUpdateTemplateType
3297 {
3298 eDescriptorSet = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
3299 ePushDescriptorsKHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR
3300 };
3301 using DescriptorUpdateTemplateTypeKHR = DescriptorUpdateTemplateType;
3302
3303 enum class DescriptorUpdateTemplateCreateFlagBits : VkDescriptorUpdateTemplateCreateFlags
3304 {
3305 };
3306
3307 using DescriptorUpdateTemplateCreateFlags = Flags<DescriptorUpdateTemplateCreateFlagBits>;
3308 using DescriptorUpdateTemplateCreateFlagsKHR = DescriptorUpdateTemplateCreateFlags;
3309
3310 template <>
3311 struct FlagTraits<DescriptorUpdateTemplateCreateFlagBits>
3312 {
3313 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3314 static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorUpdateTemplateCreateFlags allFlags = {};
3315 };
3316
3317 enum class ExternalMemoryHandleTypeFlagBits : VkExternalMemoryHandleTypeFlags
3318 {
3319 eOpaqueFd = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
3320 eOpaqueWin32 = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
3321 eOpaqueWin32Kmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
3322 eD3D11Texture = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
3323 eD3D11TextureKmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
3324 eD3D12Heap = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
3325 eD3D12Resource = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
3326 eDmaBufEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT,
3327#if defined( VK_USE_PLATFORM_ANDROID_KHR )
3328 eAndroidHardwareBufferANDROID = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID,
3329#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
3330 eHostAllocationEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT,
3331 eHostMappedForeignMemoryEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT,
3332#if defined( VK_USE_PLATFORM_FUCHSIA )
3333 eZirconVmoFUCHSIA = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA,
3334#endif /*VK_USE_PLATFORM_FUCHSIA*/
3335 eRdmaAddressNV = VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV
3336 };
3337 using ExternalMemoryHandleTypeFlagBitsKHR = ExternalMemoryHandleTypeFlagBits;
3338
3339 using ExternalMemoryHandleTypeFlags = Flags<ExternalMemoryHandleTypeFlagBits>;
3340 using ExternalMemoryHandleTypeFlagsKHR = ExternalMemoryHandleTypeFlags;
3341
3342 template <>
3343 struct FlagTraits<ExternalMemoryHandleTypeFlagBits>
3344 {
3345 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3346 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalMemoryHandleTypeFlags allFlags =
3347 ExternalMemoryHandleTypeFlagBits::eOpaqueFd | ExternalMemoryHandleTypeFlagBits::eOpaqueWin32 | ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt |
3348 ExternalMemoryHandleTypeFlagBits::eD3D11Texture | ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt | ExternalMemoryHandleTypeFlagBits::eD3D12Heap |
3349 ExternalMemoryHandleTypeFlagBits::eD3D12Resource | ExternalMemoryHandleTypeFlagBits::eDmaBufEXT
3350#if defined( VK_USE_PLATFORM_ANDROID_KHR )
3351 | ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID
3352#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
3353 | ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT | ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT
3354#if defined( VK_USE_PLATFORM_FUCHSIA )
3355 | ExternalMemoryHandleTypeFlagBits::eZirconVmoFUCHSIA
3356#endif /*VK_USE_PLATFORM_FUCHSIA*/
3357 | ExternalMemoryHandleTypeFlagBits::eRdmaAddressNV;
3358 };
3359
3360 enum class ExternalMemoryFeatureFlagBits : VkExternalMemoryFeatureFlags
3361 {
3362 eDedicatedOnly = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
3363 eExportable = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
3364 eImportable = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT
3365 };
3366 using ExternalMemoryFeatureFlagBitsKHR = ExternalMemoryFeatureFlagBits;
3367
3368 using ExternalMemoryFeatureFlags = Flags<ExternalMemoryFeatureFlagBits>;
3369 using ExternalMemoryFeatureFlagsKHR = ExternalMemoryFeatureFlags;
3370
3371 template <>
3372 struct FlagTraits<ExternalMemoryFeatureFlagBits>
3373 {
3374 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3375 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalMemoryFeatureFlags allFlags =
3376 ExternalMemoryFeatureFlagBits::eDedicatedOnly | ExternalMemoryFeatureFlagBits::eExportable | ExternalMemoryFeatureFlagBits::eImportable;
3377 };
3378
3379 enum class ExternalFenceHandleTypeFlagBits : VkExternalFenceHandleTypeFlags
3380 {
3381 eOpaqueFd = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
3382 eOpaqueWin32 = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
3383 eOpaqueWin32Kmt = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
3384 eSyncFd = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
3385 };
3386 using ExternalFenceHandleTypeFlagBitsKHR = ExternalFenceHandleTypeFlagBits;
3387
3388 using ExternalFenceHandleTypeFlags = Flags<ExternalFenceHandleTypeFlagBits>;
3389 using ExternalFenceHandleTypeFlagsKHR = ExternalFenceHandleTypeFlags;
3390
3391 template <>
3392 struct FlagTraits<ExternalFenceHandleTypeFlagBits>
3393 {
3394 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3395 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalFenceHandleTypeFlags allFlags =
3396 ExternalFenceHandleTypeFlagBits::eOpaqueFd | ExternalFenceHandleTypeFlagBits::eOpaqueWin32 | ExternalFenceHandleTypeFlagBits::eOpaqueWin32Kmt |
3397 ExternalFenceHandleTypeFlagBits::eSyncFd;
3398 };
3399
3400 enum class ExternalFenceFeatureFlagBits : VkExternalFenceFeatureFlags
3401 {
3402 eExportable = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
3403 eImportable = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT
3404 };
3405 using ExternalFenceFeatureFlagBitsKHR = ExternalFenceFeatureFlagBits;
3406
3407 using ExternalFenceFeatureFlags = Flags<ExternalFenceFeatureFlagBits>;
3408 using ExternalFenceFeatureFlagsKHR = ExternalFenceFeatureFlags;
3409
3410 template <>
3411 struct FlagTraits<ExternalFenceFeatureFlagBits>
3412 {
3413 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3414 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalFenceFeatureFlags allFlags =
3415 ExternalFenceFeatureFlagBits::eExportable | ExternalFenceFeatureFlagBits::eImportable;
3416 };
3417
3418 enum class FenceImportFlagBits : VkFenceImportFlags
3419 {
3420 eTemporary = VK_FENCE_IMPORT_TEMPORARY_BIT
3421 };
3422 using FenceImportFlagBitsKHR = FenceImportFlagBits;
3423
3424 using FenceImportFlags = Flags<FenceImportFlagBits>;
3425 using FenceImportFlagsKHR = FenceImportFlags;
3426
3427 template <>
3428 struct FlagTraits<FenceImportFlagBits>
3429 {
3430 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3431 static VULKAN_HPP_CONST_OR_CONSTEXPR FenceImportFlags allFlags = FenceImportFlagBits::eTemporary;
3432 };
3433
3434 enum class SemaphoreImportFlagBits : VkSemaphoreImportFlags
3435 {
3436 eTemporary = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT
3437 };
3438 using SemaphoreImportFlagBitsKHR = SemaphoreImportFlagBits;
3439
3440 using SemaphoreImportFlags = Flags<SemaphoreImportFlagBits>;
3441 using SemaphoreImportFlagsKHR = SemaphoreImportFlags;
3442
3443 template <>
3444 struct FlagTraits<SemaphoreImportFlagBits>
3445 {
3446 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3447 static VULKAN_HPP_CONST_OR_CONSTEXPR SemaphoreImportFlags allFlags = SemaphoreImportFlagBits::eTemporary;
3448 };
3449
3450 enum class ExternalSemaphoreHandleTypeFlagBits : VkExternalSemaphoreHandleTypeFlags
3451 {
3452 eOpaqueFd = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
3453 eOpaqueWin32 = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
3454 eOpaqueWin32Kmt = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
3455 eD3D12Fence = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
3456 eD3D11Fence = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT,
3457 eSyncFd = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
3458#if defined( VK_USE_PLATFORM_FUCHSIA )
3459 eZirconEventFUCHSIA = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA
3460#endif /*VK_USE_PLATFORM_FUCHSIA*/
3461 };
3462 using ExternalSemaphoreHandleTypeFlagBitsKHR = ExternalSemaphoreHandleTypeFlagBits;
3463
3464 using ExternalSemaphoreHandleTypeFlags = Flags<ExternalSemaphoreHandleTypeFlagBits>;
3465 using ExternalSemaphoreHandleTypeFlagsKHR = ExternalSemaphoreHandleTypeFlags;
3466
3467 template <>
3468 struct FlagTraits<ExternalSemaphoreHandleTypeFlagBits>
3469 {
3470 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3471 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalSemaphoreHandleTypeFlags allFlags =
3472 ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd | ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32 |
3473 ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32Kmt | ExternalSemaphoreHandleTypeFlagBits::eD3D12Fence | ExternalSemaphoreHandleTypeFlagBits::eSyncFd
3474#if defined( VK_USE_PLATFORM_FUCHSIA )
3475 | ExternalSemaphoreHandleTypeFlagBits::eZirconEventFUCHSIA
3476#endif /*VK_USE_PLATFORM_FUCHSIA*/
3477 ;
3478 };
3479
3480 enum class ExternalSemaphoreFeatureFlagBits : VkExternalSemaphoreFeatureFlags
3481 {
3482 eExportable = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
3483 eImportable = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT
3484 };
3485 using ExternalSemaphoreFeatureFlagBitsKHR = ExternalSemaphoreFeatureFlagBits;
3486
3487 using ExternalSemaphoreFeatureFlags = Flags<ExternalSemaphoreFeatureFlagBits>;
3488 using ExternalSemaphoreFeatureFlagsKHR = ExternalSemaphoreFeatureFlags;
3489
3490 template <>
3491 struct FlagTraits<ExternalSemaphoreFeatureFlagBits>
3492 {
3493 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3494 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalSemaphoreFeatureFlags allFlags =
3495 ExternalSemaphoreFeatureFlagBits::eExportable | ExternalSemaphoreFeatureFlagBits::eImportable;
3496 };
3497
3498 //=== VK_VERSION_1_2 ===
3499
3500 enum class DriverId
3501 {
3502 eAmdProprietary = VK_DRIVER_ID_AMD_PROPRIETARY,
3503 eAmdOpenSource = VK_DRIVER_ID_AMD_OPEN_SOURCE,
3504 eMesaRadv = VK_DRIVER_ID_MESA_RADV,
3505 eNvidiaProprietary = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
3506 eIntelProprietaryWindows = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
3507 eIntelOpenSourceMESA = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
3508 eImaginationProprietary = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
3509 eQualcommProprietary = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
3510 eArmProprietary = VK_DRIVER_ID_ARM_PROPRIETARY,
3511 eGoogleSwiftshader = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
3512 eGgpProprietary = VK_DRIVER_ID_GGP_PROPRIETARY,
3513 eBroadcomProprietary = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
3514 eMesaLlvmpipe = VK_DRIVER_ID_MESA_LLVMPIPE,
3515 eMoltenvk = VK_DRIVER_ID_MOLTENVK,
3516 eCoreaviProprietary = VK_DRIVER_ID_COREAVI_PROPRIETARY,
3517 eJuiceProprietary = VK_DRIVER_ID_JUICE_PROPRIETARY,
3518 eVerisiliconProprietary = VK_DRIVER_ID_VERISILICON_PROPRIETARY,
3519 eMesaTurnip = VK_DRIVER_ID_MESA_TURNIP,
3520 eMesaV3Dv = VK_DRIVER_ID_MESA_V3DV,
3521 eMesaPanvk = VK_DRIVER_ID_MESA_PANVK,
3522 eSamsungProprietary = VK_DRIVER_ID_SAMSUNG_PROPRIETARY,
3523 eMesaVenus = VK_DRIVER_ID_MESA_VENUS,
3524 eMesaDozen = VK_DRIVER_ID_MESA_DOZEN,
3525 eMesaNvk = VK_DRIVER_ID_MESA_NVK,
3526 eImaginationOpenSourceMESA = VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA
3527 };
3528 using DriverIdKHR = DriverId;
3529
3530 enum class ShaderFloatControlsIndependence
3531 {
3532 e32BitOnly = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
3533 eAll = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
3534 eNone = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE
3535 };
3536 using ShaderFloatControlsIndependenceKHR = ShaderFloatControlsIndependence;
3537
3538 enum class DescriptorBindingFlagBits : VkDescriptorBindingFlags
3539 {
3540 eUpdateAfterBind = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
3541 eUpdateUnusedWhilePending = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
3542 ePartiallyBound = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
3543 eVariableDescriptorCount = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT
3544 };
3545 using DescriptorBindingFlagBitsEXT = DescriptorBindingFlagBits;
3546
3547 using DescriptorBindingFlags = Flags<DescriptorBindingFlagBits>;
3548 using DescriptorBindingFlagsEXT = DescriptorBindingFlags;
3549
3550 template <>
3551 struct FlagTraits<DescriptorBindingFlagBits>
3552 {
3553 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3554 static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorBindingFlags allFlags =
3555 DescriptorBindingFlagBits::eUpdateAfterBind | DescriptorBindingFlagBits::eUpdateUnusedWhilePending | DescriptorBindingFlagBits::ePartiallyBound |
3556 DescriptorBindingFlagBits::eVariableDescriptorCount;
3557 };
3558
3559 enum class ResolveModeFlagBits : VkResolveModeFlags
3560 {
3561 eNone = VK_RESOLVE_MODE_NONE,
3562 eSampleZero = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
3563 eAverage = VK_RESOLVE_MODE_AVERAGE_BIT,
3564 eMin = VK_RESOLVE_MODE_MIN_BIT,
3565 eMax = VK_RESOLVE_MODE_MAX_BIT
3566 };
3567 using ResolveModeFlagBitsKHR = ResolveModeFlagBits;
3568
3569 using ResolveModeFlags = Flags<ResolveModeFlagBits>;
3570 using ResolveModeFlagsKHR = ResolveModeFlags;
3571
3572 template <>
3573 struct FlagTraits<ResolveModeFlagBits>
3574 {
3575 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3576 static VULKAN_HPP_CONST_OR_CONSTEXPR ResolveModeFlags allFlags =
3577 ResolveModeFlagBits::eNone | ResolveModeFlagBits::eSampleZero | ResolveModeFlagBits::eAverage | ResolveModeFlagBits::eMin | ResolveModeFlagBits::eMax;
3578 };
3579
3580 enum class SamplerReductionMode
3581 {
3582 eWeightedAverage = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
3583 eMin = VK_SAMPLER_REDUCTION_MODE_MIN,
3584 eMax = VK_SAMPLER_REDUCTION_MODE_MAX
3585 };
3586 using SamplerReductionModeEXT = SamplerReductionMode;
3587
3588 enum class SemaphoreType
3589 {
3590 eBinary = VK_SEMAPHORE_TYPE_BINARY,
3591 eTimeline = VK_SEMAPHORE_TYPE_TIMELINE
3592 };
3593 using SemaphoreTypeKHR = SemaphoreType;
3594
3595 enum class SemaphoreWaitFlagBits : VkSemaphoreWaitFlags
3596 {
3597 eAny = VK_SEMAPHORE_WAIT_ANY_BIT
3598 };
3599 using SemaphoreWaitFlagBitsKHR = SemaphoreWaitFlagBits;
3600
3601 using SemaphoreWaitFlags = Flags<SemaphoreWaitFlagBits>;
3602 using SemaphoreWaitFlagsKHR = SemaphoreWaitFlags;
3603
3604 template <>
3605 struct FlagTraits<SemaphoreWaitFlagBits>
3606 {
3607 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3608 static VULKAN_HPP_CONST_OR_CONSTEXPR SemaphoreWaitFlags allFlags = SemaphoreWaitFlagBits::eAny;
3609 };
3610
3611 //=== VK_VERSION_1_3 ===
3612
3613 enum class PipelineCreationFeedbackFlagBits : VkPipelineCreationFeedbackFlags
3614 {
3615 eValid = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT,
3616 eApplicationPipelineCacheHit = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT,
3617 eBasePipelineAcceleration = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT
3618 };
3619 using PipelineCreationFeedbackFlagBitsEXT = PipelineCreationFeedbackFlagBits;
3620
3621 using PipelineCreationFeedbackFlags = Flags<PipelineCreationFeedbackFlagBits>;
3622 using PipelineCreationFeedbackFlagsEXT = PipelineCreationFeedbackFlags;
3623
3624 template <>
3625 struct FlagTraits<PipelineCreationFeedbackFlagBits>
3626 {
3627 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3628 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCreationFeedbackFlags allFlags = PipelineCreationFeedbackFlagBits::eValid |
3629 PipelineCreationFeedbackFlagBits::eApplicationPipelineCacheHit |
3630 PipelineCreationFeedbackFlagBits::eBasePipelineAcceleration;
3631 };
3632
3633 enum class ToolPurposeFlagBits : VkToolPurposeFlags
3634 {
3635 eValidation = VK_TOOL_PURPOSE_VALIDATION_BIT,
3636 eProfiling = VK_TOOL_PURPOSE_PROFILING_BIT,
3637 eTracing = VK_TOOL_PURPOSE_TRACING_BIT,
3638 eAdditionalFeatures = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT,
3639 eModifyingFeatures = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT,
3640 eDebugReportingEXT = VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT,
3641 eDebugMarkersEXT = VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT
3642 };
3643 using ToolPurposeFlagBitsEXT = ToolPurposeFlagBits;
3644
3645 using ToolPurposeFlags = Flags<ToolPurposeFlagBits>;
3646 using ToolPurposeFlagsEXT = ToolPurposeFlags;
3647
3648 template <>
3649 struct FlagTraits<ToolPurposeFlagBits>
3650 {
3651 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3652 static VULKAN_HPP_CONST_OR_CONSTEXPR ToolPurposeFlags allFlags =
3653 ToolPurposeFlagBits::eValidation | ToolPurposeFlagBits::eProfiling | ToolPurposeFlagBits::eTracing | ToolPurposeFlagBits::eAdditionalFeatures |
3654 ToolPurposeFlagBits::eModifyingFeatures | ToolPurposeFlagBits::eDebugReportingEXT | ToolPurposeFlagBits::eDebugMarkersEXT;
3655 };
3656
3657 enum class PrivateDataSlotCreateFlagBits : VkPrivateDataSlotCreateFlags
3658 {
3659 };
3660 using PrivateDataSlotCreateFlagBitsEXT = PrivateDataSlotCreateFlagBits;
3661
3662 using PrivateDataSlotCreateFlags = Flags<PrivateDataSlotCreateFlagBits>;
3663 using PrivateDataSlotCreateFlagsEXT = PrivateDataSlotCreateFlags;
3664
3665 template <>
3666 struct FlagTraits<PrivateDataSlotCreateFlagBits>
3667 {
3668 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3669 static VULKAN_HPP_CONST_OR_CONSTEXPR PrivateDataSlotCreateFlags allFlags = {};
3670 };
3671
3672 enum class PipelineStageFlagBits2 : VkPipelineStageFlags2
3673 {
3674 eNone = VK_PIPELINE_STAGE_2_NONE,
3675 eTopOfPipe = VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT,
3676 eDrawIndirect = VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT,
3677 eVertexInput = VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT,
3678 eVertexShader = VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,
3679 eTessellationControlShader = VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,
3680 eTessellationEvaluationShader = VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,
3681 eGeometryShader = VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,
3682 eFragmentShader = VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,
3683 eEarlyFragmentTests = VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,
3684 eLateFragmentTests = VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,
3685 eColorAttachmentOutput = VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT,
3686 eComputeShader = VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,
3687 eAllTransfer = VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT,
3688 eTransfer = VK_PIPELINE_STAGE_2_TRANSFER_BIT,
3689 eBottomOfPipe = VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT,
3690 eHost = VK_PIPELINE_STAGE_2_HOST_BIT,
3691 eAllGraphics = VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
3692 eAllCommands = VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT,
3693 eCopy = VK_PIPELINE_STAGE_2_COPY_BIT,
3694 eResolve = VK_PIPELINE_STAGE_2_RESOLVE_BIT,
3695 eBlit = VK_PIPELINE_STAGE_2_BLIT_BIT,
3696 eClear = VK_PIPELINE_STAGE_2_CLEAR_BIT,
3697 eIndexInput = VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT,
3698 eVertexAttributeInput = VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT,
3699 ePreRasterizationShaders = VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT,
3700 eVideoDecodeKHR = VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR,
3701#if defined( VK_ENABLE_BETA_EXTENSIONS )
3702 eVideoEncodeKHR = VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR,
3703#endif /*VK_ENABLE_BETA_EXTENSIONS*/
3704 eTransformFeedbackEXT = VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
3705 eConditionalRenderingEXT = VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT,
3706 eCommandPreprocessNV = VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV,
3707 eFragmentShadingRateAttachmentKHR = VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
3708 eShadingRateImageNV = VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV,
3709 eAccelerationStructureBuildKHR = VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
3710 eRayTracingShaderKHR = VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,
3711 eRayTracingShaderNV = VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV,
3712 eAccelerationStructureBuildNV = VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV,
3713 eFragmentDensityProcessEXT = VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT,
3714 eTaskShaderNV = VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV,
3715 eMeshShaderNV = VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV,
3716 eTaskShaderEXT = VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,
3717 eMeshShaderEXT = VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,
3718 eSubpassShadingHUAWEI = VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI,
3719 eInvocationMaskHUAWEI = VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI,
3720 eAccelerationStructureCopyKHR = VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,
3721 eMicromapBuildEXT = VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT,
3722 eClusterCullingShaderHUAWEI = VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI,
3723 eOpticalFlowNV = VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV
3724 };
3725 using PipelineStageFlagBits2KHR = PipelineStageFlagBits2;
3726
3727 using PipelineStageFlags2 = Flags<PipelineStageFlagBits2>;
3728 using PipelineStageFlags2KHR = PipelineStageFlags2;
3729
3730 template <>
3731 struct FlagTraits<PipelineStageFlagBits2>
3732 {
3733 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3734 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineStageFlags2 allFlags =
3735 PipelineStageFlagBits2::eNone | PipelineStageFlagBits2::eTopOfPipe | PipelineStageFlagBits2::eDrawIndirect | PipelineStageFlagBits2::eVertexInput |
3736 PipelineStageFlagBits2::eVertexShader | PipelineStageFlagBits2::eTessellationControlShader | PipelineStageFlagBits2::eTessellationEvaluationShader |
3737 PipelineStageFlagBits2::eGeometryShader | PipelineStageFlagBits2::eFragmentShader | PipelineStageFlagBits2::eEarlyFragmentTests |
3738 PipelineStageFlagBits2::eLateFragmentTests | PipelineStageFlagBits2::eColorAttachmentOutput | PipelineStageFlagBits2::eComputeShader |
3739 PipelineStageFlagBits2::eAllTransfer | PipelineStageFlagBits2::eBottomOfPipe | PipelineStageFlagBits2::eHost | PipelineStageFlagBits2::eAllGraphics |
3740 PipelineStageFlagBits2::eAllCommands | PipelineStageFlagBits2::eCopy | PipelineStageFlagBits2::eResolve | PipelineStageFlagBits2::eBlit |
3741 PipelineStageFlagBits2::eClear | PipelineStageFlagBits2::eIndexInput | PipelineStageFlagBits2::eVertexAttributeInput |
3742 PipelineStageFlagBits2::ePreRasterizationShaders | PipelineStageFlagBits2::eVideoDecodeKHR
3743#if defined( VK_ENABLE_BETA_EXTENSIONS )
3744 | PipelineStageFlagBits2::eVideoEncodeKHR
3745#endif /*VK_ENABLE_BETA_EXTENSIONS*/
3746 | PipelineStageFlagBits2::eTransformFeedbackEXT | PipelineStageFlagBits2::eConditionalRenderingEXT | PipelineStageFlagBits2::eCommandPreprocessNV |
3747 PipelineStageFlagBits2::eFragmentShadingRateAttachmentKHR | PipelineStageFlagBits2::eAccelerationStructureBuildKHR |
3748 PipelineStageFlagBits2::eRayTracingShaderKHR | PipelineStageFlagBits2::eFragmentDensityProcessEXT | PipelineStageFlagBits2::eTaskShaderEXT |
3749 PipelineStageFlagBits2::eMeshShaderEXT | PipelineStageFlagBits2::eSubpassShadingHUAWEI | PipelineStageFlagBits2::eInvocationMaskHUAWEI |
3750 PipelineStageFlagBits2::eAccelerationStructureCopyKHR | PipelineStageFlagBits2::eMicromapBuildEXT | PipelineStageFlagBits2::eClusterCullingShaderHUAWEI |
3751 PipelineStageFlagBits2::eOpticalFlowNV;
3752 };
3753
3754 enum class AccessFlagBits2 : VkAccessFlags2
3755 {
3756 eNone = VK_ACCESS_2_NONE,
3757 eIndirectCommandRead = VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT,
3758 eIndexRead = VK_ACCESS_2_INDEX_READ_BIT,
3759 eVertexAttributeRead = VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT,
3760 eUniformRead = VK_ACCESS_2_UNIFORM_READ_BIT,
3761 eInputAttachmentRead = VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT,
3762 eShaderRead = VK_ACCESS_2_SHADER_READ_BIT,
3763 eShaderWrite = VK_ACCESS_2_SHADER_WRITE_BIT,
3764 eColorAttachmentRead = VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT,
3765 eColorAttachmentWrite = VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT,
3766 eDepthStencilAttachmentRead = VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT,
3767 eDepthStencilAttachmentWrite = VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
3768 eTransferRead = VK_ACCESS_2_TRANSFER_READ_BIT,
3769 eTransferWrite = VK_ACCESS_2_TRANSFER_WRITE_BIT,
3770 eHostRead = VK_ACCESS_2_HOST_READ_BIT,
3771 eHostWrite = VK_ACCESS_2_HOST_WRITE_BIT,
3772 eMemoryRead = VK_ACCESS_2_MEMORY_READ_BIT,
3773 eMemoryWrite = VK_ACCESS_2_MEMORY_WRITE_BIT,
3774 eShaderSampledRead = VK_ACCESS_2_SHADER_SAMPLED_READ_BIT,
3775 eShaderStorageRead = VK_ACCESS_2_SHADER_STORAGE_READ_BIT,
3776 eShaderStorageWrite = VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT,
3777 eVideoDecodeReadKHR = VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR,
3778 eVideoDecodeWriteKHR = VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR,
3779#if defined( VK_ENABLE_BETA_EXTENSIONS )
3780 eVideoEncodeReadKHR = VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR,
3781 eVideoEncodeWriteKHR = VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR,
3782#endif /*VK_ENABLE_BETA_EXTENSIONS*/
3783 eTransformFeedbackWriteEXT = VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
3784 eTransformFeedbackCounterReadEXT = VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
3785 eTransformFeedbackCounterWriteEXT = VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
3786 eConditionalRenderingReadEXT = VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT,
3787 eCommandPreprocessReadNV = VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV,
3788 eCommandPreprocessWriteNV = VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV,
3789 eFragmentShadingRateAttachmentReadKHR = VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
3790 eShadingRateImageReadNV = VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV,
3791 eAccelerationStructureReadKHR = VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
3792 eAccelerationStructureWriteKHR = VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
3793 eAccelerationStructureReadNV = VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV,
3794 eAccelerationStructureWriteNV = VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV,
3795 eFragmentDensityMapReadEXT = VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
3796 eColorAttachmentReadNoncoherentEXT = VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
3797 eDescriptorBufferReadEXT = VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,
3798 eInvocationMaskReadHUAWEI = VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI,
3799 eShaderBindingTableReadKHR = VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,
3800 eMicromapReadEXT = VK_ACCESS_2_MICROMAP_READ_BIT_EXT,
3801 eMicromapWriteEXT = VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT,
3802 eOpticalFlowReadNV = VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV,
3803 eOpticalFlowWriteNV = VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV
3804 };
3805 using AccessFlagBits2KHR = AccessFlagBits2;
3806
3807 using AccessFlags2 = Flags<AccessFlagBits2>;
3808 using AccessFlags2KHR = AccessFlags2;
3809
3810 template <>
3811 struct FlagTraits<AccessFlagBits2>
3812 {
3813 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3814 static VULKAN_HPP_CONST_OR_CONSTEXPR AccessFlags2 allFlags =
3815 AccessFlagBits2::eNone | AccessFlagBits2::eIndirectCommandRead | AccessFlagBits2::eIndexRead | AccessFlagBits2::eVertexAttributeRead |
3816 AccessFlagBits2::eUniformRead | AccessFlagBits2::eInputAttachmentRead | AccessFlagBits2::eShaderRead | AccessFlagBits2::eShaderWrite |
3817 AccessFlagBits2::eColorAttachmentRead | AccessFlagBits2::eColorAttachmentWrite | AccessFlagBits2::eDepthStencilAttachmentRead |
3818 AccessFlagBits2::eDepthStencilAttachmentWrite | AccessFlagBits2::eTransferRead | AccessFlagBits2::eTransferWrite | AccessFlagBits2::eHostRead |
3819 AccessFlagBits2::eHostWrite | AccessFlagBits2::eMemoryRead | AccessFlagBits2::eMemoryWrite | AccessFlagBits2::eShaderSampledRead |
3820 AccessFlagBits2::eShaderStorageRead | AccessFlagBits2::eShaderStorageWrite | AccessFlagBits2::eVideoDecodeReadKHR | AccessFlagBits2::eVideoDecodeWriteKHR
3821#if defined( VK_ENABLE_BETA_EXTENSIONS )
3822 | AccessFlagBits2::eVideoEncodeReadKHR | AccessFlagBits2::eVideoEncodeWriteKHR
3823#endif /*VK_ENABLE_BETA_EXTENSIONS*/
3824 | AccessFlagBits2::eTransformFeedbackWriteEXT | AccessFlagBits2::eTransformFeedbackCounterReadEXT | AccessFlagBits2::eTransformFeedbackCounterWriteEXT |
3825 AccessFlagBits2::eConditionalRenderingReadEXT | AccessFlagBits2::eCommandPreprocessReadNV | AccessFlagBits2::eCommandPreprocessWriteNV |
3826 AccessFlagBits2::eFragmentShadingRateAttachmentReadKHR | AccessFlagBits2::eAccelerationStructureReadKHR |
3827 AccessFlagBits2::eAccelerationStructureWriteKHR | AccessFlagBits2::eFragmentDensityMapReadEXT | AccessFlagBits2::eColorAttachmentReadNoncoherentEXT |
3828 AccessFlagBits2::eDescriptorBufferReadEXT | AccessFlagBits2::eInvocationMaskReadHUAWEI | AccessFlagBits2::eShaderBindingTableReadKHR |
3829 AccessFlagBits2::eMicromapReadEXT | AccessFlagBits2::eMicromapWriteEXT | AccessFlagBits2::eOpticalFlowReadNV | AccessFlagBits2::eOpticalFlowWriteNV;
3830 };
3831
3832 enum class SubmitFlagBits : VkSubmitFlags
3833 {
3834 eProtected = VK_SUBMIT_PROTECTED_BIT
3835 };
3836 using SubmitFlagBitsKHR = SubmitFlagBits;
3837
3838 using SubmitFlags = Flags<SubmitFlagBits>;
3839 using SubmitFlagsKHR = SubmitFlags;
3840
3841 template <>
3842 struct FlagTraits<SubmitFlagBits>
3843 {
3844 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3845 static VULKAN_HPP_CONST_OR_CONSTEXPR SubmitFlags allFlags = SubmitFlagBits::eProtected;
3846 };
3847
3848 enum class RenderingFlagBits : VkRenderingFlags
3849 {
3850 eContentsSecondaryCommandBuffers = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT,
3851 eSuspending = VK_RENDERING_SUSPENDING_BIT,
3852 eResuming = VK_RENDERING_RESUMING_BIT,
3853 eEnableLegacyDitheringEXT = VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT
3854 };
3855 using RenderingFlagBitsKHR = RenderingFlagBits;
3856
3857 using RenderingFlags = Flags<RenderingFlagBits>;
3858 using RenderingFlagsKHR = RenderingFlags;
3859
3860 template <>
3861 struct FlagTraits<RenderingFlagBits>
3862 {
3863 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3864 static VULKAN_HPP_CONST_OR_CONSTEXPR RenderingFlags allFlags = RenderingFlagBits::eContentsSecondaryCommandBuffers | RenderingFlagBits::eSuspending |
3865 RenderingFlagBits::eResuming | RenderingFlagBits::eEnableLegacyDitheringEXT;
3866 };
3867
3868 enum class FormatFeatureFlagBits2 : VkFormatFeatureFlags2
3869 {
3870 eSampledImage = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT,
3871 eStorageImage = VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT,
3872 eStorageImageAtomic = VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT,
3873 eUniformTexelBuffer = VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT,
3874 eStorageTexelBuffer = VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT,
3875 eStorageTexelBufferAtomic = VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT,
3876 eVertexBuffer = VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT,
3877 eColorAttachment = VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT,
3878 eColorAttachmentBlend = VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT,
3879 eDepthStencilAttachment = VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT,
3880 eBlitSrc = VK_FORMAT_FEATURE_2_BLIT_SRC_BIT,
3881 eBlitDst = VK_FORMAT_FEATURE_2_BLIT_DST_BIT,
3882 eSampledImageFilterLinear = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT,
3883 eSampledImageFilterCubic = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT,
3884 eSampledImageFilterCubicEXT = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT,
3885 eTransferSrc = VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT,
3886 eTransferDst = VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT,
3887 eSampledImageFilterMinmax = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
3888 eMidpointChromaSamples = VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT,
3889 eSampledImageYcbcrConversionLinearFilter = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
3890 eSampledImageYcbcrConversionSeparateReconstructionFilter = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
3891 eSampledImageYcbcrConversionChromaReconstructionExplicit = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
3892 eSampledImageYcbcrConversionChromaReconstructionExplicitForceable =
3893 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,
3894 eDisjoint = VK_FORMAT_FEATURE_2_DISJOINT_BIT,
3895 eCositedChromaSamples = VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT,
3896 eStorageReadWithoutFormat = VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT,
3897 eStorageWriteWithoutFormat = VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT,
3898 eSampledImageDepthComparison = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT,
3899 eVideoDecodeOutputKHR = VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR,
3900 eVideoDecodeDpbKHR = VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR,
3901 eAccelerationStructureVertexBufferKHR = VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR,
3902 eFragmentDensityMapEXT = VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT,
3903 eFragmentShadingRateAttachmentKHR = VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
3904#if defined( VK_ENABLE_BETA_EXTENSIONS )
3905 eVideoEncodeInputKHR = VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR,
3906 eVideoEncodeDpbKHR = VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR,
3907#endif /*VK_ENABLE_BETA_EXTENSIONS*/
3908 eLinearColorAttachmentNV = VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV,
3909 eWeightImageQCOM = VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM,
3910 eWeightSampledImageQCOM = VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM,
3911 eBlockMatchingQCOM = VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM,
3912 eBoxFilterSampledQCOM = VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM,
3913 eOpticalFlowImageNV = VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV,
3914 eOpticalFlowVectorNV = VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV,
3915 eOpticalFlowCostNV = VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV
3916 };
3917 using FormatFeatureFlagBits2KHR = FormatFeatureFlagBits2;
3918
3919 using FormatFeatureFlags2 = Flags<FormatFeatureFlagBits2>;
3920 using FormatFeatureFlags2KHR = FormatFeatureFlags2;
3921
3922 template <>
3923 struct FlagTraits<FormatFeatureFlagBits2>
3924 {
3925 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3926 static VULKAN_HPP_CONST_OR_CONSTEXPR FormatFeatureFlags2 allFlags =
3927 FormatFeatureFlagBits2::eSampledImage | FormatFeatureFlagBits2::eStorageImage | FormatFeatureFlagBits2::eStorageImageAtomic |
3928 FormatFeatureFlagBits2::eUniformTexelBuffer | FormatFeatureFlagBits2::eStorageTexelBuffer | FormatFeatureFlagBits2::eStorageTexelBufferAtomic |
3929 FormatFeatureFlagBits2::eVertexBuffer | FormatFeatureFlagBits2::eColorAttachment | FormatFeatureFlagBits2::eColorAttachmentBlend |
3930 FormatFeatureFlagBits2::eDepthStencilAttachment | FormatFeatureFlagBits2::eBlitSrc | FormatFeatureFlagBits2::eBlitDst |
3931 FormatFeatureFlagBits2::eSampledImageFilterLinear | FormatFeatureFlagBits2::eSampledImageFilterCubic | FormatFeatureFlagBits2::eTransferSrc |
3932 FormatFeatureFlagBits2::eTransferDst | FormatFeatureFlagBits2::eSampledImageFilterMinmax | FormatFeatureFlagBits2::eMidpointChromaSamples |
3933 FormatFeatureFlagBits2::eSampledImageYcbcrConversionLinearFilter | FormatFeatureFlagBits2::eSampledImageYcbcrConversionSeparateReconstructionFilter |
3934 FormatFeatureFlagBits2::eSampledImageYcbcrConversionChromaReconstructionExplicit |
3935 FormatFeatureFlagBits2::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable | FormatFeatureFlagBits2::eDisjoint |
3936 FormatFeatureFlagBits2::eCositedChromaSamples | FormatFeatureFlagBits2::eStorageReadWithoutFormat | FormatFeatureFlagBits2::eStorageWriteWithoutFormat |
3937 FormatFeatureFlagBits2::eSampledImageDepthComparison | FormatFeatureFlagBits2::eVideoDecodeOutputKHR | FormatFeatureFlagBits2::eVideoDecodeDpbKHR |
3938 FormatFeatureFlagBits2::eAccelerationStructureVertexBufferKHR | FormatFeatureFlagBits2::eFragmentDensityMapEXT |
3939 FormatFeatureFlagBits2::eFragmentShadingRateAttachmentKHR
3940#if defined( VK_ENABLE_BETA_EXTENSIONS )
3941 | FormatFeatureFlagBits2::eVideoEncodeInputKHR | FormatFeatureFlagBits2::eVideoEncodeDpbKHR
3942#endif /*VK_ENABLE_BETA_EXTENSIONS*/
3943 | FormatFeatureFlagBits2::eLinearColorAttachmentNV | FormatFeatureFlagBits2::eWeightImageQCOM | FormatFeatureFlagBits2::eWeightSampledImageQCOM |
3944 FormatFeatureFlagBits2::eBlockMatchingQCOM | FormatFeatureFlagBits2::eBoxFilterSampledQCOM | FormatFeatureFlagBits2::eOpticalFlowImageNV |
3945 FormatFeatureFlagBits2::eOpticalFlowVectorNV | FormatFeatureFlagBits2::eOpticalFlowCostNV;
3946 };
3947
3948 //=== VK_KHR_surface ===
3949
3950 enum class SurfaceTransformFlagBitsKHR : VkSurfaceTransformFlagsKHR
3951 {
3952 eIdentity = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR,
3953 eRotate90 = VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR,
3954 eRotate180 = VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR,
3955 eRotate270 = VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR,
3956 eHorizontalMirror = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR,
3957 eHorizontalMirrorRotate90 = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR,
3958 eHorizontalMirrorRotate180 = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR,
3959 eHorizontalMirrorRotate270 = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR,
3960 eInherit = VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR
3961 };
3962
3963 using SurfaceTransformFlagsKHR = Flags<SurfaceTransformFlagBitsKHR>;
3964
3965 template <>
3966 struct FlagTraits<SurfaceTransformFlagBitsKHR>
3967 {
3968 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3969 static VULKAN_HPP_CONST_OR_CONSTEXPR SurfaceTransformFlagsKHR allFlags =
3970 SurfaceTransformFlagBitsKHR::eIdentity | SurfaceTransformFlagBitsKHR::eRotate90 | SurfaceTransformFlagBitsKHR::eRotate180 |
3971 SurfaceTransformFlagBitsKHR::eRotate270 | SurfaceTransformFlagBitsKHR::eHorizontalMirror | SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate90 |
3972 SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate180 | SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate270 | SurfaceTransformFlagBitsKHR::eInherit;
3973 };
3974
3975 enum class PresentModeKHR
3976 {
3977 eImmediate = VK_PRESENT_MODE_IMMEDIATE_KHR,
3978 eMailbox = VK_PRESENT_MODE_MAILBOX_KHR,
3979 eFifo = VK_PRESENT_MODE_FIFO_KHR,
3980 eFifoRelaxed = VK_PRESENT_MODE_FIFO_RELAXED_KHR,
3981 eSharedDemandRefresh = VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR,
3982 eSharedContinuousRefresh = VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR
3983 };
3984
3985 enum class ColorSpaceKHR
3986 {
3987 eSrgbNonlinear = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
3988 eVkColorspaceSrgbNonlinear = VK_COLORSPACE_SRGB_NONLINEAR_KHR,
3989 eDisplayP3NonlinearEXT = VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT,
3990 eExtendedSrgbLinearEXT = VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT,
3991 eDisplayP3LinearEXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
3992 eDciP3NonlinearEXT = VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT,
3993 eBt709LinearEXT = VK_COLOR_SPACE_BT709_LINEAR_EXT,
3994 eBt709NonlinearEXT = VK_COLOR_SPACE_BT709_NONLINEAR_EXT,
3995 eBt2020LinearEXT = VK_COLOR_SPACE_BT2020_LINEAR_EXT,
3996 eHdr10St2084EXT = VK_COLOR_SPACE_HDR10_ST2084_EXT,
3997 eDolbyvisionEXT = VK_COLOR_SPACE_DOLBYVISION_EXT,
3998 eHdr10HlgEXT = VK_COLOR_SPACE_HDR10_HLG_EXT,
3999 eAdobergbLinearEXT = VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT,
4000 eAdobergbNonlinearEXT = VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT,
4001 ePassThroughEXT = VK_COLOR_SPACE_PASS_THROUGH_EXT,
4002 eExtendedSrgbNonlinearEXT = VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT,
4003 eDciP3LinearEXT = VK_COLOR_SPACE_DCI_P3_LINEAR_EXT,
4004 eDisplayNativeAMD = VK_COLOR_SPACE_DISPLAY_NATIVE_AMD
4005 };
4006
4007 enum class CompositeAlphaFlagBitsKHR : VkCompositeAlphaFlagsKHR
4008 {
4009 eOpaque = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR,
4010 ePreMultiplied = VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR,
4011 ePostMultiplied = VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR,
4012 eInherit = VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR
4013 };
4014
4015 using CompositeAlphaFlagsKHR = Flags<CompositeAlphaFlagBitsKHR>;
4016
4017 template <>
4018 struct FlagTraits<CompositeAlphaFlagBitsKHR>
4019 {
4020 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4021 static VULKAN_HPP_CONST_OR_CONSTEXPR CompositeAlphaFlagsKHR allFlags = CompositeAlphaFlagBitsKHR::eOpaque | CompositeAlphaFlagBitsKHR::ePreMultiplied |
4022 CompositeAlphaFlagBitsKHR::ePostMultiplied | CompositeAlphaFlagBitsKHR::eInherit;
4023 };
4024
4025 //=== VK_KHR_swapchain ===
4026
4027 enum class SwapchainCreateFlagBitsKHR : VkSwapchainCreateFlagsKHR
4028 {
4029 eSplitInstanceBindRegions = VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR,
4030 eProtected = VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR,
4031 eMutableFormat = VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR,
4032 eDeferredMemoryAllocationEXT = VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT
4033 };
4034
4035 using SwapchainCreateFlagsKHR = Flags<SwapchainCreateFlagBitsKHR>;
4036
4037 template <>
4038 struct FlagTraits<SwapchainCreateFlagBitsKHR>
4039 {
4040 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4041 static VULKAN_HPP_CONST_OR_CONSTEXPR SwapchainCreateFlagsKHR allFlags =
4042 SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions | SwapchainCreateFlagBitsKHR::eProtected | SwapchainCreateFlagBitsKHR::eMutableFormat |
4043 SwapchainCreateFlagBitsKHR::eDeferredMemoryAllocationEXT;
4044 };
4045
4046 enum class DeviceGroupPresentModeFlagBitsKHR : VkDeviceGroupPresentModeFlagsKHR
4047 {
4048 eLocal = VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR,
4049 eRemote = VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR,
4050 eSum = VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR,
4051 eLocalMultiDevice = VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR
4052 };
4053
4054 using DeviceGroupPresentModeFlagsKHR = Flags<DeviceGroupPresentModeFlagBitsKHR>;
4055
4056 template <>
4057 struct FlagTraits<DeviceGroupPresentModeFlagBitsKHR>
4058 {
4059 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4060 static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceGroupPresentModeFlagsKHR allFlags =
4061 DeviceGroupPresentModeFlagBitsKHR::eLocal | DeviceGroupPresentModeFlagBitsKHR::eRemote | DeviceGroupPresentModeFlagBitsKHR::eSum |
4062 DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice;
4063 };
4064
4065 //=== VK_KHR_display ===
4066
4067 enum class DisplayPlaneAlphaFlagBitsKHR : VkDisplayPlaneAlphaFlagsKHR
4068 {
4069 eOpaque = VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR,
4070 eGlobal = VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR,
4071 ePerPixel = VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR,
4072 ePerPixelPremultiplied = VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR
4073 };
4074
4075 using DisplayPlaneAlphaFlagsKHR = Flags<DisplayPlaneAlphaFlagBitsKHR>;
4076
4077 template <>
4078 struct FlagTraits<DisplayPlaneAlphaFlagBitsKHR>
4079 {
4080 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4081 static VULKAN_HPP_CONST_OR_CONSTEXPR DisplayPlaneAlphaFlagsKHR allFlags = DisplayPlaneAlphaFlagBitsKHR::eOpaque | DisplayPlaneAlphaFlagBitsKHR::eGlobal |
4082 DisplayPlaneAlphaFlagBitsKHR::ePerPixel |
4083 DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied;
4084 };
4085
4086 enum class DisplayModeCreateFlagBitsKHR : VkDisplayModeCreateFlagsKHR
4087 {
4088 };
4089
4090 using DisplayModeCreateFlagsKHR = Flags<DisplayModeCreateFlagBitsKHR>;
4091
4092 template <>
4093 struct FlagTraits<DisplayModeCreateFlagBitsKHR>
4094 {
4095 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4096 static VULKAN_HPP_CONST_OR_CONSTEXPR DisplayModeCreateFlagsKHR allFlags = {};
4097 };
4098
4099 enum class DisplaySurfaceCreateFlagBitsKHR : VkDisplaySurfaceCreateFlagsKHR
4100 {
4101 };
4102
4103 using DisplaySurfaceCreateFlagsKHR = Flags<DisplaySurfaceCreateFlagBitsKHR>;
4104
4105 template <>
4106 struct FlagTraits<DisplaySurfaceCreateFlagBitsKHR>
4107 {
4108 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4109 static VULKAN_HPP_CONST_OR_CONSTEXPR DisplaySurfaceCreateFlagsKHR allFlags = {};
4110 };
4111
4112#if defined( VK_USE_PLATFORM_XLIB_KHR )
4113 //=== VK_KHR_xlib_surface ===
4114
4115 enum class XlibSurfaceCreateFlagBitsKHR : VkXlibSurfaceCreateFlagsKHR
4116 {
4117 };
4118
4119 using XlibSurfaceCreateFlagsKHR = Flags<XlibSurfaceCreateFlagBitsKHR>;
4120
4121 template <>
4122 struct FlagTraits<XlibSurfaceCreateFlagBitsKHR>
4123 {
4124 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4125 static VULKAN_HPP_CONST_OR_CONSTEXPR XlibSurfaceCreateFlagsKHR allFlags = {};
4126 };
4127#endif /*VK_USE_PLATFORM_XLIB_KHR*/
4128
4129#if defined( VK_USE_PLATFORM_XCB_KHR )
4130 //=== VK_KHR_xcb_surface ===
4131
4132 enum class XcbSurfaceCreateFlagBitsKHR : VkXcbSurfaceCreateFlagsKHR
4133 {
4134 };
4135
4136 using XcbSurfaceCreateFlagsKHR = Flags<XcbSurfaceCreateFlagBitsKHR>;
4137
4138 template <>
4139 struct FlagTraits<XcbSurfaceCreateFlagBitsKHR>
4140 {
4141 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4142 static VULKAN_HPP_CONST_OR_CONSTEXPR XcbSurfaceCreateFlagsKHR allFlags = {};
4143 };
4144#endif /*VK_USE_PLATFORM_XCB_KHR*/
4145
4146#if defined( VK_USE_PLATFORM_WAYLAND_KHR )
4147 //=== VK_KHR_wayland_surface ===
4148
4149 enum class WaylandSurfaceCreateFlagBitsKHR : VkWaylandSurfaceCreateFlagsKHR
4150 {
4151 };
4152
4153 using WaylandSurfaceCreateFlagsKHR = Flags<WaylandSurfaceCreateFlagBitsKHR>;
4154
4155 template <>
4156 struct FlagTraits<WaylandSurfaceCreateFlagBitsKHR>
4157 {
4158 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4159 static VULKAN_HPP_CONST_OR_CONSTEXPR WaylandSurfaceCreateFlagsKHR allFlags = {};
4160 };
4161#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
4162
4163#if defined( VK_USE_PLATFORM_ANDROID_KHR )
4164 //=== VK_KHR_android_surface ===
4165
4166 enum class AndroidSurfaceCreateFlagBitsKHR : VkAndroidSurfaceCreateFlagsKHR
4167 {
4168 };
4169
4170 using AndroidSurfaceCreateFlagsKHR = Flags<AndroidSurfaceCreateFlagBitsKHR>;
4171
4172 template <>
4173 struct FlagTraits<AndroidSurfaceCreateFlagBitsKHR>
4174 {
4175 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4176 static VULKAN_HPP_CONST_OR_CONSTEXPR AndroidSurfaceCreateFlagsKHR allFlags = {};
4177 };
4178#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
4179
4180#if defined( VK_USE_PLATFORM_WIN32_KHR )
4181 //=== VK_KHR_win32_surface ===
4182
4183 enum class Win32SurfaceCreateFlagBitsKHR : VkWin32SurfaceCreateFlagsKHR
4184 {
4185 };
4186
4187 using Win32SurfaceCreateFlagsKHR = Flags<Win32SurfaceCreateFlagBitsKHR>;
4188
4189 template <>
4190 struct FlagTraits<Win32SurfaceCreateFlagBitsKHR>
4191 {
4192 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4193 static VULKAN_HPP_CONST_OR_CONSTEXPR Win32SurfaceCreateFlagsKHR allFlags = {};
4194 };
4195#endif /*VK_USE_PLATFORM_WIN32_KHR*/
4196
4197 //=== VK_EXT_debug_report ===
4198
4199 enum class DebugReportFlagBitsEXT : VkDebugReportFlagsEXT
4200 {
4201 eInformation = VK_DEBUG_REPORT_INFORMATION_BIT_EXT,
4202 eWarning = VK_DEBUG_REPORT_WARNING_BIT_EXT,
4203 ePerformanceWarning = VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT,
4204 eError = VK_DEBUG_REPORT_ERROR_BIT_EXT,
4205 eDebug = VK_DEBUG_REPORT_DEBUG_BIT_EXT
4206 };
4207
4208 using DebugReportFlagsEXT = Flags<DebugReportFlagBitsEXT>;
4209
4210 template <>
4211 struct FlagTraits<DebugReportFlagBitsEXT>
4212 {
4213 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4214 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportFlagsEXT allFlags = DebugReportFlagBitsEXT::eInformation | DebugReportFlagBitsEXT::eWarning |
4215 DebugReportFlagBitsEXT::ePerformanceWarning | DebugReportFlagBitsEXT::eError |
4216 DebugReportFlagBitsEXT::eDebug;
4217 };
4218
4219 enum class DebugReportObjectTypeEXT
4220 {
4221 eUnknown = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,
4222 eInstance = VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT,
4223 ePhysicalDevice = VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT,
4224 eDevice = VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
4225 eQueue = VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT,
4226 eSemaphore = VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT,
4227 eCommandBuffer = VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT,
4228 eFence = VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT,
4229 eDeviceMemory = VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT,
4230 eBuffer = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT,
4231 eImage = VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT,
4232 eEvent = VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT,
4233 eQueryPool = VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT,
4234 eBufferView = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT,
4235 eImageView = VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT,
4236 eShaderModule = VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT,
4237 ePipelineCache = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT,
4238 ePipelineLayout = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT,
4239 eRenderPass = VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT,
4240 ePipeline = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT,
4241 eDescriptorSetLayout = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT,
4242 eSampler = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT,
4243 eDescriptorPool = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT,
4244 eDescriptorSet = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT,
4245 eFramebuffer = VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT,
4246 eCommandPool = VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT,
4247 eSurfaceKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT,
4248 eSwapchainKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT,
4249 eDebugReportCallbackEXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
4250 eDebugReport = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT,
4251 eDisplayKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT,
4252 eDisplayModeKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT,
4253 eValidationCacheEXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
4254 eValidationCache = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT,
4255 eSamplerYcbcrConversion = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
4256 eDescriptorUpdateTemplate = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
4257 eCuModuleNVX = VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT,
4258 eCuFunctionNVX = VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT,
4259 eDescriptorUpdateTemplateKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT,
4260 eAccelerationStructureKHR = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT,
4261 eSamplerYcbcrConversionKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT,
4262 eAccelerationStructureNV = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT,
4263#if defined( VK_USE_PLATFORM_FUCHSIA )
4264 eBufferCollectionFUCHSIA = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT
4265#endif /*VK_USE_PLATFORM_FUCHSIA*/
4266 };
4267
4268 //=== VK_AMD_rasterization_order ===
4269
4270 enum class RasterizationOrderAMD
4271 {
4272 eStrict = VK_RASTERIZATION_ORDER_STRICT_AMD,
4273 eRelaxed = VK_RASTERIZATION_ORDER_RELAXED_AMD
4274 };
4275
4276 //=== VK_KHR_video_queue ===
4277
4278 enum class VideoCodecOperationFlagBitsKHR : VkVideoCodecOperationFlagsKHR
4279 {
4280 eNone = VK_VIDEO_CODEC_OPERATION_NONE_KHR,
4281#if defined( VK_ENABLE_BETA_EXTENSIONS )
4282 eEncodeH264EXT = VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT,
4283 eEncodeH265EXT = VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT,
4284#endif /*VK_ENABLE_BETA_EXTENSIONS*/
4285 eDecodeH264 = VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR,
4286 eDecodeH265 = VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR
4287 };
4288
4289 using VideoCodecOperationFlagsKHR = Flags<VideoCodecOperationFlagBitsKHR>;
4290
4291 template <>
4292 struct FlagTraits<VideoCodecOperationFlagBitsKHR>
4293 {
4294 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4295 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoCodecOperationFlagsKHR allFlags =
4296 VideoCodecOperationFlagBitsKHR::eNone
4297#if defined( VK_ENABLE_BETA_EXTENSIONS )
4298 | VideoCodecOperationFlagBitsKHR::eEncodeH264EXT | VideoCodecOperationFlagBitsKHR::eEncodeH265EXT
4299#endif /*VK_ENABLE_BETA_EXTENSIONS*/
4300 | VideoCodecOperationFlagBitsKHR::eDecodeH264 | VideoCodecOperationFlagBitsKHR::eDecodeH265;
4301 };
4302
4303 enum class VideoChromaSubsamplingFlagBitsKHR : VkVideoChromaSubsamplingFlagsKHR
4304 {
4305 eInvalid = VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR,
4306 eMonochrome = VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR,
4307 e420 = VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR,
4308 e422 = VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR,
4309 e444 = VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR
4310 };
4311
4312 using VideoChromaSubsamplingFlagsKHR = Flags<VideoChromaSubsamplingFlagBitsKHR>;
4313
4314 template <>
4315 struct FlagTraits<VideoChromaSubsamplingFlagBitsKHR>
4316 {
4317 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4318 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoChromaSubsamplingFlagsKHR allFlags =
4319 VideoChromaSubsamplingFlagBitsKHR::eInvalid | VideoChromaSubsamplingFlagBitsKHR::eMonochrome | VideoChromaSubsamplingFlagBitsKHR::e420 |
4320 VideoChromaSubsamplingFlagBitsKHR::e422 | VideoChromaSubsamplingFlagBitsKHR::e444;
4321 };
4322
4323 enum class VideoComponentBitDepthFlagBitsKHR : VkVideoComponentBitDepthFlagsKHR
4324 {
4325 eInvalid = VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR,
4326 e8 = VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR,
4327 e10 = VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR,
4328 e12 = VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR
4329 };
4330
4331 using VideoComponentBitDepthFlagsKHR = Flags<VideoComponentBitDepthFlagBitsKHR>;
4332
4333 template <>
4334 struct FlagTraits<VideoComponentBitDepthFlagBitsKHR>
4335 {
4336 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4337 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoComponentBitDepthFlagsKHR allFlags =
4338 VideoComponentBitDepthFlagBitsKHR::eInvalid | VideoComponentBitDepthFlagBitsKHR::e8 | VideoComponentBitDepthFlagBitsKHR::e10 |
4339 VideoComponentBitDepthFlagBitsKHR::e12;
4340 };
4341
4342 enum class VideoCapabilityFlagBitsKHR : VkVideoCapabilityFlagsKHR
4343 {
4344 eProtectedContent = VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR,
4345 eSeparateReferenceImages = VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR
4346 };
4347
4348 using VideoCapabilityFlagsKHR = Flags<VideoCapabilityFlagBitsKHR>;
4349
4350 template <>
4351 struct FlagTraits<VideoCapabilityFlagBitsKHR>
4352 {
4353 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4354 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoCapabilityFlagsKHR allFlags =
4355 VideoCapabilityFlagBitsKHR::eProtectedContent | VideoCapabilityFlagBitsKHR::eSeparateReferenceImages;
4356 };
4357
4358 enum class VideoSessionCreateFlagBitsKHR : VkVideoSessionCreateFlagsKHR
4359 {
4360 eProtectedContent = VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR
4361 };
4362
4363 using VideoSessionCreateFlagsKHR = Flags<VideoSessionCreateFlagBitsKHR>;
4364
4365 template <>
4366 struct FlagTraits<VideoSessionCreateFlagBitsKHR>
4367 {
4368 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4369 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoSessionCreateFlagsKHR allFlags = VideoSessionCreateFlagBitsKHR::eProtectedContent;
4370 };
4371
4372 enum class VideoCodingControlFlagBitsKHR : VkVideoCodingControlFlagsKHR
4373 {
4374 eReset = VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR,
4375#if defined( VK_ENABLE_BETA_EXTENSIONS )
4376 eEncodeRateControl = VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR,
4377 eEncodeRateControlLayer = VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_LAYER_BIT_KHR
4378#endif /*VK_ENABLE_BETA_EXTENSIONS*/
4379 };
4380
4381 using VideoCodingControlFlagsKHR = Flags<VideoCodingControlFlagBitsKHR>;
4382
4383 template <>
4384 struct FlagTraits<VideoCodingControlFlagBitsKHR>
4385 {
4386 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4387 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoCodingControlFlagsKHR allFlags = VideoCodingControlFlagBitsKHR::eReset
4388#if defined( VK_ENABLE_BETA_EXTENSIONS )
4389 | VideoCodingControlFlagBitsKHR::eEncodeRateControl |
4390 VideoCodingControlFlagBitsKHR::eEncodeRateControlLayer
4391#endif /*VK_ENABLE_BETA_EXTENSIONS*/
4392 ;
4393 };
4394
4395 enum class QueryResultStatusKHR
4396 {
4397 eError = VK_QUERY_RESULT_STATUS_ERROR_KHR,
4398 eNotReady = VK_QUERY_RESULT_STATUS_NOT_READY_KHR,
4399 eComplete = VK_QUERY_RESULT_STATUS_COMPLETE_KHR
4400 };
4401
4402 enum class VideoSessionParametersCreateFlagBitsKHR : VkVideoSessionParametersCreateFlagsKHR
4403 {
4404 };
4405
4406 using VideoSessionParametersCreateFlagsKHR = Flags<VideoSessionParametersCreateFlagBitsKHR>;
4407
4408 template <>
4409 struct FlagTraits<VideoSessionParametersCreateFlagBitsKHR>
4410 {
4411 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4412 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoSessionParametersCreateFlagsKHR allFlags = {};
4413 };
4414
4415 enum class VideoBeginCodingFlagBitsKHR : VkVideoBeginCodingFlagsKHR
4416 {
4417 };
4418
4419 using VideoBeginCodingFlagsKHR = Flags<VideoBeginCodingFlagBitsKHR>;
4420
4421 template <>
4422 struct FlagTraits<VideoBeginCodingFlagBitsKHR>
4423 {
4424 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4425 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoBeginCodingFlagsKHR allFlags = {};
4426 };
4427
4428 enum class VideoEndCodingFlagBitsKHR : VkVideoEndCodingFlagsKHR
4429 {
4430 };
4431
4432 using VideoEndCodingFlagsKHR = Flags<VideoEndCodingFlagBitsKHR>;
4433
4434 template <>
4435 struct FlagTraits<VideoEndCodingFlagBitsKHR>
4436 {
4437 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4438 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEndCodingFlagsKHR allFlags = {};
4439 };
4440
4441 //=== VK_KHR_video_decode_queue ===
4442
4443 enum class VideoDecodeCapabilityFlagBitsKHR : VkVideoDecodeCapabilityFlagsKHR
4444 {
4445 eDpbAndOutputCoincide = VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR,
4446 eDpbAndOutputDistinct = VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR
4447 };
4448
4449 using VideoDecodeCapabilityFlagsKHR = Flags<VideoDecodeCapabilityFlagBitsKHR>;
4450
4451 template <>
4452 struct FlagTraits<VideoDecodeCapabilityFlagBitsKHR>
4453 {
4454 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4455 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoDecodeCapabilityFlagsKHR allFlags =
4456 VideoDecodeCapabilityFlagBitsKHR::eDpbAndOutputCoincide | VideoDecodeCapabilityFlagBitsKHR::eDpbAndOutputDistinct;
4457 };
4458
4459 enum class VideoDecodeUsageFlagBitsKHR : VkVideoDecodeUsageFlagsKHR
4460 {
4461 eDefault = VK_VIDEO_DECODE_USAGE_DEFAULT_KHR,
4462 eTranscoding = VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR,
4463 eOffline = VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR,
4464 eStreaming = VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR
4465 };
4466
4467 using VideoDecodeUsageFlagsKHR = Flags<VideoDecodeUsageFlagBitsKHR>;
4468
4469 template <>
4470 struct FlagTraits<VideoDecodeUsageFlagBitsKHR>
4471 {
4472 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4473 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoDecodeUsageFlagsKHR allFlags = VideoDecodeUsageFlagBitsKHR::eDefault | VideoDecodeUsageFlagBitsKHR::eTranscoding |
4474 VideoDecodeUsageFlagBitsKHR::eOffline | VideoDecodeUsageFlagBitsKHR::eStreaming;
4475 };
4476
4477 enum class VideoDecodeFlagBitsKHR : VkVideoDecodeFlagsKHR
4478 {
4479 };
4480
4481 using VideoDecodeFlagsKHR = Flags<VideoDecodeFlagBitsKHR>;
4482
4483 template <>
4484 struct FlagTraits<VideoDecodeFlagBitsKHR>
4485 {
4486 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4487 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoDecodeFlagsKHR allFlags = {};
4488 };
4489
4490 //=== VK_EXT_transform_feedback ===
4491
4492 enum class PipelineRasterizationStateStreamCreateFlagBitsEXT : VkPipelineRasterizationStateStreamCreateFlagsEXT
4493 {
4494 };
4495
4496 using PipelineRasterizationStateStreamCreateFlagsEXT = Flags<PipelineRasterizationStateStreamCreateFlagBitsEXT>;
4497
4498 template <>
4499 struct FlagTraits<PipelineRasterizationStateStreamCreateFlagBitsEXT>
4500 {
4501 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4502 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineRasterizationStateStreamCreateFlagsEXT allFlags = {};
4503 };
4504
4505#if defined( VK_ENABLE_BETA_EXTENSIONS )
4506 //=== VK_EXT_video_encode_h264 ===
4507
4508 enum class VideoEncodeH264CapabilityFlagBitsEXT : VkVideoEncodeH264CapabilityFlagsEXT
4509 {
4510 eDirect8X8InferenceEnabled = VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_ENABLED_BIT_EXT,
4511 eDirect8X8InferenceDisabled = VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_DISABLED_BIT_EXT,
4512 eSeparateColourPlane = VK_VIDEO_ENCODE_H264_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT,
4513 eQpprimeYZeroTransformBypass = VK_VIDEO_ENCODE_H264_CAPABILITY_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_BIT_EXT,
4514 eScalingLists = VK_VIDEO_ENCODE_H264_CAPABILITY_SCALING_LISTS_BIT_EXT,
4515 eHrdCompliance = VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_EXT,
4516 eChromaQpOffset = VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT,
4517 eSecondChromaQpOffset = VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT,
4518 ePicInitQpMinus26 = VK_VIDEO_ENCODE_H264_CAPABILITY_PIC_INIT_QP_MINUS26_BIT_EXT,
4519 eWeightedPred = VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_BIT_EXT,
4520 eWeightedBipredExplicit = VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_EXPLICIT_BIT_EXT,
4521 eWeightedBipredImplicit = VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_IMPLICIT_BIT_EXT,
4522 eWeightedPredNoTable = VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT,
4523 eTransform8X8 = VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT,
4524 eCabac = VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT,
4525 eCavlc = VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT,
4526 eDeblockingFilterDisabled = VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT,
4527 eDeblockingFilterEnabled = VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT,
4528 eDeblockingFilterPartial = VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT,
4529 eDisableDirectSpatialMvPred = VK_VIDEO_ENCODE_H264_CAPABILITY_DISABLE_DIRECT_SPATIAL_MV_PRED_BIT_EXT,
4530 eMultipleSlicePerFrame = VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT,
4531 eSliceMbCount = VK_VIDEO_ENCODE_H264_CAPABILITY_SLICE_MB_COUNT_BIT_EXT,
4532 eRowUnalignedSlice = VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT,
4533 eDifferentSliceType = VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT,
4534 eBFrameInL1List = VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT,
4535 eDifferentReferenceFinalLists = VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_REFERENCE_FINAL_LISTS_BIT_EXT
4536 };
4537
4538 using VideoEncodeH264CapabilityFlagsEXT = Flags<VideoEncodeH264CapabilityFlagBitsEXT>;
4539
4540 template <>
4541 struct FlagTraits<VideoEncodeH264CapabilityFlagBitsEXT>
4542 {
4543 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4544 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH264CapabilityFlagsEXT allFlags =
4545 VideoEncodeH264CapabilityFlagBitsEXT::eDirect8X8InferenceEnabled | VideoEncodeH264CapabilityFlagBitsEXT::eDirect8X8InferenceDisabled |
4546 VideoEncodeH264CapabilityFlagBitsEXT::eSeparateColourPlane | VideoEncodeH264CapabilityFlagBitsEXT::eQpprimeYZeroTransformBypass |
4547 VideoEncodeH264CapabilityFlagBitsEXT::eScalingLists | VideoEncodeH264CapabilityFlagBitsEXT::eHrdCompliance |
4548 VideoEncodeH264CapabilityFlagBitsEXT::eChromaQpOffset | VideoEncodeH264CapabilityFlagBitsEXT::eSecondChromaQpOffset |
4549 VideoEncodeH264CapabilityFlagBitsEXT::ePicInitQpMinus26 | VideoEncodeH264CapabilityFlagBitsEXT::eWeightedPred |
4550 VideoEncodeH264CapabilityFlagBitsEXT::eWeightedBipredExplicit | VideoEncodeH264CapabilityFlagBitsEXT::eWeightedBipredImplicit |
4551 VideoEncodeH264CapabilityFlagBitsEXT::eWeightedPredNoTable | VideoEncodeH264CapabilityFlagBitsEXT::eTransform8X8 |
4552 VideoEncodeH264CapabilityFlagBitsEXT::eCabac | VideoEncodeH264CapabilityFlagBitsEXT::eCavlc |
4553 VideoEncodeH264CapabilityFlagBitsEXT::eDeblockingFilterDisabled | VideoEncodeH264CapabilityFlagBitsEXT::eDeblockingFilterEnabled |
4554 VideoEncodeH264CapabilityFlagBitsEXT::eDeblockingFilterPartial | VideoEncodeH264CapabilityFlagBitsEXT::eDisableDirectSpatialMvPred |
4555 VideoEncodeH264CapabilityFlagBitsEXT::eMultipleSlicePerFrame | VideoEncodeH264CapabilityFlagBitsEXT::eSliceMbCount |
4556 VideoEncodeH264CapabilityFlagBitsEXT::eRowUnalignedSlice | VideoEncodeH264CapabilityFlagBitsEXT::eDifferentSliceType |
4557 VideoEncodeH264CapabilityFlagBitsEXT::eBFrameInL1List | VideoEncodeH264CapabilityFlagBitsEXT::eDifferentReferenceFinalLists;
4558 };
4559
4560 enum class VideoEncodeH264RateControlStructureEXT
4561 {
4562 eUnknown = VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT,
4563 eFlat = VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_FLAT_EXT,
4564 eDyadic = VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_DYADIC_EXT
4565 };
4566#endif /*VK_ENABLE_BETA_EXTENSIONS*/
4567
4568#if defined( VK_ENABLE_BETA_EXTENSIONS )
4569 //=== VK_EXT_video_encode_h265 ===
4570
4571 enum class VideoEncodeH265CapabilityFlagBitsEXT : VkVideoEncodeH265CapabilityFlagsEXT
4572 {
4573 eSeparateColourPlane = VK_VIDEO_ENCODE_H265_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT,
4574 eScalingLists = VK_VIDEO_ENCODE_H265_CAPABILITY_SCALING_LISTS_BIT_EXT,
4575 eSampleAdaptiveOffsetEnabled = VK_VIDEO_ENCODE_H265_CAPABILITY_SAMPLE_ADAPTIVE_OFFSET_ENABLED_BIT_EXT,
4576 ePcmEnable = VK_VIDEO_ENCODE_H265_CAPABILITY_PCM_ENABLE_BIT_EXT,
4577 eSpsTemporalMvpEnabled = VK_VIDEO_ENCODE_H265_CAPABILITY_SPS_TEMPORAL_MVP_ENABLED_BIT_EXT,
4578 eHrdCompliance = VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_EXT,
4579 eInitQpMinus26 = VK_VIDEO_ENCODE_H265_CAPABILITY_INIT_QP_MINUS26_BIT_EXT,
4580 eLog2ParallelMergeLevelMinus2 = VK_VIDEO_ENCODE_H265_CAPABILITY_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_EXT,
4581 eSignDataHidingEnabled = VK_VIDEO_ENCODE_H265_CAPABILITY_SIGN_DATA_HIDING_ENABLED_BIT_EXT,
4582 eTransformSkipEnabled = VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_ENABLED_BIT_EXT,
4583 eTransformSkipDisabled = VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_DISABLED_BIT_EXT,
4584 ePpsSliceChromaQpOffsetsPresent = VK_VIDEO_ENCODE_H265_CAPABILITY_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_BIT_EXT,
4585 eWeightedPred = VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_BIT_EXT,
4586 eWeightedBipred = VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_BIPRED_BIT_EXT,
4587 eWeightedPredNoTable = VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT,
4588 eTransquantBypassEnabled = VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSQUANT_BYPASS_ENABLED_BIT_EXT,
4589 eEntropyCodingSyncEnabled = VK_VIDEO_ENCODE_H265_CAPABILITY_ENTROPY_CODING_SYNC_ENABLED_BIT_EXT,
4590 eDeblockingFilterOverrideEnabled = VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_OVERRIDE_ENABLED_BIT_EXT,
4591 eMultipleTilePerFrame = VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_FRAME_BIT_EXT,
4592 eMultipleSlicePerTile = VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_PER_TILE_BIT_EXT,
4593 eMultipleTilePerSlice = VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_SLICE_BIT_EXT,
4594 eSliceSegmentCtbCount = VK_VIDEO_ENCODE_H265_CAPABILITY_SLICE_SEGMENT_CTB_COUNT_BIT_EXT,
4595 eRowUnalignedSliceSegment = VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_EXT,
4596 eDependentSliceSegment = VK_VIDEO_ENCODE_H265_CAPABILITY_DEPENDENT_SLICE_SEGMENT_BIT_EXT,
4597 eDifferentSliceType = VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT,
4598 eBFrameInL1List = VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT,
4599 eDifferentReferenceFinalLists = VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_REFERENCE_FINAL_LISTS_BIT_EXT
4600 };
4601
4602 using VideoEncodeH265CapabilityFlagsEXT = Flags<VideoEncodeH265CapabilityFlagBitsEXT>;
4603
4604 template <>
4605 struct FlagTraits<VideoEncodeH265CapabilityFlagBitsEXT>
4606 {
4607 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4608 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH265CapabilityFlagsEXT allFlags =
4609 VideoEncodeH265CapabilityFlagBitsEXT::eSeparateColourPlane | VideoEncodeH265CapabilityFlagBitsEXT::eScalingLists |
4610 VideoEncodeH265CapabilityFlagBitsEXT::eSampleAdaptiveOffsetEnabled | VideoEncodeH265CapabilityFlagBitsEXT::ePcmEnable |
4611 VideoEncodeH265CapabilityFlagBitsEXT::eSpsTemporalMvpEnabled | VideoEncodeH265CapabilityFlagBitsEXT::eHrdCompliance |
4612 VideoEncodeH265CapabilityFlagBitsEXT::eInitQpMinus26 | VideoEncodeH265CapabilityFlagBitsEXT::eLog2ParallelMergeLevelMinus2 |
4613 VideoEncodeH265CapabilityFlagBitsEXT::eSignDataHidingEnabled | VideoEncodeH265CapabilityFlagBitsEXT::eTransformSkipEnabled |
4614 VideoEncodeH265CapabilityFlagBitsEXT::eTransformSkipDisabled | VideoEncodeH265CapabilityFlagBitsEXT::ePpsSliceChromaQpOffsetsPresent |
4615 VideoEncodeH265CapabilityFlagBitsEXT::eWeightedPred | VideoEncodeH265CapabilityFlagBitsEXT::eWeightedBipred |
4616 VideoEncodeH265CapabilityFlagBitsEXT::eWeightedPredNoTable | VideoEncodeH265CapabilityFlagBitsEXT::eTransquantBypassEnabled |
4617 VideoEncodeH265CapabilityFlagBitsEXT::eEntropyCodingSyncEnabled | VideoEncodeH265CapabilityFlagBitsEXT::eDeblockingFilterOverrideEnabled |
4618 VideoEncodeH265CapabilityFlagBitsEXT::eMultipleTilePerFrame | VideoEncodeH265CapabilityFlagBitsEXT::eMultipleSlicePerTile |
4619 VideoEncodeH265CapabilityFlagBitsEXT::eMultipleTilePerSlice | VideoEncodeH265CapabilityFlagBitsEXT::eSliceSegmentCtbCount |
4620 VideoEncodeH265CapabilityFlagBitsEXT::eRowUnalignedSliceSegment | VideoEncodeH265CapabilityFlagBitsEXT::eDependentSliceSegment |
4621 VideoEncodeH265CapabilityFlagBitsEXT::eDifferentSliceType | VideoEncodeH265CapabilityFlagBitsEXT::eBFrameInL1List |
4622 VideoEncodeH265CapabilityFlagBitsEXT::eDifferentReferenceFinalLists;
4623 };
4624
4625 enum class VideoEncodeH265CtbSizeFlagBitsEXT : VkVideoEncodeH265CtbSizeFlagsEXT
4626 {
4627 e16 = VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT,
4628 e32 = VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT,
4629 e64 = VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT
4630 };
4631
4632 using VideoEncodeH265CtbSizeFlagsEXT = Flags<VideoEncodeH265CtbSizeFlagBitsEXT>;
4633
4634 template <>
4635 struct FlagTraits<VideoEncodeH265CtbSizeFlagBitsEXT>
4636 {
4637 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4638 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH265CtbSizeFlagsEXT allFlags =
4639 VideoEncodeH265CtbSizeFlagBitsEXT::e16 | VideoEncodeH265CtbSizeFlagBitsEXT::e32 | VideoEncodeH265CtbSizeFlagBitsEXT::e64;
4640 };
4641
4642 enum class VideoEncodeH265TransformBlockSizeFlagBitsEXT : VkVideoEncodeH265TransformBlockSizeFlagsEXT
4643 {
4644 e4 = VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_EXT,
4645 e8 = VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_EXT,
4646 e16 = VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_EXT,
4647 e32 = VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_EXT
4648 };
4649
4650 using VideoEncodeH265TransformBlockSizeFlagsEXT = Flags<VideoEncodeH265TransformBlockSizeFlagBitsEXT>;
4651
4652 template <>
4653 struct FlagTraits<VideoEncodeH265TransformBlockSizeFlagBitsEXT>
4654 {
4655 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4656 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH265TransformBlockSizeFlagsEXT allFlags =
4657 VideoEncodeH265TransformBlockSizeFlagBitsEXT::e4 | VideoEncodeH265TransformBlockSizeFlagBitsEXT::e8 | VideoEncodeH265TransformBlockSizeFlagBitsEXT::e16 |
4658 VideoEncodeH265TransformBlockSizeFlagBitsEXT::e32;
4659 };
4660
4661 enum class VideoEncodeH265RateControlStructureEXT
4662 {
4663 eUnknown = VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT,
4664 eFlat = VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_FLAT_EXT,
4665 eDyadic = VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_DYADIC_EXT
4666 };
4667#endif /*VK_ENABLE_BETA_EXTENSIONS*/
4668
4669 //=== VK_KHR_video_decode_h264 ===
4670
4671 enum class VideoDecodeH264PictureLayoutFlagBitsKHR : VkVideoDecodeH264PictureLayoutFlagsKHR
4672 {
4673 eProgressive = VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR,
4674 eInterlacedInterleavedLines = VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR,
4675 eInterlacedSeparatePlanes = VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR
4676 };
4677
4678 using VideoDecodeH264PictureLayoutFlagsKHR = Flags<VideoDecodeH264PictureLayoutFlagBitsKHR>;
4679
4680 template <>
4681 struct FlagTraits<VideoDecodeH264PictureLayoutFlagBitsKHR>
4682 {
4683 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4684 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoDecodeH264PictureLayoutFlagsKHR allFlags = VideoDecodeH264PictureLayoutFlagBitsKHR::eProgressive |
4685 VideoDecodeH264PictureLayoutFlagBitsKHR::eInterlacedInterleavedLines |
4686 VideoDecodeH264PictureLayoutFlagBitsKHR::eInterlacedSeparatePlanes;
4687 };
4688
4689 //=== VK_AMD_shader_info ===
4690
4691 enum class ShaderInfoTypeAMD
4692 {
4693 eStatistics = VK_SHADER_INFO_TYPE_STATISTICS_AMD,
4694 eBinary = VK_SHADER_INFO_TYPE_BINARY_AMD,
4695 eDisassembly = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD
4696 };
4697
4698#if defined( VK_USE_PLATFORM_GGP )
4699 //=== VK_GGP_stream_descriptor_surface ===
4700
4701 enum class StreamDescriptorSurfaceCreateFlagBitsGGP : VkStreamDescriptorSurfaceCreateFlagsGGP
4702 {
4703 };
4704
4705 using StreamDescriptorSurfaceCreateFlagsGGP = Flags<StreamDescriptorSurfaceCreateFlagBitsGGP>;
4706
4707 template <>
4708 struct FlagTraits<StreamDescriptorSurfaceCreateFlagBitsGGP>
4709 {
4710 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4711 static VULKAN_HPP_CONST_OR_CONSTEXPR StreamDescriptorSurfaceCreateFlagsGGP allFlags = {};
4712 };
4713#endif /*VK_USE_PLATFORM_GGP*/
4714
4715 //=== VK_NV_external_memory_capabilities ===
4716
4717 enum class ExternalMemoryHandleTypeFlagBitsNV : VkExternalMemoryHandleTypeFlagsNV
4718 {
4719 eOpaqueWin32 = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV,
4720 eOpaqueWin32Kmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV,
4721 eD3D11Image = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV,
4722 eD3D11ImageKmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV
4723 };
4724
4725 using ExternalMemoryHandleTypeFlagsNV = Flags<ExternalMemoryHandleTypeFlagBitsNV>;
4726
4727 template <>
4728 struct FlagTraits<ExternalMemoryHandleTypeFlagBitsNV>
4729 {
4730 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4731 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalMemoryHandleTypeFlagsNV allFlags =
4732 ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32 | ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32Kmt | ExternalMemoryHandleTypeFlagBitsNV::eD3D11Image |
4733 ExternalMemoryHandleTypeFlagBitsNV::eD3D11ImageKmt;
4734 };
4735
4736 enum class ExternalMemoryFeatureFlagBitsNV : VkExternalMemoryFeatureFlagsNV
4737 {
4738 eDedicatedOnly = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV,
4739 eExportable = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV,
4740 eImportable = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV
4741 };
4742
4743 using ExternalMemoryFeatureFlagsNV = Flags<ExternalMemoryFeatureFlagBitsNV>;
4744
4745 template <>
4746 struct FlagTraits<ExternalMemoryFeatureFlagBitsNV>
4747 {
4748 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4749 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalMemoryFeatureFlagsNV allFlags =
4750 ExternalMemoryFeatureFlagBitsNV::eDedicatedOnly | ExternalMemoryFeatureFlagBitsNV::eExportable | ExternalMemoryFeatureFlagBitsNV::eImportable;
4751 };
4752
4753 //=== VK_EXT_validation_flags ===
4754
4755 enum class ValidationCheckEXT
4756 {
4757 eAll = VK_VALIDATION_CHECK_ALL_EXT,
4758 eShaders = VK_VALIDATION_CHECK_SHADERS_EXT
4759 };
4760
4761#if defined( VK_USE_PLATFORM_VI_NN )
4762 //=== VK_NN_vi_surface ===
4763
4764 enum class ViSurfaceCreateFlagBitsNN : VkViSurfaceCreateFlagsNN
4765 {
4766 };
4767
4768 using ViSurfaceCreateFlagsNN = Flags<ViSurfaceCreateFlagBitsNN>;
4769
4770 template <>
4771 struct FlagTraits<ViSurfaceCreateFlagBitsNN>
4772 {
4773 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4774 static VULKAN_HPP_CONST_OR_CONSTEXPR ViSurfaceCreateFlagsNN allFlags = {};
4775 };
4776#endif /*VK_USE_PLATFORM_VI_NN*/
4777
4778 //=== VK_EXT_pipeline_robustness ===
4779
4780 enum class PipelineRobustnessBufferBehaviorEXT
4781 {
4782 eDeviceDefault = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT,
4783 eDisabled = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT,
4784 eRobustBufferAccess = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT,
4785 eRobustBufferAccess2 = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT
4786 };
4787
4788 enum class PipelineRobustnessImageBehaviorEXT
4789 {
4790 eDeviceDefault = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT,
4791 eDisabled = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT,
4792 eRobustImageAccess = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT,
4793 eRobustImageAccess2 = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT
4794 };
4795
4796 //=== VK_EXT_conditional_rendering ===
4797
4798 enum class ConditionalRenderingFlagBitsEXT : VkConditionalRenderingFlagsEXT
4799 {
4800 eInverted = VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT
4801 };
4802
4803 using ConditionalRenderingFlagsEXT = Flags<ConditionalRenderingFlagBitsEXT>;
4804
4805 template <>
4806 struct FlagTraits<ConditionalRenderingFlagBitsEXT>
4807 {
4808 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4809 static VULKAN_HPP_CONST_OR_CONSTEXPR ConditionalRenderingFlagsEXT allFlags = ConditionalRenderingFlagBitsEXT::eInverted;
4810 };
4811
4812 //=== VK_EXT_display_surface_counter ===
4813
4814 enum class SurfaceCounterFlagBitsEXT : VkSurfaceCounterFlagsEXT
4815 {
4816 eVblank = VK_SURFACE_COUNTER_VBLANK_BIT_EXT
4817 };
4818
4819 using SurfaceCounterFlagsEXT = Flags<SurfaceCounterFlagBitsEXT>;
4820
4821 template <>
4822 struct FlagTraits<SurfaceCounterFlagBitsEXT>
4823 {
4824 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4825 static VULKAN_HPP_CONST_OR_CONSTEXPR SurfaceCounterFlagsEXT allFlags = SurfaceCounterFlagBitsEXT::eVblank;
4826 };
4827
4828 //=== VK_EXT_display_control ===
4829
4830 enum class DisplayPowerStateEXT
4831 {
4832 eOff = VK_DISPLAY_POWER_STATE_OFF_EXT,
4833 eSuspend = VK_DISPLAY_POWER_STATE_SUSPEND_EXT,
4834 eOn = VK_DISPLAY_POWER_STATE_ON_EXT
4835 };
4836
4837 enum class DeviceEventTypeEXT
4838 {
4839 eDisplayHotplug = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT
4840 };
4841
4842 enum class DisplayEventTypeEXT
4843 {
4844 eFirstPixelOut = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT
4845 };
4846
4847 //=== VK_NV_viewport_swizzle ===
4848
4849 enum class ViewportCoordinateSwizzleNV
4850 {
4851 ePositiveX = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,
4852 eNegativeX = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV,
4853 ePositiveY = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV,
4854 eNegativeY = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV,
4855 ePositiveZ = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV,
4856 eNegativeZ = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV,
4857 ePositiveW = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV,
4858 eNegativeW = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV
4859 };
4860
4861 enum class PipelineViewportSwizzleStateCreateFlagBitsNV : VkPipelineViewportSwizzleStateCreateFlagsNV
4862 {
4863 };
4864
4865 using PipelineViewportSwizzleStateCreateFlagsNV = Flags<PipelineViewportSwizzleStateCreateFlagBitsNV>;
4866
4867 template <>
4868 struct FlagTraits<PipelineViewportSwizzleStateCreateFlagBitsNV>
4869 {
4870 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4871 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineViewportSwizzleStateCreateFlagsNV allFlags = {};
4872 };
4873
4874 //=== VK_EXT_discard_rectangles ===
4875
4876 enum class DiscardRectangleModeEXT
4877 {
4878 eInclusive = VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,
4879 eExclusive = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT
4880 };
4881
4882 enum class PipelineDiscardRectangleStateCreateFlagBitsEXT : VkPipelineDiscardRectangleStateCreateFlagsEXT
4883 {
4884 };
4885
4886 using PipelineDiscardRectangleStateCreateFlagsEXT = Flags<PipelineDiscardRectangleStateCreateFlagBitsEXT>;
4887
4888 template <>
4889 struct FlagTraits<PipelineDiscardRectangleStateCreateFlagBitsEXT>
4890 {
4891 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4892 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineDiscardRectangleStateCreateFlagsEXT allFlags = {};
4893 };
4894
4895 //=== VK_EXT_conservative_rasterization ===
4896
4897 enum class ConservativeRasterizationModeEXT
4898 {
4899 eDisabled = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT,
4900 eOverestimate = VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT,
4901 eUnderestimate = VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT
4902 };
4903
4904 enum class PipelineRasterizationConservativeStateCreateFlagBitsEXT : VkPipelineRasterizationConservativeStateCreateFlagsEXT
4905 {
4906 };
4907
4908 using PipelineRasterizationConservativeStateCreateFlagsEXT = Flags<PipelineRasterizationConservativeStateCreateFlagBitsEXT>;
4909
4910 template <>
4911 struct FlagTraits<PipelineRasterizationConservativeStateCreateFlagBitsEXT>
4912 {
4913 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4914 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineRasterizationConservativeStateCreateFlagsEXT allFlags = {};
4915 };
4916
4917 //=== VK_EXT_depth_clip_enable ===
4918
4919 enum class PipelineRasterizationDepthClipStateCreateFlagBitsEXT : VkPipelineRasterizationDepthClipStateCreateFlagsEXT
4920 {
4921 };
4922
4923 using PipelineRasterizationDepthClipStateCreateFlagsEXT = Flags<PipelineRasterizationDepthClipStateCreateFlagBitsEXT>;
4924
4925 template <>
4926 struct FlagTraits<PipelineRasterizationDepthClipStateCreateFlagBitsEXT>
4927 {
4928 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4929 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineRasterizationDepthClipStateCreateFlagsEXT allFlags = {};
4930 };
4931
4932 //=== VK_KHR_performance_query ===
4933
4934 enum class PerformanceCounterDescriptionFlagBitsKHR : VkPerformanceCounterDescriptionFlagsKHR
4935 {
4936 ePerformanceImpacting = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
4937 eConcurrentlyImpacted = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR
4938 };
4939
4940 using PerformanceCounterDescriptionFlagsKHR = Flags<PerformanceCounterDescriptionFlagBitsKHR>;
4941
4942 template <>
4943 struct FlagTraits<PerformanceCounterDescriptionFlagBitsKHR>
4944 {
4945 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4946 static VULKAN_HPP_CONST_OR_CONSTEXPR PerformanceCounterDescriptionFlagsKHR allFlags =
4947 PerformanceCounterDescriptionFlagBitsKHR::ePerformanceImpacting | PerformanceCounterDescriptionFlagBitsKHR::eConcurrentlyImpacted;
4948 };
4949
4950 enum class PerformanceCounterScopeKHR
4951 {
4952 eCommandBuffer = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
4953 eRenderPass = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
4954 eCommand = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
4955 eVkQueryScopeCommandBuffer = VK_QUERY_SCOPE_COMMAND_BUFFER_KHR,
4956 eVkQueryScopeRenderPass = VK_QUERY_SCOPE_RENDER_PASS_KHR,
4957 eVkQueryScopeCommand = VK_QUERY_SCOPE_COMMAND_KHR
4958 };
4959
4960 enum class PerformanceCounterStorageKHR
4961 {
4962 eInt32 = VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR,
4963 eInt64 = VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR,
4964 eUint32 = VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR,
4965 eUint64 = VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR,
4966 eFloat32 = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR,
4967 eFloat64 = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR
4968 };
4969
4970 enum class PerformanceCounterUnitKHR
4971 {
4972 eGeneric = VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR,
4973 ePercentage = VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR,
4974 eNanoseconds = VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR,
4975 eBytes = VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR,
4976 eBytesPerSecond = VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR,
4977 eKelvin = VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR,
4978 eWatts = VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR,
4979 eVolts = VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR,
4980 eAmps = VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR,
4981 eHertz = VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR,
4982 eCycles = VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR
4983 };
4984
4985 enum class AcquireProfilingLockFlagBitsKHR : VkAcquireProfilingLockFlagsKHR
4986 {
4987 };
4988
4989 using AcquireProfilingLockFlagsKHR = Flags<AcquireProfilingLockFlagBitsKHR>;
4990
4991 template <>
4992 struct FlagTraits<AcquireProfilingLockFlagBitsKHR>
4993 {
4994 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4995 static VULKAN_HPP_CONST_OR_CONSTEXPR AcquireProfilingLockFlagsKHR allFlags = {};
4996 };
4997
4998#if defined( VK_USE_PLATFORM_IOS_MVK )
4999 //=== VK_MVK_ios_surface ===
5000
5001 enum class IOSSurfaceCreateFlagBitsMVK : VkIOSSurfaceCreateFlagsMVK
5002 {
5003 };
5004
5005 using IOSSurfaceCreateFlagsMVK = Flags<IOSSurfaceCreateFlagBitsMVK>;
5006
5007 template <>
5008 struct FlagTraits<IOSSurfaceCreateFlagBitsMVK>
5009 {
5010 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5011 static VULKAN_HPP_CONST_OR_CONSTEXPR IOSSurfaceCreateFlagsMVK allFlags = {};
5012 };
5013#endif /*VK_USE_PLATFORM_IOS_MVK*/
5014
5015#if defined( VK_USE_PLATFORM_MACOS_MVK )
5016 //=== VK_MVK_macos_surface ===
5017
5018 enum class MacOSSurfaceCreateFlagBitsMVK : VkMacOSSurfaceCreateFlagsMVK
5019 {
5020 };
5021
5022 using MacOSSurfaceCreateFlagsMVK = Flags<MacOSSurfaceCreateFlagBitsMVK>;
5023
5024 template <>
5025 struct FlagTraits<MacOSSurfaceCreateFlagBitsMVK>
5026 {
5027 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5028 static VULKAN_HPP_CONST_OR_CONSTEXPR MacOSSurfaceCreateFlagsMVK allFlags = {};
5029 };
5030#endif /*VK_USE_PLATFORM_MACOS_MVK*/
5031
5032 //=== VK_EXT_debug_utils ===
5033
5034 enum class DebugUtilsMessageSeverityFlagBitsEXT : VkDebugUtilsMessageSeverityFlagsEXT
5035 {
5036 eVerbose = VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT,
5037 eInfo = VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT,
5038 eWarning = VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT,
5039 eError = VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT
5040 };
5041
5042 using DebugUtilsMessageSeverityFlagsEXT = Flags<DebugUtilsMessageSeverityFlagBitsEXT>;
5043
5044 template <>
5045 struct FlagTraits<DebugUtilsMessageSeverityFlagBitsEXT>
5046 {
5047 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5048 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugUtilsMessageSeverityFlagsEXT allFlags =
5049 DebugUtilsMessageSeverityFlagBitsEXT::eVerbose | DebugUtilsMessageSeverityFlagBitsEXT::eInfo | DebugUtilsMessageSeverityFlagBitsEXT::eWarning |
5050 DebugUtilsMessageSeverityFlagBitsEXT::eError;
5051 };
5052
5053 enum class DebugUtilsMessageTypeFlagBitsEXT : VkDebugUtilsMessageTypeFlagsEXT
5054 {
5055 eGeneral = VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT,
5056 eValidation = VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT,
5057 ePerformance = VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT,
5058 eDeviceAddressBinding = VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT
5059 };
5060
5061 using DebugUtilsMessageTypeFlagsEXT = Flags<DebugUtilsMessageTypeFlagBitsEXT>;
5062
5063 template <>
5064 struct FlagTraits<DebugUtilsMessageTypeFlagBitsEXT>
5065 {
5066 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5067 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugUtilsMessageTypeFlagsEXT allFlags =
5068 DebugUtilsMessageTypeFlagBitsEXT::eGeneral | DebugUtilsMessageTypeFlagBitsEXT::eValidation | DebugUtilsMessageTypeFlagBitsEXT::ePerformance |
5069 DebugUtilsMessageTypeFlagBitsEXT::eDeviceAddressBinding;
5070 };
5071
5072 enum class DebugUtilsMessengerCallbackDataFlagBitsEXT : VkDebugUtilsMessengerCallbackDataFlagsEXT
5073 {
5074 };
5075
5076 using DebugUtilsMessengerCallbackDataFlagsEXT = Flags<DebugUtilsMessengerCallbackDataFlagBitsEXT>;
5077
5078 template <>
5079 struct FlagTraits<DebugUtilsMessengerCallbackDataFlagBitsEXT>
5080 {
5081 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5082 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugUtilsMessengerCallbackDataFlagsEXT allFlags = {};
5083 };
5084
5085 enum class DebugUtilsMessengerCreateFlagBitsEXT : VkDebugUtilsMessengerCreateFlagsEXT
5086 {
5087 };
5088
5089 using DebugUtilsMessengerCreateFlagsEXT = Flags<DebugUtilsMessengerCreateFlagBitsEXT>;
5090
5091 template <>
5092 struct FlagTraits<DebugUtilsMessengerCreateFlagBitsEXT>
5093 {
5094 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5095 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugUtilsMessengerCreateFlagsEXT allFlags = {};
5096 };
5097
5098 //=== VK_EXT_blend_operation_advanced ===
5099
5100 enum class BlendOverlapEXT
5101 {
5102 eUncorrelated = VK_BLEND_OVERLAP_UNCORRELATED_EXT,
5103 eDisjoint = VK_BLEND_OVERLAP_DISJOINT_EXT,
5104 eConjoint = VK_BLEND_OVERLAP_CONJOINT_EXT
5105 };
5106
5107 //=== VK_NV_fragment_coverage_to_color ===
5108
5109 enum class PipelineCoverageToColorStateCreateFlagBitsNV : VkPipelineCoverageToColorStateCreateFlagsNV
5110 {
5111 };
5112
5113 using PipelineCoverageToColorStateCreateFlagsNV = Flags<PipelineCoverageToColorStateCreateFlagBitsNV>;
5114
5115 template <>
5116 struct FlagTraits<PipelineCoverageToColorStateCreateFlagBitsNV>
5117 {
5118 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5119 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCoverageToColorStateCreateFlagsNV allFlags = {};
5120 };
5121
5122 //=== VK_KHR_acceleration_structure ===
5123
5124 enum class AccelerationStructureTypeKHR
5125 {
5126 eTopLevel = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
5127 eBottomLevel = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
5128 eGeneric = VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR
5129 };
5130 using AccelerationStructureTypeNV = AccelerationStructureTypeKHR;
5131
5132 enum class AccelerationStructureBuildTypeKHR
5133 {
5134 eHost = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR,
5135 eDevice = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR,
5136 eHostOrDevice = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR
5137 };
5138
5139 enum class GeometryFlagBitsKHR : VkGeometryFlagsKHR
5140 {
5141 eOpaque = VK_GEOMETRY_OPAQUE_BIT_KHR,
5142 eNoDuplicateAnyHitInvocation = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR
5143 };
5144 using GeometryFlagBitsNV = GeometryFlagBitsKHR;
5145
5146 using GeometryFlagsKHR = Flags<GeometryFlagBitsKHR>;
5147 using GeometryFlagsNV = GeometryFlagsKHR;
5148
5149 template <>
5150 struct FlagTraits<GeometryFlagBitsKHR>
5151 {
5152 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5153 static VULKAN_HPP_CONST_OR_CONSTEXPR GeometryFlagsKHR allFlags = GeometryFlagBitsKHR::eOpaque | GeometryFlagBitsKHR::eNoDuplicateAnyHitInvocation;
5154 };
5155
5156 enum class GeometryInstanceFlagBitsKHR : VkGeometryInstanceFlagsKHR
5157 {
5158 eTriangleFacingCullDisable = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
5159 eTriangleFlipFacing = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,
5160 eForceOpaque = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
5161 eForceNoOpaque = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
5162 eTriangleFrontCounterclockwiseKHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
5163 eTriangleCullDisable = VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV,
5164 eTriangleFrontCounterclockwise = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV,
5165 eForceOpacityMicromap2StateEXT = VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT,
5166 eDisableOpacityMicromapsEXT = VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT
5167 };
5168 using GeometryInstanceFlagBitsNV = GeometryInstanceFlagBitsKHR;
5169
5170 using GeometryInstanceFlagsKHR = Flags<GeometryInstanceFlagBitsKHR>;
5171 using GeometryInstanceFlagsNV = GeometryInstanceFlagsKHR;
5172
5173 template <>
5174 struct FlagTraits<GeometryInstanceFlagBitsKHR>
5175 {
5176 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5177 static VULKAN_HPP_CONST_OR_CONSTEXPR GeometryInstanceFlagsKHR allFlags =
5178 GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable | GeometryInstanceFlagBitsKHR::eTriangleFlipFacing | GeometryInstanceFlagBitsKHR::eForceOpaque |
5179 GeometryInstanceFlagBitsKHR::eForceNoOpaque | GeometryInstanceFlagBitsKHR::eForceOpacityMicromap2StateEXT |
5180 GeometryInstanceFlagBitsKHR::eDisableOpacityMicromapsEXT;
5181 };
5182
5183 enum class BuildAccelerationStructureFlagBitsKHR : VkBuildAccelerationStructureFlagsKHR
5184 {
5185 eAllowUpdate = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
5186 eAllowCompaction = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
5187 ePreferFastTrace = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
5188 ePreferFastBuild = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
5189 eLowMemory = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
5190 eMotionNV = VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV,
5191 eAllowOpacityMicromapUpdateEXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT,
5192 eAllowDisableOpacityMicromapsEXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT,
5193 eAllowOpacityMicromapDataUpdateEXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT,
5194#if defined( VK_ENABLE_BETA_EXTENSIONS )
5195 eAllowDisplacementMicromapUpdateNV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV
5196#endif /*VK_ENABLE_BETA_EXTENSIONS*/
5197 };
5198 using BuildAccelerationStructureFlagBitsNV = BuildAccelerationStructureFlagBitsKHR;
5199
5200 using BuildAccelerationStructureFlagsKHR = Flags<BuildAccelerationStructureFlagBitsKHR>;
5201 using BuildAccelerationStructureFlagsNV = BuildAccelerationStructureFlagsKHR;
5202
5203 template <>
5204 struct FlagTraits<BuildAccelerationStructureFlagBitsKHR>
5205 {
5206 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5207 static VULKAN_HPP_CONST_OR_CONSTEXPR BuildAccelerationStructureFlagsKHR allFlags =
5208 BuildAccelerationStructureFlagBitsKHR::eAllowUpdate | BuildAccelerationStructureFlagBitsKHR::eAllowCompaction |
5209 BuildAccelerationStructureFlagBitsKHR::ePreferFastTrace | BuildAccelerationStructureFlagBitsKHR::ePreferFastBuild |
5210 BuildAccelerationStructureFlagBitsKHR::eLowMemory | BuildAccelerationStructureFlagBitsKHR::eMotionNV |
5211 BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapUpdateEXT | BuildAccelerationStructureFlagBitsKHR::eAllowDisableOpacityMicromapsEXT |
5212 BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapDataUpdateEXT
5213#if defined( VK_ENABLE_BETA_EXTENSIONS )
5214 | BuildAccelerationStructureFlagBitsKHR::eAllowDisplacementMicromapUpdateNV
5215#endif /*VK_ENABLE_BETA_EXTENSIONS*/
5216 ;
5217 };
5218
5219 enum class CopyAccelerationStructureModeKHR
5220 {
5221 eClone = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
5222 eCompact = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
5223 eSerialize = VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR,
5224 eDeserialize = VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR
5225 };
5226 using CopyAccelerationStructureModeNV = CopyAccelerationStructureModeKHR;
5227
5228 enum class GeometryTypeKHR
5229 {
5230 eTriangles = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
5231 eAabbs = VK_GEOMETRY_TYPE_AABBS_KHR,
5232 eInstances = VK_GEOMETRY_TYPE_INSTANCES_KHR
5233 };
5234 using GeometryTypeNV = GeometryTypeKHR;
5235
5236 enum class AccelerationStructureCompatibilityKHR
5237 {
5238 eCompatible = VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR,
5239 eIncompatible = VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR
5240 };
5241
5242 enum class AccelerationStructureCreateFlagBitsKHR : VkAccelerationStructureCreateFlagsKHR
5243 {
5244 eDeviceAddressCaptureReplay = VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR,
5245 eDescriptorBufferCaptureReplayEXT = VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,
5246 eMotionNV = VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV
5247 };
5248
5249 using AccelerationStructureCreateFlagsKHR = Flags<AccelerationStructureCreateFlagBitsKHR>;
5250
5251 template <>
5252 struct FlagTraits<AccelerationStructureCreateFlagBitsKHR>
5253 {
5254 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5255 static VULKAN_HPP_CONST_OR_CONSTEXPR AccelerationStructureCreateFlagsKHR allFlags =
5256 AccelerationStructureCreateFlagBitsKHR::eDeviceAddressCaptureReplay | AccelerationStructureCreateFlagBitsKHR::eDescriptorBufferCaptureReplayEXT |
5257 AccelerationStructureCreateFlagBitsKHR::eMotionNV;
5258 };
5259
5260 enum class BuildAccelerationStructureModeKHR
5261 {
5262 eBuild = VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR,
5263 eUpdate = VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR
5264 };
5265
5266 //=== VK_KHR_ray_tracing_pipeline ===
5267
5268 enum class RayTracingShaderGroupTypeKHR
5269 {
5270 eGeneral = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
5271 eTrianglesHitGroup = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
5272 eProceduralHitGroup = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR
5273 };
5274 using RayTracingShaderGroupTypeNV = RayTracingShaderGroupTypeKHR;
5275
5276 enum class ShaderGroupShaderKHR
5277 {
5278 eGeneral = VK_SHADER_GROUP_SHADER_GENERAL_KHR,
5279 eClosestHit = VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR,
5280 eAnyHit = VK_SHADER_GROUP_SHADER_ANY_HIT_KHR,
5281 eIntersection = VK_SHADER_GROUP_SHADER_INTERSECTION_KHR
5282 };
5283
5284 //=== VK_NV_framebuffer_mixed_samples ===
5285
5286 enum class CoverageModulationModeNV
5287 {
5288 eNone = VK_COVERAGE_MODULATION_MODE_NONE_NV,
5289 eRgb = VK_COVERAGE_MODULATION_MODE_RGB_NV,
5290 eAlpha = VK_COVERAGE_MODULATION_MODE_ALPHA_NV,
5291 eRgba = VK_COVERAGE_MODULATION_MODE_RGBA_NV
5292 };
5293
5294 enum class PipelineCoverageModulationStateCreateFlagBitsNV : VkPipelineCoverageModulationStateCreateFlagsNV
5295 {
5296 };
5297
5298 using PipelineCoverageModulationStateCreateFlagsNV = Flags<PipelineCoverageModulationStateCreateFlagBitsNV>;
5299
5300 template <>
5301 struct FlagTraits<PipelineCoverageModulationStateCreateFlagBitsNV>
5302 {
5303 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5304 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCoverageModulationStateCreateFlagsNV allFlags = {};
5305 };
5306
5307 //=== VK_EXT_validation_cache ===
5308
5309 enum class ValidationCacheHeaderVersionEXT
5310 {
5311 eOne = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT
5312 };
5313
5314 enum class ValidationCacheCreateFlagBitsEXT : VkValidationCacheCreateFlagsEXT
5315 {
5316 };
5317
5318 using ValidationCacheCreateFlagsEXT = Flags<ValidationCacheCreateFlagBitsEXT>;
5319
5320 template <>
5321 struct FlagTraits<ValidationCacheCreateFlagBitsEXT>
5322 {
5323 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5324 static VULKAN_HPP_CONST_OR_CONSTEXPR ValidationCacheCreateFlagsEXT allFlags = {};
5325 };
5326
5327 //=== VK_NV_shading_rate_image ===
5328
5329 enum class ShadingRatePaletteEntryNV
5330 {
5331 eNoInvocations = VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV,
5332 e16InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV,
5333 e8InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV,
5334 e4InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV,
5335 e2InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV,
5336 e1InvocationPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV,
5337 e1InvocationPer2X1Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV,
5338 e1InvocationPer1X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV,
5339 e1InvocationPer2X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV,
5340 e1InvocationPer4X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV,
5341 e1InvocationPer2X4Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV,
5342 e1InvocationPer4X4Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV
5343 };
5344
5345 enum class CoarseSampleOrderTypeNV
5346 {
5347 eDefault = VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV,
5348 eCustom = VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV,
5349 ePixelMajor = VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV,
5350 eSampleMajor = VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV
5351 };
5352
5353 //=== VK_NV_ray_tracing ===
5354
5355 enum class AccelerationStructureMemoryRequirementsTypeNV
5356 {
5357 eObject = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV,
5358 eBuildScratch = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV,
5359 eUpdateScratch = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV
5360 };
5361
5362 //=== VK_AMD_pipeline_compiler_control ===
5363
5364 enum class PipelineCompilerControlFlagBitsAMD : VkPipelineCompilerControlFlagsAMD
5365 {
5366 };
5367
5368 using PipelineCompilerControlFlagsAMD = Flags<PipelineCompilerControlFlagBitsAMD>;
5369
5370 template <>
5371 struct FlagTraits<PipelineCompilerControlFlagBitsAMD>
5372 {
5373 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5374 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCompilerControlFlagsAMD allFlags = {};
5375 };
5376
5377 //=== VK_EXT_calibrated_timestamps ===
5378
5379 enum class TimeDomainEXT
5380 {
5381 eDevice = VK_TIME_DOMAIN_DEVICE_EXT,
5382 eClockMonotonic = VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT,
5383 eClockMonotonicRaw = VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT,
5384 eQueryPerformanceCounter = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT
5385 };
5386
5387 //=== VK_KHR_global_priority ===
5388
5389 enum class QueueGlobalPriorityKHR
5390 {
5391 eLow = VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR,
5392 eMedium = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR,
5393 eHigh = VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR,
5394 eRealtime = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR
5395 };
5396 using QueueGlobalPriorityEXT = QueueGlobalPriorityKHR;
5397
5398 //=== VK_AMD_memory_overallocation_behavior ===
5399
5400 enum class MemoryOverallocationBehaviorAMD
5401 {
5402 eDefault = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD,
5403 eAllowed = VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD,
5404 eDisallowed = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD
5405 };
5406
5407 //=== VK_INTEL_performance_query ===
5408
5409 enum class PerformanceConfigurationTypeINTEL
5410 {
5411 eCommandQueueMetricsDiscoveryActivated = VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL
5412 };
5413
5414 enum class QueryPoolSamplingModeINTEL
5415 {
5416 eManual = VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL
5417 };
5418
5419 enum class PerformanceOverrideTypeINTEL
5420 {
5421 eNullHardware = VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL,
5422 eFlushGpuCaches = VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL
5423 };
5424
5425 enum class PerformanceParameterTypeINTEL
5426 {
5427 eHwCountersSupported = VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL,
5428 eStreamMarkerValidBits = VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL
5429 };
5430
5431 enum class PerformanceValueTypeINTEL
5432 {
5433 eUint32 = VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL,
5434 eUint64 = VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL,
5435 eFloat = VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL,
5436 eBool = VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL,
5437 eString = VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL
5438 };
5439
5440#if defined( VK_USE_PLATFORM_FUCHSIA )
5441 //=== VK_FUCHSIA_imagepipe_surface ===
5442
5443 enum class ImagePipeSurfaceCreateFlagBitsFUCHSIA : VkImagePipeSurfaceCreateFlagsFUCHSIA
5444 {
5445 };
5446
5447 using ImagePipeSurfaceCreateFlagsFUCHSIA = Flags<ImagePipeSurfaceCreateFlagBitsFUCHSIA>;
5448
5449 template <>
5450 struct FlagTraits<ImagePipeSurfaceCreateFlagBitsFUCHSIA>
5451 {
5452 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5453 static VULKAN_HPP_CONST_OR_CONSTEXPR ImagePipeSurfaceCreateFlagsFUCHSIA allFlags = {};
5454 };
5455#endif /*VK_USE_PLATFORM_FUCHSIA*/
5456
5457#if defined( VK_USE_PLATFORM_METAL_EXT )
5458 //=== VK_EXT_metal_surface ===
5459
5460 enum class MetalSurfaceCreateFlagBitsEXT : VkMetalSurfaceCreateFlagsEXT
5461 {
5462 };
5463
5464 using MetalSurfaceCreateFlagsEXT = Flags<MetalSurfaceCreateFlagBitsEXT>;
5465
5466 template <>
5467 struct FlagTraits<MetalSurfaceCreateFlagBitsEXT>
5468 {
5469 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5470 static VULKAN_HPP_CONST_OR_CONSTEXPR MetalSurfaceCreateFlagsEXT allFlags = {};
5471 };
5472#endif /*VK_USE_PLATFORM_METAL_EXT*/
5473
5474 //=== VK_KHR_fragment_shading_rate ===
5475
5476 enum class FragmentShadingRateCombinerOpKHR
5477 {
5478 eKeep = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR,
5479 eReplace = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR,
5480 eMin = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR,
5481 eMax = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR,
5482 eMul = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR
5483 };
5484
5485 //=== VK_AMD_shader_core_properties2 ===
5486
5487 enum class ShaderCorePropertiesFlagBitsAMD : VkShaderCorePropertiesFlagsAMD
5488 {
5489 };
5490
5491 using ShaderCorePropertiesFlagsAMD = Flags<ShaderCorePropertiesFlagBitsAMD>;
5492
5493 template <>
5494 struct FlagTraits<ShaderCorePropertiesFlagBitsAMD>
5495 {
5496 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5497 static VULKAN_HPP_CONST_OR_CONSTEXPR ShaderCorePropertiesFlagsAMD allFlags = {};
5498 };
5499
5500 //=== VK_EXT_validation_features ===
5501
5502 enum class ValidationFeatureEnableEXT
5503 {
5504 eGpuAssisted = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT,
5505 eGpuAssistedReserveBindingSlot = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT,
5506 eBestPractices = VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT,
5507 eDebugPrintf = VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT,
5508 eSynchronizationValidation = VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT
5509 };
5510
5511 enum class ValidationFeatureDisableEXT
5512 {
5513 eAll = VK_VALIDATION_FEATURE_DISABLE_ALL_EXT,
5514 eShaders = VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT,
5515 eThreadSafety = VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT,
5516 eApiParameters = VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT,
5517 eObjectLifetimes = VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT,
5518 eCoreChecks = VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT,
5519 eUniqueHandles = VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT,
5520 eShaderValidationCache = VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT
5521 };
5522
5523 //=== VK_NV_cooperative_matrix ===
5524
5525 enum class ScopeNV
5526 {
5527 eDevice = VK_SCOPE_DEVICE_NV,
5528 eWorkgroup = VK_SCOPE_WORKGROUP_NV,
5529 eSubgroup = VK_SCOPE_SUBGROUP_NV,
5530 eQueueFamily = VK_SCOPE_QUEUE_FAMILY_NV
5531 };
5532
5533 enum class ComponentTypeNV
5534 {
5535 eFloat16 = VK_COMPONENT_TYPE_FLOAT16_NV,
5536 eFloat32 = VK_COMPONENT_TYPE_FLOAT32_NV,
5537 eFloat64 = VK_COMPONENT_TYPE_FLOAT64_NV,
5538 eSint8 = VK_COMPONENT_TYPE_SINT8_NV,
5539 eSint16 = VK_COMPONENT_TYPE_SINT16_NV,
5540 eSint32 = VK_COMPONENT_TYPE_SINT32_NV,
5541 eSint64 = VK_COMPONENT_TYPE_SINT64_NV,
5542 eUint8 = VK_COMPONENT_TYPE_UINT8_NV,
5543 eUint16 = VK_COMPONENT_TYPE_UINT16_NV,
5544 eUint32 = VK_COMPONENT_TYPE_UINT32_NV,
5545 eUint64 = VK_COMPONENT_TYPE_UINT64_NV
5546 };
5547
5548 //=== VK_NV_coverage_reduction_mode ===
5549
5550 enum class CoverageReductionModeNV
5551 {
5552 eMerge = VK_COVERAGE_REDUCTION_MODE_MERGE_NV,
5553 eTruncate = VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV
5554 };
5555
5556 enum class PipelineCoverageReductionStateCreateFlagBitsNV : VkPipelineCoverageReductionStateCreateFlagsNV
5557 {
5558 };
5559
5560 using PipelineCoverageReductionStateCreateFlagsNV = Flags<PipelineCoverageReductionStateCreateFlagBitsNV>;
5561
5562 template <>
5563 struct FlagTraits<PipelineCoverageReductionStateCreateFlagBitsNV>
5564 {
5565 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5566 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCoverageReductionStateCreateFlagsNV allFlags = {};
5567 };
5568
5569 //=== VK_EXT_provoking_vertex ===
5570
5571 enum class ProvokingVertexModeEXT
5572 {
5573 eFirstVertex = VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT,
5574 eLastVertex = VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT
5575 };
5576
5577#if defined( VK_USE_PLATFORM_WIN32_KHR )
5578 //=== VK_EXT_full_screen_exclusive ===
5579
5580 enum class FullScreenExclusiveEXT
5581 {
5582 eDefault = VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT,
5583 eAllowed = VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT,
5584 eDisallowed = VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT,
5585 eApplicationControlled = VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT
5586 };
5587#endif /*VK_USE_PLATFORM_WIN32_KHR*/
5588
5589 //=== VK_EXT_headless_surface ===
5590
5591 enum class HeadlessSurfaceCreateFlagBitsEXT : VkHeadlessSurfaceCreateFlagsEXT
5592 {
5593 };
5594
5595 using HeadlessSurfaceCreateFlagsEXT = Flags<HeadlessSurfaceCreateFlagBitsEXT>;
5596
5597 template <>
5598 struct FlagTraits<HeadlessSurfaceCreateFlagBitsEXT>
5599 {
5600 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5601 static VULKAN_HPP_CONST_OR_CONSTEXPR HeadlessSurfaceCreateFlagsEXT allFlags = {};
5602 };
5603
5604 //=== VK_EXT_line_rasterization ===
5605
5606 enum class LineRasterizationModeEXT
5607 {
5608 eDefault = VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT,
5609 eRectangular = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT,
5610 eBresenham = VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT,
5611 eRectangularSmooth = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT
5612 };
5613
5614 //=== VK_KHR_pipeline_executable_properties ===
5615
5616 enum class PipelineExecutableStatisticFormatKHR
5617 {
5618 eBool32 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR,
5619 eInt64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR,
5620 eUint64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR,
5621 eFloat64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR
5622 };
5623
5624 //=== VK_KHR_map_memory2 ===
5625
5626 enum class MemoryUnmapFlagBitsKHR : VkMemoryUnmapFlagsKHR
5627 {
5628 };
5629
5630 using MemoryUnmapFlagsKHR = Flags<MemoryUnmapFlagBitsKHR>;
5631
5632 template <>
5633 struct FlagTraits<MemoryUnmapFlagBitsKHR>
5634 {
5635 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5636 static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryUnmapFlagsKHR allFlags = {};
5637 };
5638
5639 //=== VK_EXT_surface_maintenance1 ===
5640
5641 enum class PresentScalingFlagBitsEXT : VkPresentScalingFlagsEXT
5642 {
5643 eOneToOne = VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT,
5644 eAspectRatioStretch = VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT,
5645 eStretch = VK_PRESENT_SCALING_STRETCH_BIT_EXT
5646 };
5647
5648 using PresentScalingFlagsEXT = Flags<PresentScalingFlagBitsEXT>;
5649
5650 template <>
5651 struct FlagTraits<PresentScalingFlagBitsEXT>
5652 {
5653 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5654 static VULKAN_HPP_CONST_OR_CONSTEXPR PresentScalingFlagsEXT allFlags =
5655 PresentScalingFlagBitsEXT::eOneToOne | PresentScalingFlagBitsEXT::eAspectRatioStretch | PresentScalingFlagBitsEXT::eStretch;
5656 };
5657
5658 enum class PresentGravityFlagBitsEXT : VkPresentGravityFlagsEXT
5659 {
5660 eMin = VK_PRESENT_GRAVITY_MIN_BIT_EXT,
5661 eMax = VK_PRESENT_GRAVITY_MAX_BIT_EXT,
5662 eCentered = VK_PRESENT_GRAVITY_CENTERED_BIT_EXT
5663 };
5664
5665 using PresentGravityFlagsEXT = Flags<PresentGravityFlagBitsEXT>;
5666
5667 template <>
5668 struct FlagTraits<PresentGravityFlagBitsEXT>
5669 {
5670 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5671 static VULKAN_HPP_CONST_OR_CONSTEXPR PresentGravityFlagsEXT allFlags =
5672 PresentGravityFlagBitsEXT::eMin | PresentGravityFlagBitsEXT::eMax | PresentGravityFlagBitsEXT::eCentered;
5673 };
5674
5675 //=== VK_NV_device_generated_commands ===
5676
5677 enum class IndirectStateFlagBitsNV : VkIndirectStateFlagsNV
5678 {
5679 eFlagFrontface = VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV
5680 };
5681
5682 using IndirectStateFlagsNV = Flags<IndirectStateFlagBitsNV>;
5683
5684 template <>
5685 struct FlagTraits<IndirectStateFlagBitsNV>
5686 {
5687 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5688 static VULKAN_HPP_CONST_OR_CONSTEXPR IndirectStateFlagsNV allFlags = IndirectStateFlagBitsNV::eFlagFrontface;
5689 };
5690
5691 enum class IndirectCommandsTokenTypeNV
5692 {
5693 eShaderGroup = VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV,
5694 eStateFlags = VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV,
5695 eIndexBuffer = VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV,
5696 eVertexBuffer = VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV,
5697 ePushConstant = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV,
5698 eDrawIndexed = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV,
5699 eDraw = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV,
5700 eDrawTasks = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV,
5701 eDrawMeshTasks = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV
5702 };
5703
5704 enum class IndirectCommandsLayoutUsageFlagBitsNV : VkIndirectCommandsLayoutUsageFlagsNV
5705 {
5706 eExplicitPreprocess = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV,
5707 eIndexedSequences = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV,
5708 eUnorderedSequences = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV
5709 };
5710
5711 using IndirectCommandsLayoutUsageFlagsNV = Flags<IndirectCommandsLayoutUsageFlagBitsNV>;
5712
5713 template <>
5714 struct FlagTraits<IndirectCommandsLayoutUsageFlagBitsNV>
5715 {
5716 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5717 static VULKAN_HPP_CONST_OR_CONSTEXPR IndirectCommandsLayoutUsageFlagsNV allFlags = IndirectCommandsLayoutUsageFlagBitsNV::eExplicitPreprocess |
5718 IndirectCommandsLayoutUsageFlagBitsNV::eIndexedSequences |
5719 IndirectCommandsLayoutUsageFlagBitsNV::eUnorderedSequences;
5720 };
5721
5722 //=== VK_EXT_device_memory_report ===
5723
5724 enum class DeviceMemoryReportEventTypeEXT
5725 {
5726 eAllocate = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT,
5727 eFree = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT,
5728 eImport = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT,
5729 eUnimport = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT,
5730 eAllocationFailed = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT
5731 };
5732
5733 enum class DeviceMemoryReportFlagBitsEXT : VkDeviceMemoryReportFlagsEXT
5734 {
5735 };
5736
5737 using DeviceMemoryReportFlagsEXT = Flags<DeviceMemoryReportFlagBitsEXT>;
5738
5739 template <>
5740 struct FlagTraits<DeviceMemoryReportFlagBitsEXT>
5741 {
5742 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5743 static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceMemoryReportFlagsEXT allFlags = {};
5744 };
5745
5746 //=== VK_EXT_pipeline_creation_cache_control ===
5747
5748 enum class PipelineCacheCreateFlagBits : VkPipelineCacheCreateFlags
5749 {
5750 eExternallySynchronized = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT,
5751 eExternallySynchronizedEXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT
5752 };
5753
5754 using PipelineCacheCreateFlags = Flags<PipelineCacheCreateFlagBits>;
5755
5756 template <>
5757 struct FlagTraits<PipelineCacheCreateFlagBits>
5758 {
5759 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5760 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCacheCreateFlags allFlags = PipelineCacheCreateFlagBits::eExternallySynchronized;
5761 };
5762
5763#if defined( VK_ENABLE_BETA_EXTENSIONS )
5764 //=== VK_KHR_video_encode_queue ===
5765
5766 enum class VideoEncodeCapabilityFlagBitsKHR : VkVideoEncodeCapabilityFlagsKHR
5767 {
5768 ePrecedingExternallyEncodedBytes = VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR
5769 };
5770
5771 using VideoEncodeCapabilityFlagsKHR = Flags<VideoEncodeCapabilityFlagBitsKHR>;
5772
5773 template <>
5774 struct FlagTraits<VideoEncodeCapabilityFlagBitsKHR>
5775 {
5776 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5777 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeCapabilityFlagsKHR allFlags = VideoEncodeCapabilityFlagBitsKHR::ePrecedingExternallyEncodedBytes;
5778 };
5779
5780 enum class VideoEncodeFeedbackFlagBitsKHR : VkVideoEncodeFeedbackFlagsKHR
5781 {
5782 estreamBufferOffsetBit = VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR,
5783 estreamBytesWrittenBit = VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR
5784 };
5785
5786 using VideoEncodeFeedbackFlagsKHR = Flags<VideoEncodeFeedbackFlagBitsKHR>;
5787
5788 template <>
5789 struct FlagTraits<VideoEncodeFeedbackFlagBitsKHR>
5790 {
5791 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5792 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeFeedbackFlagsKHR allFlags =
5793 VideoEncodeFeedbackFlagBitsKHR::estreamBufferOffsetBit | VideoEncodeFeedbackFlagBitsKHR::estreamBytesWrittenBit;
5794 };
5795
5796 enum class VideoEncodeUsageFlagBitsKHR : VkVideoEncodeUsageFlagsKHR
5797 {
5798 eDefault = VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR,
5799 eTranscoding = VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR,
5800 eStreaming = VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR,
5801 eRecording = VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR,
5802 eConferencing = VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR
5803 };
5804
5805 using VideoEncodeUsageFlagsKHR = Flags<VideoEncodeUsageFlagBitsKHR>;
5806
5807 template <>
5808 struct FlagTraits<VideoEncodeUsageFlagBitsKHR>
5809 {
5810 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5811 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeUsageFlagsKHR allFlags = VideoEncodeUsageFlagBitsKHR::eDefault | VideoEncodeUsageFlagBitsKHR::eTranscoding |
5812 VideoEncodeUsageFlagBitsKHR::eStreaming | VideoEncodeUsageFlagBitsKHR::eRecording |
5813 VideoEncodeUsageFlagBitsKHR::eConferencing;
5814 };
5815
5816 enum class VideoEncodeContentFlagBitsKHR : VkVideoEncodeContentFlagsKHR
5817 {
5818 eDefault = VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR,
5819 eCamera = VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR,
5820 eDesktop = VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR,
5821 eRendered = VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR
5822 };
5823
5824 using VideoEncodeContentFlagsKHR = Flags<VideoEncodeContentFlagBitsKHR>;
5825
5826 template <>
5827 struct FlagTraits<VideoEncodeContentFlagBitsKHR>
5828 {
5829 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5830 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeContentFlagsKHR allFlags =
5831 VideoEncodeContentFlagBitsKHR::eDefault | VideoEncodeContentFlagBitsKHR::eCamera | VideoEncodeContentFlagBitsKHR::eDesktop |
5832 VideoEncodeContentFlagBitsKHR::eRendered;
5833 };
5834
5835 enum class VideoEncodeTuningModeKHR
5836 {
5837 eDefault = VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR,
5838 eHighQuality = VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR,
5839 eLowLatency = VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR,
5840 eUltraLowLatency = VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR,
5841 eLossless = VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR
5842 };
5843
5844 enum class VideoEncodeRateControlModeFlagBitsKHR : VkVideoEncodeRateControlModeFlagsKHR
5845 {
5846 eDefault = VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR,
5847 eDisabled = VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR,
5848 eCbr = VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR,
5849 eVbr = VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR
5850 };
5851
5852 using VideoEncodeRateControlModeFlagsKHR = Flags<VideoEncodeRateControlModeFlagBitsKHR>;
5853
5854 template <>
5855 struct FlagTraits<VideoEncodeRateControlModeFlagBitsKHR>
5856 {
5857 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5858 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeRateControlModeFlagsKHR allFlags =
5859 VideoEncodeRateControlModeFlagBitsKHR::eDefault | VideoEncodeRateControlModeFlagBitsKHR::eDisabled | VideoEncodeRateControlModeFlagBitsKHR::eCbr |
5860 VideoEncodeRateControlModeFlagBitsKHR::eVbr;
5861 };
5862
5863 enum class VideoEncodeFlagBitsKHR : VkVideoEncodeFlagsKHR
5864 {
5865 };
5866
5867 using VideoEncodeFlagsKHR = Flags<VideoEncodeFlagBitsKHR>;
5868
5869 template <>
5870 struct FlagTraits<VideoEncodeFlagBitsKHR>
5871 {
5872 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5873 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeFlagsKHR allFlags = {};
5874 };
5875
5876 enum class VideoEncodeRateControlFlagBitsKHR : VkVideoEncodeRateControlFlagsKHR
5877 {
5878 };
5879
5880 using VideoEncodeRateControlFlagsKHR = Flags<VideoEncodeRateControlFlagBitsKHR>;
5881
5882 template <>
5883 struct FlagTraits<VideoEncodeRateControlFlagBitsKHR>
5884 {
5885 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5886 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeRateControlFlagsKHR allFlags = {};
5887 };
5888#endif /*VK_ENABLE_BETA_EXTENSIONS*/
5889
5890 //=== VK_NV_device_diagnostics_config ===
5891
5892 enum class DeviceDiagnosticsConfigFlagBitsNV : VkDeviceDiagnosticsConfigFlagsNV
5893 {
5894 eEnableShaderDebugInfo = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV,
5895 eEnableResourceTracking = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV,
5896 eEnableAutomaticCheckpoints = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV,
5897 eEnableShaderErrorReporting = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV
5898 };
5899
5900 using DeviceDiagnosticsConfigFlagsNV = Flags<DeviceDiagnosticsConfigFlagBitsNV>;
5901
5902 template <>
5903 struct FlagTraits<DeviceDiagnosticsConfigFlagBitsNV>
5904 {
5905 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5906 static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceDiagnosticsConfigFlagsNV allFlags =
5907 DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderDebugInfo | DeviceDiagnosticsConfigFlagBitsNV::eEnableResourceTracking |
5908 DeviceDiagnosticsConfigFlagBitsNV::eEnableAutomaticCheckpoints | DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderErrorReporting;
5909 };
5910
5911#if defined( VK_USE_PLATFORM_METAL_EXT )
5912 //=== VK_EXT_metal_objects ===
5913
5914 enum class ExportMetalObjectTypeFlagBitsEXT : VkExportMetalObjectTypeFlagsEXT
5915 {
5916 eMetalDevice = VK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT,
5917 eMetalCommandQueue = VK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT,
5918 eMetalBuffer = VK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT,
5919 eMetalTexture = VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT,
5920 eMetalIosurface = VK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT,
5921 eMetalSharedEvent = VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT
5922 };
5923
5924 using ExportMetalObjectTypeFlagsEXT = Flags<ExportMetalObjectTypeFlagBitsEXT>;
5925
5926 template <>
5927 struct FlagTraits<ExportMetalObjectTypeFlagBitsEXT>
5928 {
5929 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5930 static VULKAN_HPP_CONST_OR_CONSTEXPR ExportMetalObjectTypeFlagsEXT allFlags =
5931 ExportMetalObjectTypeFlagBitsEXT::eMetalDevice | ExportMetalObjectTypeFlagBitsEXT::eMetalCommandQueue | ExportMetalObjectTypeFlagBitsEXT::eMetalBuffer |
5932 ExportMetalObjectTypeFlagBitsEXT::eMetalTexture | ExportMetalObjectTypeFlagBitsEXT::eMetalIosurface | ExportMetalObjectTypeFlagBitsEXT::eMetalSharedEvent;
5933 };
5934#endif /*VK_USE_PLATFORM_METAL_EXT*/
5935
5936 //=== VK_EXT_graphics_pipeline_library ===
5937
5938 enum class GraphicsPipelineLibraryFlagBitsEXT : VkGraphicsPipelineLibraryFlagsEXT
5939 {
5940 eVertexInputInterface = VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT,
5941 ePreRasterizationShaders = VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT,
5942 eFragmentShader = VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT,
5943 eFragmentOutputInterface = VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT
5944 };
5945
5946 using GraphicsPipelineLibraryFlagsEXT = Flags<GraphicsPipelineLibraryFlagBitsEXT>;
5947
5948 template <>
5949 struct FlagTraits<GraphicsPipelineLibraryFlagBitsEXT>
5950 {
5951 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5952 static VULKAN_HPP_CONST_OR_CONSTEXPR GraphicsPipelineLibraryFlagsEXT allFlags =
5953 GraphicsPipelineLibraryFlagBitsEXT::eVertexInputInterface | GraphicsPipelineLibraryFlagBitsEXT::ePreRasterizationShaders |
5954 GraphicsPipelineLibraryFlagBitsEXT::eFragmentShader | GraphicsPipelineLibraryFlagBitsEXT::eFragmentOutputInterface;
5955 };
5956
5957 enum class PipelineLayoutCreateFlagBits : VkPipelineLayoutCreateFlags
5958 {
5959 eIndependentSetsEXT = VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
5960 };
5961
5962 using PipelineLayoutCreateFlags = Flags<PipelineLayoutCreateFlagBits>;
5963
5964 template <>
5965 struct FlagTraits<PipelineLayoutCreateFlagBits>
5966 {
5967 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5968 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineLayoutCreateFlags allFlags = PipelineLayoutCreateFlagBits::eIndependentSetsEXT;
5969 };
5970
5971 //=== VK_NV_fragment_shading_rate_enums ===
5972
5973 enum class FragmentShadingRateNV
5974 {
5975 e1InvocationPerPixel = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV,
5976 e1InvocationPer1X2Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV,
5977 e1InvocationPer2X1Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV,
5978 e1InvocationPer2X2Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV,
5979 e1InvocationPer2X4Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV,
5980 e1InvocationPer4X2Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV,
5981 e1InvocationPer4X4Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV,
5982 e2InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV,
5983 e4InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV,
5984 e8InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV,
5985 e16InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV,
5986 eNoInvocations = VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV
5987 };
5988
5989 enum class FragmentShadingRateTypeNV
5990 {
5991 eFragmentSize = VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV,
5992 eEnums = VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV
5993 };
5994
5995 //=== VK_NV_ray_tracing_motion_blur ===
5996
5997 enum class AccelerationStructureMotionInstanceTypeNV
5998 {
5999 eStatic = VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV,
6000 eMatrixMotion = VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV,
6001 eSrtMotion = VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV
6002 };
6003
6004 enum class AccelerationStructureMotionInfoFlagBitsNV : VkAccelerationStructureMotionInfoFlagsNV
6005 {
6006 };
6007
6008 using AccelerationStructureMotionInfoFlagsNV = Flags<AccelerationStructureMotionInfoFlagBitsNV>;
6009
6010 template <>
6011 struct FlagTraits<AccelerationStructureMotionInfoFlagBitsNV>
6012 {
6013 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6014 static VULKAN_HPP_CONST_OR_CONSTEXPR AccelerationStructureMotionInfoFlagsNV allFlags = {};
6015 };
6016
6017 enum class AccelerationStructureMotionInstanceFlagBitsNV : VkAccelerationStructureMotionInstanceFlagsNV
6018 {
6019 };
6020
6021 using AccelerationStructureMotionInstanceFlagsNV = Flags<AccelerationStructureMotionInstanceFlagBitsNV>;
6022
6023 template <>
6024 struct FlagTraits<AccelerationStructureMotionInstanceFlagBitsNV>
6025 {
6026 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6027 static VULKAN_HPP_CONST_OR_CONSTEXPR AccelerationStructureMotionInstanceFlagsNV allFlags = {};
6028 };
6029
6030 //=== VK_EXT_image_compression_control ===
6031
6032 enum class ImageCompressionFlagBitsEXT : VkImageCompressionFlagsEXT
6033 {
6034 eDefault = VK_IMAGE_COMPRESSION_DEFAULT_EXT,
6035 eFixedRateDefault = VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT,
6036 eFixedRateExplicit = VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT,
6037 eDisabled = VK_IMAGE_COMPRESSION_DISABLED_EXT
6038 };
6039
6040 using ImageCompressionFlagsEXT = Flags<ImageCompressionFlagBitsEXT>;
6041
6042 template <>
6043 struct FlagTraits<ImageCompressionFlagBitsEXT>
6044 {
6045 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6046 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageCompressionFlagsEXT allFlags =
6047 ImageCompressionFlagBitsEXT::eDefault | ImageCompressionFlagBitsEXT::eFixedRateDefault | ImageCompressionFlagBitsEXT::eFixedRateExplicit |
6048 ImageCompressionFlagBitsEXT::eDisabled;
6049 };
6050
6051 enum class ImageCompressionFixedRateFlagBitsEXT : VkImageCompressionFixedRateFlagsEXT
6052 {
6053 eNone = VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT,
6054 e1Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT,
6055 e2Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT,
6056 e3Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT,
6057 e4Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT,
6058 e5Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT,
6059 e6Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT,
6060 e7Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT,
6061 e8Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT,
6062 e9Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT,
6063 e10Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT,
6064 e11Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT,
6065 e12Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT,
6066 e13Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT,
6067 e14Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT,
6068 e15Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT,
6069 e16Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT,
6070 e17Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT,
6071 e18Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT,
6072 e19Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT,
6073 e20Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT,
6074 e21Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT,
6075 e22Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT,
6076 e23Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT,
6077 e24Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT
6078 };
6079
6080 using ImageCompressionFixedRateFlagsEXT = Flags<ImageCompressionFixedRateFlagBitsEXT>;
6081
6082 template <>
6083 struct FlagTraits<ImageCompressionFixedRateFlagBitsEXT>
6084 {
6085 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6086 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageCompressionFixedRateFlagsEXT allFlags =
6087 ImageCompressionFixedRateFlagBitsEXT::eNone | ImageCompressionFixedRateFlagBitsEXT::e1Bpc | ImageCompressionFixedRateFlagBitsEXT::e2Bpc |
6088 ImageCompressionFixedRateFlagBitsEXT::e3Bpc | ImageCompressionFixedRateFlagBitsEXT::e4Bpc | ImageCompressionFixedRateFlagBitsEXT::e5Bpc |
6089 ImageCompressionFixedRateFlagBitsEXT::e6Bpc | ImageCompressionFixedRateFlagBitsEXT::e7Bpc | ImageCompressionFixedRateFlagBitsEXT::e8Bpc |
6090 ImageCompressionFixedRateFlagBitsEXT::e9Bpc | ImageCompressionFixedRateFlagBitsEXT::e10Bpc | ImageCompressionFixedRateFlagBitsEXT::e11Bpc |
6091 ImageCompressionFixedRateFlagBitsEXT::e12Bpc | ImageCompressionFixedRateFlagBitsEXT::e13Bpc | ImageCompressionFixedRateFlagBitsEXT::e14Bpc |
6092 ImageCompressionFixedRateFlagBitsEXT::e15Bpc | ImageCompressionFixedRateFlagBitsEXT::e16Bpc | ImageCompressionFixedRateFlagBitsEXT::e17Bpc |
6093 ImageCompressionFixedRateFlagBitsEXT::e18Bpc | ImageCompressionFixedRateFlagBitsEXT::e19Bpc | ImageCompressionFixedRateFlagBitsEXT::e20Bpc |
6094 ImageCompressionFixedRateFlagBitsEXT::e21Bpc | ImageCompressionFixedRateFlagBitsEXT::e22Bpc | ImageCompressionFixedRateFlagBitsEXT::e23Bpc |
6095 ImageCompressionFixedRateFlagBitsEXT::e24Bpc;
6096 };
6097
6098 //=== VK_EXT_device_fault ===
6099
6100 enum class DeviceFaultAddressTypeEXT
6101 {
6102 eNone = VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT,
6103 eReadInvalid = VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT,
6104 eWriteInvalid = VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT,
6105 eExecuteInvalid = VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT,
6106 eInstructionPointerUnknown = VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT,
6107 eInstructionPointerInvalid = VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT,
6108 eInstructionPointerFault = VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT
6109 };
6110
6111 enum class DeviceFaultVendorBinaryHeaderVersionEXT
6112 {
6113 eOne = VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT
6114 };
6115
6116#if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
6117 //=== VK_EXT_directfb_surface ===
6118
6119 enum class DirectFBSurfaceCreateFlagBitsEXT : VkDirectFBSurfaceCreateFlagsEXT
6120 {
6121 };
6122
6123 using DirectFBSurfaceCreateFlagsEXT = Flags<DirectFBSurfaceCreateFlagBitsEXT>;
6124
6125 template <>
6126 struct FlagTraits<DirectFBSurfaceCreateFlagBitsEXT>
6127 {
6128 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6129 static VULKAN_HPP_CONST_OR_CONSTEXPR DirectFBSurfaceCreateFlagsEXT allFlags = {};
6130 };
6131#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
6132
6133 //=== VK_EXT_device_address_binding_report ===
6134
6135 enum class DeviceAddressBindingFlagBitsEXT : VkDeviceAddressBindingFlagsEXT
6136 {
6137 eInternalObject = VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT
6138 };
6139
6140 using DeviceAddressBindingFlagsEXT = Flags<DeviceAddressBindingFlagBitsEXT>;
6141
6142 template <>
6143 struct FlagTraits<DeviceAddressBindingFlagBitsEXT>
6144 {
6145 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6146 static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceAddressBindingFlagsEXT allFlags = DeviceAddressBindingFlagBitsEXT::eInternalObject;
6147 };
6148
6149 enum class DeviceAddressBindingTypeEXT
6150 {
6151 eBind = VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT,
6152 eUnbind = VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT
6153 };
6154
6155#if defined( VK_USE_PLATFORM_FUCHSIA )
6156 //=== VK_FUCHSIA_buffer_collection ===
6157
6158 enum class ImageConstraintsInfoFlagBitsFUCHSIA : VkImageConstraintsInfoFlagsFUCHSIA
6159 {
6160 eCpuReadRarely = VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA,
6161 eCpuReadOften = VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA,
6162 eCpuWriteRarely = VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA,
6163 eCpuWriteOften = VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA,
6164 eProtectedOptional = VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA
6165 };
6166
6167 using ImageConstraintsInfoFlagsFUCHSIA = Flags<ImageConstraintsInfoFlagBitsFUCHSIA>;
6168
6169 template <>
6170 struct FlagTraits<ImageConstraintsInfoFlagBitsFUCHSIA>
6171 {
6172 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6173 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageConstraintsInfoFlagsFUCHSIA allFlags =
6174 ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadRarely | ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadOften |
6175 ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteRarely | ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteOften |
6176 ImageConstraintsInfoFlagBitsFUCHSIA::eProtectedOptional;
6177 };
6178
6179 enum class ImageFormatConstraintsFlagBitsFUCHSIA : VkImageFormatConstraintsFlagsFUCHSIA
6180 {
6181 };
6182
6183 using ImageFormatConstraintsFlagsFUCHSIA = Flags<ImageFormatConstraintsFlagBitsFUCHSIA>;
6184
6185 template <>
6186 struct FlagTraits<ImageFormatConstraintsFlagBitsFUCHSIA>
6187 {
6188 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6189 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageFormatConstraintsFlagsFUCHSIA allFlags = {};
6190 };
6191#endif /*VK_USE_PLATFORM_FUCHSIA*/
6192
6193#if defined( VK_USE_PLATFORM_SCREEN_QNX )
6194 //=== VK_QNX_screen_surface ===
6195
6196 enum class ScreenSurfaceCreateFlagBitsQNX : VkScreenSurfaceCreateFlagsQNX
6197 {
6198 };
6199
6200 using ScreenSurfaceCreateFlagsQNX = Flags<ScreenSurfaceCreateFlagBitsQNX>;
6201
6202 template <>
6203 struct FlagTraits<ScreenSurfaceCreateFlagBitsQNX>
6204 {
6205 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6206 static VULKAN_HPP_CONST_OR_CONSTEXPR ScreenSurfaceCreateFlagsQNX allFlags = {};
6207 };
6208#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
6209
6210 //=== VK_EXT_opacity_micromap ===
6211
6212 enum class MicromapTypeEXT
6213 {
6214 eOpacityMicromap = VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT,
6215#if defined( VK_ENABLE_BETA_EXTENSIONS )
6216 eDisplacementMicromapNV = VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV
6217#endif /*VK_ENABLE_BETA_EXTENSIONS*/
6218 };
6219
6220 enum class BuildMicromapFlagBitsEXT : VkBuildMicromapFlagsEXT
6221 {
6222 ePreferFastTrace = VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT,
6223 ePreferFastBuild = VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT,
6224 eAllowCompaction = VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT
6225 };
6226
6227 using BuildMicromapFlagsEXT = Flags<BuildMicromapFlagBitsEXT>;
6228
6229 template <>
6230 struct FlagTraits<BuildMicromapFlagBitsEXT>
6231 {
6232 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6233 static VULKAN_HPP_CONST_OR_CONSTEXPR BuildMicromapFlagsEXT allFlags =
6234 BuildMicromapFlagBitsEXT::ePreferFastTrace | BuildMicromapFlagBitsEXT::ePreferFastBuild | BuildMicromapFlagBitsEXT::eAllowCompaction;
6235 };
6236
6237 enum class CopyMicromapModeEXT
6238 {
6239 eClone = VK_COPY_MICROMAP_MODE_CLONE_EXT,
6240 eSerialize = VK_COPY_MICROMAP_MODE_SERIALIZE_EXT,
6241 eDeserialize = VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT,
6242 eCompact = VK_COPY_MICROMAP_MODE_COMPACT_EXT
6243 };
6244
6245 enum class MicromapCreateFlagBitsEXT : VkMicromapCreateFlagsEXT
6246 {
6247 eDeviceAddressCaptureReplay = VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT
6248 };
6249
6250 using MicromapCreateFlagsEXT = Flags<MicromapCreateFlagBitsEXT>;
6251
6252 template <>
6253 struct FlagTraits<MicromapCreateFlagBitsEXT>
6254 {
6255 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6256 static VULKAN_HPP_CONST_OR_CONSTEXPR MicromapCreateFlagsEXT allFlags = MicromapCreateFlagBitsEXT::eDeviceAddressCaptureReplay;
6257 };
6258
6259 enum class BuildMicromapModeEXT
6260 {
6261 eBuild = VK_BUILD_MICROMAP_MODE_BUILD_EXT
6262 };
6263
6264 enum class OpacityMicromapFormatEXT
6265 {
6266 e2State = VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT,
6267 e4State = VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT
6268 };
6269
6270 enum class OpacityMicromapSpecialIndexEXT
6271 {
6272 eFullyTransparent = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT,
6273 eFullyOpaque = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT,
6274 eFullyUnknownTransparent = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT,
6275 eFullyUnknownOpaque = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT
6276 };
6277
6278#if defined( VK_ENABLE_BETA_EXTENSIONS )
6279 //=== VK_NV_displacement_micromap ===
6280
6281 enum class DisplacementMicromapFormatNV
6282 {
6283 e64Triangles64Bytes = VK_DISPLACEMENT_MICROMAP_FORMAT_64_TRIANGLES_64_BYTES_NV,
6284 e256Triangles128Bytes = VK_DISPLACEMENT_MICROMAP_FORMAT_256_TRIANGLES_128_BYTES_NV,
6285 e1024Triangles128Bytes = VK_DISPLACEMENT_MICROMAP_FORMAT_1024_TRIANGLES_128_BYTES_NV
6286 };
6287#endif /*VK_ENABLE_BETA_EXTENSIONS*/
6288
6289 //=== VK_NV_memory_decompression ===
6290
6291 enum class MemoryDecompressionMethodFlagBitsNV : VkMemoryDecompressionMethodFlagsNV
6292 {
6293 eGdeflate10 = VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV
6294 };
6295
6296 using MemoryDecompressionMethodFlagsNV = Flags<MemoryDecompressionMethodFlagBitsNV>;
6297
6298 template <>
6299 struct FlagTraits<MemoryDecompressionMethodFlagBitsNV>
6300 {
6301 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6302 static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryDecompressionMethodFlagsNV allFlags = MemoryDecompressionMethodFlagBitsNV::eGdeflate10;
6303 };
6304
6305 //=== VK_EXT_subpass_merge_feedback ===
6306
6307 enum class SubpassMergeStatusEXT
6308 {
6309 eMerged = VK_SUBPASS_MERGE_STATUS_MERGED_EXT,
6310 eDisallowed = VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT,
6311 eNotMergedSideEffects = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT,
6312 eNotMergedSamplesMismatch = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT,
6313 eNotMergedViewsMismatch = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT,
6314 eNotMergedAliasing = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT,
6315 eNotMergedDependencies = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT,
6316 eNotMergedIncompatibleInputAttachment = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT,
6317 eNotMergedTooManyAttachments = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT,
6318 eNotMergedInsufficientStorage = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT,
6319 eNotMergedDepthStencilCount = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT,
6320 eNotMergedResolveAttachmentReuse = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT,
6321 eNotMergedSingleSubpass = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT,
6322 eNotMergedUnspecified = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT
6323 };
6324
6325 //=== VK_LUNARG_direct_driver_loading ===
6326
6327 enum class DirectDriverLoadingModeLUNARG
6328 {
6329 eExclusive = VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG,
6330 eInclusive = VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG
6331 };
6332
6333 enum class DirectDriverLoadingFlagBitsLUNARG : VkDirectDriverLoadingFlagsLUNARG
6334 {
6335 };
6336
6337 using DirectDriverLoadingFlagsLUNARG = Flags<DirectDriverLoadingFlagBitsLUNARG>;
6338
6339 template <>
6340 struct FlagTraits<DirectDriverLoadingFlagBitsLUNARG>
6341 {
6342 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6343 static VULKAN_HPP_CONST_OR_CONSTEXPR DirectDriverLoadingFlagsLUNARG allFlags = {};
6344 };
6345
6346 //=== VK_EXT_rasterization_order_attachment_access ===
6347
6348 enum class PipelineColorBlendStateCreateFlagBits : VkPipelineColorBlendStateCreateFlags
6349 {
6350 eRasterizationOrderAttachmentAccessARM = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM,
6351 eRasterizationOrderAttachmentAccessEXT = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT
6352 };
6353
6354 using PipelineColorBlendStateCreateFlags = Flags<PipelineColorBlendStateCreateFlagBits>;
6355
6356 template <>
6357 struct FlagTraits<PipelineColorBlendStateCreateFlagBits>
6358 {
6359 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6360 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineColorBlendStateCreateFlags allFlags =
6361 PipelineColorBlendStateCreateFlagBits::eRasterizationOrderAttachmentAccessEXT;
6362 };
6363
6364 enum class PipelineDepthStencilStateCreateFlagBits : VkPipelineDepthStencilStateCreateFlags
6365 {
6366 eRasterizationOrderAttachmentDepthAccessARM = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM,
6367 eRasterizationOrderAttachmentStencilAccessARM = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM,
6368 eRasterizationOrderAttachmentDepthAccessEXT = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT,
6369 eRasterizationOrderAttachmentStencilAccessEXT = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT
6370 };
6371
6372 using PipelineDepthStencilStateCreateFlags = Flags<PipelineDepthStencilStateCreateFlagBits>;
6373
6374 template <>
6375 struct FlagTraits<PipelineDepthStencilStateCreateFlagBits>
6376 {
6377 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6378 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineDepthStencilStateCreateFlags allFlags =
6379 PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentDepthAccessEXT |
6380 PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentStencilAccessEXT;
6381 };
6382
6383 //=== VK_NV_optical_flow ===
6384
6385 enum class OpticalFlowUsageFlagBitsNV : VkOpticalFlowUsageFlagsNV
6386 {
6387 eUnknown = VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV,
6388 eInput = VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV,
6389 eOutput = VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV,
6390 eHint = VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV,
6391 eCost = VK_OPTICAL_FLOW_USAGE_COST_BIT_NV,
6392 eGlobalFlow = VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV
6393 };
6394
6395 using OpticalFlowUsageFlagsNV = Flags<OpticalFlowUsageFlagBitsNV>;
6396
6397 template <>
6398 struct FlagTraits<OpticalFlowUsageFlagBitsNV>
6399 {
6400 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6401 static VULKAN_HPP_CONST_OR_CONSTEXPR OpticalFlowUsageFlagsNV allFlags = OpticalFlowUsageFlagBitsNV::eUnknown | OpticalFlowUsageFlagBitsNV::eInput |
6402 OpticalFlowUsageFlagBitsNV::eOutput | OpticalFlowUsageFlagBitsNV::eHint |
6403 OpticalFlowUsageFlagBitsNV::eCost | OpticalFlowUsageFlagBitsNV::eGlobalFlow;
6404 };
6405
6406 enum class OpticalFlowGridSizeFlagBitsNV : VkOpticalFlowGridSizeFlagsNV
6407 {
6408 eUnknown = VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV,
6409 e1X1 = VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV,
6410 e2X2 = VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV,
6411 e4X4 = VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV,
6412 e8X8 = VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV
6413 };
6414
6415 using OpticalFlowGridSizeFlagsNV = Flags<OpticalFlowGridSizeFlagBitsNV>;
6416
6417 template <>
6418 struct FlagTraits<OpticalFlowGridSizeFlagBitsNV>
6419 {
6420 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6421 static VULKAN_HPP_CONST_OR_CONSTEXPR OpticalFlowGridSizeFlagsNV allFlags = OpticalFlowGridSizeFlagBitsNV::eUnknown | OpticalFlowGridSizeFlagBitsNV::e1X1 |
6422 OpticalFlowGridSizeFlagBitsNV::e2X2 | OpticalFlowGridSizeFlagBitsNV::e4X4 |
6423 OpticalFlowGridSizeFlagBitsNV::e8X8;
6424 };
6425
6426 enum class OpticalFlowPerformanceLevelNV
6427 {
6428 eUnknown = VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV,
6429 eSlow = VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV,
6430 eMedium = VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV,
6431 eFast = VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV
6432 };
6433
6434 enum class OpticalFlowSessionBindingPointNV
6435 {
6436 eUnknown = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV,
6437 eInput = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV,
6438 eReference = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV,
6439 eHint = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV,
6440 eFlowVector = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV,
6441 eBackwardFlowVector = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV,
6442 eCost = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV,
6443 eBackwardCost = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV,
6444 eGlobalFlow = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV
6445 };
6446
6447 enum class OpticalFlowSessionCreateFlagBitsNV : VkOpticalFlowSessionCreateFlagsNV
6448 {
6449 eEnableHint = VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV,
6450 eEnableCost = VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV,
6451 eEnableGlobalFlow = VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV,
6452 eAllowRegions = VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV,
6453 eBothDirections = VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV
6454 };
6455
6456 using OpticalFlowSessionCreateFlagsNV = Flags<OpticalFlowSessionCreateFlagBitsNV>;
6457
6458 template <>
6459 struct FlagTraits<OpticalFlowSessionCreateFlagBitsNV>
6460 {
6461 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6462 static VULKAN_HPP_CONST_OR_CONSTEXPR OpticalFlowSessionCreateFlagsNV allFlags =
6463 OpticalFlowSessionCreateFlagBitsNV::eEnableHint | OpticalFlowSessionCreateFlagBitsNV::eEnableCost |
6464 OpticalFlowSessionCreateFlagBitsNV::eEnableGlobalFlow | OpticalFlowSessionCreateFlagBitsNV::eAllowRegions |
6465 OpticalFlowSessionCreateFlagBitsNV::eBothDirections;
6466 };
6467
6468 enum class OpticalFlowExecuteFlagBitsNV : VkOpticalFlowExecuteFlagsNV
6469 {
6470 eDisableTemporalHints = VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV
6471 };
6472
6473 using OpticalFlowExecuteFlagsNV = Flags<OpticalFlowExecuteFlagBitsNV>;
6474
6475 template <>
6476 struct FlagTraits<OpticalFlowExecuteFlagBitsNV>
6477 {
6478 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6479 static VULKAN_HPP_CONST_OR_CONSTEXPR OpticalFlowExecuteFlagsNV allFlags = OpticalFlowExecuteFlagBitsNV::eDisableTemporalHints;
6480 };
6481
6482 //=== VK_EXT_shader_object ===
6483
6484 enum class ShaderCreateFlagBitsEXT : VkShaderCreateFlagsEXT
6485 {
6486 eLinkStage = VK_SHADER_CREATE_LINK_STAGE_BIT_EXT,
6487 eAllowVaryingSubgroupSize = VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT,
6488 eRequireFullSubgroups = VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT,
6489 eNoTaskShader = VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT,
6490 eDispatchBase = VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT,
6491 eFragmentShadingRateAttachment = VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT,
6492 eFragmentDensityMapAttachment = VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
6493 };
6494
6495 using ShaderCreateFlagsEXT = Flags<ShaderCreateFlagBitsEXT>;
6496
6497 template <>
6498 struct FlagTraits<ShaderCreateFlagBitsEXT>
6499 {
6500 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6501 static VULKAN_HPP_CONST_OR_CONSTEXPR ShaderCreateFlagsEXT allFlags =
6502 ShaderCreateFlagBitsEXT::eLinkStage | ShaderCreateFlagBitsEXT::eAllowVaryingSubgroupSize | ShaderCreateFlagBitsEXT::eRequireFullSubgroups |
6503 ShaderCreateFlagBitsEXT::eNoTaskShader | ShaderCreateFlagBitsEXT::eDispatchBase | ShaderCreateFlagBitsEXT::eFragmentShadingRateAttachment |
6504 ShaderCreateFlagBitsEXT::eFragmentDensityMapAttachment;
6505 };
6506
6507 enum class ShaderCodeTypeEXT
6508 {
6509 eBinary = VK_SHADER_CODE_TYPE_BINARY_EXT,
6510 eSpirv = VK_SHADER_CODE_TYPE_SPIRV_EXT
6511 };
6512
6513 //=== VK_NV_ray_tracing_invocation_reorder ===
6514
6515 enum class RayTracingInvocationReorderModeNV
6516 {
6517 eNone = VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV,
6518 eReorder = VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV
6519 };
6520
6521 //=========================
6522 //=== Index Type Traits ===
6523 //=========================
6524
6525 template <typename T>
6526 struct IndexTypeValue
6527 {
6528 };
6529
6530 template <>
6531 struct IndexTypeValue<uint16_t>
6532 {
6533 static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint16;
6534 };
6535
6536 template <>
6537 struct CppType<IndexType, IndexType::eUint16>
6538 {
6539 using Type = uint16_t;
6540 };
6541
6542 template <>
6543 struct IndexTypeValue<uint32_t>
6544 {
6545 static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint32;
6546 };
6547
6548 template <>
6549 struct CppType<IndexType, IndexType::eUint32>
6550 {
6551 using Type = uint32_t;
6552 };
6553
6554 template <>
6555 struct IndexTypeValue<uint8_t>
6556 {
6557 static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint8EXT;
6558 };
6559
6560 template <>
6561 struct CppType<IndexType, IndexType::eUint8EXT>
6562 {
6563 using Type = uint8_t;
6564 };
6565
6566} // namespace VULKAN_HPP_NAMESPACE
6567#endif
6568

Provided by KDAB

Privacy Policy
Learn more about Flutter for embedded and desktop on industrialflutter.com

source code of flutter_engine/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_enums.hpp