comparison fuhtark_test/Vulkan-Headers-1.4.334/include/vulkan/vulkan_enums.hpp @ 1501:f40d9d814c08 default tip

did: correct vulkan-api generator
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 23:34:29 +0700
parents
children
comparison
equal deleted inserted replaced
1500:91c8c3b7cbf0 1501:f40d9d814c08
1 // Copyright 2015-2025 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
11 // include-what-you-use: make sure, vulkan.hpp is used by code-completers
12 // IWYU pragma: private, include "vulkan/vulkan.hpp"
13
14 #if !defined( VULKAN_HPP_CXX_MODULE )
15 # include <type_traits> // for std::underlying_type
16 #endif
17
18 namespace VULKAN_HPP_NAMESPACE
19 {
20 template <typename FlagBitsType>
21 struct FlagTraits
22 {
23 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = false;
24 };
25
26 template <typename BitType>
27 class Flags
28 {
29 public:
30 using BitsType = BitType;
31 using MaskType = typename std::underlying_type<BitType>::type;
32
33 // constructors
34 VULKAN_HPP_CONSTEXPR Flags() VULKAN_HPP_NOEXCEPT : m_mask( 0 ) {}
35
36 VULKAN_HPP_CONSTEXPR Flags( BitType bit ) VULKAN_HPP_NOEXCEPT : m_mask( static_cast<MaskType>( bit ) ) {}
37
38 VULKAN_HPP_CONSTEXPR Flags( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT = default;
39
40 VULKAN_HPP_CONSTEXPR explicit Flags( MaskType flags ) VULKAN_HPP_NOEXCEPT : m_mask( flags ) {}
41
42 // relational operators
43 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
44 auto operator<=>( Flags<BitType> const & ) const = default;
45 #else
46 VULKAN_HPP_CONSTEXPR bool operator<( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
47 {
48 return m_mask < rhs.m_mask;
49 }
50
51 VULKAN_HPP_CONSTEXPR bool operator<=( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
52 {
53 return m_mask <= rhs.m_mask;
54 }
55
56 VULKAN_HPP_CONSTEXPR bool operator>( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
57 {
58 return m_mask > rhs.m_mask;
59 }
60
61 VULKAN_HPP_CONSTEXPR bool operator>=( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
62 {
63 return m_mask >= rhs.m_mask;
64 }
65
66 VULKAN_HPP_CONSTEXPR bool operator==( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
67 {
68 return m_mask == rhs.m_mask;
69 }
70
71 VULKAN_HPP_CONSTEXPR bool operator!=( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
72 {
73 return m_mask != rhs.m_mask;
74 }
75 #endif
76
77 // logical operator
78 VULKAN_HPP_CONSTEXPR bool operator!() const VULKAN_HPP_NOEXCEPT
79 {
80 return !m_mask;
81 }
82
83 // bitwise operators
84 VULKAN_HPP_CONSTEXPR Flags<BitType> operator&( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
85 {
86 return Flags<BitType>( m_mask & rhs.m_mask );
87 }
88
89 VULKAN_HPP_CONSTEXPR Flags<BitType> operator|( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
90 {
91 return Flags<BitType>( m_mask | rhs.m_mask );
92 }
93
94 VULKAN_HPP_CONSTEXPR Flags<BitType> operator^( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
95 {
96 return Flags<BitType>( m_mask ^ rhs.m_mask );
97 }
98
99 VULKAN_HPP_CONSTEXPR Flags<BitType> operator~() const VULKAN_HPP_NOEXCEPT
100 {
101 return Flags<BitType>( m_mask ^ FlagTraits<BitType>::allFlags.m_mask );
102 }
103
104 // assignment operators
105 VULKAN_HPP_CONSTEXPR_14 Flags<BitType> & operator=( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT = default;
106
107 VULKAN_HPP_CONSTEXPR_14 Flags<BitType> & operator|=( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT
108 {
109 m_mask |= rhs.m_mask;
110 return *this;
111 }
112
113 VULKAN_HPP_CONSTEXPR_14 Flags<BitType> & operator&=( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT
114 {
115 m_mask &= rhs.m_mask;
116 return *this;
117 }
118
119 VULKAN_HPP_CONSTEXPR_14 Flags<BitType> & operator^=( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT
120 {
121 m_mask ^= rhs.m_mask;
122 return *this;
123 }
124
125 // cast operators
126 explicit VULKAN_HPP_CONSTEXPR operator bool() const VULKAN_HPP_NOEXCEPT
127 {
128 return !!m_mask;
129 }
130
131 explicit VULKAN_HPP_CONSTEXPR operator MaskType() const VULKAN_HPP_NOEXCEPT
132 {
133 return m_mask;
134 }
135
136 #if defined( VULKAN_HPP_FLAGS_MASK_TYPE_AS_PUBLIC )
137 public:
138 #else
139 private:
140 #endif
141 MaskType m_mask;
142 };
143
144 #if !defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
145 // relational operators only needed for pre C++20
146 template <typename BitType>
147 VULKAN_HPP_CONSTEXPR bool operator<( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
148 {
149 return flags.operator>( bit );
150 }
151
152 template <typename BitType>
153 VULKAN_HPP_CONSTEXPR bool operator<=( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
154 {
155 return flags.operator>=( bit );
156 }
157
158 template <typename BitType>
159 VULKAN_HPP_CONSTEXPR bool operator>( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
160 {
161 return flags.operator<( bit );
162 }
163
164 template <typename BitType>
165 VULKAN_HPP_CONSTEXPR bool operator>=( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
166 {
167 return flags.operator<=( bit );
168 }
169
170 template <typename BitType>
171 VULKAN_HPP_CONSTEXPR bool operator==( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
172 {
173 return flags.operator==( bit );
174 }
175
176 template <typename BitType>
177 VULKAN_HPP_CONSTEXPR bool operator!=( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
178 {
179 return flags.operator!=( bit );
180 }
181 #endif
182
183 // bitwise operators
184 template <typename BitType>
185 VULKAN_HPP_CONSTEXPR Flags<BitType> operator&( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
186 {
187 return flags.operator&( bit );
188 }
189
190 template <typename BitType>
191 VULKAN_HPP_CONSTEXPR Flags<BitType> operator|( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
192 {
193 return flags.operator|( bit );
194 }
195
196 template <typename BitType>
197 VULKAN_HPP_CONSTEXPR Flags<BitType> operator^( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
198 {
199 return flags.operator^( bit );
200 }
201
202 // bitwise operators on BitType
203 template <typename BitType, typename std::enable_if<FlagTraits<BitType>::isBitmask, bool>::type = true>
204 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR Flags<BitType> operator&( BitType lhs, BitType rhs ) VULKAN_HPP_NOEXCEPT
205 {
206 return Flags<BitType>( lhs ) & rhs;
207 }
208
209 template <typename BitType, typename std::enable_if<FlagTraits<BitType>::isBitmask, bool>::type = true>
210 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR Flags<BitType> operator|( BitType lhs, BitType rhs ) VULKAN_HPP_NOEXCEPT
211 {
212 return Flags<BitType>( lhs ) | rhs;
213 }
214
215 template <typename BitType, typename std::enable_if<FlagTraits<BitType>::isBitmask, bool>::type = true>
216 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR Flags<BitType> operator^( BitType lhs, BitType rhs ) VULKAN_HPP_NOEXCEPT
217 {
218 return Flags<BitType>( lhs ) ^ rhs;
219 }
220
221 template <typename BitType, typename std::enable_if<FlagTraits<BitType>::isBitmask, bool>::type = true>
222 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR Flags<BitType> operator~( BitType bit ) VULKAN_HPP_NOEXCEPT
223 {
224 return ~( Flags<BitType>( bit ) );
225 }
226
227 //=============
228 //=== ENUMs ===
229 //=============
230
231 //=== VK_VERSION_1_0 ===
232
233 // wrapper class for enum VkResult, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkResult.html
234 enum class Result
235 {
236 eSuccess = VK_SUCCESS,
237 eNotReady = VK_NOT_READY,
238 eTimeout = VK_TIMEOUT,
239 eEventSet = VK_EVENT_SET,
240 eEventReset = VK_EVENT_RESET,
241 eIncomplete = VK_INCOMPLETE,
242 eErrorOutOfHostMemory = VK_ERROR_OUT_OF_HOST_MEMORY,
243 eErrorOutOfDeviceMemory = VK_ERROR_OUT_OF_DEVICE_MEMORY,
244 eErrorInitializationFailed = VK_ERROR_INITIALIZATION_FAILED,
245 eErrorDeviceLost = VK_ERROR_DEVICE_LOST,
246 eErrorMemoryMapFailed = VK_ERROR_MEMORY_MAP_FAILED,
247 eErrorLayerNotPresent = VK_ERROR_LAYER_NOT_PRESENT,
248 eErrorExtensionNotPresent = VK_ERROR_EXTENSION_NOT_PRESENT,
249 eErrorFeatureNotPresent = VK_ERROR_FEATURE_NOT_PRESENT,
250 eErrorIncompatibleDriver = VK_ERROR_INCOMPATIBLE_DRIVER,
251 eErrorTooManyObjects = VK_ERROR_TOO_MANY_OBJECTS,
252 eErrorFormatNotSupported = VK_ERROR_FORMAT_NOT_SUPPORTED,
253 eErrorFragmentedPool = VK_ERROR_FRAGMENTED_POOL,
254 eErrorUnknown = VK_ERROR_UNKNOWN,
255 eErrorValidationFailed = VK_ERROR_VALIDATION_FAILED,
256 eErrorValidationFailedEXT = VK_ERROR_VALIDATION_FAILED_EXT,
257 eErrorOutOfPoolMemory = VK_ERROR_OUT_OF_POOL_MEMORY,
258 eErrorOutOfPoolMemoryKHR = VK_ERROR_OUT_OF_POOL_MEMORY_KHR,
259 eErrorInvalidExternalHandle = VK_ERROR_INVALID_EXTERNAL_HANDLE,
260 eErrorInvalidExternalHandleKHR = VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR,
261 eErrorInvalidOpaqueCaptureAddress = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
262 eErrorInvalidDeviceAddressEXT = VK_ERROR_INVALID_DEVICE_ADDRESS_EXT,
263 eErrorInvalidOpaqueCaptureAddressKHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR,
264 eErrorFragmentation = VK_ERROR_FRAGMENTATION,
265 eErrorFragmentationEXT = VK_ERROR_FRAGMENTATION_EXT,
266 ePipelineCompileRequired = VK_PIPELINE_COMPILE_REQUIRED,
267 ePipelineCompileRequiredEXT = VK_PIPELINE_COMPILE_REQUIRED_EXT,
268 eErrorPipelineCompileRequiredEXT = VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT,
269 eErrorNotPermitted = VK_ERROR_NOT_PERMITTED,
270 eErrorNotPermittedEXT = VK_ERROR_NOT_PERMITTED_EXT,
271 eErrorNotPermittedKHR = VK_ERROR_NOT_PERMITTED_KHR,
272 eErrorSurfaceLostKHR = VK_ERROR_SURFACE_LOST_KHR,
273 eErrorNativeWindowInUseKHR = VK_ERROR_NATIVE_WINDOW_IN_USE_KHR,
274 eSuboptimalKHR = VK_SUBOPTIMAL_KHR,
275 eErrorOutOfDateKHR = VK_ERROR_OUT_OF_DATE_KHR,
276 eErrorIncompatibleDisplayKHR = VK_ERROR_INCOMPATIBLE_DISPLAY_KHR,
277 eErrorInvalidShaderNV = VK_ERROR_INVALID_SHADER_NV,
278 eErrorImageUsageNotSupportedKHR = VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR,
279 eErrorVideoPictureLayoutNotSupportedKHR = VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR,
280 eErrorVideoProfileOperationNotSupportedKHR = VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR,
281 eErrorVideoProfileFormatNotSupportedKHR = VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR,
282 eErrorVideoProfileCodecNotSupportedKHR = VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR,
283 eErrorVideoStdVersionNotSupportedKHR = VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR,
284 eErrorInvalidDrmFormatModifierPlaneLayoutEXT = VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT,
285 #if defined( VK_USE_PLATFORM_WIN32_KHR )
286 eErrorFullScreenExclusiveModeLostEXT = VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT,
287 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
288 eThreadIdleKHR = VK_THREAD_IDLE_KHR,
289 eThreadDoneKHR = VK_THREAD_DONE_KHR,
290 eOperationDeferredKHR = VK_OPERATION_DEFERRED_KHR,
291 eOperationNotDeferredKHR = VK_OPERATION_NOT_DEFERRED_KHR,
292 eErrorInvalidVideoStdParametersKHR = VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR,
293 eErrorCompressionExhaustedEXT = VK_ERROR_COMPRESSION_EXHAUSTED_EXT,
294 eIncompatibleShaderBinaryEXT = VK_INCOMPATIBLE_SHADER_BINARY_EXT,
295 eErrorIncompatibleShaderBinaryEXT = VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT,
296 ePipelineBinaryMissingKHR = VK_PIPELINE_BINARY_MISSING_KHR,
297 eErrorNotEnoughSpaceKHR = VK_ERROR_NOT_ENOUGH_SPACE_KHR
298 };
299
300 // wrapper class for enum VkStructureType, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkStructureType.html
301 enum class StructureType
302 {
303 eApplicationInfo = VK_STRUCTURE_TYPE_APPLICATION_INFO,
304 eInstanceCreateInfo = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
305 eDeviceQueueCreateInfo = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,
306 eDeviceCreateInfo = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,
307 eSubmitInfo = VK_STRUCTURE_TYPE_SUBMIT_INFO,
308 eMemoryAllocateInfo = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO,
309 eMappedMemoryRange = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE,
310 eBindSparseInfo = VK_STRUCTURE_TYPE_BIND_SPARSE_INFO,
311 eFenceCreateInfo = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
312 eSemaphoreCreateInfo = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
313 eEventCreateInfo = VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
314 eQueryPoolCreateInfo = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO,
315 eBufferCreateInfo = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO,
316 eBufferViewCreateInfo = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO,
317 eImageCreateInfo = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO,
318 eImageViewCreateInfo = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,
319 eShaderModuleCreateInfo = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO,
320 ePipelineCacheCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO,
321 ePipelineShaderStageCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO,
322 ePipelineVertexInputStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,
323 ePipelineInputAssemblyStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,
324 ePipelineTessellationStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO,
325 ePipelineViewportStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO,
326 ePipelineRasterizationStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
327 ePipelineMultisampleStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,
328 ePipelineDepthStencilStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO,
329 ePipelineColorBlendStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,
330 ePipelineDynamicStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO,
331 eGraphicsPipelineCreateInfo = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO,
332 eComputePipelineCreateInfo = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO,
333 ePipelineLayoutCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,
334 eSamplerCreateInfo = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO,
335 eDescriptorSetLayoutCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
336 eDescriptorPoolCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
337 eDescriptorSetAllocateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO,
338 eWriteDescriptorSet = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET,
339 eCopyDescriptorSet = VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET,
340 eFramebufferCreateInfo = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO,
341 eRenderPassCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO,
342 eCommandPoolCreateInfo = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,
343 eCommandBufferAllocateInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,
344 eCommandBufferInheritanceInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO,
345 eCommandBufferBeginInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
346 eRenderPassBeginInfo = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO,
347 eBufferMemoryBarrier = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER,
348 eImageMemoryBarrier = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,
349 eMemoryBarrier = VK_STRUCTURE_TYPE_MEMORY_BARRIER,
350 eLoaderInstanceCreateInfo = VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO,
351 eLoaderDeviceCreateInfo = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,
352 eBindBufferMemoryInfo = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
353 eBindBufferMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR,
354 eBindImageMemoryInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
355 eBindImageMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR,
356 eMemoryDedicatedRequirements = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
357 eMemoryDedicatedRequirementsKHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR,
358 eMemoryDedicatedAllocateInfo = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
359 eMemoryDedicatedAllocateInfoKHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR,
360 eMemoryAllocateFlagsInfo = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
361 eMemoryAllocateFlagsInfoKHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR,
362 eDeviceGroupCommandBufferBeginInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
363 eDeviceGroupCommandBufferBeginInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR,
364 eDeviceGroupSubmitInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
365 eDeviceGroupSubmitInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR,
366 eDeviceGroupBindSparseInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
367 eDeviceGroupBindSparseInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR,
368 eBindBufferMemoryDeviceGroupInfo = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
369 eBindBufferMemoryDeviceGroupInfoKHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR,
370 eBindImageMemoryDeviceGroupInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
371 eBindImageMemoryDeviceGroupInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR,
372 ePhysicalDeviceGroupProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
373 ePhysicalDeviceGroupPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR,
374 eDeviceGroupDeviceCreateInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
375 eDeviceGroupDeviceCreateInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR,
376 eBufferMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
377 eBufferMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR,
378 eImageMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
379 eImageMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR,
380 eImageSparseMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
381 eImageSparseMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR,
382 eMemoryRequirements2 = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
383 eMemoryRequirements2KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR,
384 eSparseImageMemoryRequirements2 = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
385 eSparseImageMemoryRequirements2KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR,
386 ePhysicalDeviceFeatures2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
387 ePhysicalDeviceFeatures2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR,
388 ePhysicalDeviceProperties2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
389 ePhysicalDeviceProperties2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR,
390 eFormatProperties2 = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
391 eFormatProperties2KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR,
392 eImageFormatProperties2 = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
393 eImageFormatProperties2KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR,
394 ePhysicalDeviceImageFormatInfo2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
395 ePhysicalDeviceImageFormatInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR,
396 eQueueFamilyProperties2 = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
397 eQueueFamilyProperties2KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR,
398 ePhysicalDeviceMemoryProperties2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
399 ePhysicalDeviceMemoryProperties2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR,
400 eSparseImageFormatProperties2 = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
401 eSparseImageFormatProperties2KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR,
402 ePhysicalDeviceSparseImageFormatInfo2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
403 ePhysicalDeviceSparseImageFormatInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR,
404 eImageViewUsageCreateInfo = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
405 eImageViewUsageCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR,
406 eProtectedSubmitInfo = VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO,
407 ePhysicalDeviceProtectedMemoryFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,
408 ePhysicalDeviceProtectedMemoryProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES,
409 eDeviceQueueInfo2 = VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2,
410 ePhysicalDeviceExternalImageFormatInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
411 ePhysicalDeviceExternalImageFormatInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR,
412 eExternalImageFormatProperties = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
413 eExternalImageFormatPropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR,
414 ePhysicalDeviceExternalBufferInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
415 ePhysicalDeviceExternalBufferInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR,
416 eExternalBufferProperties = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
417 eExternalBufferPropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR,
418 ePhysicalDeviceIdProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
419 ePhysicalDeviceIdPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR,
420 eExternalMemoryBufferCreateInfo = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
421 eExternalMemoryBufferCreateInfoKHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR,
422 eExternalMemoryImageCreateInfo = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
423 eExternalMemoryImageCreateInfoKHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR,
424 eExportMemoryAllocateInfo = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
425 eExportMemoryAllocateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR,
426 ePhysicalDeviceExternalFenceInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
427 ePhysicalDeviceExternalFenceInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR,
428 eExternalFenceProperties = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
429 eExternalFencePropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR,
430 eExportFenceCreateInfo = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
431 eExportFenceCreateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR,
432 eExportSemaphoreCreateInfo = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
433 eExportSemaphoreCreateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR,
434 ePhysicalDeviceExternalSemaphoreInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
435 ePhysicalDeviceExternalSemaphoreInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR,
436 eExternalSemaphoreProperties = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
437 eExternalSemaphorePropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR,
438 ePhysicalDeviceSubgroupProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES,
439 ePhysicalDevice16BitStorageFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
440 ePhysicalDevice16BitStorageFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR,
441 ePhysicalDeviceVariablePointersFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
442 ePhysicalDeviceVariablePointerFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,
443 ePhysicalDeviceVariablePointersFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
444 ePhysicalDeviceVariablePointerFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR,
445 eDescriptorUpdateTemplateCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
446 eDescriptorUpdateTemplateCreateInfoKHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR,
447 ePhysicalDeviceMaintenance3Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
448 ePhysicalDeviceMaintenance3PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR,
449 eDescriptorSetLayoutSupport = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
450 eDescriptorSetLayoutSupportKHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR,
451 eSamplerYcbcrConversionCreateInfo = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
452 eSamplerYcbcrConversionCreateInfoKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR,
453 eSamplerYcbcrConversionInfo = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
454 eSamplerYcbcrConversionInfoKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR,
455 eBindImagePlaneMemoryInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
456 eBindImagePlaneMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR,
457 eImagePlaneMemoryRequirementsInfo = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
458 eImagePlaneMemoryRequirementsInfoKHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR,
459 ePhysicalDeviceSamplerYcbcrConversionFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
460 ePhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR,
461 eSamplerYcbcrConversionImageFormatProperties = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
462 eSamplerYcbcrConversionImageFormatPropertiesKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR,
463 eDeviceGroupRenderPassBeginInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
464 eDeviceGroupRenderPassBeginInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR,
465 ePhysicalDevicePointClippingProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
466 ePhysicalDevicePointClippingPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR,
467 eRenderPassInputAttachmentAspectCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
468 eRenderPassInputAttachmentAspectCreateInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR,
469 ePipelineTessellationDomainOriginStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
470 ePipelineTessellationDomainOriginStateCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR,
471 eRenderPassMultiviewCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
472 eRenderPassMultiviewCreateInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR,
473 ePhysicalDeviceMultiviewFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
474 ePhysicalDeviceMultiviewFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR,
475 ePhysicalDeviceMultiviewProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
476 ePhysicalDeviceMultiviewPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR,
477 ePhysicalDeviceShaderDrawParametersFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
478 ePhysicalDeviceShaderDrawParameterFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES,
479 ePhysicalDeviceVulkan11Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES,
480 ePhysicalDeviceVulkan11Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES,
481 ePhysicalDeviceVulkan12Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES,
482 ePhysicalDeviceVulkan12Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES,
483 eImageFormatListCreateInfo = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
484 eImageFormatListCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR,
485 ePhysicalDeviceDriverProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
486 ePhysicalDeviceDriverPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR,
487 ePhysicalDeviceVulkanMemoryModelFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
488 ePhysicalDeviceVulkanMemoryModelFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR,
489 ePhysicalDeviceHostQueryResetFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
490 ePhysicalDeviceHostQueryResetFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT,
491 ePhysicalDeviceTimelineSemaphoreFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
492 ePhysicalDeviceTimelineSemaphoreFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR,
493 ePhysicalDeviceTimelineSemaphoreProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
494 ePhysicalDeviceTimelineSemaphorePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR,
495 eSemaphoreTypeCreateInfo = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
496 eSemaphoreTypeCreateInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR,
497 eTimelineSemaphoreSubmitInfo = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
498 eTimelineSemaphoreSubmitInfoKHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR,
499 eSemaphoreWaitInfo = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
500 eSemaphoreWaitInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR,
501 eSemaphoreSignalInfo = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
502 eSemaphoreSignalInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR,
503 ePhysicalDeviceBufferDeviceAddressFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
504 ePhysicalDeviceBufferDeviceAddressFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR,
505 eBufferDeviceAddressInfo = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
506 eBufferDeviceAddressInfoEXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT,
507 eBufferDeviceAddressInfoKHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR,
508 eBufferOpaqueCaptureAddressCreateInfo = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
509 eBufferOpaqueCaptureAddressCreateInfoKHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR,
510 eMemoryOpaqueCaptureAddressAllocateInfo = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
511 eMemoryOpaqueCaptureAddressAllocateInfoKHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR,
512 eDeviceMemoryOpaqueCaptureAddressInfo = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
513 eDeviceMemoryOpaqueCaptureAddressInfoKHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR,
514 ePhysicalDevice8BitStorageFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
515 ePhysicalDevice8BitStorageFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR,
516 ePhysicalDeviceShaderAtomicInt64Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
517 ePhysicalDeviceShaderAtomicInt64FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR,
518 ePhysicalDeviceShaderFloat16Int8Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
519 ePhysicalDeviceShaderFloat16Int8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR,
520 ePhysicalDeviceFloat16Int8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR,
521 ePhysicalDeviceFloatControlsProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
522 ePhysicalDeviceFloatControlsPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR,
523 eDescriptorSetLayoutBindingFlagsCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
524 eDescriptorSetLayoutBindingFlagsCreateInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT,
525 ePhysicalDeviceDescriptorIndexingFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
526 ePhysicalDeviceDescriptorIndexingFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT,
527 ePhysicalDeviceDescriptorIndexingProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
528 ePhysicalDeviceDescriptorIndexingPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT,
529 eDescriptorSetVariableDescriptorCountAllocateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
530 eDescriptorSetVariableDescriptorCountAllocateInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT,
531 eDescriptorSetVariableDescriptorCountLayoutSupport = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
532 eDescriptorSetVariableDescriptorCountLayoutSupportEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT,
533 ePhysicalDeviceScalarBlockLayoutFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
534 ePhysicalDeviceScalarBlockLayoutFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT,
535 ePhysicalDeviceSamplerFilterMinmaxProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
536 ePhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT,
537 eSamplerReductionModeCreateInfo = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
538 eSamplerReductionModeCreateInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT,
539 ePhysicalDeviceUniformBufferStandardLayoutFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
540 ePhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR,
541 ePhysicalDeviceShaderSubgroupExtendedTypesFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
542 ePhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR,
543 eAttachmentDescription2 = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
544 eAttachmentDescription2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR,
545 eAttachmentReference2 = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
546 eAttachmentReference2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR,
547 eSubpassDescription2 = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
548 eSubpassDescription2KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR,
549 eSubpassDependency2 = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
550 eSubpassDependency2KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR,
551 eRenderPassCreateInfo2 = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
552 eRenderPassCreateInfo2KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR,
553 eSubpassBeginInfo = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
554 eSubpassBeginInfoKHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR,
555 eSubpassEndInfo = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
556 eSubpassEndInfoKHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR,
557 ePhysicalDeviceDepthStencilResolveProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
558 ePhysicalDeviceDepthStencilResolvePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR,
559 eSubpassDescriptionDepthStencilResolve = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
560 eSubpassDescriptionDepthStencilResolveKHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR,
561 eImageStencilUsageCreateInfo = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
562 eImageStencilUsageCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT,
563 ePhysicalDeviceImagelessFramebufferFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
564 ePhysicalDeviceImagelessFramebufferFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR,
565 eFramebufferAttachmentsCreateInfo = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
566 eFramebufferAttachmentsCreateInfoKHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR,
567 eFramebufferAttachmentImageInfo = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
568 eFramebufferAttachmentImageInfoKHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR,
569 eRenderPassAttachmentBeginInfo = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
570 eRenderPassAttachmentBeginInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR,
571 ePhysicalDeviceSeparateDepthStencilLayoutsFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
572 ePhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR,
573 eAttachmentReferenceStencilLayout = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
574 eAttachmentReferenceStencilLayoutKHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR,
575 eAttachmentDescriptionStencilLayout = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
576 eAttachmentDescriptionStencilLayoutKHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR,
577 ePhysicalDeviceVulkan13Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES,
578 ePhysicalDeviceVulkan13Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES,
579 ePhysicalDeviceToolProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES,
580 ePhysicalDeviceToolPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT,
581 ePhysicalDevicePrivateDataFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES,
582 ePhysicalDevicePrivateDataFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT,
583 eDevicePrivateDataCreateInfo = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO,
584 eDevicePrivateDataCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT,
585 ePrivateDataSlotCreateInfo = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO,
586 ePrivateDataSlotCreateInfoEXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT,
587 eMemoryBarrier2 = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2,
588 eMemoryBarrier2KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR,
589 eBufferMemoryBarrier2 = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2,
590 eBufferMemoryBarrier2KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR,
591 eImageMemoryBarrier2 = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2,
592 eImageMemoryBarrier2KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR,
593 eDependencyInfo = VK_STRUCTURE_TYPE_DEPENDENCY_INFO,
594 eDependencyInfoKHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR,
595 eSubmitInfo2 = VK_STRUCTURE_TYPE_SUBMIT_INFO_2,
596 eSubmitInfo2KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR,
597 eSemaphoreSubmitInfo = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO,
598 eSemaphoreSubmitInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR,
599 eCommandBufferSubmitInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO,
600 eCommandBufferSubmitInfoKHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR,
601 ePhysicalDeviceSynchronization2Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES,
602 ePhysicalDeviceSynchronization2FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR,
603 eCopyBufferInfo2 = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2,
604 eCopyBufferInfo2KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR,
605 eCopyImageInfo2 = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2,
606 eCopyImageInfo2KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR,
607 eCopyBufferToImageInfo2 = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2,
608 eCopyBufferToImageInfo2KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR,
609 eCopyImageToBufferInfo2 = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2,
610 eCopyImageToBufferInfo2KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR,
611 eBufferCopy2 = VK_STRUCTURE_TYPE_BUFFER_COPY_2,
612 eBufferCopy2KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR,
613 eImageCopy2 = VK_STRUCTURE_TYPE_IMAGE_COPY_2,
614 eImageCopy2KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR,
615 eBufferImageCopy2 = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2,
616 eBufferImageCopy2KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR,
617 ePhysicalDeviceTextureCompressionAstcHdrFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES,
618 ePhysicalDeviceTextureCompressionAstcHdrFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT,
619 eFormatProperties3 = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3,
620 eFormatProperties3KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR,
621 ePhysicalDeviceMaintenance4Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
622 ePhysicalDeviceMaintenance4FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR,
623 ePhysicalDeviceMaintenance4Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
624 ePhysicalDeviceMaintenance4PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR,
625 eDeviceBufferMemoryRequirements = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS,
626 eDeviceBufferMemoryRequirementsKHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR,
627 eDeviceImageMemoryRequirements = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS,
628 eDeviceImageMemoryRequirementsKHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR,
629 ePipelineCreationFeedbackCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO,
630 ePipelineCreationFeedbackCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT,
631 ePhysicalDeviceShaderTerminateInvocationFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES,
632 ePhysicalDeviceShaderTerminateInvocationFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR,
633 ePhysicalDeviceShaderDemoteToHelperInvocationFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
634 ePhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT,
635 ePhysicalDevicePipelineCreationCacheControlFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES,
636 ePhysicalDevicePipelineCreationCacheControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT,
637 ePhysicalDeviceZeroInitializeWorkgroupMemoryFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES,
638 ePhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR,
639 ePhysicalDeviceImageRobustnessFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES,
640 ePhysicalDeviceImageRobustnessFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT,
641 ePhysicalDeviceSubgroupSizeControlProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES,
642 ePhysicalDeviceSubgroupSizeControlPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT,
643 ePipelineShaderStageRequiredSubgroupSizeCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
644 ePipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT,
645 eShaderRequiredSubgroupSizeCreateInfoEXT = VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT,
646 ePhysicalDeviceSubgroupSizeControlFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES,
647 ePhysicalDeviceSubgroupSizeControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT,
648 ePhysicalDeviceInlineUniformBlockFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES,
649 ePhysicalDeviceInlineUniformBlockFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT,
650 ePhysicalDeviceInlineUniformBlockProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES,
651 ePhysicalDeviceInlineUniformBlockPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT,
652 eWriteDescriptorSetInlineUniformBlock = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK,
653 eWriteDescriptorSetInlineUniformBlockEXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT,
654 eDescriptorPoolInlineUniformBlockCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO,
655 eDescriptorPoolInlineUniformBlockCreateInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT,
656 ePhysicalDeviceShaderIntegerDotProductFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
657 ePhysicalDeviceShaderIntegerDotProductFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR,
658 ePhysicalDeviceShaderIntegerDotProductProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES,
659 ePhysicalDeviceShaderIntegerDotProductPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR,
660 ePhysicalDeviceTexelBufferAlignmentProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES,
661 ePhysicalDeviceTexelBufferAlignmentPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT,
662 eBlitImageInfo2 = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2,
663 eBlitImageInfo2KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR,
664 eResolveImageInfo2 = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2,
665 eResolveImageInfo2KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR,
666 eImageBlit2 = VK_STRUCTURE_TYPE_IMAGE_BLIT_2,
667 eImageBlit2KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR,
668 eImageResolve2 = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2,
669 eImageResolve2KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR,
670 eRenderingInfo = VK_STRUCTURE_TYPE_RENDERING_INFO,
671 eRenderingInfoKHR = VK_STRUCTURE_TYPE_RENDERING_INFO_KHR,
672 eRenderingAttachmentInfo = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO,
673 eRenderingAttachmentInfoKHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR,
674 ePipelineRenderingCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO,
675 ePipelineRenderingCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR,
676 ePhysicalDeviceDynamicRenderingFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES,
677 ePhysicalDeviceDynamicRenderingFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR,
678 eCommandBufferInheritanceRenderingInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO,
679 eCommandBufferInheritanceRenderingInfoKHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR,
680 ePhysicalDeviceVulkan14Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES,
681 ePhysicalDeviceVulkan14Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES,
682 eDeviceQueueGlobalPriorityCreateInfo = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO,
683 eDeviceQueueGlobalPriorityCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT,
684 eDeviceQueueGlobalPriorityCreateInfoKHR = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR,
685 ePhysicalDeviceGlobalPriorityQueryFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES,
686 ePhysicalDeviceGlobalPriorityQueryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR,
687 ePhysicalDeviceGlobalPriorityQueryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT,
688 eQueueFamilyGlobalPriorityProperties = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES,
689 eQueueFamilyGlobalPriorityPropertiesKHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR,
690 eQueueFamilyGlobalPriorityPropertiesEXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT,
691 ePhysicalDeviceIndexTypeUint8Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES,
692 ePhysicalDeviceIndexTypeUint8FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT,
693 ePhysicalDeviceIndexTypeUint8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR,
694 eMemoryMapInfo = VK_STRUCTURE_TYPE_MEMORY_MAP_INFO,
695 eMemoryMapInfoKHR = VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR,
696 eMemoryUnmapInfo = VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO,
697 eMemoryUnmapInfoKHR = VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR,
698 ePhysicalDeviceMaintenance5Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES,
699 ePhysicalDeviceMaintenance5FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR,
700 ePhysicalDeviceMaintenance5Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES,
701 ePhysicalDeviceMaintenance5PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR,
702 eDeviceImageSubresourceInfo = VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO,
703 eDeviceImageSubresourceInfoKHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR,
704 eSubresourceLayout2 = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2,
705 eSubresourceLayout2EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT,
706 eSubresourceLayout2KHR = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR,
707 eImageSubresource2 = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2,
708 eImageSubresource2EXT = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT,
709 eImageSubresource2KHR = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR,
710 eBufferUsageFlags2CreateInfo = VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO,
711 eBufferUsageFlags2CreateInfoKHR = VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR,
712 ePhysicalDeviceMaintenance6Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES,
713 ePhysicalDeviceMaintenance6FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR,
714 ePhysicalDeviceMaintenance6Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES,
715 ePhysicalDeviceMaintenance6PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR,
716 eBindMemoryStatus = VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS,
717 eBindMemoryStatusKHR = VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR,
718 ePhysicalDeviceHostImageCopyFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES,
719 ePhysicalDeviceHostImageCopyFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT,
720 ePhysicalDeviceHostImageCopyProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES,
721 ePhysicalDeviceHostImageCopyPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT,
722 eMemoryToImageCopy = VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY,
723 eMemoryToImageCopyEXT = VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT,
724 eImageToMemoryCopy = VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY,
725 eImageToMemoryCopyEXT = VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY_EXT,
726 eCopyImageToMemoryInfo = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO,
727 eCopyImageToMemoryInfoEXT = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO_EXT,
728 eCopyMemoryToImageInfo = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO,
729 eCopyMemoryToImageInfoEXT = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXT,
730 eHostImageLayoutTransitionInfo = VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO,
731 eHostImageLayoutTransitionInfoEXT = VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO_EXT,
732 eCopyImageToImageInfo = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO,
733 eCopyImageToImageInfoEXT = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO_EXT,
734 eSubresourceHostMemcpySize = VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE,
735 eSubresourceHostMemcpySizeEXT = VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT,
736 eHostImageCopyDevicePerformanceQuery = VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY,
737 eHostImageCopyDevicePerformanceQueryEXT = VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT,
738 ePhysicalDeviceShaderSubgroupRotateFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES,
739 ePhysicalDeviceShaderSubgroupRotateFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR,
740 ePhysicalDeviceShaderFloatControls2Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES,
741 ePhysicalDeviceShaderFloatControls2FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR,
742 ePhysicalDeviceShaderExpectAssumeFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES,
743 ePhysicalDeviceShaderExpectAssumeFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR,
744 ePipelineCreateFlags2CreateInfo = VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO,
745 ePipelineCreateFlags2CreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR,
746 ePhysicalDevicePushDescriptorProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES,
747 ePhysicalDevicePushDescriptorPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR,
748 eBindDescriptorSetsInfo = VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO,
749 eBindDescriptorSetsInfoKHR = VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR,
750 ePushConstantsInfo = VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO,
751 ePushConstantsInfoKHR = VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR,
752 ePushDescriptorSetInfo = VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO,
753 ePushDescriptorSetInfoKHR = VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR,
754 ePushDescriptorSetWithTemplateInfo = VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO,
755 ePushDescriptorSetWithTemplateInfoKHR = VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR,
756 ePhysicalDevicePipelineProtectedAccessFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES,
757 ePhysicalDevicePipelineProtectedAccessFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT,
758 ePipelineRobustnessCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO,
759 ePipelineRobustnessCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT,
760 ePhysicalDevicePipelineRobustnessFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES,
761 ePhysicalDevicePipelineRobustnessFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT,
762 ePhysicalDevicePipelineRobustnessProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES,
763 ePhysicalDevicePipelineRobustnessPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT,
764 ePhysicalDeviceLineRasterizationFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES,
765 ePhysicalDeviceLineRasterizationFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT,
766 ePhysicalDeviceLineRasterizationFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR,
767 ePipelineRasterizationLineStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO,
768 ePipelineRasterizationLineStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT,
769 ePipelineRasterizationLineStateCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR,
770 ePhysicalDeviceLineRasterizationProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES,
771 ePhysicalDeviceLineRasterizationPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT,
772 ePhysicalDeviceLineRasterizationPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR,
773 ePhysicalDeviceVertexAttributeDivisorProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES,
774 ePhysicalDeviceVertexAttributeDivisorPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR,
775 ePipelineVertexInputDivisorStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO,
776 ePipelineVertexInputDivisorStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT,
777 ePipelineVertexInputDivisorStateCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR,
778 ePhysicalDeviceVertexAttributeDivisorFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES,
779 ePhysicalDeviceVertexAttributeDivisorFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT,
780 ePhysicalDeviceVertexAttributeDivisorFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR,
781 eRenderingAreaInfo = VK_STRUCTURE_TYPE_RENDERING_AREA_INFO,
782 eRenderingAreaInfoKHR = VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR,
783 ePhysicalDeviceDynamicRenderingLocalReadFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES,
784 ePhysicalDeviceDynamicRenderingLocalReadFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR,
785 eRenderingAttachmentLocationInfo = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO,
786 eRenderingAttachmentLocationInfoKHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR,
787 eRenderingInputAttachmentIndexInfo = VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO,
788 eRenderingInputAttachmentIndexInfoKHR = VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR,
789 eSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR,
790 ePresentInfoKHR = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR,
791 eDeviceGroupPresentCapabilitiesKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,
792 eImageSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR,
793 eBindImageMemorySwapchainInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,
794 eAcquireNextImageInfoKHR = VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR,
795 eDeviceGroupPresentInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR,
796 eDeviceGroupSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,
797 eDisplayModeCreateInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR,
798 eDisplaySurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR,
799 eDisplayPresentInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR,
800 #if defined( VK_USE_PLATFORM_XLIB_KHR )
801 eXlibSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR,
802 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
803 #if defined( VK_USE_PLATFORM_XCB_KHR )
804 eXcbSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR,
805 #endif /*VK_USE_PLATFORM_XCB_KHR*/
806 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
807 eWaylandSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR,
808 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
809 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
810 eAndroidSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR,
811 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
812 #if defined( VK_USE_PLATFORM_WIN32_KHR )
813 eWin32SurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR,
814 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
815 eDebugReportCallbackCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
816 eDebugReportCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT,
817 ePipelineRasterizationStateRasterizationOrderAMD = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD,
818 eDebugMarkerObjectNameInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT,
819 eDebugMarkerObjectTagInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT,
820 eDebugMarkerMarkerInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT,
821 eVideoProfileInfoKHR = VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR,
822 eVideoCapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR,
823 eVideoPictureResourceInfoKHR = VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR,
824 eVideoSessionMemoryRequirementsKHR = VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR,
825 eBindVideoSessionMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR,
826 eVideoSessionCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR,
827 eVideoSessionParametersCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR,
828 eVideoSessionParametersUpdateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR,
829 eVideoBeginCodingInfoKHR = VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR,
830 eVideoEndCodingInfoKHR = VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR,
831 eVideoCodingControlInfoKHR = VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR,
832 eVideoReferenceSlotInfoKHR = VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR,
833 eQueueFamilyVideoPropertiesKHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR,
834 eVideoProfileListInfoKHR = VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR,
835 ePhysicalDeviceVideoFormatInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR,
836 eVideoFormatPropertiesKHR = VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR,
837 eQueueFamilyQueryResultStatusPropertiesKHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR,
838 eVideoDecodeInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR,
839 eVideoDecodeCapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR,
840 eVideoDecodeUsageInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR,
841 eDedicatedAllocationImageCreateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV,
842 eDedicatedAllocationBufferCreateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV,
843 eDedicatedAllocationMemoryAllocateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV,
844 ePhysicalDeviceTransformFeedbackFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT,
845 ePhysicalDeviceTransformFeedbackPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT,
846 ePipelineRasterizationStateStreamCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT,
847 eCuModuleCreateInfoNVX = VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX,
848 eCuFunctionCreateInfoNVX = VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX,
849 eCuLaunchInfoNVX = VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX,
850 eCuModuleTexturingModeCreateInfoNVX = VK_STRUCTURE_TYPE_CU_MODULE_TEXTURING_MODE_CREATE_INFO_NVX,
851 eImageViewHandleInfoNVX = VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX,
852 eImageViewAddressPropertiesNVX = VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX,
853 eVideoEncodeH264CapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR,
854 eVideoEncodeH264SessionParametersCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR,
855 eVideoEncodeH264SessionParametersAddInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR,
856 eVideoEncodeH264PictureInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_KHR,
857 eVideoEncodeH264DpbSlotInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR,
858 eVideoEncodeH264NaluSliceInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR,
859 eVideoEncodeH264GopRemainingFrameInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR,
860 eVideoEncodeH264ProfileInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_KHR,
861 eVideoEncodeH264RateControlInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR,
862 eVideoEncodeH264RateControlLayerInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR,
863 eVideoEncodeH264SessionCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR,
864 eVideoEncodeH264QualityLevelPropertiesKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR,
865 eVideoEncodeH264SessionParametersGetInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR,
866 eVideoEncodeH264SessionParametersFeedbackInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
867 eVideoEncodeH265CapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_KHR,
868 eVideoEncodeH265SessionParametersCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR,
869 eVideoEncodeH265SessionParametersAddInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR,
870 eVideoEncodeH265PictureInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_KHR,
871 eVideoEncodeH265DpbSlotInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR,
872 eVideoEncodeH265NaluSliceSegmentInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR,
873 eVideoEncodeH265GopRemainingFrameInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR,
874 eVideoEncodeH265ProfileInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_KHR,
875 eVideoEncodeH265RateControlInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR,
876 eVideoEncodeH265RateControlLayerInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR,
877 eVideoEncodeH265SessionCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR,
878 eVideoEncodeH265QualityLevelPropertiesKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR,
879 eVideoEncodeH265SessionParametersGetInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR,
880 eVideoEncodeH265SessionParametersFeedbackInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
881 eVideoDecodeH264CapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR,
882 eVideoDecodeH264PictureInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR,
883 eVideoDecodeH264ProfileInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR,
884 eVideoDecodeH264SessionParametersCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR,
885 eVideoDecodeH264SessionParametersAddInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR,
886 eVideoDecodeH264DpbSlotInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR,
887 eTextureLodGatherFormatPropertiesAMD = VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD,
888 #if defined( VK_USE_PLATFORM_GGP )
889 eStreamDescriptorSurfaceCreateInfoGGP = VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP,
890 #endif /*VK_USE_PLATFORM_GGP*/
891 ePhysicalDeviceCornerSampledImageFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV,
892 eExternalMemoryImageCreateInfoNV = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV,
893 eExportMemoryAllocateInfoNV = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV,
894 #if defined( VK_USE_PLATFORM_WIN32_KHR )
895 eImportMemoryWin32HandleInfoNV = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV,
896 eExportMemoryWin32HandleInfoNV = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV,
897 eWin32KeyedMutexAcquireReleaseInfoNV = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV,
898 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
899 eValidationFlagsEXT = VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT,
900 #if defined( VK_USE_PLATFORM_VI_NN )
901 eViSurfaceCreateInfoNN = VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN,
902 #endif /*VK_USE_PLATFORM_VI_NN*/
903 eImageViewAstcDecodeModeEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT,
904 ePhysicalDeviceAstcDecodeFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT,
905 #if defined( VK_USE_PLATFORM_WIN32_KHR )
906 eImportMemoryWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
907 eExportMemoryWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
908 eMemoryWin32HandlePropertiesKHR = VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR,
909 eMemoryGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR,
910 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
911 eImportMemoryFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR,
912 eMemoryFdPropertiesKHR = VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR,
913 eMemoryGetFdInfoKHR = VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR,
914 #if defined( VK_USE_PLATFORM_WIN32_KHR )
915 eWin32KeyedMutexAcquireReleaseInfoKHR = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR,
916 eImportSemaphoreWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
917 eExportSemaphoreWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
918 eD3D12FenceSubmitInfoKHR = VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR,
919 eSemaphoreGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR,
920 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
921 eImportSemaphoreFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR,
922 eSemaphoreGetFdInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR,
923 eCommandBufferInheritanceConditionalRenderingInfoEXT = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT,
924 ePhysicalDeviceConditionalRenderingFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT,
925 eConditionalRenderingBeginInfoEXT = VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT,
926 ePresentRegionsKHR = VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR,
927 ePipelineViewportWScalingStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV,
928 eSurfaceCapabilities2EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
929 eDisplayPowerInfoEXT = VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT,
930 eDeviceEventInfoEXT = VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT,
931 eDisplayEventInfoEXT = VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT,
932 eSwapchainCounterCreateInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT,
933 ePresentTimesInfoGOOGLE = VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE,
934 ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX,
935 eMultiviewPerViewAttributesInfoNVX = VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX,
936 ePipelineViewportSwizzleStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV,
937 ePhysicalDeviceDiscardRectanglePropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT,
938 ePipelineDiscardRectangleStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT,
939 ePhysicalDeviceConservativeRasterizationPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT,
940 ePipelineRasterizationConservativeStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT,
941 ePhysicalDeviceDepthClipEnableFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT,
942 ePipelineRasterizationDepthClipStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT,
943 eHdrMetadataEXT = VK_STRUCTURE_TYPE_HDR_METADATA_EXT,
944 ePhysicalDeviceRelaxedLineRasterizationFeaturesIMG = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG,
945 eSharedPresentSurfaceCapabilitiesKHR = VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR,
946 #if defined( VK_USE_PLATFORM_WIN32_KHR )
947 eImportFenceWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR,
948 eExportFenceWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR,
949 eFenceGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR,
950 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
951 eImportFenceFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR,
952 eFenceGetFdInfoKHR = VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR,
953 ePhysicalDevicePerformanceQueryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR,
954 ePhysicalDevicePerformanceQueryPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR,
955 eQueryPoolPerformanceCreateInfoKHR = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR,
956 ePerformanceQuerySubmitInfoKHR = VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR,
957 eAcquireProfilingLockInfoKHR = VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR,
958 ePerformanceCounterKHR = VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR,
959 ePerformanceCounterDescriptionKHR = VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR,
960 ePhysicalDeviceSurfaceInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR,
961 eSurfaceCapabilities2KHR = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR,
962 eSurfaceFormat2KHR = VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR,
963 eDisplayProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR,
964 eDisplayPlaneProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR,
965 eDisplayModeProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR,
966 eDisplayPlaneInfo2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR,
967 eDisplayPlaneCapabilities2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR,
968 #if defined( VK_USE_PLATFORM_IOS_MVK )
969 eIosSurfaceCreateInfoMVK = VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK,
970 #endif /*VK_USE_PLATFORM_IOS_MVK*/
971 #if defined( VK_USE_PLATFORM_MACOS_MVK )
972 eMacosSurfaceCreateInfoMVK = VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK,
973 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
974 eDebugUtilsObjectNameInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT,
975 eDebugUtilsObjectTagInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT,
976 eDebugUtilsLabelEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT,
977 eDebugUtilsMessengerCallbackDataEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT,
978 eDebugUtilsMessengerCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT,
979 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
980 eAndroidHardwareBufferUsageANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID,
981 eAndroidHardwareBufferPropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID,
982 eAndroidHardwareBufferFormatPropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID,
983 eImportAndroidHardwareBufferInfoANDROID = VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
984 eMemoryGetAndroidHardwareBufferInfoANDROID = VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
985 eExternalFormatANDROID = VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID,
986 eAndroidHardwareBufferFormatProperties2ANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID,
987 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
988 #if defined( VK_ENABLE_BETA_EXTENSIONS )
989 ePhysicalDeviceShaderEnqueueFeaturesAMDX = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX,
990 ePhysicalDeviceShaderEnqueuePropertiesAMDX = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX,
991 eExecutionGraphPipelineScratchSizeAMDX = VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX,
992 eExecutionGraphPipelineCreateInfoAMDX = VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX,
993 ePipelineShaderStageNodeCreateInfoAMDX = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX,
994 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
995 eAttachmentSampleCountInfoAMD = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
996 eAttachmentSampleCountInfoNV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV,
997 ePhysicalDeviceShaderBfloat16FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR,
998 eSampleLocationsInfoEXT = VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT,
999 eRenderPassSampleLocationsBeginInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT,
1000 ePipelineSampleLocationsStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT,
1001 ePhysicalDeviceSampleLocationsPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT,
1002 eMultisamplePropertiesEXT = VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT,
1003 ePhysicalDeviceBlendOperationAdvancedFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT,
1004 ePhysicalDeviceBlendOperationAdvancedPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT,
1005 ePipelineColorBlendAdvancedStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT,
1006 ePipelineCoverageToColorStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV,
1007 eWriteDescriptorSetAccelerationStructureKHR = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,
1008 eAccelerationStructureBuildGeometryInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR,
1009 eAccelerationStructureDeviceAddressInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR,
1010 eAccelerationStructureGeometryAabbsDataKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR,
1011 eAccelerationStructureGeometryInstancesDataKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR,
1012 eAccelerationStructureGeometryTrianglesDataKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR,
1013 eAccelerationStructureGeometryKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR,
1014 eAccelerationStructureVersionInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR,
1015 eCopyAccelerationStructureInfoKHR = VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR,
1016 eCopyAccelerationStructureToMemoryInfoKHR = VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR,
1017 eCopyMemoryToAccelerationStructureInfoKHR = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR,
1018 ePhysicalDeviceAccelerationStructureFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR,
1019 ePhysicalDeviceAccelerationStructurePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR,
1020 eAccelerationStructureCreateInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR,
1021 eAccelerationStructureBuildSizesInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR,
1022 ePhysicalDeviceRayTracingPipelineFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR,
1023 ePhysicalDeviceRayTracingPipelinePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR,
1024 eRayTracingPipelineCreateInfoKHR = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR,
1025 eRayTracingShaderGroupCreateInfoKHR = VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR,
1026 eRayTracingPipelineInterfaceCreateInfoKHR = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR,
1027 ePhysicalDeviceRayQueryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR,
1028 ePipelineCoverageModulationStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV,
1029 ePhysicalDeviceShaderSmBuiltinsFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV,
1030 ePhysicalDeviceShaderSmBuiltinsPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV,
1031 eDrmFormatModifierPropertiesListEXT = VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT,
1032 ePhysicalDeviceImageDrmFormatModifierInfoEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT,
1033 eImageDrmFormatModifierListCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT,
1034 eImageDrmFormatModifierExplicitCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT,
1035 eImageDrmFormatModifierPropertiesEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
1036 eDrmFormatModifierPropertiesList2EXT = VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT,
1037 eValidationCacheCreateInfoEXT = VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT,
1038 eShaderModuleValidationCacheCreateInfoEXT = VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT,
1039 #if defined( VK_ENABLE_BETA_EXTENSIONS )
1040 ePhysicalDevicePortabilitySubsetFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR,
1041 ePhysicalDevicePortabilitySubsetPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR,
1042 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
1043 ePipelineViewportShadingRateImageStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV,
1044 ePhysicalDeviceShadingRateImageFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV,
1045 ePhysicalDeviceShadingRateImagePropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV,
1046 ePipelineViewportCoarseSampleOrderStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV,
1047 eRayTracingPipelineCreateInfoNV = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV,
1048 eAccelerationStructureCreateInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV,
1049 eGeometryNV = VK_STRUCTURE_TYPE_GEOMETRY_NV,
1050 eGeometryTrianglesNV = VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV,
1051 eGeometryAabbNV = VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV,
1052 eBindAccelerationStructureMemoryInfoNV = VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV,
1053 eWriteDescriptorSetAccelerationStructureNV = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV,
1054 eAccelerationStructureMemoryRequirementsInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV,
1055 ePhysicalDeviceRayTracingPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV,
1056 eRayTracingShaderGroupCreateInfoNV = VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV,
1057 eAccelerationStructureInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV,
1058 ePhysicalDeviceRepresentativeFragmentTestFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV,
1059 ePipelineRepresentativeFragmentTestStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV,
1060 ePhysicalDeviceImageViewImageFormatInfoEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT,
1061 eFilterCubicImageViewImageFormatPropertiesEXT = VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT,
1062 eImportMemoryHostPointerInfoEXT = VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT,
1063 eMemoryHostPointerPropertiesEXT = VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT,
1064 ePhysicalDeviceExternalMemoryHostPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT,
1065 ePhysicalDeviceShaderClockFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR,
1066 ePipelineCompilerControlCreateInfoAMD = VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD,
1067 ePhysicalDeviceShaderCorePropertiesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD,
1068 eVideoDecodeH265CapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR,
1069 eVideoDecodeH265SessionParametersCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR,
1070 eVideoDecodeH265SessionParametersAddInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR,
1071 eVideoDecodeH265ProfileInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR,
1072 eVideoDecodeH265PictureInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR,
1073 eVideoDecodeH265DpbSlotInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR,
1074 eDeviceMemoryOverallocationCreateInfoAMD = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD,
1075 ePhysicalDeviceVertexAttributeDivisorPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT,
1076 #if defined( VK_USE_PLATFORM_GGP )
1077 ePresentFrameTokenGGP = VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP,
1078 #endif /*VK_USE_PLATFORM_GGP*/
1079 ePhysicalDeviceMeshShaderFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV,
1080 ePhysicalDeviceMeshShaderPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV,
1081 ePhysicalDeviceShaderImageFootprintFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV,
1082 ePipelineViewportExclusiveScissorStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV,
1083 ePhysicalDeviceExclusiveScissorFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV,
1084 eCheckpointDataNV = VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV,
1085 eQueueFamilyCheckpointPropertiesNV = VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV,
1086 eQueueFamilyCheckpointProperties2NV = VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV,
1087 eCheckpointData2NV = VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV,
1088 ePhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL,
1089 eQueryPoolPerformanceQueryCreateInfoINTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
1090 eQueryPoolCreateInfoINTEL = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL,
1091 eInitializePerformanceApiInfoINTEL = VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL,
1092 ePerformanceMarkerInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL,
1093 ePerformanceStreamMarkerInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL,
1094 ePerformanceOverrideInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL,
1095 ePerformanceConfigurationAcquireInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL,
1096 ePhysicalDevicePciBusInfoPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT,
1097 eDisplayNativeHdrSurfaceCapabilitiesAMD = VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD,
1098 eSwapchainDisplayNativeHdrCreateInfoAMD = VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD,
1099 #if defined( VK_USE_PLATFORM_FUCHSIA )
1100 eImagepipeSurfaceCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA,
1101 #endif /*VK_USE_PLATFORM_FUCHSIA*/
1102 #if defined( VK_USE_PLATFORM_METAL_EXT )
1103 eMetalSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT,
1104 #endif /*VK_USE_PLATFORM_METAL_EXT*/
1105 ePhysicalDeviceFragmentDensityMapFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT,
1106 ePhysicalDeviceFragmentDensityMapPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT,
1107 eRenderPassFragmentDensityMapCreateInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT,
1108 eRenderingFragmentDensityMapAttachmentInfoEXT = VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT,
1109 eFragmentShadingRateAttachmentInfoKHR = VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
1110 ePipelineFragmentShadingRateStateCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR,
1111 ePhysicalDeviceFragmentShadingRatePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR,
1112 ePhysicalDeviceFragmentShadingRateFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR,
1113 ePhysicalDeviceFragmentShadingRateKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR,
1114 eRenderingFragmentShadingRateAttachmentInfoKHR = VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
1115 ePhysicalDeviceShaderCoreProperties2AMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD,
1116 ePhysicalDeviceCoherentMemoryFeaturesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD,
1117 ePhysicalDeviceShaderImageAtomicInt64FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT,
1118 ePhysicalDeviceShaderQuadControlFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR,
1119 ePhysicalDeviceMemoryBudgetPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT,
1120 ePhysicalDeviceMemoryPriorityFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT,
1121 eMemoryPriorityAllocateInfoEXT = VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT,
1122 eSurfaceProtectedCapabilitiesKHR = VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR,
1123 ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV,
1124 ePhysicalDeviceBufferDeviceAddressFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
1125 ePhysicalDeviceBufferAddressFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT,
1126 eBufferDeviceAddressCreateInfoEXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT,
1127 eValidationFeaturesEXT = VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT,
1128 ePhysicalDevicePresentWaitFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR,
1129 ePhysicalDeviceCooperativeMatrixFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV,
1130 eCooperativeMatrixPropertiesNV = VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV,
1131 ePhysicalDeviceCooperativeMatrixPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV,
1132 ePhysicalDeviceCoverageReductionModeFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV,
1133 ePipelineCoverageReductionStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV,
1134 eFramebufferMixedSamplesCombinationNV = VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV,
1135 ePhysicalDeviceFragmentShaderInterlockFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT,
1136 ePhysicalDeviceYcbcrImageArraysFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT,
1137 ePhysicalDeviceProvokingVertexFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT,
1138 ePipelineRasterizationProvokingVertexStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT,
1139 ePhysicalDeviceProvokingVertexPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT,
1140 #if defined( VK_USE_PLATFORM_WIN32_KHR )
1141 eSurfaceFullScreenExclusiveInfoEXT = VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT,
1142 eSurfaceCapabilitiesFullScreenExclusiveEXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT,
1143 eSurfaceFullScreenExclusiveWin32InfoEXT = VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT,
1144 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
1145 eHeadlessSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT,
1146 ePhysicalDeviceShaderAtomicFloatFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT,
1147 ePhysicalDeviceExtendedDynamicStateFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT,
1148 ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR,
1149 ePipelineInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR,
1150 ePipelineInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT,
1151 ePipelineExecutablePropertiesKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR,
1152 ePipelineExecutableInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR,
1153 ePipelineExecutableStatisticKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR,
1154 ePipelineExecutableInternalRepresentationKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR,
1155 ePhysicalDeviceMapMemoryPlacedFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT,
1156 ePhysicalDeviceMapMemoryPlacedPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT,
1157 eMemoryMapPlacedInfoEXT = VK_STRUCTURE_TYPE_MEMORY_MAP_PLACED_INFO_EXT,
1158 ePhysicalDeviceShaderAtomicFloat2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT,
1159 ePhysicalDeviceDeviceGeneratedCommandsPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV,
1160 eGraphicsShaderGroupCreateInfoNV = VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV,
1161 eGraphicsPipelineShaderGroupsCreateInfoNV = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV,
1162 eIndirectCommandsLayoutTokenNV = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV,
1163 eIndirectCommandsLayoutCreateInfoNV = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV,
1164 eGeneratedCommandsInfoNV = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV,
1165 eGeneratedCommandsMemoryRequirementsInfoNV = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV,
1166 ePhysicalDeviceDeviceGeneratedCommandsFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV,
1167 ePhysicalDeviceInheritedViewportScissorFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV,
1168 eCommandBufferInheritanceViewportScissorInfoNV = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV,
1169 ePhysicalDeviceTexelBufferAlignmentFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT,
1170 eCommandBufferInheritanceRenderPassTransformInfoQCOM = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM,
1171 eRenderPassTransformBeginInfoQCOM = VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM,
1172 ePhysicalDeviceDepthBiasControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT,
1173 eDepthBiasInfoEXT = VK_STRUCTURE_TYPE_DEPTH_BIAS_INFO_EXT,
1174 eDepthBiasRepresentationInfoEXT = VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT,
1175 ePhysicalDeviceDeviceMemoryReportFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT,
1176 eDeviceDeviceMemoryReportCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT,
1177 eDeviceMemoryReportCallbackDataEXT = VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT,
1178 eSamplerCustomBorderColorCreateInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT,
1179 ePhysicalDeviceCustomBorderColorPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT,
1180 ePhysicalDeviceCustomBorderColorFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT,
1181 ePipelineLibraryCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR,
1182 ePhysicalDevicePresentBarrierFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV,
1183 eSurfaceCapabilitiesPresentBarrierNV = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV,
1184 eSwapchainPresentBarrierCreateInfoNV = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV,
1185 ePresentIdKHR = VK_STRUCTURE_TYPE_PRESENT_ID_KHR,
1186 ePhysicalDevicePresentIdFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR,
1187 eVideoEncodeInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR,
1188 eVideoEncodeRateControlInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR,
1189 eVideoEncodeRateControlLayerInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR,
1190 eVideoEncodeCapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR,
1191 eVideoEncodeUsageInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR,
1192 eQueryPoolVideoEncodeFeedbackCreateInfoKHR = VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR,
1193 ePhysicalDeviceVideoEncodeQualityLevelInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR,
1194 eVideoEncodeQualityLevelPropertiesKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR,
1195 eVideoEncodeQualityLevelInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR,
1196 eVideoEncodeSessionParametersGetInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR,
1197 eVideoEncodeSessionParametersFeedbackInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
1198 ePhysicalDeviceDiagnosticsConfigFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV,
1199 eDeviceDiagnosticsConfigCreateInfoNV = VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV,
1200 #if defined( VK_ENABLE_BETA_EXTENSIONS )
1201 eCudaModuleCreateInfoNV = VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV,
1202 eCudaFunctionCreateInfoNV = VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV,
1203 eCudaLaunchInfoNV = VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV,
1204 ePhysicalDeviceCudaKernelLaunchFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV,
1205 ePhysicalDeviceCudaKernelLaunchPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV,
1206 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
1207 ePhysicalDeviceTileShadingFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM,
1208 ePhysicalDeviceTileShadingPropertiesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_PROPERTIES_QCOM,
1209 eRenderPassTileShadingCreateInfoQCOM = VK_STRUCTURE_TYPE_RENDER_PASS_TILE_SHADING_CREATE_INFO_QCOM,
1210 ePerTileBeginInfoQCOM = VK_STRUCTURE_TYPE_PER_TILE_BEGIN_INFO_QCOM,
1211 ePerTileEndInfoQCOM = VK_STRUCTURE_TYPE_PER_TILE_END_INFO_QCOM,
1212 eDispatchTileInfoQCOM = VK_STRUCTURE_TYPE_DISPATCH_TILE_INFO_QCOM,
1213 eQueryLowLatencySupportNV = VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV,
1214 #if defined( VK_USE_PLATFORM_METAL_EXT )
1215 eExportMetalObjectCreateInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT,
1216 eExportMetalObjectsInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT,
1217 eExportMetalDeviceInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT,
1218 eExportMetalCommandQueueInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT,
1219 eExportMetalBufferInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT,
1220 eImportMetalBufferInfoEXT = VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT,
1221 eExportMetalTextureInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT,
1222 eImportMetalTextureInfoEXT = VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT,
1223 eExportMetalIoSurfaceInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT,
1224 eImportMetalIoSurfaceInfoEXT = VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT,
1225 eExportMetalSharedEventInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT,
1226 eImportMetalSharedEventInfoEXT = VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT,
1227 #endif /*VK_USE_PLATFORM_METAL_EXT*/
1228 ePhysicalDeviceDescriptorBufferPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT,
1229 ePhysicalDeviceDescriptorBufferDensityMapPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT,
1230 ePhysicalDeviceDescriptorBufferFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT,
1231 eDescriptorAddressInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT,
1232 eDescriptorGetInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT,
1233 eBufferCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
1234 eImageCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
1235 eImageViewCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
1236 eSamplerCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
1237 eOpaqueCaptureDescriptorDataCreateInfoEXT = VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT,
1238 eDescriptorBufferBindingInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT,
1239 eDescriptorBufferBindingPushDescriptorBufferHandleEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT,
1240 eAccelerationStructureCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
1241 ePhysicalDeviceGraphicsPipelineLibraryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT,
1242 ePhysicalDeviceGraphicsPipelineLibraryPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT,
1243 eGraphicsPipelineLibraryCreateInfoEXT = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT,
1244 ePhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD,
1245 ePhysicalDeviceFragmentShaderBarycentricFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR,
1246 ePhysicalDeviceFragmentShaderBarycentricFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV,
1247 ePhysicalDeviceFragmentShaderBarycentricPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR,
1248 ePhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR,
1249 ePhysicalDeviceFragmentShadingRateEnumsPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV,
1250 ePhysicalDeviceFragmentShadingRateEnumsFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV,
1251 ePipelineFragmentShadingRateEnumStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV,
1252 eAccelerationStructureGeometryMotionTrianglesDataNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV,
1253 ePhysicalDeviceRayTracingMotionBlurFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV,
1254 eAccelerationStructureMotionInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV,
1255 ePhysicalDeviceMeshShaderFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT,
1256 ePhysicalDeviceMeshShaderPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT,
1257 ePhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT,
1258 ePhysicalDeviceFragmentDensityMap2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT,
1259 ePhysicalDeviceFragmentDensityMap2PropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT,
1260 eCopyCommandTransformInfoQCOM = VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM,
1261 ePhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR,
1262 ePhysicalDeviceImageCompressionControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT,
1263 eImageCompressionControlEXT = VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT,
1264 eImageCompressionPropertiesEXT = VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT,
1265 ePhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT,
1266 ePhysicalDevice4444FormatsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT,
1267 ePhysicalDeviceFaultFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT,
1268 eDeviceFaultCountsEXT = VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT,
1269 eDeviceFaultInfoEXT = VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT,
1270 ePhysicalDeviceRgba10X6FormatsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT,
1271 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
1272 eDirectfbSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT,
1273 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
1274 ePhysicalDeviceVertexInputDynamicStateFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT,
1275 eVertexInputBindingDescription2EXT = VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT,
1276 eVertexInputAttributeDescription2EXT = VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT,
1277 ePhysicalDeviceDrmPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT,
1278 ePhysicalDeviceAddressBindingReportFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT,
1279 eDeviceAddressBindingCallbackDataEXT = VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT,
1280 ePhysicalDeviceDepthClipControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT,
1281 ePipelineViewportDepthClipControlCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT,
1282 ePhysicalDevicePrimitiveTopologyListRestartFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT,
1283 #if defined( VK_USE_PLATFORM_FUCHSIA )
1284 eImportMemoryZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA,
1285 eMemoryZirconHandlePropertiesFUCHSIA = VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA,
1286 eMemoryGetZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
1287 eImportSemaphoreZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA,
1288 eSemaphoreGetZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
1289 eBufferCollectionCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA,
1290 eImportMemoryBufferCollectionFUCHSIA = VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA,
1291 eBufferCollectionImageCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA,
1292 eBufferCollectionPropertiesFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA,
1293 eBufferConstraintsInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA,
1294 eBufferCollectionBufferCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA,
1295 eImageConstraintsInfoFUCHSIA = VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA,
1296 eImageFormatConstraintsInfoFUCHSIA = VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA,
1297 eSysmemColorSpaceFUCHSIA = VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA,
1298 eBufferCollectionConstraintsInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA,
1299 #endif /*VK_USE_PLATFORM_FUCHSIA*/
1300 eSubpassShadingPipelineCreateInfoHUAWEI = VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI,
1301 ePhysicalDeviceSubpassShadingFeaturesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI,
1302 ePhysicalDeviceSubpassShadingPropertiesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI,
1303 ePhysicalDeviceInvocationMaskFeaturesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI,
1304 eMemoryGetRemoteAddressInfoNV = VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV,
1305 ePhysicalDeviceExternalMemoryRdmaFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV,
1306 ePipelinePropertiesIdentifierEXT = VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT,
1307 ePhysicalDevicePipelinePropertiesFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT,
1308 ePhysicalDeviceFrameBoundaryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT,
1309 eFrameBoundaryEXT = VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT,
1310 ePhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT,
1311 eSubpassResolvePerformanceQueryEXT = VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT,
1312 eMultisampledRenderToSingleSampledInfoEXT = VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT,
1313 ePhysicalDeviceExtendedDynamicState2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT,
1314 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
1315 eScreenSurfaceCreateInfoQNX = VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX,
1316 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
1317 ePhysicalDeviceColorWriteEnableFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT,
1318 ePipelineColorWriteCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT,
1319 ePhysicalDevicePrimitivesGeneratedQueryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT,
1320 ePhysicalDeviceRayTracingMaintenance1FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR,
1321 ePhysicalDeviceShaderUntypedPointersFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNTYPED_POINTERS_FEATURES_KHR,
1322 ePhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_RGB_CONVERSION_FEATURES_VALVE,
1323 eVideoEncodeRgbConversionCapabilitiesVALVE = VK_STRUCTURE_TYPE_VIDEO_ENCODE_RGB_CONVERSION_CAPABILITIES_VALVE,
1324 eVideoEncodeProfileRgbConversionInfoVALVE = VK_STRUCTURE_TYPE_VIDEO_ENCODE_PROFILE_RGB_CONVERSION_INFO_VALVE,
1325 eVideoEncodeSessionRgbConversionCreateInfoVALVE = VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_RGB_CONVERSION_CREATE_INFO_VALVE,
1326 ePhysicalDeviceImageViewMinLodFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT,
1327 eImageViewMinLodCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT,
1328 ePhysicalDeviceMultiDrawFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT,
1329 ePhysicalDeviceMultiDrawPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT,
1330 ePhysicalDeviceImage2DViewOf3DFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT,
1331 ePhysicalDeviceShaderTileImageFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT,
1332 ePhysicalDeviceShaderTileImagePropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT,
1333 eMicromapBuildInfoEXT = VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT,
1334 eMicromapVersionInfoEXT = VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT,
1335 eCopyMicromapInfoEXT = VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT,
1336 eCopyMicromapToMemoryInfoEXT = VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT,
1337 eCopyMemoryToMicromapInfoEXT = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT,
1338 ePhysicalDeviceOpacityMicromapFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT,
1339 ePhysicalDeviceOpacityMicromapPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT,
1340 eMicromapCreateInfoEXT = VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT,
1341 eMicromapBuildSizesInfoEXT = VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT,
1342 eAccelerationStructureTrianglesOpacityMicromapEXT = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT,
1343 #if defined( VK_ENABLE_BETA_EXTENSIONS )
1344 ePhysicalDeviceDisplacementMicromapFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV,
1345 ePhysicalDeviceDisplacementMicromapPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV,
1346 eAccelerationStructureTrianglesDisplacementMicromapNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV,
1347 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
1348 ePhysicalDeviceClusterCullingShaderFeaturesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI,
1349 ePhysicalDeviceClusterCullingShaderPropertiesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI,
1350 ePhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI,
1351 ePhysicalDeviceBorderColorSwizzleFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT,
1352 eSamplerBorderColorComponentMappingCreateInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT,
1353 ePhysicalDevicePageableDeviceLocalMemoryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT,
1354 ePhysicalDeviceShaderCorePropertiesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM,
1355 eDeviceQueueShaderCoreControlCreateInfoARM = VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM,
1356 ePhysicalDeviceSchedulingControlsFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM,
1357 ePhysicalDeviceSchedulingControlsPropertiesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM,
1358 ePhysicalDeviceImageSlicedViewOf3DFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT,
1359 eImageViewSlicedCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT,
1360 ePhysicalDeviceDescriptorSetHostMappingFeaturesVALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE,
1361 eDescriptorSetBindingReferenceVALVE = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE,
1362 eDescriptorSetLayoutHostMappingInfoVALVE = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE,
1363 ePhysicalDeviceNonSeamlessCubeMapFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT,
1364 ePhysicalDeviceRenderPassStripedFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM,
1365 ePhysicalDeviceRenderPassStripedPropertiesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM,
1366 eRenderPassStripeBeginInfoARM = VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM,
1367 eRenderPassStripeInfoARM = VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_INFO_ARM,
1368 eRenderPassStripeSubmitInfoARM = VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM,
1369 ePhysicalDeviceCopyMemoryIndirectFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV,
1370 ePhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV,
1371 eComputePipelineIndirectBufferInfoNV = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV,
1372 ePipelineIndirectDeviceAddressInfoNV = VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV,
1373 ePhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV,
1374 eAccelerationStructureGeometryLinearSweptSpheresDataNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV,
1375 eAccelerationStructureGeometrySpheresDataNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV,
1376 ePhysicalDeviceLinearColorAttachmentFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV,
1377 ePhysicalDeviceShaderMaximalReconvergenceFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR,
1378 ePhysicalDeviceImageCompressionControlSwapchainFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT,
1379 ePhysicalDeviceImageProcessingFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM,
1380 ePhysicalDeviceImageProcessingPropertiesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM,
1381 eImageViewSampleWeightCreateInfoQCOM = VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM,
1382 ePhysicalDeviceNestedCommandBufferFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT,
1383 ePhysicalDeviceNestedCommandBufferPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT,
1384 #if defined( VK_USE_PLATFORM_OHOS )
1385 eNativeBufferUsageOHOS = VK_STRUCTURE_TYPE_NATIVE_BUFFER_USAGE_OHOS,
1386 eNativeBufferPropertiesOHOS = VK_STRUCTURE_TYPE_NATIVE_BUFFER_PROPERTIES_OHOS,
1387 eNativeBufferFormatPropertiesOHOS = VK_STRUCTURE_TYPE_NATIVE_BUFFER_FORMAT_PROPERTIES_OHOS,
1388 eImportNativeBufferInfoOHOS = VK_STRUCTURE_TYPE_IMPORT_NATIVE_BUFFER_INFO_OHOS,
1389 eMemoryGetNativeBufferInfoOHOS = VK_STRUCTURE_TYPE_MEMORY_GET_NATIVE_BUFFER_INFO_OHOS,
1390 eExternalFormatOHOS = VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_OHOS,
1391 #endif /*VK_USE_PLATFORM_OHOS*/
1392 eExternalMemoryAcquireUnmodifiedEXT = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT,
1393 ePhysicalDeviceExtendedDynamicState3FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT,
1394 ePhysicalDeviceExtendedDynamicState3PropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT,
1395 ePhysicalDeviceSubpassMergeFeedbackFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT,
1396 eRenderPassCreationControlEXT = VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT,
1397 eRenderPassCreationFeedbackCreateInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT,
1398 eRenderPassSubpassFeedbackCreateInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT,
1399 eDirectDriverLoadingInfoLUNARG = VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG,
1400 eDirectDriverLoadingListLUNARG = VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG,
1401 eTensorCreateInfoARM = VK_STRUCTURE_TYPE_TENSOR_CREATE_INFO_ARM,
1402 eTensorViewCreateInfoARM = VK_STRUCTURE_TYPE_TENSOR_VIEW_CREATE_INFO_ARM,
1403 eBindTensorMemoryInfoARM = VK_STRUCTURE_TYPE_BIND_TENSOR_MEMORY_INFO_ARM,
1404 eWriteDescriptorSetTensorARM = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_TENSOR_ARM,
1405 ePhysicalDeviceTensorPropertiesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_PROPERTIES_ARM,
1406 eTensorFormatPropertiesARM = VK_STRUCTURE_TYPE_TENSOR_FORMAT_PROPERTIES_ARM,
1407 eTensorDescriptionARM = VK_STRUCTURE_TYPE_TENSOR_DESCRIPTION_ARM,
1408 eTensorMemoryRequirementsInfoARM = VK_STRUCTURE_TYPE_TENSOR_MEMORY_REQUIREMENTS_INFO_ARM,
1409 eTensorMemoryBarrierARM = VK_STRUCTURE_TYPE_TENSOR_MEMORY_BARRIER_ARM,
1410 ePhysicalDeviceTensorFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_FEATURES_ARM,
1411 eDeviceTensorMemoryRequirementsARM = VK_STRUCTURE_TYPE_DEVICE_TENSOR_MEMORY_REQUIREMENTS_ARM,
1412 eCopyTensorInfoARM = VK_STRUCTURE_TYPE_COPY_TENSOR_INFO_ARM,
1413 eTensorCopyARM = VK_STRUCTURE_TYPE_TENSOR_COPY_ARM,
1414 eTensorDependencyInfoARM = VK_STRUCTURE_TYPE_TENSOR_DEPENDENCY_INFO_ARM,
1415 eMemoryDedicatedAllocateInfoTensorARM = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_TENSOR_ARM,
1416 ePhysicalDeviceExternalTensorInfoARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_TENSOR_INFO_ARM,
1417 eExternalTensorPropertiesARM = VK_STRUCTURE_TYPE_EXTERNAL_TENSOR_PROPERTIES_ARM,
1418 eExternalMemoryTensorCreateInfoARM = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_TENSOR_CREATE_INFO_ARM,
1419 ePhysicalDeviceDescriptorBufferTensorFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_FEATURES_ARM,
1420 ePhysicalDeviceDescriptorBufferTensorPropertiesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_PROPERTIES_ARM,
1421 eDescriptorGetTensorInfoARM = VK_STRUCTURE_TYPE_DESCRIPTOR_GET_TENSOR_INFO_ARM,
1422 eTensorCaptureDescriptorDataInfoARM = VK_STRUCTURE_TYPE_TENSOR_CAPTURE_DESCRIPTOR_DATA_INFO_ARM,
1423 eTensorViewCaptureDescriptorDataInfoARM = VK_STRUCTURE_TYPE_TENSOR_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_ARM,
1424 eFrameBoundaryTensorsARM = VK_STRUCTURE_TYPE_FRAME_BOUNDARY_TENSORS_ARM,
1425 ePhysicalDeviceShaderModuleIdentifierFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT,
1426 ePhysicalDeviceShaderModuleIdentifierPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT,
1427 ePipelineShaderStageModuleIdentifierCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT,
1428 eShaderModuleIdentifierEXT = VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT,
1429 ePhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT,
1430 ePhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM,
1431 ePhysicalDeviceOpticalFlowFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV,
1432 ePhysicalDeviceOpticalFlowPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV,
1433 eOpticalFlowImageFormatInfoNV = VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV,
1434 eOpticalFlowImageFormatPropertiesNV = VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV,
1435 eOpticalFlowSessionCreateInfoNV = VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV,
1436 eOpticalFlowExecuteInfoNV = VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV,
1437 eOpticalFlowSessionCreatePrivateDataInfoNV = VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV,
1438 ePhysicalDeviceLegacyDitheringFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT,
1439 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
1440 ePhysicalDeviceExternalFormatResolveFeaturesANDROID = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID,
1441 ePhysicalDeviceExternalFormatResolvePropertiesANDROID = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID,
1442 eAndroidHardwareBufferFormatResolvePropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID,
1443 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
1444 ePhysicalDeviceAntiLagFeaturesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD,
1445 eAntiLagDataAMD = VK_STRUCTURE_TYPE_ANTI_LAG_DATA_AMD,
1446 eAntiLagPresentationInfoAMD = VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD,
1447 #if defined( VK_ENABLE_BETA_EXTENSIONS )
1448 ePhysicalDeviceDenseGeometryFormatFeaturesAMDX = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX,
1449 eAccelerationStructureDenseGeometryFormatTrianglesDataAMDX = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DENSE_GEOMETRY_FORMAT_TRIANGLES_DATA_AMDX,
1450 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
1451 eSurfaceCapabilitiesPresentId2KHR = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_ID_2_KHR,
1452 ePresentId2KHR = VK_STRUCTURE_TYPE_PRESENT_ID_2_KHR,
1453 ePhysicalDevicePresentId2FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_2_FEATURES_KHR,
1454 eSurfaceCapabilitiesPresentWait2KHR = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_WAIT_2_KHR,
1455 ePhysicalDevicePresentWait2FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_2_FEATURES_KHR,
1456 ePresentWait2InfoKHR = VK_STRUCTURE_TYPE_PRESENT_WAIT_2_INFO_KHR,
1457 ePhysicalDeviceRayTracingPositionFetchFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR,
1458 ePhysicalDeviceShaderObjectFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT,
1459 ePhysicalDeviceShaderObjectPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT,
1460 eShaderCreateInfoEXT = VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT,
1461 ePhysicalDevicePipelineBinaryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR,
1462 ePipelineBinaryCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_BINARY_CREATE_INFO_KHR,
1463 ePipelineBinaryInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_BINARY_INFO_KHR,
1464 ePipelineBinaryKeyKHR = VK_STRUCTURE_TYPE_PIPELINE_BINARY_KEY_KHR,
1465 ePhysicalDevicePipelineBinaryPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR,
1466 eReleaseCapturedPipelineDataInfoKHR = VK_STRUCTURE_TYPE_RELEASE_CAPTURED_PIPELINE_DATA_INFO_KHR,
1467 ePipelineBinaryDataInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_BINARY_DATA_INFO_KHR,
1468 ePipelineCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_CREATE_INFO_KHR,
1469 eDevicePipelineBinaryInternalCacheControlKHR = VK_STRUCTURE_TYPE_DEVICE_PIPELINE_BINARY_INTERNAL_CACHE_CONTROL_KHR,
1470 ePipelineBinaryHandlesInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_BINARY_HANDLES_INFO_KHR,
1471 ePhysicalDeviceTilePropertiesFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM,
1472 eTilePropertiesQCOM = VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM,
1473 ePhysicalDeviceAmigoProfilingFeaturesSEC = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC,
1474 eAmigoProfilingSubmitInfoSEC = VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC,
1475 eSurfacePresentModeKHR = VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_KHR,
1476 eSurfacePresentModeEXT = VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT,
1477 eSurfacePresentScalingCapabilitiesKHR = VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_KHR,
1478 eSurfacePresentScalingCapabilitiesEXT = VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT,
1479 eSurfacePresentModeCompatibilityKHR = VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_KHR,
1480 eSurfacePresentModeCompatibilityEXT = VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT,
1481 ePhysicalDeviceSwapchainMaintenance1FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR,
1482 ePhysicalDeviceSwapchainMaintenance1FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT,
1483 eSwapchainPresentFenceInfoKHR = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_KHR,
1484 eSwapchainPresentFenceInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT,
1485 eSwapchainPresentModesCreateInfoKHR = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR,
1486 eSwapchainPresentModesCreateInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT,
1487 eSwapchainPresentModeInfoKHR = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_KHR,
1488 eSwapchainPresentModeInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT,
1489 eSwapchainPresentScalingCreateInfoKHR = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR,
1490 eSwapchainPresentScalingCreateInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT,
1491 eReleaseSwapchainImagesInfoKHR = VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_KHR,
1492 eReleaseSwapchainImagesInfoEXT = VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT,
1493 ePhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM,
1494 ePhysicalDeviceRayTracingInvocationReorderFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV,
1495 ePhysicalDeviceRayTracingInvocationReorderPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV,
1496 ePhysicalDeviceCooperativeVectorFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV,
1497 ePhysicalDeviceCooperativeVectorPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV,
1498 eCooperativeVectorPropertiesNV = VK_STRUCTURE_TYPE_COOPERATIVE_VECTOR_PROPERTIES_NV,
1499 eConvertCooperativeVectorMatrixInfoNV = VK_STRUCTURE_TYPE_CONVERT_COOPERATIVE_VECTOR_MATRIX_INFO_NV,
1500 ePhysicalDeviceExtendedSparseAddressSpaceFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV,
1501 ePhysicalDeviceExtendedSparseAddressSpacePropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV,
1502 ePhysicalDeviceMutableDescriptorTypeFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT,
1503 ePhysicalDeviceMutableDescriptorTypeFeaturesVALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE,
1504 eMutableDescriptorTypeCreateInfoEXT = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT,
1505 eMutableDescriptorTypeCreateInfoVALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE,
1506 ePhysicalDeviceLegacyVertexAttributesFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT,
1507 ePhysicalDeviceLegacyVertexAttributesPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT,
1508 eLayerSettingsCreateInfoEXT = VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT,
1509 ePhysicalDeviceShaderCoreBuiltinsFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM,
1510 ePhysicalDeviceShaderCoreBuiltinsPropertiesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM,
1511 ePhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT,
1512 ePhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT,
1513 eLatencySleepModeInfoNV = VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV,
1514 eLatencySleepInfoNV = VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV,
1515 eSetLatencyMarkerInfoNV = VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV,
1516 eGetLatencyMarkerInfoNV = VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV,
1517 eLatencyTimingsFrameReportNV = VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV,
1518 eLatencySubmissionPresentIdNV = VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV,
1519 eOutOfBandQueueTypeInfoNV = VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV,
1520 eSwapchainLatencyCreateInfoNV = VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV,
1521 eLatencySurfaceCapabilitiesNV = VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV,
1522 ePhysicalDeviceCooperativeMatrixFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR,
1523 eCooperativeMatrixPropertiesKHR = VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR,
1524 ePhysicalDeviceCooperativeMatrixPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR,
1525 eDataGraphPipelineCreateInfoARM = VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CREATE_INFO_ARM,
1526 eDataGraphPipelineSessionCreateInfoARM = VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_CREATE_INFO_ARM,
1527 eDataGraphPipelineResourceInfoARM = VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_RESOURCE_INFO_ARM,
1528 eDataGraphPipelineConstantARM = VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_ARM,
1529 eDataGraphPipelineSessionMemoryRequirementsInfoARM = VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_MEMORY_REQUIREMENTS_INFO_ARM,
1530 eBindDataGraphPipelineSessionMemoryInfoARM = VK_STRUCTURE_TYPE_BIND_DATA_GRAPH_PIPELINE_SESSION_MEMORY_INFO_ARM,
1531 ePhysicalDeviceDataGraphFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM,
1532 eDataGraphPipelineShaderModuleCreateInfoARM = VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM,
1533 eDataGraphPipelinePropertyQueryResultARM = VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_PROPERTY_QUERY_RESULT_ARM,
1534 eDataGraphPipelineInfoARM = VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_INFO_ARM,
1535 eDataGraphPipelineCompilerControlCreateInfoARM = VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_COMPILER_CONTROL_CREATE_INFO_ARM,
1536 eDataGraphPipelineSessionBindPointRequirementsInfoARM = VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENTS_INFO_ARM,
1537 eDataGraphPipelineSessionBindPointRequirementARM = VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENT_ARM,
1538 eDataGraphPipelineIdentifierCreateInfoARM = VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM,
1539 eDataGraphPipelineDispatchInfoARM = VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_DISPATCH_INFO_ARM,
1540 eDataGraphProcessingEngineCreateInfoARM = VK_STRUCTURE_TYPE_DATA_GRAPH_PROCESSING_ENGINE_CREATE_INFO_ARM,
1541 eQueueFamilyDataGraphProcessingEnginePropertiesARM = VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_PROPERTIES_ARM,
1542 eQueueFamilyDataGraphPropertiesARM = VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_PROPERTIES_ARM,
1543 ePhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM,
1544 eDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM = VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM,
1545 ePhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM,
1546 eMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM = VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM,
1547 ePhysicalDeviceComputeShaderDerivativesFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR,
1548 ePhysicalDeviceComputeShaderDerivativesFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV,
1549 ePhysicalDeviceComputeShaderDerivativesPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR,
1550 eVideoDecodeAv1CapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR,
1551 eVideoDecodeAv1PictureInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR,
1552 eVideoDecodeAv1ProfileInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR,
1553 eVideoDecodeAv1SessionParametersCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR,
1554 eVideoDecodeAv1DpbSlotInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR,
1555 eVideoEncodeAv1CapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_CAPABILITIES_KHR,
1556 eVideoEncodeAv1SessionParametersCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR,
1557 eVideoEncodeAv1PictureInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PICTURE_INFO_KHR,
1558 eVideoEncodeAv1DpbSlotInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_DPB_SLOT_INFO_KHR,
1559 ePhysicalDeviceVideoEncodeAv1FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_AV1_FEATURES_KHR,
1560 eVideoEncodeAv1ProfileInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PROFILE_INFO_KHR,
1561 eVideoEncodeAv1RateControlInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_INFO_KHR,
1562 eVideoEncodeAv1RateControlLayerInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR,
1563 eVideoEncodeAv1QualityLevelPropertiesKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUALITY_LEVEL_PROPERTIES_KHR,
1564 eVideoEncodeAv1SessionCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_CREATE_INFO_KHR,
1565 eVideoEncodeAv1GopRemainingFrameInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR,
1566 ePhysicalDeviceVideoDecodeVp9FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_DECODE_VP9_FEATURES_KHR,
1567 eVideoDecodeVp9CapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_CAPABILITIES_KHR,
1568 eVideoDecodeVp9PictureInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PICTURE_INFO_KHR,
1569 eVideoDecodeVp9ProfileInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PROFILE_INFO_KHR,
1570 ePhysicalDeviceVideoMaintenance1FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR,
1571 eVideoInlineQueryInfoKHR = VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR,
1572 ePhysicalDevicePerStageDescriptorSetFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV,
1573 ePhysicalDeviceImageProcessing2FeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM,
1574 ePhysicalDeviceImageProcessing2PropertiesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM,
1575 eSamplerBlockMatchWindowCreateInfoQCOM = VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM,
1576 eSamplerCubicWeightsCreateInfoQCOM = VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM,
1577 ePhysicalDeviceCubicWeightsFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM,
1578 eBlitImageCubicWeightsInfoQCOM = VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM,
1579 ePhysicalDeviceYcbcrDegammaFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM,
1580 eSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM,
1581 ePhysicalDeviceCubicClampFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM,
1582 ePhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT,
1583 ePhysicalDeviceUnifiedImageLayoutsFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR,
1584 eAttachmentFeedbackLoopInfoEXT = VK_STRUCTURE_TYPE_ATTACHMENT_FEEDBACK_LOOP_INFO_EXT,
1585 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
1586 eScreenBufferPropertiesQNX = VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX,
1587 eScreenBufferFormatPropertiesQNX = VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX,
1588 eImportScreenBufferInfoQNX = VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX,
1589 eExternalFormatQNX = VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX,
1590 ePhysicalDeviceExternalMemoryScreenBufferFeaturesQNX = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX,
1591 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
1592 ePhysicalDeviceLayeredDriverPropertiesMSFT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT,
1593 eCalibratedTimestampInfoKHR = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR,
1594 eCalibratedTimestampInfoEXT = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT,
1595 eSetDescriptorBufferOffsetsInfoEXT = VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT,
1596 eBindDescriptorBufferEmbeddedSamplersInfoEXT = VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT,
1597 ePhysicalDeviceDescriptorPoolOverallocationFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV,
1598 ePhysicalDeviceTileMemoryHeapFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM,
1599 ePhysicalDeviceTileMemoryHeapPropertiesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM,
1600 eTileMemoryRequirementsQCOM = VK_STRUCTURE_TYPE_TILE_MEMORY_REQUIREMENTS_QCOM,
1601 eTileMemoryBindInfoQCOM = VK_STRUCTURE_TYPE_TILE_MEMORY_BIND_INFO_QCOM,
1602 eTileMemorySizeInfoQCOM = VK_STRUCTURE_TYPE_TILE_MEMORY_SIZE_INFO_QCOM,
1603 ePhysicalDeviceCopyMemoryIndirectFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR,
1604 ePhysicalDeviceCopyMemoryIndirectPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR,
1605 ePhysicalDeviceCopyMemoryIndirectPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV,
1606 eCopyMemoryIndirectInfoKHR = VK_STRUCTURE_TYPE_COPY_MEMORY_INDIRECT_INFO_KHR,
1607 eCopyMemoryToImageIndirectInfoKHR = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INDIRECT_INFO_KHR,
1608 ePhysicalDeviceMemoryDecompressionFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_EXT,
1609 ePhysicalDeviceMemoryDecompressionFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV,
1610 ePhysicalDeviceMemoryDecompressionPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_EXT,
1611 ePhysicalDeviceMemoryDecompressionPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV,
1612 eDecompressMemoryInfoEXT = VK_STRUCTURE_TYPE_DECOMPRESS_MEMORY_INFO_EXT,
1613 eDisplaySurfaceStereoCreateInfoNV = VK_STRUCTURE_TYPE_DISPLAY_SURFACE_STEREO_CREATE_INFO_NV,
1614 eDisplayModeStereoPropertiesNV = VK_STRUCTURE_TYPE_DISPLAY_MODE_STEREO_PROPERTIES_NV,
1615 eVideoEncodeIntraRefreshCapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR,
1616 eVideoEncodeSessionIntraRefreshCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR,
1617 eVideoEncodeIntraRefreshInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR,
1618 eVideoReferenceIntraRefreshInfoKHR = VK_STRUCTURE_TYPE_VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR,
1619 ePhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR,
1620 eVideoEncodeQuantizationMapCapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR,
1621 eVideoFormatQuantizationMapPropertiesKHR = VK_STRUCTURE_TYPE_VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR,
1622 eVideoEncodeQuantizationMapInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_INFO_KHR,
1623 eVideoEncodeQuantizationMapSessionParametersCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_SESSION_PARAMETERS_CREATE_INFO_KHR,
1624 ePhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR,
1625 eVideoEncodeH264QuantizationMapCapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUANTIZATION_MAP_CAPABILITIES_KHR,
1626 eVideoEncodeH265QuantizationMapCapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUANTIZATION_MAP_CAPABILITIES_KHR,
1627 eVideoFormatH265QuantizationMapPropertiesKHR = VK_STRUCTURE_TYPE_VIDEO_FORMAT_H265_QUANTIZATION_MAP_PROPERTIES_KHR,
1628 eVideoEncodeAv1QuantizationMapCapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUANTIZATION_MAP_CAPABILITIES_KHR,
1629 eVideoFormatAv1QuantizationMapPropertiesKHR = VK_STRUCTURE_TYPE_VIDEO_FORMAT_AV1_QUANTIZATION_MAP_PROPERTIES_KHR,
1630 ePhysicalDeviceRawAccessChainsFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV,
1631 eExternalComputeQueueDeviceCreateInfoNV = VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DEVICE_CREATE_INFO_NV,
1632 eExternalComputeQueueCreateInfoNV = VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_CREATE_INFO_NV,
1633 eExternalComputeQueueDataParamsNV = VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DATA_PARAMS_NV,
1634 ePhysicalDeviceExternalComputeQueuePropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_COMPUTE_QUEUE_PROPERTIES_NV,
1635 ePhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR,
1636 ePhysicalDeviceCommandBufferInheritanceFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV,
1637 ePhysicalDeviceMaintenance7FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR,
1638 ePhysicalDeviceMaintenance7PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR,
1639 ePhysicalDeviceLayeredApiPropertiesListKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR,
1640 ePhysicalDeviceLayeredApiPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR,
1641 ePhysicalDeviceLayeredApiVulkanPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR,
1642 ePhysicalDeviceShaderAtomicFloat16VectorFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV,
1643 ePhysicalDeviceShaderReplicatedCompositesFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT,
1644 ePhysicalDeviceShaderFloat8FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT,
1645 ePhysicalDeviceRayTracingValidationFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV,
1646 ePhysicalDeviceClusterAccelerationStructureFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV,
1647 ePhysicalDeviceClusterAccelerationStructurePropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV,
1648 eClusterAccelerationStructureClustersBottomLevelInputNV = VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_CLUSTERS_BOTTOM_LEVEL_INPUT_NV,
1649 eClusterAccelerationStructureTriangleClusterInputNV = VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_TRIANGLE_CLUSTER_INPUT_NV,
1650 eClusterAccelerationStructureMoveObjectsInputNV = VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_MOVE_OBJECTS_INPUT_NV,
1651 eClusterAccelerationStructureInputInfoNV = VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_INPUT_INFO_NV,
1652 eClusterAccelerationStructureCommandsInfoNV = VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_COMMANDS_INFO_NV,
1653 eRayTracingPipelineClusterAccelerationStructureCreateInfoNV = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV,
1654 ePhysicalDevicePartitionedAccelerationStructureFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV,
1655 ePhysicalDevicePartitionedAccelerationStructurePropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV,
1656 eWriteDescriptorSetPartitionedAccelerationStructureNV = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV,
1657 ePartitionedAccelerationStructureInstancesInputNV = VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCES_INPUT_NV,
1658 eBuildPartitionedAccelerationStructureInfoNV = VK_STRUCTURE_TYPE_BUILD_PARTITIONED_ACCELERATION_STRUCTURE_INFO_NV,
1659 ePartitionedAccelerationStructureFlagsNV = VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV,
1660 ePhysicalDeviceDeviceGeneratedCommandsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT,
1661 ePhysicalDeviceDeviceGeneratedCommandsPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT,
1662 eGeneratedCommandsMemoryRequirementsInfoEXT = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT,
1663 eIndirectExecutionSetCreateInfoEXT = VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_CREATE_INFO_EXT,
1664 eGeneratedCommandsInfoEXT = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_EXT,
1665 eIndirectCommandsLayoutCreateInfoEXT = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_EXT,
1666 eIndirectCommandsLayoutTokenEXT = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_EXT,
1667 eWriteIndirectExecutionSetPipelineEXT = VK_STRUCTURE_TYPE_WRITE_INDIRECT_EXECUTION_SET_PIPELINE_EXT,
1668 eWriteIndirectExecutionSetShaderEXT = VK_STRUCTURE_TYPE_WRITE_INDIRECT_EXECUTION_SET_SHADER_EXT,
1669 eIndirectExecutionSetPipelineInfoEXT = VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_PIPELINE_INFO_EXT,
1670 eIndirectExecutionSetShaderInfoEXT = VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_SHADER_INFO_EXT,
1671 eIndirectExecutionSetShaderLayoutInfoEXT = VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_SHADER_LAYOUT_INFO_EXT,
1672 eGeneratedCommandsPipelineInfoEXT = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_PIPELINE_INFO_EXT,
1673 eGeneratedCommandsShaderInfoEXT = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_SHADER_INFO_EXT,
1674 ePhysicalDeviceMaintenance8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR,
1675 eMemoryBarrierAccessFlags3KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR,
1676 ePhysicalDeviceImageAlignmentControlFeaturesMESA = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA,
1677 ePhysicalDeviceImageAlignmentControlPropertiesMESA = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA,
1678 eImageAlignmentControlCreateInfoMESA = VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA,
1679 ePhysicalDeviceShaderFmaFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR,
1680 ePhysicalDeviceRayTracingInvocationReorderFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_EXT,
1681 ePhysicalDeviceRayTracingInvocationReorderPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_EXT,
1682 ePhysicalDeviceDepthClampControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT,
1683 ePipelineViewportDepthClampControlCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT,
1684 ePhysicalDeviceMaintenance9FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR,
1685 ePhysicalDeviceMaintenance9PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR,
1686 eQueueFamilyOwnershipTransferPropertiesKHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR,
1687 ePhysicalDeviceVideoMaintenance2FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR,
1688 eVideoDecodeH264InlineSessionParametersInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR,
1689 eVideoDecodeH265InlineSessionParametersInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR,
1690 eVideoDecodeAv1InlineSessionParametersInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR,
1691 #if defined( VK_USE_PLATFORM_OHOS )
1692 eSurfaceCreateInfoOHOS = VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS,
1693 eNativeBufferOHOS = VK_STRUCTURE_TYPE_NATIVE_BUFFER_OHOS,
1694 eSwapchainImageCreateInfoOHOS = VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_OHOS,
1695 ePhysicalDevicePresentationPropertiesOHOS = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_OHOS,
1696 #endif /*VK_USE_PLATFORM_OHOS*/
1697 ePhysicalDeviceHdrVividFeaturesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI,
1698 eHdrVividDynamicMetadataHUAWEI = VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI,
1699 ePhysicalDeviceCooperativeMatrix2FeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV,
1700 eCooperativeMatrixFlexibleDimensionsPropertiesNV = VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV,
1701 ePhysicalDeviceCooperativeMatrix2PropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV,
1702 ePhysicalDevicePipelineOpacityMicromapFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM,
1703 #if defined( VK_USE_PLATFORM_METAL_EXT )
1704 eImportMemoryMetalHandleInfoEXT = VK_STRUCTURE_TYPE_IMPORT_MEMORY_METAL_HANDLE_INFO_EXT,
1705 eMemoryMetalHandlePropertiesEXT = VK_STRUCTURE_TYPE_MEMORY_METAL_HANDLE_PROPERTIES_EXT,
1706 eMemoryGetMetalHandleInfoEXT = VK_STRUCTURE_TYPE_MEMORY_GET_METAL_HANDLE_INFO_EXT,
1707 #endif /*VK_USE_PLATFORM_METAL_EXT*/
1708 ePhysicalDeviceDepthClampZeroOneFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR,
1709 ePhysicalDeviceDepthClampZeroOneFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT,
1710 ePhysicalDevicePerformanceCountersByRegionFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_FEATURES_ARM,
1711 ePhysicalDevicePerformanceCountersByRegionPropertiesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_PROPERTIES_ARM,
1712 ePerformanceCounterARM = VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_ARM,
1713 ePerformanceCounterDescriptionARM = VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_ARM,
1714 eRenderPassPerformanceCountersByRegionBeginInfoARM = VK_STRUCTURE_TYPE_RENDER_PASS_PERFORMANCE_COUNTERS_BY_REGION_BEGIN_INFO_ARM,
1715 ePhysicalDeviceVertexAttributeRobustnessFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT,
1716 ePhysicalDeviceFormatPackFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM,
1717 ePhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE,
1718 ePhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE,
1719 ePipelineFragmentDensityMapLayeredCreateInfoVALVE = VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE,
1720 ePhysicalDeviceRobustness2FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR,
1721 ePhysicalDeviceRobustness2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT,
1722 ePhysicalDeviceRobustness2PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR,
1723 ePhysicalDeviceRobustness2PropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT,
1724 #if defined( VK_ENABLE_BETA_EXTENSIONS )
1725 eSetPresentConfigNV = VK_STRUCTURE_TYPE_SET_PRESENT_CONFIG_NV,
1726 ePhysicalDevicePresentMeteringFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV,
1727 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
1728 ePhysicalDeviceFragmentDensityMapOffsetFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT,
1729 ePhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM,
1730 ePhysicalDeviceFragmentDensityMapOffsetPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT,
1731 ePhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM,
1732 eRenderPassFragmentDensityMapOffsetEndInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT,
1733 eSubpassFragmentDensityMapOffsetEndInfoQCOM = VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM,
1734 ePhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT,
1735 ePhysicalDevicePresentModeFifoLatestReadyFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR,
1736 ePhysicalDevicePresentModeFifoLatestReadyFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT,
1737 ePhysicalDeviceShader64BitIndexingFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT,
1738 ePhysicalDeviceCustomResolveFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT,
1739 eBeginCustomResolveInfoEXT = VK_STRUCTURE_TYPE_BEGIN_CUSTOM_RESOLVE_INFO_EXT,
1740 eCustomResolveCreateInfoEXT = VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT,
1741 ePhysicalDeviceDataGraphModelFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM,
1742 eDataGraphPipelineBuiltinModelCreateInfoQCOM = VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM,
1743 ePhysicalDeviceMaintenance10FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR,
1744 ePhysicalDeviceMaintenance10PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR,
1745 eRenderingAttachmentFlagsInfoKHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_FLAGS_INFO_KHR,
1746 eRenderingEndInfoKHR = VK_STRUCTURE_TYPE_RENDERING_END_INFO_KHR,
1747 eRenderingEndInfoEXT = VK_STRUCTURE_TYPE_RENDERING_END_INFO_EXT,
1748 eResolveImageModeInfoKHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_MODE_INFO_KHR,
1749 ePhysicalDevicePipelineCacheIncrementalModeFeaturesSEC = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC,
1750 ePhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT
1751 };
1752
1753 // wrapper class for enum VkObjectType, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkObjectType.html
1754 enum class ObjectType
1755 {
1756 eUnknown = VK_OBJECT_TYPE_UNKNOWN,
1757 eInstance = VK_OBJECT_TYPE_INSTANCE,
1758 ePhysicalDevice = VK_OBJECT_TYPE_PHYSICAL_DEVICE,
1759 eDevice = VK_OBJECT_TYPE_DEVICE,
1760 eQueue = VK_OBJECT_TYPE_QUEUE,
1761 eSemaphore = VK_OBJECT_TYPE_SEMAPHORE,
1762 eCommandBuffer = VK_OBJECT_TYPE_COMMAND_BUFFER,
1763 eFence = VK_OBJECT_TYPE_FENCE,
1764 eDeviceMemory = VK_OBJECT_TYPE_DEVICE_MEMORY,
1765 eBuffer = VK_OBJECT_TYPE_BUFFER,
1766 eImage = VK_OBJECT_TYPE_IMAGE,
1767 eEvent = VK_OBJECT_TYPE_EVENT,
1768 eQueryPool = VK_OBJECT_TYPE_QUERY_POOL,
1769 eBufferView = VK_OBJECT_TYPE_BUFFER_VIEW,
1770 eImageView = VK_OBJECT_TYPE_IMAGE_VIEW,
1771 eShaderModule = VK_OBJECT_TYPE_SHADER_MODULE,
1772 ePipelineCache = VK_OBJECT_TYPE_PIPELINE_CACHE,
1773 ePipelineLayout = VK_OBJECT_TYPE_PIPELINE_LAYOUT,
1774 eRenderPass = VK_OBJECT_TYPE_RENDER_PASS,
1775 ePipeline = VK_OBJECT_TYPE_PIPELINE,
1776 eDescriptorSetLayout = VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT,
1777 eSampler = VK_OBJECT_TYPE_SAMPLER,
1778 eDescriptorPool = VK_OBJECT_TYPE_DESCRIPTOR_POOL,
1779 eDescriptorSet = VK_OBJECT_TYPE_DESCRIPTOR_SET,
1780 eFramebuffer = VK_OBJECT_TYPE_FRAMEBUFFER,
1781 eCommandPool = VK_OBJECT_TYPE_COMMAND_POOL,
1782 eDescriptorUpdateTemplate = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1783 eDescriptorUpdateTemplateKHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR,
1784 eSamplerYcbcrConversion = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1785 eSamplerYcbcrConversionKHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR,
1786 ePrivateDataSlot = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT,
1787 ePrivateDataSlotEXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT,
1788 eSurfaceKHR = VK_OBJECT_TYPE_SURFACE_KHR,
1789 eSwapchainKHR = VK_OBJECT_TYPE_SWAPCHAIN_KHR,
1790 eDisplayKHR = VK_OBJECT_TYPE_DISPLAY_KHR,
1791 eDisplayModeKHR = VK_OBJECT_TYPE_DISPLAY_MODE_KHR,
1792 eDebugReportCallbackEXT = VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT,
1793 eVideoSessionKHR = VK_OBJECT_TYPE_VIDEO_SESSION_KHR,
1794 eVideoSessionParametersKHR = VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR,
1795 eCuModuleNVX = VK_OBJECT_TYPE_CU_MODULE_NVX,
1796 eCuFunctionNVX = VK_OBJECT_TYPE_CU_FUNCTION_NVX,
1797 eDebugUtilsMessengerEXT = VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT,
1798 eAccelerationStructureKHR = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR,
1799 eValidationCacheEXT = VK_OBJECT_TYPE_VALIDATION_CACHE_EXT,
1800 eAccelerationStructureNV = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV,
1801 ePerformanceConfigurationINTEL = VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL,
1802 eDeferredOperationKHR = VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR,
1803 eIndirectCommandsLayoutNV = VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV,
1804 #if defined( VK_ENABLE_BETA_EXTENSIONS )
1805 eCudaModuleNV = VK_OBJECT_TYPE_CUDA_MODULE_NV,
1806 eCudaFunctionNV = VK_OBJECT_TYPE_CUDA_FUNCTION_NV,
1807 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
1808 #if defined( VK_USE_PLATFORM_FUCHSIA )
1809 eBufferCollectionFUCHSIA = VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA,
1810 #endif /*VK_USE_PLATFORM_FUCHSIA*/
1811 eMicromapEXT = VK_OBJECT_TYPE_MICROMAP_EXT,
1812 eTensorARM = VK_OBJECT_TYPE_TENSOR_ARM,
1813 eTensorViewARM = VK_OBJECT_TYPE_TENSOR_VIEW_ARM,
1814 eOpticalFlowSessionNV = VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV,
1815 eShaderEXT = VK_OBJECT_TYPE_SHADER_EXT,
1816 ePipelineBinaryKHR = VK_OBJECT_TYPE_PIPELINE_BINARY_KHR,
1817 eDataGraphPipelineSessionARM = VK_OBJECT_TYPE_DATA_GRAPH_PIPELINE_SESSION_ARM,
1818 eExternalComputeQueueNV = VK_OBJECT_TYPE_EXTERNAL_COMPUTE_QUEUE_NV,
1819 eIndirectCommandsLayoutEXT = VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_EXT,
1820 eIndirectExecutionSetEXT = VK_OBJECT_TYPE_INDIRECT_EXECUTION_SET_EXT
1821 };
1822
1823 // wrapper class for enum VkVendorId, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVendorId.html
1824 enum class VendorId
1825 {
1826 eKhronos = VK_VENDOR_ID_KHRONOS,
1827 eVIV = VK_VENDOR_ID_VIV,
1828 eVSI = VK_VENDOR_ID_VSI,
1829 eKazan = VK_VENDOR_ID_KAZAN,
1830 eCodeplay = VK_VENDOR_ID_CODEPLAY,
1831 eMESA = VK_VENDOR_ID_MESA,
1832 ePocl = VK_VENDOR_ID_POCL,
1833 eMobileye = VK_VENDOR_ID_MOBILEYE
1834 };
1835
1836 // wrapper class for enum VkFormat, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFormat.html
1837 enum class Format
1838 {
1839 eUndefined = VK_FORMAT_UNDEFINED,
1840 eR4G4UnormPack8 = VK_FORMAT_R4G4_UNORM_PACK8,
1841 eR4G4B4A4UnormPack16 = VK_FORMAT_R4G4B4A4_UNORM_PACK16,
1842 eB4G4R4A4UnormPack16 = VK_FORMAT_B4G4R4A4_UNORM_PACK16,
1843 eR5G6B5UnormPack16 = VK_FORMAT_R5G6B5_UNORM_PACK16,
1844 eB5G6R5UnormPack16 = VK_FORMAT_B5G6R5_UNORM_PACK16,
1845 eR5G5B5A1UnormPack16 = VK_FORMAT_R5G5B5A1_UNORM_PACK16,
1846 eB5G5R5A1UnormPack16 = VK_FORMAT_B5G5R5A1_UNORM_PACK16,
1847 eA1R5G5B5UnormPack16 = VK_FORMAT_A1R5G5B5_UNORM_PACK16,
1848 eR8Unorm = VK_FORMAT_R8_UNORM,
1849 eR8Snorm = VK_FORMAT_R8_SNORM,
1850 eR8Uscaled = VK_FORMAT_R8_USCALED,
1851 eR8Sscaled = VK_FORMAT_R8_SSCALED,
1852 eR8Uint = VK_FORMAT_R8_UINT,
1853 eR8Sint = VK_FORMAT_R8_SINT,
1854 eR8Srgb = VK_FORMAT_R8_SRGB,
1855 eR8G8Unorm = VK_FORMAT_R8G8_UNORM,
1856 eR8G8Snorm = VK_FORMAT_R8G8_SNORM,
1857 eR8G8Uscaled = VK_FORMAT_R8G8_USCALED,
1858 eR8G8Sscaled = VK_FORMAT_R8G8_SSCALED,
1859 eR8G8Uint = VK_FORMAT_R8G8_UINT,
1860 eR8G8Sint = VK_FORMAT_R8G8_SINT,
1861 eR8G8Srgb = VK_FORMAT_R8G8_SRGB,
1862 eR8G8B8Unorm = VK_FORMAT_R8G8B8_UNORM,
1863 eR8G8B8Snorm = VK_FORMAT_R8G8B8_SNORM,
1864 eR8G8B8Uscaled = VK_FORMAT_R8G8B8_USCALED,
1865 eR8G8B8Sscaled = VK_FORMAT_R8G8B8_SSCALED,
1866 eR8G8B8Uint = VK_FORMAT_R8G8B8_UINT,
1867 eR8G8B8Sint = VK_FORMAT_R8G8B8_SINT,
1868 eR8G8B8Srgb = VK_FORMAT_R8G8B8_SRGB,
1869 eB8G8R8Unorm = VK_FORMAT_B8G8R8_UNORM,
1870 eB8G8R8Snorm = VK_FORMAT_B8G8R8_SNORM,
1871 eB8G8R8Uscaled = VK_FORMAT_B8G8R8_USCALED,
1872 eB8G8R8Sscaled = VK_FORMAT_B8G8R8_SSCALED,
1873 eB8G8R8Uint = VK_FORMAT_B8G8R8_UINT,
1874 eB8G8R8Sint = VK_FORMAT_B8G8R8_SINT,
1875 eB8G8R8Srgb = VK_FORMAT_B8G8R8_SRGB,
1876 eR8G8B8A8Unorm = VK_FORMAT_R8G8B8A8_UNORM,
1877 eR8G8B8A8Snorm = VK_FORMAT_R8G8B8A8_SNORM,
1878 eR8G8B8A8Uscaled = VK_FORMAT_R8G8B8A8_USCALED,
1879 eR8G8B8A8Sscaled = VK_FORMAT_R8G8B8A8_SSCALED,
1880 eR8G8B8A8Uint = VK_FORMAT_R8G8B8A8_UINT,
1881 eR8G8B8A8Sint = VK_FORMAT_R8G8B8A8_SINT,
1882 eR8G8B8A8Srgb = VK_FORMAT_R8G8B8A8_SRGB,
1883 eB8G8R8A8Unorm = VK_FORMAT_B8G8R8A8_UNORM,
1884 eB8G8R8A8Snorm = VK_FORMAT_B8G8R8A8_SNORM,
1885 eB8G8R8A8Uscaled = VK_FORMAT_B8G8R8A8_USCALED,
1886 eB8G8R8A8Sscaled = VK_FORMAT_B8G8R8A8_SSCALED,
1887 eB8G8R8A8Uint = VK_FORMAT_B8G8R8A8_UINT,
1888 eB8G8R8A8Sint = VK_FORMAT_B8G8R8A8_SINT,
1889 eB8G8R8A8Srgb = VK_FORMAT_B8G8R8A8_SRGB,
1890 eA8B8G8R8UnormPack32 = VK_FORMAT_A8B8G8R8_UNORM_PACK32,
1891 eA8B8G8R8SnormPack32 = VK_FORMAT_A8B8G8R8_SNORM_PACK32,
1892 eA8B8G8R8UscaledPack32 = VK_FORMAT_A8B8G8R8_USCALED_PACK32,
1893 eA8B8G8R8SscaledPack32 = VK_FORMAT_A8B8G8R8_SSCALED_PACK32,
1894 eA8B8G8R8UintPack32 = VK_FORMAT_A8B8G8R8_UINT_PACK32,
1895 eA8B8G8R8SintPack32 = VK_FORMAT_A8B8G8R8_SINT_PACK32,
1896 eA8B8G8R8SrgbPack32 = VK_FORMAT_A8B8G8R8_SRGB_PACK32,
1897 eA2R10G10B10UnormPack32 = VK_FORMAT_A2R10G10B10_UNORM_PACK32,
1898 eA2R10G10B10SnormPack32 = VK_FORMAT_A2R10G10B10_SNORM_PACK32,
1899 eA2R10G10B10UscaledPack32 = VK_FORMAT_A2R10G10B10_USCALED_PACK32,
1900 eA2R10G10B10SscaledPack32 = VK_FORMAT_A2R10G10B10_SSCALED_PACK32,
1901 eA2R10G10B10UintPack32 = VK_FORMAT_A2R10G10B10_UINT_PACK32,
1902 eA2R10G10B10SintPack32 = VK_FORMAT_A2R10G10B10_SINT_PACK32,
1903 eA2B10G10R10UnormPack32 = VK_FORMAT_A2B10G10R10_UNORM_PACK32,
1904 eA2B10G10R10SnormPack32 = VK_FORMAT_A2B10G10R10_SNORM_PACK32,
1905 eA2B10G10R10UscaledPack32 = VK_FORMAT_A2B10G10R10_USCALED_PACK32,
1906 eA2B10G10R10SscaledPack32 = VK_FORMAT_A2B10G10R10_SSCALED_PACK32,
1907 eA2B10G10R10UintPack32 = VK_FORMAT_A2B10G10R10_UINT_PACK32,
1908 eA2B10G10R10SintPack32 = VK_FORMAT_A2B10G10R10_SINT_PACK32,
1909 eR16Unorm = VK_FORMAT_R16_UNORM,
1910 eR16Snorm = VK_FORMAT_R16_SNORM,
1911 eR16Uscaled = VK_FORMAT_R16_USCALED,
1912 eR16Sscaled = VK_FORMAT_R16_SSCALED,
1913 eR16Uint = VK_FORMAT_R16_UINT,
1914 eR16Sint = VK_FORMAT_R16_SINT,
1915 eR16Sfloat = VK_FORMAT_R16_SFLOAT,
1916 eR16G16Unorm = VK_FORMAT_R16G16_UNORM,
1917 eR16G16Snorm = VK_FORMAT_R16G16_SNORM,
1918 eR16G16Uscaled = VK_FORMAT_R16G16_USCALED,
1919 eR16G16Sscaled = VK_FORMAT_R16G16_SSCALED,
1920 eR16G16Uint = VK_FORMAT_R16G16_UINT,
1921 eR16G16Sint = VK_FORMAT_R16G16_SINT,
1922 eR16G16Sfloat = VK_FORMAT_R16G16_SFLOAT,
1923 eR16G16B16Unorm = VK_FORMAT_R16G16B16_UNORM,
1924 eR16G16B16Snorm = VK_FORMAT_R16G16B16_SNORM,
1925 eR16G16B16Uscaled = VK_FORMAT_R16G16B16_USCALED,
1926 eR16G16B16Sscaled = VK_FORMAT_R16G16B16_SSCALED,
1927 eR16G16B16Uint = VK_FORMAT_R16G16B16_UINT,
1928 eR16G16B16Sint = VK_FORMAT_R16G16B16_SINT,
1929 eR16G16B16Sfloat = VK_FORMAT_R16G16B16_SFLOAT,
1930 eR16G16B16A16Unorm = VK_FORMAT_R16G16B16A16_UNORM,
1931 eR16G16B16A16Snorm = VK_FORMAT_R16G16B16A16_SNORM,
1932 eR16G16B16A16Uscaled = VK_FORMAT_R16G16B16A16_USCALED,
1933 eR16G16B16A16Sscaled = VK_FORMAT_R16G16B16A16_SSCALED,
1934 eR16G16B16A16Uint = VK_FORMAT_R16G16B16A16_UINT,
1935 eR16G16B16A16Sint = VK_FORMAT_R16G16B16A16_SINT,
1936 eR16G16B16A16Sfloat = VK_FORMAT_R16G16B16A16_SFLOAT,
1937 eR32Uint = VK_FORMAT_R32_UINT,
1938 eR32Sint = VK_FORMAT_R32_SINT,
1939 eR32Sfloat = VK_FORMAT_R32_SFLOAT,
1940 eR32G32Uint = VK_FORMAT_R32G32_UINT,
1941 eR32G32Sint = VK_FORMAT_R32G32_SINT,
1942 eR32G32Sfloat = VK_FORMAT_R32G32_SFLOAT,
1943 eR32G32B32Uint = VK_FORMAT_R32G32B32_UINT,
1944 eR32G32B32Sint = VK_FORMAT_R32G32B32_SINT,
1945 eR32G32B32Sfloat = VK_FORMAT_R32G32B32_SFLOAT,
1946 eR32G32B32A32Uint = VK_FORMAT_R32G32B32A32_UINT,
1947 eR32G32B32A32Sint = VK_FORMAT_R32G32B32A32_SINT,
1948 eR32G32B32A32Sfloat = VK_FORMAT_R32G32B32A32_SFLOAT,
1949 eR64Uint = VK_FORMAT_R64_UINT,
1950 eR64Sint = VK_FORMAT_R64_SINT,
1951 eR64Sfloat = VK_FORMAT_R64_SFLOAT,
1952 eR64G64Uint = VK_FORMAT_R64G64_UINT,
1953 eR64G64Sint = VK_FORMAT_R64G64_SINT,
1954 eR64G64Sfloat = VK_FORMAT_R64G64_SFLOAT,
1955 eR64G64B64Uint = VK_FORMAT_R64G64B64_UINT,
1956 eR64G64B64Sint = VK_FORMAT_R64G64B64_SINT,
1957 eR64G64B64Sfloat = VK_FORMAT_R64G64B64_SFLOAT,
1958 eR64G64B64A64Uint = VK_FORMAT_R64G64B64A64_UINT,
1959 eR64G64B64A64Sint = VK_FORMAT_R64G64B64A64_SINT,
1960 eR64G64B64A64Sfloat = VK_FORMAT_R64G64B64A64_SFLOAT,
1961 eB10G11R11UfloatPack32 = VK_FORMAT_B10G11R11_UFLOAT_PACK32,
1962 eE5B9G9R9UfloatPack32 = VK_FORMAT_E5B9G9R9_UFLOAT_PACK32,
1963 eD16Unorm = VK_FORMAT_D16_UNORM,
1964 eX8D24UnormPack32 = VK_FORMAT_X8_D24_UNORM_PACK32,
1965 eD32Sfloat = VK_FORMAT_D32_SFLOAT,
1966 eS8Uint = VK_FORMAT_S8_UINT,
1967 eD16UnormS8Uint = VK_FORMAT_D16_UNORM_S8_UINT,
1968 eD24UnormS8Uint = VK_FORMAT_D24_UNORM_S8_UINT,
1969 eD32SfloatS8Uint = VK_FORMAT_D32_SFLOAT_S8_UINT,
1970 eBc1RgbUnormBlock = VK_FORMAT_BC1_RGB_UNORM_BLOCK,
1971 eBc1RgbSrgbBlock = VK_FORMAT_BC1_RGB_SRGB_BLOCK,
1972 eBc1RgbaUnormBlock = VK_FORMAT_BC1_RGBA_UNORM_BLOCK,
1973 eBc1RgbaSrgbBlock = VK_FORMAT_BC1_RGBA_SRGB_BLOCK,
1974 eBc2UnormBlock = VK_FORMAT_BC2_UNORM_BLOCK,
1975 eBc2SrgbBlock = VK_FORMAT_BC2_SRGB_BLOCK,
1976 eBc3UnormBlock = VK_FORMAT_BC3_UNORM_BLOCK,
1977 eBc3SrgbBlock = VK_FORMAT_BC3_SRGB_BLOCK,
1978 eBc4UnormBlock = VK_FORMAT_BC4_UNORM_BLOCK,
1979 eBc4SnormBlock = VK_FORMAT_BC4_SNORM_BLOCK,
1980 eBc5UnormBlock = VK_FORMAT_BC5_UNORM_BLOCK,
1981 eBc5SnormBlock = VK_FORMAT_BC5_SNORM_BLOCK,
1982 eBc6HUfloatBlock = VK_FORMAT_BC6H_UFLOAT_BLOCK,
1983 eBc6HSfloatBlock = VK_FORMAT_BC6H_SFLOAT_BLOCK,
1984 eBc7UnormBlock = VK_FORMAT_BC7_UNORM_BLOCK,
1985 eBc7SrgbBlock = VK_FORMAT_BC7_SRGB_BLOCK,
1986 eEtc2R8G8B8UnormBlock = VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK,
1987 eEtc2R8G8B8SrgbBlock = VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK,
1988 eEtc2R8G8B8A1UnormBlock = VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK,
1989 eEtc2R8G8B8A1SrgbBlock = VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK,
1990 eEtc2R8G8B8A8UnormBlock = VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK,
1991 eEtc2R8G8B8A8SrgbBlock = VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK,
1992 eEacR11UnormBlock = VK_FORMAT_EAC_R11_UNORM_BLOCK,
1993 eEacR11SnormBlock = VK_FORMAT_EAC_R11_SNORM_BLOCK,
1994 eEacR11G11UnormBlock = VK_FORMAT_EAC_R11G11_UNORM_BLOCK,
1995 eEacR11G11SnormBlock = VK_FORMAT_EAC_R11G11_SNORM_BLOCK,
1996 eAstc4x4UnormBlock = VK_FORMAT_ASTC_4x4_UNORM_BLOCK,
1997 eAstc4x4SrgbBlock = VK_FORMAT_ASTC_4x4_SRGB_BLOCK,
1998 eAstc5x4UnormBlock = VK_FORMAT_ASTC_5x4_UNORM_BLOCK,
1999 eAstc5x4SrgbBlock = VK_FORMAT_ASTC_5x4_SRGB_BLOCK,
2000 eAstc5x5UnormBlock = VK_FORMAT_ASTC_5x5_UNORM_BLOCK,
2001 eAstc5x5SrgbBlock = VK_FORMAT_ASTC_5x5_SRGB_BLOCK,
2002 eAstc6x5UnormBlock = VK_FORMAT_ASTC_6x5_UNORM_BLOCK,
2003 eAstc6x5SrgbBlock = VK_FORMAT_ASTC_6x5_SRGB_BLOCK,
2004 eAstc6x6UnormBlock = VK_FORMAT_ASTC_6x6_UNORM_BLOCK,
2005 eAstc6x6SrgbBlock = VK_FORMAT_ASTC_6x6_SRGB_BLOCK,
2006 eAstc8x5UnormBlock = VK_FORMAT_ASTC_8x5_UNORM_BLOCK,
2007 eAstc8x5SrgbBlock = VK_FORMAT_ASTC_8x5_SRGB_BLOCK,
2008 eAstc8x6UnormBlock = VK_FORMAT_ASTC_8x6_UNORM_BLOCK,
2009 eAstc8x6SrgbBlock = VK_FORMAT_ASTC_8x6_SRGB_BLOCK,
2010 eAstc8x8UnormBlock = VK_FORMAT_ASTC_8x8_UNORM_BLOCK,
2011 eAstc8x8SrgbBlock = VK_FORMAT_ASTC_8x8_SRGB_BLOCK,
2012 eAstc10x5UnormBlock = VK_FORMAT_ASTC_10x5_UNORM_BLOCK,
2013 eAstc10x5SrgbBlock = VK_FORMAT_ASTC_10x5_SRGB_BLOCK,
2014 eAstc10x6UnormBlock = VK_FORMAT_ASTC_10x6_UNORM_BLOCK,
2015 eAstc10x6SrgbBlock = VK_FORMAT_ASTC_10x6_SRGB_BLOCK,
2016 eAstc10x8UnormBlock = VK_FORMAT_ASTC_10x8_UNORM_BLOCK,
2017 eAstc10x8SrgbBlock = VK_FORMAT_ASTC_10x8_SRGB_BLOCK,
2018 eAstc10x10UnormBlock = VK_FORMAT_ASTC_10x10_UNORM_BLOCK,
2019 eAstc10x10SrgbBlock = VK_FORMAT_ASTC_10x10_SRGB_BLOCK,
2020 eAstc12x10UnormBlock = VK_FORMAT_ASTC_12x10_UNORM_BLOCK,
2021 eAstc12x10SrgbBlock = VK_FORMAT_ASTC_12x10_SRGB_BLOCK,
2022 eAstc12x12UnormBlock = VK_FORMAT_ASTC_12x12_UNORM_BLOCK,
2023 eAstc12x12SrgbBlock = VK_FORMAT_ASTC_12x12_SRGB_BLOCK,
2024 eG8B8G8R8422Unorm = VK_FORMAT_G8B8G8R8_422_UNORM,
2025 eG8B8G8R8422UnormKHR = VK_FORMAT_G8B8G8R8_422_UNORM_KHR,
2026 eB8G8R8G8422Unorm = VK_FORMAT_B8G8R8G8_422_UNORM,
2027 eB8G8R8G8422UnormKHR = VK_FORMAT_B8G8R8G8_422_UNORM_KHR,
2028 eG8B8R83Plane420Unorm = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
2029 eG8B8R83Plane420UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR,
2030 eG8B8R82Plane420Unorm = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
2031 eG8B8R82Plane420UnormKHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR,
2032 eG8B8R83Plane422Unorm = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
2033 eG8B8R83Plane422UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR,
2034 eG8B8R82Plane422Unorm = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
2035 eG8B8R82Plane422UnormKHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR,
2036 eG8B8R83Plane444Unorm = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
2037 eG8B8R83Plane444UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR,
2038 eR10X6UnormPack16 = VK_FORMAT_R10X6_UNORM_PACK16,
2039 eR10X6UnormPack16KHR = VK_FORMAT_R10X6_UNORM_PACK16_KHR,
2040 eR10X6G10X6Unorm2Pack16 = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
2041 eR10X6G10X6Unorm2Pack16KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR,
2042 eR10X6G10X6B10X6A10X6Unorm4Pack16 = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
2043 eR10X6G10X6B10X6A10X6Unorm4Pack16KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR,
2044 eG10X6B10X6G10X6R10X6422Unorm4Pack16 = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
2045 eG10X6B10X6G10X6R10X6422Unorm4Pack16KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR,
2046 eB10X6G10X6R10X6G10X6422Unorm4Pack16 = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
2047 eB10X6G10X6R10X6G10X6422Unorm4Pack16KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR,
2048 eG10X6B10X6R10X63Plane420Unorm3Pack16 = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
2049 eG10X6B10X6R10X63Plane420Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR,
2050 eG10X6B10X6R10X62Plane420Unorm3Pack16 = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
2051 eG10X6B10X6R10X62Plane420Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR,
2052 eG10X6B10X6R10X63Plane422Unorm3Pack16 = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
2053 eG10X6B10X6R10X63Plane422Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR,
2054 eG10X6B10X6R10X62Plane422Unorm3Pack16 = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
2055 eG10X6B10X6R10X62Plane422Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR,
2056 eG10X6B10X6R10X63Plane444Unorm3Pack16 = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
2057 eG10X6B10X6R10X63Plane444Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR,
2058 eR12X4UnormPack16 = VK_FORMAT_R12X4_UNORM_PACK16,
2059 eR12X4UnormPack16KHR = VK_FORMAT_R12X4_UNORM_PACK16_KHR,
2060 eR12X4G12X4Unorm2Pack16 = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
2061 eR12X4G12X4Unorm2Pack16KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR,
2062 eR12X4G12X4B12X4A12X4Unorm4Pack16 = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
2063 eR12X4G12X4B12X4A12X4Unorm4Pack16KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR,
2064 eG12X4B12X4G12X4R12X4422Unorm4Pack16 = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
2065 eG12X4B12X4G12X4R12X4422Unorm4Pack16KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR,
2066 eB12X4G12X4R12X4G12X4422Unorm4Pack16 = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
2067 eB12X4G12X4R12X4G12X4422Unorm4Pack16KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR,
2068 eG12X4B12X4R12X43Plane420Unorm3Pack16 = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
2069 eG12X4B12X4R12X43Plane420Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR,
2070 eG12X4B12X4R12X42Plane420Unorm3Pack16 = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
2071 eG12X4B12X4R12X42Plane420Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR,
2072 eG12X4B12X4R12X43Plane422Unorm3Pack16 = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
2073 eG12X4B12X4R12X43Plane422Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR,
2074 eG12X4B12X4R12X42Plane422Unorm3Pack16 = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
2075 eG12X4B12X4R12X42Plane422Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR,
2076 eG12X4B12X4R12X43Plane444Unorm3Pack16 = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
2077 eG12X4B12X4R12X43Plane444Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR,
2078 eG16B16G16R16422Unorm = VK_FORMAT_G16B16G16R16_422_UNORM,
2079 eG16B16G16R16422UnormKHR = VK_FORMAT_G16B16G16R16_422_UNORM_KHR,
2080 eB16G16R16G16422Unorm = VK_FORMAT_B16G16R16G16_422_UNORM,
2081 eB16G16R16G16422UnormKHR = VK_FORMAT_B16G16R16G16_422_UNORM_KHR,
2082 eG16B16R163Plane420Unorm = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
2083 eG16B16R163Plane420UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR,
2084 eG16B16R162Plane420Unorm = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
2085 eG16B16R162Plane420UnormKHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR,
2086 eG16B16R163Plane422Unorm = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
2087 eG16B16R163Plane422UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR,
2088 eG16B16R162Plane422Unorm = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
2089 eG16B16R162Plane422UnormKHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR,
2090 eG16B16R163Plane444Unorm = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
2091 eG16B16R163Plane444UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR,
2092 eG8B8R82Plane444Unorm = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM,
2093 eG8B8R82Plane444UnormEXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT,
2094 eG10X6B10X6R10X62Plane444Unorm3Pack16 = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16,
2095 eG10X6B10X6R10X62Plane444Unorm3Pack16EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT,
2096 eG12X4B12X4R12X42Plane444Unorm3Pack16 = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16,
2097 eG12X4B12X4R12X42Plane444Unorm3Pack16EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT,
2098 eG16B16R162Plane444Unorm = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM,
2099 eG16B16R162Plane444UnormEXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT,
2100 eA4R4G4B4UnormPack16 = VK_FORMAT_A4R4G4B4_UNORM_PACK16,
2101 eA4R4G4B4UnormPack16EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT,
2102 eA4B4G4R4UnormPack16 = VK_FORMAT_A4B4G4R4_UNORM_PACK16,
2103 eA4B4G4R4UnormPack16EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT,
2104 eAstc4x4SfloatBlock = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK,
2105 eAstc4x4SfloatBlockEXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT,
2106 eAstc5x4SfloatBlock = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK,
2107 eAstc5x4SfloatBlockEXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT,
2108 eAstc5x5SfloatBlock = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK,
2109 eAstc5x5SfloatBlockEXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT,
2110 eAstc6x5SfloatBlock = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK,
2111 eAstc6x5SfloatBlockEXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT,
2112 eAstc6x6SfloatBlock = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK,
2113 eAstc6x6SfloatBlockEXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT,
2114 eAstc8x5SfloatBlock = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK,
2115 eAstc8x5SfloatBlockEXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT,
2116 eAstc8x6SfloatBlock = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK,
2117 eAstc8x6SfloatBlockEXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT,
2118 eAstc8x8SfloatBlock = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK,
2119 eAstc8x8SfloatBlockEXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT,
2120 eAstc10x5SfloatBlock = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK,
2121 eAstc10x5SfloatBlockEXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT,
2122 eAstc10x6SfloatBlock = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK,
2123 eAstc10x6SfloatBlockEXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT,
2124 eAstc10x8SfloatBlock = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK,
2125 eAstc10x8SfloatBlockEXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT,
2126 eAstc10x10SfloatBlock = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK,
2127 eAstc10x10SfloatBlockEXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT,
2128 eAstc12x10SfloatBlock = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK,
2129 eAstc12x10SfloatBlockEXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT,
2130 eAstc12x12SfloatBlock = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK,
2131 eAstc12x12SfloatBlockEXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT,
2132 eA1B5G5R5UnormPack16 = VK_FORMAT_A1B5G5R5_UNORM_PACK16,
2133 eA1B5G5R5UnormPack16KHR = VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR,
2134 eA8Unorm = VK_FORMAT_A8_UNORM,
2135 eA8UnormKHR = VK_FORMAT_A8_UNORM_KHR,
2136 ePvrtc12BppUnormBlockIMG = VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG,
2137 ePvrtc14BppUnormBlockIMG = VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG,
2138 ePvrtc22BppUnormBlockIMG = VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG,
2139 ePvrtc24BppUnormBlockIMG = VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG,
2140 ePvrtc12BppSrgbBlockIMG = VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG,
2141 ePvrtc14BppSrgbBlockIMG = VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG,
2142 ePvrtc22BppSrgbBlockIMG = VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG,
2143 ePvrtc24BppSrgbBlockIMG = VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG,
2144 eR8BoolARM = VK_FORMAT_R8_BOOL_ARM,
2145 eR16G16Sfixed5NV = VK_FORMAT_R16G16_SFIXED5_NV,
2146 eR16G16S105NV = VK_FORMAT_R16G16_S10_5_NV,
2147 eR10X6UintPack16ARM = VK_FORMAT_R10X6_UINT_PACK16_ARM,
2148 eR10X6G10X6Uint2Pack16ARM = VK_FORMAT_R10X6G10X6_UINT_2PACK16_ARM,
2149 eR10X6G10X6B10X6A10X6Uint4Pack16ARM = VK_FORMAT_R10X6G10X6B10X6A10X6_UINT_4PACK16_ARM,
2150 eR12X4UintPack16ARM = VK_FORMAT_R12X4_UINT_PACK16_ARM,
2151 eR12X4G12X4Uint2Pack16ARM = VK_FORMAT_R12X4G12X4_UINT_2PACK16_ARM,
2152 eR12X4G12X4B12X4A12X4Uint4Pack16ARM = VK_FORMAT_R12X4G12X4B12X4A12X4_UINT_4PACK16_ARM,
2153 eR14X2UintPack16ARM = VK_FORMAT_R14X2_UINT_PACK16_ARM,
2154 eR14X2G14X2Uint2Pack16ARM = VK_FORMAT_R14X2G14X2_UINT_2PACK16_ARM,
2155 eR14X2G14X2B14X2A14X2Uint4Pack16ARM = VK_FORMAT_R14X2G14X2B14X2A14X2_UINT_4PACK16_ARM,
2156 eR14X2UnormPack16ARM = VK_FORMAT_R14X2_UNORM_PACK16_ARM,
2157 eR14X2G14X2Unorm2Pack16ARM = VK_FORMAT_R14X2G14X2_UNORM_2PACK16_ARM,
2158 eR14X2G14X2B14X2A14X2Unorm4Pack16ARM = VK_FORMAT_R14X2G14X2B14X2A14X2_UNORM_4PACK16_ARM,
2159 eG14X2B14X2R14X22Plane420Unorm3Pack16ARM = VK_FORMAT_G14X2_B14X2R14X2_2PLANE_420_UNORM_3PACK16_ARM,
2160 eG14X2B14X2R14X22Plane422Unorm3Pack16ARM = VK_FORMAT_G14X2_B14X2R14X2_2PLANE_422_UNORM_3PACK16_ARM
2161 };
2162
2163 // wrapper class for enum VkFormatFeatureFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFormatFeatureFlagBits.html
2164 enum class FormatFeatureFlagBits : VkFormatFeatureFlags
2165 {
2166 eSampledImage = VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT,
2167 eStorageImage = VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT,
2168 eStorageImageAtomic = VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT,
2169 eUniformTexelBuffer = VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT,
2170 eStorageTexelBuffer = VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT,
2171 eStorageTexelBufferAtomic = VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT,
2172 eVertexBuffer = VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT,
2173 eColorAttachment = VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT,
2174 eColorAttachmentBlend = VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT,
2175 eDepthStencilAttachment = VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT,
2176 eBlitSrc = VK_FORMAT_FEATURE_BLIT_SRC_BIT,
2177 eBlitDst = VK_FORMAT_FEATURE_BLIT_DST_BIT,
2178 eSampledImageFilterLinear = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT,
2179 eTransferSrc = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
2180 eTransferSrcKHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR,
2181 eTransferDst = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
2182 eTransferDstKHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR,
2183 eMidpointChromaSamples = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
2184 eMidpointChromaSamplesKHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR,
2185 eSampledImageYcbcrConversionLinearFilter = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
2186 eSampledImageYcbcrConversionLinearFilterKHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR,
2187 eSampledImageYcbcrConversionSeparateReconstructionFilter = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
2188 eSampledImageYcbcrConversionSeparateReconstructionFilterKHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR,
2189 eSampledImageYcbcrConversionChromaReconstructionExplicit = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
2190 eSampledImageYcbcrConversionChromaReconstructionExplicitKHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR,
2191 eSampledImageYcbcrConversionChromaReconstructionExplicitForceable =
2192 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,
2193 eSampledImageYcbcrConversionChromaReconstructionExplicitForceableKHR =
2194 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR,
2195 eDisjoint = VK_FORMAT_FEATURE_DISJOINT_BIT,
2196 eDisjointKHR = VK_FORMAT_FEATURE_DISJOINT_BIT_KHR,
2197 eCositedChromaSamples = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
2198 eCositedChromaSamplesKHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR,
2199 eSampledImageFilterMinmax = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
2200 eSampledImageFilterMinmaxEXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT,
2201 eVideoDecodeOutputKHR = VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR,
2202 eVideoDecodeDpbKHR = VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR,
2203 eAccelerationStructureVertexBufferKHR = VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR,
2204 eSampledImageFilterCubicEXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT,
2205 eSampledImageFilterCubicIMG = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
2206 eFragmentDensityMapEXT = VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT,
2207 eFragmentShadingRateAttachmentKHR = VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2208 eVideoEncodeInputKHR = VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR,
2209 eVideoEncodeDpbKHR = VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR
2210 };
2211
2212 // wrapper using for bitmask VkFormatFeatureFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFormatFeatureFlags.html
2213 using FormatFeatureFlags = Flags<FormatFeatureFlagBits>;
2214
2215 template <>
2216 struct FlagTraits<FormatFeatureFlagBits>
2217 {
2218 using WrappedType = VkFormatFeatureFlagBits;
2219 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2220 static VULKAN_HPP_CONST_OR_CONSTEXPR FormatFeatureFlags allFlags =
2221 FormatFeatureFlagBits::eSampledImage | FormatFeatureFlagBits::eStorageImage | FormatFeatureFlagBits::eStorageImageAtomic |
2222 FormatFeatureFlagBits::eUniformTexelBuffer | FormatFeatureFlagBits::eStorageTexelBuffer | FormatFeatureFlagBits::eStorageTexelBufferAtomic |
2223 FormatFeatureFlagBits::eVertexBuffer | FormatFeatureFlagBits::eColorAttachment | FormatFeatureFlagBits::eColorAttachmentBlend |
2224 FormatFeatureFlagBits::eDepthStencilAttachment | FormatFeatureFlagBits::eBlitSrc | FormatFeatureFlagBits::eBlitDst |
2225 FormatFeatureFlagBits::eSampledImageFilterLinear | FormatFeatureFlagBits::eTransferSrc | FormatFeatureFlagBits::eTransferDst |
2226 FormatFeatureFlagBits::eMidpointChromaSamples | FormatFeatureFlagBits::eSampledImageYcbcrConversionLinearFilter |
2227 FormatFeatureFlagBits::eSampledImageYcbcrConversionSeparateReconstructionFilter |
2228 FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicit |
2229 FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable | FormatFeatureFlagBits::eDisjoint |
2230 FormatFeatureFlagBits::eCositedChromaSamples | FormatFeatureFlagBits::eSampledImageFilterMinmax | FormatFeatureFlagBits::eVideoDecodeOutputKHR |
2231 FormatFeatureFlagBits::eVideoDecodeDpbKHR | FormatFeatureFlagBits::eAccelerationStructureVertexBufferKHR |
2232 FormatFeatureFlagBits::eSampledImageFilterCubicEXT | FormatFeatureFlagBits::eFragmentDensityMapEXT |
2233 FormatFeatureFlagBits::eFragmentShadingRateAttachmentKHR | FormatFeatureFlagBits::eVideoEncodeInputKHR | FormatFeatureFlagBits::eVideoEncodeDpbKHR;
2234 };
2235
2236 // wrapper class for enum VkImageCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageCreateFlagBits.html
2237 enum class ImageCreateFlagBits : VkImageCreateFlags
2238 {
2239 eSparseBinding = VK_IMAGE_CREATE_SPARSE_BINDING_BIT,
2240 eSparseResidency = VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT,
2241 eSparseAliased = VK_IMAGE_CREATE_SPARSE_ALIASED_BIT,
2242 eMutableFormat = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT,
2243 eCubeCompatible = VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT,
2244 eAlias = VK_IMAGE_CREATE_ALIAS_BIT,
2245 eAliasKHR = VK_IMAGE_CREATE_ALIAS_BIT_KHR,
2246 eSplitInstanceBindRegions = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
2247 eSplitInstanceBindRegionsKHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR,
2248 e2DArrayCompatible = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
2249 e2DArrayCompatibleKHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR,
2250 eBlockTexelViewCompatible = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
2251 eBlockTexelViewCompatibleKHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR,
2252 eExtendedUsage = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
2253 eExtendedUsageKHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR,
2254 eProtected = VK_IMAGE_CREATE_PROTECTED_BIT,
2255 eDisjoint = VK_IMAGE_CREATE_DISJOINT_BIT,
2256 eDisjointKHR = VK_IMAGE_CREATE_DISJOINT_BIT_KHR,
2257 eCornerSampledNV = VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV,
2258 eSampleLocationsCompatibleDepthEXT = VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT,
2259 eSubsampledEXT = VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT,
2260 eDescriptorBufferCaptureReplayEXT = VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,
2261 eMultisampledRenderToSingleSampledEXT = VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT,
2262 e2DViewCompatibleEXT = VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT,
2263 eVideoProfileIndependentKHR = VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR,
2264 eFragmentDensityMapOffsetEXT = VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_EXT,
2265 eFragmentDensityMapOffsetQCOM = VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM
2266 };
2267
2268 // wrapper using for bitmask VkImageCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageCreateFlags.html
2269 using ImageCreateFlags = Flags<ImageCreateFlagBits>;
2270
2271 template <>
2272 struct FlagTraits<ImageCreateFlagBits>
2273 {
2274 using WrappedType = VkImageCreateFlagBits;
2275 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2276 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageCreateFlags allFlags =
2277 ImageCreateFlagBits::eSparseBinding | ImageCreateFlagBits::eSparseResidency | ImageCreateFlagBits::eSparseAliased | ImageCreateFlagBits::eMutableFormat |
2278 ImageCreateFlagBits::eCubeCompatible | ImageCreateFlagBits::eAlias | ImageCreateFlagBits::eSplitInstanceBindRegions |
2279 ImageCreateFlagBits::e2DArrayCompatible | ImageCreateFlagBits::eBlockTexelViewCompatible | ImageCreateFlagBits::eExtendedUsage |
2280 ImageCreateFlagBits::eProtected | ImageCreateFlagBits::eDisjoint | ImageCreateFlagBits::eCornerSampledNV |
2281 ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT | ImageCreateFlagBits::eSubsampledEXT | ImageCreateFlagBits::eDescriptorBufferCaptureReplayEXT |
2282 ImageCreateFlagBits::eMultisampledRenderToSingleSampledEXT | ImageCreateFlagBits::e2DViewCompatibleEXT |
2283 ImageCreateFlagBits::eVideoProfileIndependentKHR | ImageCreateFlagBits::eFragmentDensityMapOffsetEXT;
2284 };
2285
2286 // wrapper class for enum VkImageTiling, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageTiling.html
2287 enum class ImageTiling
2288 {
2289 eOptimal = VK_IMAGE_TILING_OPTIMAL,
2290 eLinear = VK_IMAGE_TILING_LINEAR,
2291 eDrmFormatModifierEXT = VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT
2292 };
2293
2294 // wrapper class for enum VkImageType, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageType.html
2295 enum class ImageType
2296 {
2297 e1D = VK_IMAGE_TYPE_1D,
2298 e2D = VK_IMAGE_TYPE_2D,
2299 e3D = VK_IMAGE_TYPE_3D
2300 };
2301
2302 // wrapper class for enum VkImageUsageFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageUsageFlagBits.html
2303 enum class ImageUsageFlagBits : VkImageUsageFlags
2304 {
2305 eTransferSrc = VK_IMAGE_USAGE_TRANSFER_SRC_BIT,
2306 eTransferDst = VK_IMAGE_USAGE_TRANSFER_DST_BIT,
2307 eSampled = VK_IMAGE_USAGE_SAMPLED_BIT,
2308 eStorage = VK_IMAGE_USAGE_STORAGE_BIT,
2309 eColorAttachment = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
2310 eDepthStencilAttachment = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
2311 eTransientAttachment = VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT,
2312 eInputAttachment = VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT,
2313 eHostTransfer = VK_IMAGE_USAGE_HOST_TRANSFER_BIT,
2314 eHostTransferEXT = VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT,
2315 eVideoDecodeDstKHR = VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR,
2316 eVideoDecodeSrcKHR = VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR,
2317 eVideoDecodeDpbKHR = VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR,
2318 eFragmentDensityMapEXT = VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT,
2319 eFragmentShadingRateAttachmentKHR = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2320 eShadingRateImageNV = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV,
2321 eVideoEncodeDstKHR = VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR,
2322 eVideoEncodeSrcKHR = VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR,
2323 eVideoEncodeDpbKHR = VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR,
2324 eAttachmentFeedbackLoopEXT = VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT,
2325 eInvocationMaskHUAWEI = VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI,
2326 eSampleWeightQCOM = VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM,
2327 eSampleBlockMatchQCOM = VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM,
2328 eTensorAliasingARM = VK_IMAGE_USAGE_TENSOR_ALIASING_BIT_ARM,
2329 eTileMemoryQCOM = VK_IMAGE_USAGE_TILE_MEMORY_BIT_QCOM,
2330 eVideoEncodeQuantizationDeltaMapKHR = VK_IMAGE_USAGE_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR,
2331 eVideoEncodeEmphasisMapKHR = VK_IMAGE_USAGE_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR
2332 };
2333
2334 // wrapper using for bitmask VkImageUsageFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageUsageFlags.html
2335 using ImageUsageFlags = Flags<ImageUsageFlagBits>;
2336
2337 template <>
2338 struct FlagTraits<ImageUsageFlagBits>
2339 {
2340 using WrappedType = VkImageUsageFlagBits;
2341 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2342 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageUsageFlags allFlags =
2343 ImageUsageFlagBits::eTransferSrc | ImageUsageFlagBits::eTransferDst | ImageUsageFlagBits::eSampled | ImageUsageFlagBits::eStorage |
2344 ImageUsageFlagBits::eColorAttachment | ImageUsageFlagBits::eDepthStencilAttachment | ImageUsageFlagBits::eTransientAttachment |
2345 ImageUsageFlagBits::eInputAttachment | ImageUsageFlagBits::eHostTransfer | ImageUsageFlagBits::eVideoDecodeDstKHR |
2346 ImageUsageFlagBits::eVideoDecodeSrcKHR | ImageUsageFlagBits::eVideoDecodeDpbKHR | ImageUsageFlagBits::eFragmentDensityMapEXT |
2347 ImageUsageFlagBits::eFragmentShadingRateAttachmentKHR | ImageUsageFlagBits::eVideoEncodeDstKHR | ImageUsageFlagBits::eVideoEncodeSrcKHR |
2348 ImageUsageFlagBits::eVideoEncodeDpbKHR | ImageUsageFlagBits::eAttachmentFeedbackLoopEXT | ImageUsageFlagBits::eInvocationMaskHUAWEI |
2349 ImageUsageFlagBits::eSampleWeightQCOM | ImageUsageFlagBits::eSampleBlockMatchQCOM | ImageUsageFlagBits::eTensorAliasingARM |
2350 ImageUsageFlagBits::eTileMemoryQCOM | ImageUsageFlagBits::eVideoEncodeQuantizationDeltaMapKHR | ImageUsageFlagBits::eVideoEncodeEmphasisMapKHR;
2351 };
2352
2353 // wrapper class for enum VkInstanceCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkInstanceCreateFlagBits.html
2354 enum class InstanceCreateFlagBits : VkInstanceCreateFlags
2355 {
2356 eEnumeratePortabilityKHR = VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR
2357 };
2358
2359 // wrapper using for bitmask VkInstanceCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkInstanceCreateFlags.html
2360 using InstanceCreateFlags = Flags<InstanceCreateFlagBits>;
2361
2362 template <>
2363 struct FlagTraits<InstanceCreateFlagBits>
2364 {
2365 using WrappedType = VkInstanceCreateFlagBits;
2366 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2367 static VULKAN_HPP_CONST_OR_CONSTEXPR InstanceCreateFlags allFlags = InstanceCreateFlagBits::eEnumeratePortabilityKHR;
2368 };
2369
2370 // wrapper class for enum VkInternalAllocationType, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkInternalAllocationType.html
2371 enum class InternalAllocationType
2372 {
2373 eExecutable = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE
2374 };
2375
2376 // wrapper class for enum VkMemoryHeapFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryHeapFlagBits.html
2377 enum class MemoryHeapFlagBits : VkMemoryHeapFlags
2378 {
2379 eDeviceLocal = VK_MEMORY_HEAP_DEVICE_LOCAL_BIT,
2380 eMultiInstance = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
2381 eMultiInstanceKHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR,
2382 eTileMemoryQCOM = VK_MEMORY_HEAP_TILE_MEMORY_BIT_QCOM
2383 };
2384
2385 // wrapper using for bitmask VkMemoryHeapFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryHeapFlags.html
2386 using MemoryHeapFlags = Flags<MemoryHeapFlagBits>;
2387
2388 template <>
2389 struct FlagTraits<MemoryHeapFlagBits>
2390 {
2391 using WrappedType = VkMemoryHeapFlagBits;
2392 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2393 static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryHeapFlags allFlags =
2394 MemoryHeapFlagBits::eDeviceLocal | MemoryHeapFlagBits::eMultiInstance | MemoryHeapFlagBits::eTileMemoryQCOM;
2395 };
2396
2397 // wrapper class for enum VkMemoryPropertyFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryPropertyFlagBits.html
2398 enum class MemoryPropertyFlagBits : VkMemoryPropertyFlags
2399 {
2400 eDeviceLocal = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
2401 eHostVisible = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT,
2402 eHostCoherent = VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
2403 eHostCached = VK_MEMORY_PROPERTY_HOST_CACHED_BIT,
2404 eLazilyAllocated = VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT,
2405 eProtected = VK_MEMORY_PROPERTY_PROTECTED_BIT,
2406 eDeviceCoherentAMD = VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD,
2407 eDeviceUncachedAMD = VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD,
2408 eRdmaCapableNV = VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV
2409 };
2410
2411 // wrapper using for bitmask VkMemoryPropertyFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryPropertyFlags.html
2412 using MemoryPropertyFlags = Flags<MemoryPropertyFlagBits>;
2413
2414 template <>
2415 struct FlagTraits<MemoryPropertyFlagBits>
2416 {
2417 using WrappedType = VkMemoryPropertyFlagBits;
2418 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2419 static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryPropertyFlags allFlags =
2420 MemoryPropertyFlagBits::eDeviceLocal | MemoryPropertyFlagBits::eHostVisible | MemoryPropertyFlagBits::eHostCoherent |
2421 MemoryPropertyFlagBits::eHostCached | MemoryPropertyFlagBits::eLazilyAllocated | MemoryPropertyFlagBits::eProtected |
2422 MemoryPropertyFlagBits::eDeviceCoherentAMD | MemoryPropertyFlagBits::eDeviceUncachedAMD | MemoryPropertyFlagBits::eRdmaCapableNV;
2423 };
2424
2425 // wrapper class for enum VkPhysicalDeviceType, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceType.html
2426 enum class PhysicalDeviceType
2427 {
2428 eOther = VK_PHYSICAL_DEVICE_TYPE_OTHER,
2429 eIntegratedGpu = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU,
2430 eDiscreteGpu = VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU,
2431 eVirtualGpu = VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU,
2432 eCpu = VK_PHYSICAL_DEVICE_TYPE_CPU
2433 };
2434
2435 // wrapper class for enum VkQueueFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueueFlagBits.html
2436 enum class QueueFlagBits : VkQueueFlags
2437 {
2438 eGraphics = VK_QUEUE_GRAPHICS_BIT,
2439 eCompute = VK_QUEUE_COMPUTE_BIT,
2440 eTransfer = VK_QUEUE_TRANSFER_BIT,
2441 eSparseBinding = VK_QUEUE_SPARSE_BINDING_BIT,
2442 eProtected = VK_QUEUE_PROTECTED_BIT,
2443 eVideoDecodeKHR = VK_QUEUE_VIDEO_DECODE_BIT_KHR,
2444 eVideoEncodeKHR = VK_QUEUE_VIDEO_ENCODE_BIT_KHR,
2445 eOpticalFlowNV = VK_QUEUE_OPTICAL_FLOW_BIT_NV,
2446 eDataGraphARM = VK_QUEUE_DATA_GRAPH_BIT_ARM
2447 };
2448
2449 // wrapper using for bitmask VkQueueFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueueFlags.html
2450 using QueueFlags = Flags<QueueFlagBits>;
2451
2452 template <>
2453 struct FlagTraits<QueueFlagBits>
2454 {
2455 using WrappedType = VkQueueFlagBits;
2456 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2457 static VULKAN_HPP_CONST_OR_CONSTEXPR QueueFlags allFlags = QueueFlagBits::eGraphics | QueueFlagBits::eCompute | QueueFlagBits::eTransfer |
2458 QueueFlagBits::eSparseBinding | QueueFlagBits::eProtected | QueueFlagBits::eVideoDecodeKHR |
2459 QueueFlagBits::eVideoEncodeKHR | QueueFlagBits::eOpticalFlowNV | QueueFlagBits::eDataGraphARM;
2460 };
2461
2462 // wrapper class for enum VkSampleCountFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSampleCountFlagBits.html
2463 enum class SampleCountFlagBits : VkSampleCountFlags
2464 {
2465 e1 = VK_SAMPLE_COUNT_1_BIT,
2466 e2 = VK_SAMPLE_COUNT_2_BIT,
2467 e4 = VK_SAMPLE_COUNT_4_BIT,
2468 e8 = VK_SAMPLE_COUNT_8_BIT,
2469 e16 = VK_SAMPLE_COUNT_16_BIT,
2470 e32 = VK_SAMPLE_COUNT_32_BIT,
2471 e64 = VK_SAMPLE_COUNT_64_BIT
2472 };
2473
2474 // wrapper using for bitmask VkSampleCountFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSampleCountFlags.html
2475 using SampleCountFlags = Flags<SampleCountFlagBits>;
2476
2477 template <>
2478 struct FlagTraits<SampleCountFlagBits>
2479 {
2480 using WrappedType = VkSampleCountFlagBits;
2481 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2482 static VULKAN_HPP_CONST_OR_CONSTEXPR SampleCountFlags allFlags = SampleCountFlagBits::e1 | SampleCountFlagBits::e2 | SampleCountFlagBits::e4 |
2483 SampleCountFlagBits::e8 | SampleCountFlagBits::e16 | SampleCountFlagBits::e32 |
2484 SampleCountFlagBits::e64;
2485 };
2486
2487 // wrapper class for enum VkSystemAllocationScope, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSystemAllocationScope.html
2488 enum class SystemAllocationScope
2489 {
2490 eCommand = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND,
2491 eObject = VK_SYSTEM_ALLOCATION_SCOPE_OBJECT,
2492 eCache = VK_SYSTEM_ALLOCATION_SCOPE_CACHE,
2493 eDevice = VK_SYSTEM_ALLOCATION_SCOPE_DEVICE,
2494 eInstance = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE
2495 };
2496
2497 enum class DeviceCreateFlagBits : VkDeviceCreateFlags
2498 {
2499 };
2500
2501 // wrapper using for bitmask VkDeviceCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceCreateFlags.html
2502 using DeviceCreateFlags = Flags<DeviceCreateFlagBits>;
2503
2504 template <>
2505 struct FlagTraits<DeviceCreateFlagBits>
2506 {
2507 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2508 static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceCreateFlags allFlags = {};
2509 };
2510
2511 // wrapper class for enum VkDeviceQueueCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceQueueCreateFlagBits.html
2512 enum class DeviceQueueCreateFlagBits : VkDeviceQueueCreateFlags
2513 {
2514 eProtected = VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT
2515 };
2516
2517 // wrapper using for bitmask VkDeviceQueueCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceQueueCreateFlags.html
2518 using DeviceQueueCreateFlags = Flags<DeviceQueueCreateFlagBits>;
2519
2520 template <>
2521 struct FlagTraits<DeviceQueueCreateFlagBits>
2522 {
2523 using WrappedType = VkDeviceQueueCreateFlagBits;
2524 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2525 static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceQueueCreateFlags allFlags = DeviceQueueCreateFlagBits::eProtected;
2526 };
2527
2528 // wrapper class for enum VkPipelineStageFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineStageFlagBits.html
2529 enum class PipelineStageFlagBits : VkPipelineStageFlags
2530 {
2531 eTopOfPipe = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,
2532 eDrawIndirect = VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT,
2533 eVertexInput = VK_PIPELINE_STAGE_VERTEX_INPUT_BIT,
2534 eVertexShader = VK_PIPELINE_STAGE_VERTEX_SHADER_BIT,
2535 eTessellationControlShader = VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT,
2536 eTessellationEvaluationShader = VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT,
2537 eGeometryShader = VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT,
2538 eFragmentShader = VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,
2539 eEarlyFragmentTests = VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT,
2540 eLateFragmentTests = VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT,
2541 eColorAttachmentOutput = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,
2542 eComputeShader = VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,
2543 eTransfer = VK_PIPELINE_STAGE_TRANSFER_BIT,
2544 eBottomOfPipe = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT,
2545 eHost = VK_PIPELINE_STAGE_HOST_BIT,
2546 eAllGraphics = VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT,
2547 eAllCommands = VK_PIPELINE_STAGE_ALL_COMMANDS_BIT,
2548 eNone = VK_PIPELINE_STAGE_NONE,
2549 eNoneKHR = VK_PIPELINE_STAGE_NONE_KHR,
2550 eTransformFeedbackEXT = VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT,
2551 eConditionalRenderingEXT = VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT,
2552 eAccelerationStructureBuildKHR = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
2553 eAccelerationStructureBuildNV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV,
2554 eRayTracingShaderKHR = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
2555 eRayTracingShaderNV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV,
2556 eFragmentDensityProcessEXT = VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT,
2557 eFragmentShadingRateAttachmentKHR = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2558 eShadingRateImageNV = VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV,
2559 eTaskShaderEXT = VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT,
2560 eTaskShaderNV = VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV,
2561 eMeshShaderEXT = VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT,
2562 eMeshShaderNV = VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV,
2563 eCommandPreprocessEXT = VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_EXT,
2564 eCommandPreprocessNV = VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV
2565 };
2566
2567 // wrapper using for bitmask VkPipelineStageFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineStageFlags.html
2568 using PipelineStageFlags = Flags<PipelineStageFlagBits>;
2569
2570 template <>
2571 struct FlagTraits<PipelineStageFlagBits>
2572 {
2573 using WrappedType = VkPipelineStageFlagBits;
2574 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2575 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineStageFlags allFlags =
2576 PipelineStageFlagBits::eTopOfPipe | PipelineStageFlagBits::eDrawIndirect | PipelineStageFlagBits::eVertexInput | PipelineStageFlagBits::eVertexShader |
2577 PipelineStageFlagBits::eTessellationControlShader | PipelineStageFlagBits::eTessellationEvaluationShader | PipelineStageFlagBits::eGeometryShader |
2578 PipelineStageFlagBits::eFragmentShader | PipelineStageFlagBits::eEarlyFragmentTests | PipelineStageFlagBits::eLateFragmentTests |
2579 PipelineStageFlagBits::eColorAttachmentOutput | PipelineStageFlagBits::eComputeShader | PipelineStageFlagBits::eTransfer |
2580 PipelineStageFlagBits::eBottomOfPipe | PipelineStageFlagBits::eHost | PipelineStageFlagBits::eAllGraphics | PipelineStageFlagBits::eAllCommands |
2581 PipelineStageFlagBits::eNone | PipelineStageFlagBits::eTransformFeedbackEXT | PipelineStageFlagBits::eConditionalRenderingEXT |
2582 PipelineStageFlagBits::eAccelerationStructureBuildKHR | PipelineStageFlagBits::eRayTracingShaderKHR | PipelineStageFlagBits::eFragmentDensityProcessEXT |
2583 PipelineStageFlagBits::eFragmentShadingRateAttachmentKHR | PipelineStageFlagBits::eTaskShaderEXT | PipelineStageFlagBits::eMeshShaderEXT |
2584 PipelineStageFlagBits::eCommandPreprocessEXT;
2585 };
2586
2587 // wrapper class for enum VkMemoryMapFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryMapFlagBits.html
2588 enum class MemoryMapFlagBits : VkMemoryMapFlags
2589 {
2590 ePlacedEXT = VK_MEMORY_MAP_PLACED_BIT_EXT
2591 };
2592
2593 // wrapper using for bitmask VkMemoryMapFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryMapFlags.html
2594 using MemoryMapFlags = Flags<MemoryMapFlagBits>;
2595
2596 template <>
2597 struct FlagTraits<MemoryMapFlagBits>
2598 {
2599 using WrappedType = VkMemoryMapFlagBits;
2600 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2601 static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryMapFlags allFlags = MemoryMapFlagBits::ePlacedEXT;
2602 };
2603
2604 // wrapper class for enum VkImageAspectFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageAspectFlagBits.html
2605 enum class ImageAspectFlagBits : VkImageAspectFlags
2606 {
2607 eColor = VK_IMAGE_ASPECT_COLOR_BIT,
2608 eDepth = VK_IMAGE_ASPECT_DEPTH_BIT,
2609 eStencil = VK_IMAGE_ASPECT_STENCIL_BIT,
2610 eMetadata = VK_IMAGE_ASPECT_METADATA_BIT,
2611 ePlane0 = VK_IMAGE_ASPECT_PLANE_0_BIT,
2612 ePlane0KHR = VK_IMAGE_ASPECT_PLANE_0_BIT_KHR,
2613 ePlane1 = VK_IMAGE_ASPECT_PLANE_1_BIT,
2614 ePlane1KHR = VK_IMAGE_ASPECT_PLANE_1_BIT_KHR,
2615 ePlane2 = VK_IMAGE_ASPECT_PLANE_2_BIT,
2616 ePlane2KHR = VK_IMAGE_ASPECT_PLANE_2_BIT_KHR,
2617 eNone = VK_IMAGE_ASPECT_NONE,
2618 eNoneKHR = VK_IMAGE_ASPECT_NONE_KHR,
2619 eMemoryPlane0EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT,
2620 eMemoryPlane1EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT,
2621 eMemoryPlane2EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT,
2622 eMemoryPlane3EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT
2623 };
2624
2625 // wrapper using for bitmask VkImageAspectFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageAspectFlags.html
2626 using ImageAspectFlags = Flags<ImageAspectFlagBits>;
2627
2628 template <>
2629 struct FlagTraits<ImageAspectFlagBits>
2630 {
2631 using WrappedType = VkImageAspectFlagBits;
2632 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2633 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageAspectFlags allFlags = ImageAspectFlagBits::eColor | ImageAspectFlagBits::eDepth | ImageAspectFlagBits::eStencil |
2634 ImageAspectFlagBits::eMetadata | ImageAspectFlagBits::ePlane0 |
2635 ImageAspectFlagBits::ePlane1 | ImageAspectFlagBits::ePlane2 | ImageAspectFlagBits::eNone |
2636 ImageAspectFlagBits::eMemoryPlane0EXT | ImageAspectFlagBits::eMemoryPlane1EXT |
2637 ImageAspectFlagBits::eMemoryPlane2EXT | ImageAspectFlagBits::eMemoryPlane3EXT;
2638 };
2639
2640 // wrapper class for enum VkSparseImageFormatFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSparseImageFormatFlagBits.html
2641 enum class SparseImageFormatFlagBits : VkSparseImageFormatFlags
2642 {
2643 eSingleMiptail = VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT,
2644 eAlignedMipSize = VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT,
2645 eNonstandardBlockSize = VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT
2646 };
2647
2648 // wrapper using for bitmask VkSparseImageFormatFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSparseImageFormatFlags.html
2649 using SparseImageFormatFlags = Flags<SparseImageFormatFlagBits>;
2650
2651 template <>
2652 struct FlagTraits<SparseImageFormatFlagBits>
2653 {
2654 using WrappedType = VkSparseImageFormatFlagBits;
2655 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2656 static VULKAN_HPP_CONST_OR_CONSTEXPR SparseImageFormatFlags allFlags =
2657 SparseImageFormatFlagBits::eSingleMiptail | SparseImageFormatFlagBits::eAlignedMipSize | SparseImageFormatFlagBits::eNonstandardBlockSize;
2658 };
2659
2660 // wrapper class for enum VkSparseMemoryBindFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSparseMemoryBindFlagBits.html
2661 enum class SparseMemoryBindFlagBits : VkSparseMemoryBindFlags
2662 {
2663 eMetadata = VK_SPARSE_MEMORY_BIND_METADATA_BIT
2664 };
2665
2666 // wrapper using for bitmask VkSparseMemoryBindFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSparseMemoryBindFlags.html
2667 using SparseMemoryBindFlags = Flags<SparseMemoryBindFlagBits>;
2668
2669 template <>
2670 struct FlagTraits<SparseMemoryBindFlagBits>
2671 {
2672 using WrappedType = VkSparseMemoryBindFlagBits;
2673 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2674 static VULKAN_HPP_CONST_OR_CONSTEXPR SparseMemoryBindFlags allFlags = SparseMemoryBindFlagBits::eMetadata;
2675 };
2676
2677 // wrapper class for enum VkFenceCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFenceCreateFlagBits.html
2678 enum class FenceCreateFlagBits : VkFenceCreateFlags
2679 {
2680 eSignaled = VK_FENCE_CREATE_SIGNALED_BIT
2681 };
2682
2683 // wrapper using for bitmask VkFenceCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFenceCreateFlags.html
2684 using FenceCreateFlags = Flags<FenceCreateFlagBits>;
2685
2686 template <>
2687 struct FlagTraits<FenceCreateFlagBits>
2688 {
2689 using WrappedType = VkFenceCreateFlagBits;
2690 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2691 static VULKAN_HPP_CONST_OR_CONSTEXPR FenceCreateFlags allFlags = FenceCreateFlagBits::eSignaled;
2692 };
2693
2694 enum class SemaphoreCreateFlagBits : VkSemaphoreCreateFlags
2695 {
2696 };
2697
2698 // wrapper using for bitmask VkSemaphoreCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSemaphoreCreateFlags.html
2699 using SemaphoreCreateFlags = Flags<SemaphoreCreateFlagBits>;
2700
2701 template <>
2702 struct FlagTraits<SemaphoreCreateFlagBits>
2703 {
2704 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2705 static VULKAN_HPP_CONST_OR_CONSTEXPR SemaphoreCreateFlags allFlags = {};
2706 };
2707
2708 // wrapper class for enum VkQueryPoolCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryPoolCreateFlagBits.html
2709 enum class QueryPoolCreateFlagBits : VkQueryPoolCreateFlags
2710 {
2711 eResetKHR = VK_QUERY_POOL_CREATE_RESET_BIT_KHR
2712 };
2713
2714 // wrapper using for bitmask VkQueryPoolCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryPoolCreateFlags.html
2715 using QueryPoolCreateFlags = Flags<QueryPoolCreateFlagBits>;
2716
2717 template <>
2718 struct FlagTraits<QueryPoolCreateFlagBits>
2719 {
2720 using WrappedType = VkQueryPoolCreateFlagBits;
2721 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2722 static VULKAN_HPP_CONST_OR_CONSTEXPR QueryPoolCreateFlags allFlags = QueryPoolCreateFlagBits::eResetKHR;
2723 };
2724
2725 // wrapper class for enum VkQueryResultFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryResultFlagBits.html
2726 enum class QueryResultFlagBits : VkQueryResultFlags
2727 {
2728 e64 = VK_QUERY_RESULT_64_BIT,
2729 eWait = VK_QUERY_RESULT_WAIT_BIT,
2730 eWithAvailability = VK_QUERY_RESULT_WITH_AVAILABILITY_BIT,
2731 ePartial = VK_QUERY_RESULT_PARTIAL_BIT,
2732 eWithStatusKHR = VK_QUERY_RESULT_WITH_STATUS_BIT_KHR
2733 };
2734
2735 // wrapper using for bitmask VkQueryResultFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryResultFlags.html
2736 using QueryResultFlags = Flags<QueryResultFlagBits>;
2737
2738 template <>
2739 struct FlagTraits<QueryResultFlagBits>
2740 {
2741 using WrappedType = VkQueryResultFlagBits;
2742 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2743 static VULKAN_HPP_CONST_OR_CONSTEXPR QueryResultFlags allFlags = QueryResultFlagBits::e64 | QueryResultFlagBits::eWait |
2744 QueryResultFlagBits::eWithAvailability | QueryResultFlagBits::ePartial |
2745 QueryResultFlagBits::eWithStatusKHR;
2746 };
2747
2748 // wrapper class for enum VkQueryType, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryType.html
2749 enum class QueryType
2750 {
2751 eOcclusion = VK_QUERY_TYPE_OCCLUSION,
2752 ePipelineStatistics = VK_QUERY_TYPE_PIPELINE_STATISTICS,
2753 eTimestamp = VK_QUERY_TYPE_TIMESTAMP,
2754 eResultStatusOnlyKHR = VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR,
2755 eTransformFeedbackStreamEXT = VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT,
2756 ePerformanceQueryKHR = VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR,
2757 eAccelerationStructureCompactedSizeKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR,
2758 eAccelerationStructureSerializationSizeKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR,
2759 eAccelerationStructureCompactedSizeNV = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV,
2760 ePerformanceQueryINTEL = VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL,
2761 eVideoEncodeFeedbackKHR = VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR,
2762 eMeshPrimitivesGeneratedEXT = VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT,
2763 ePrimitivesGeneratedEXT = VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT,
2764 eAccelerationStructureSerializationBottomLevelPointersKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR,
2765 eAccelerationStructureSizeKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR,
2766 eMicromapSerializationSizeEXT = VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT,
2767 eMicromapCompactedSizeEXT = VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT
2768 };
2769
2770 // wrapper class for enum VkBufferCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferCreateFlagBits.html
2771 enum class BufferCreateFlagBits : VkBufferCreateFlags
2772 {
2773 eSparseBinding = VK_BUFFER_CREATE_SPARSE_BINDING_BIT,
2774 eSparseResidency = VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT,
2775 eSparseAliased = VK_BUFFER_CREATE_SPARSE_ALIASED_BIT,
2776 eProtected = VK_BUFFER_CREATE_PROTECTED_BIT,
2777 eDeviceAddressCaptureReplay = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2778 eDeviceAddressCaptureReplayEXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT,
2779 eDeviceAddressCaptureReplayKHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR,
2780 eDescriptorBufferCaptureReplayEXT = VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,
2781 eVideoProfileIndependentKHR = VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR
2782 };
2783
2784 // wrapper using for bitmask VkBufferCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferCreateFlags.html
2785 using BufferCreateFlags = Flags<BufferCreateFlagBits>;
2786
2787 template <>
2788 struct FlagTraits<BufferCreateFlagBits>
2789 {
2790 using WrappedType = VkBufferCreateFlagBits;
2791 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2792 static VULKAN_HPP_CONST_OR_CONSTEXPR BufferCreateFlags allFlags =
2793 BufferCreateFlagBits::eSparseBinding | BufferCreateFlagBits::eSparseResidency | BufferCreateFlagBits::eSparseAliased | BufferCreateFlagBits::eProtected |
2794 BufferCreateFlagBits::eDeviceAddressCaptureReplay | BufferCreateFlagBits::eDescriptorBufferCaptureReplayEXT |
2795 BufferCreateFlagBits::eVideoProfileIndependentKHR;
2796 };
2797
2798 // wrapper class for enum VkBufferUsageFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferUsageFlagBits.html
2799 enum class BufferUsageFlagBits : VkBufferUsageFlags
2800 {
2801 eTransferSrc = VK_BUFFER_USAGE_TRANSFER_SRC_BIT,
2802 eTransferDst = VK_BUFFER_USAGE_TRANSFER_DST_BIT,
2803 eUniformTexelBuffer = VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT,
2804 eStorageTexelBuffer = VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT,
2805 eUniformBuffer = VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
2806 eStorageBuffer = VK_BUFFER_USAGE_STORAGE_BUFFER_BIT,
2807 eIndexBuffer = VK_BUFFER_USAGE_INDEX_BUFFER_BIT,
2808 eVertexBuffer = VK_BUFFER_USAGE_VERTEX_BUFFER_BIT,
2809 eIndirectBuffer = VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT,
2810 eShaderDeviceAddress = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2811 eShaderDeviceAddressEXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT,
2812 eShaderDeviceAddressKHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR,
2813 eVideoDecodeSrcKHR = VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR,
2814 eVideoDecodeDstKHR = VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR,
2815 eTransformFeedbackBufferEXT = VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT,
2816 eTransformFeedbackCounterBufferEXT = VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT,
2817 eConditionalRenderingEXT = VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT,
2818 #if defined( VK_ENABLE_BETA_EXTENSIONS )
2819 eExecutionGraphScratchAMDX = VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX,
2820 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
2821 eAccelerationStructureBuildInputReadOnlyKHR = VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR,
2822 eAccelerationStructureStorageKHR = VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR,
2823 eShaderBindingTableKHR = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
2824 eRayTracingNV = VK_BUFFER_USAGE_RAY_TRACING_BIT_NV,
2825 eVideoEncodeDstKHR = VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR,
2826 eVideoEncodeSrcKHR = VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR,
2827 eSamplerDescriptorBufferEXT = VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT,
2828 eResourceDescriptorBufferEXT = VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT,
2829 ePushDescriptorsDescriptorBufferEXT = VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT,
2830 eMicromapBuildInputReadOnlyEXT = VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT,
2831 eMicromapStorageEXT = VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT,
2832 eTileMemoryQCOM = VK_BUFFER_USAGE_TILE_MEMORY_BIT_QCOM
2833 };
2834
2835 // wrapper using for bitmask VkBufferUsageFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferUsageFlags.html
2836 using BufferUsageFlags = Flags<BufferUsageFlagBits>;
2837
2838 template <>
2839 struct FlagTraits<BufferUsageFlagBits>
2840 {
2841 using WrappedType = VkBufferUsageFlagBits;
2842 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2843 static VULKAN_HPP_CONST_OR_CONSTEXPR BufferUsageFlags allFlags =
2844 BufferUsageFlagBits::eTransferSrc | BufferUsageFlagBits::eTransferDst | BufferUsageFlagBits::eUniformTexelBuffer |
2845 BufferUsageFlagBits::eStorageTexelBuffer | BufferUsageFlagBits::eUniformBuffer | BufferUsageFlagBits::eStorageBuffer | BufferUsageFlagBits::eIndexBuffer |
2846 BufferUsageFlagBits::eVertexBuffer | BufferUsageFlagBits::eIndirectBuffer | BufferUsageFlagBits::eShaderDeviceAddress |
2847 BufferUsageFlagBits::eVideoDecodeSrcKHR | BufferUsageFlagBits::eVideoDecodeDstKHR | BufferUsageFlagBits::eTransformFeedbackBufferEXT |
2848 BufferUsageFlagBits::eTransformFeedbackCounterBufferEXT | BufferUsageFlagBits::eConditionalRenderingEXT
2849 #if defined( VK_ENABLE_BETA_EXTENSIONS )
2850 | BufferUsageFlagBits::eExecutionGraphScratchAMDX
2851 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
2852 | BufferUsageFlagBits::eAccelerationStructureBuildInputReadOnlyKHR | BufferUsageFlagBits::eAccelerationStructureStorageKHR |
2853 BufferUsageFlagBits::eShaderBindingTableKHR | BufferUsageFlagBits::eVideoEncodeDstKHR | BufferUsageFlagBits::eVideoEncodeSrcKHR |
2854 BufferUsageFlagBits::eSamplerDescriptorBufferEXT | BufferUsageFlagBits::eResourceDescriptorBufferEXT |
2855 BufferUsageFlagBits::ePushDescriptorsDescriptorBufferEXT | BufferUsageFlagBits::eMicromapBuildInputReadOnlyEXT |
2856 BufferUsageFlagBits::eMicromapStorageEXT | BufferUsageFlagBits::eTileMemoryQCOM;
2857 };
2858
2859 // wrapper class for enum VkSharingMode, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSharingMode.html
2860 enum class SharingMode
2861 {
2862 eExclusive = VK_SHARING_MODE_EXCLUSIVE,
2863 eConcurrent = VK_SHARING_MODE_CONCURRENT
2864 };
2865
2866 // wrapper class for enum VkImageLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageLayout.html
2867 enum class ImageLayout
2868 {
2869 eUndefined = VK_IMAGE_LAYOUT_UNDEFINED,
2870 eGeneral = VK_IMAGE_LAYOUT_GENERAL,
2871 eColorAttachmentOptimal = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
2872 eDepthStencilAttachmentOptimal = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
2873 eDepthStencilReadOnlyOptimal = VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL,
2874 eShaderReadOnlyOptimal = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
2875 eTransferSrcOptimal = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
2876 eTransferDstOptimal = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
2877 ePreinitialized = VK_IMAGE_LAYOUT_PREINITIALIZED,
2878 eDepthReadOnlyStencilAttachmentOptimal = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
2879 eDepthReadOnlyStencilAttachmentOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR,
2880 eDepthAttachmentStencilReadOnlyOptimal = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
2881 eDepthAttachmentStencilReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR,
2882 eDepthAttachmentOptimal = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
2883 eDepthAttachmentOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR,
2884 eDepthReadOnlyOptimal = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
2885 eDepthReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR,
2886 eStencilAttachmentOptimal = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
2887 eStencilAttachmentOptimalKHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR,
2888 eStencilReadOnlyOptimal = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
2889 eStencilReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR,
2890 eReadOnlyOptimal = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL,
2891 eReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR,
2892 eAttachmentOptimal = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL,
2893 eAttachmentOptimalKHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR,
2894 eRenderingLocalRead = VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ,
2895 eRenderingLocalReadKHR = VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR,
2896 ePresentSrcKHR = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR,
2897 eVideoDecodeDstKHR = VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR,
2898 eVideoDecodeSrcKHR = VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR,
2899 eVideoDecodeDpbKHR = VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR,
2900 eSharedPresentKHR = VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR,
2901 eFragmentDensityMapOptimalEXT = VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT,
2902 eFragmentShadingRateAttachmentOptimalKHR = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
2903 eShadingRateOptimalNV = VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV,
2904 eVideoEncodeDstKHR = VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR,
2905 eVideoEncodeSrcKHR = VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR,
2906 eVideoEncodeDpbKHR = VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR,
2907 eAttachmentFeedbackLoopOptimalEXT = VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT,
2908 eTensorAliasingARM = VK_IMAGE_LAYOUT_TENSOR_ALIASING_ARM,
2909 eVideoEncodeQuantizationMapKHR = VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR,
2910 eZeroInitializedEXT = VK_IMAGE_LAYOUT_ZERO_INITIALIZED_EXT
2911 };
2912
2913 // wrapper class for enum VkComponentSwizzle, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkComponentSwizzle.html
2914 enum class ComponentSwizzle
2915 {
2916 eIdentity = VK_COMPONENT_SWIZZLE_IDENTITY,
2917 eZero = VK_COMPONENT_SWIZZLE_ZERO,
2918 eOne = VK_COMPONENT_SWIZZLE_ONE,
2919 eR = VK_COMPONENT_SWIZZLE_R,
2920 eG = VK_COMPONENT_SWIZZLE_G,
2921 eB = VK_COMPONENT_SWIZZLE_B,
2922 eA = VK_COMPONENT_SWIZZLE_A
2923 };
2924
2925 // wrapper class for enum VkImageViewCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageViewCreateFlagBits.html
2926 enum class ImageViewCreateFlagBits : VkImageViewCreateFlags
2927 {
2928 eFragmentDensityMapDynamicEXT = VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT,
2929 eDescriptorBufferCaptureReplayEXT = VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,
2930 eFragmentDensityMapDeferredEXT = VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT
2931 };
2932
2933 // wrapper using for bitmask VkImageViewCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageViewCreateFlags.html
2934 using ImageViewCreateFlags = Flags<ImageViewCreateFlagBits>;
2935
2936 template <>
2937 struct FlagTraits<ImageViewCreateFlagBits>
2938 {
2939 using WrappedType = VkImageViewCreateFlagBits;
2940 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
2941 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageViewCreateFlags allFlags = ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT |
2942 ImageViewCreateFlagBits::eDescriptorBufferCaptureReplayEXT |
2943 ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT;
2944 };
2945
2946 // wrapper class for enum VkImageViewType, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageViewType.html
2947 enum class ImageViewType
2948 {
2949 e1D = VK_IMAGE_VIEW_TYPE_1D,
2950 e2D = VK_IMAGE_VIEW_TYPE_2D,
2951 e3D = VK_IMAGE_VIEW_TYPE_3D,
2952 eCube = VK_IMAGE_VIEW_TYPE_CUBE,
2953 e1DArray = VK_IMAGE_VIEW_TYPE_1D_ARRAY,
2954 e2DArray = VK_IMAGE_VIEW_TYPE_2D_ARRAY,
2955 eCubeArray = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY
2956 };
2957
2958 // wrapper class for enum VkAccessFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccessFlagBits.html
2959 enum class AccessFlagBits : VkAccessFlags
2960 {
2961 eIndirectCommandRead = VK_ACCESS_INDIRECT_COMMAND_READ_BIT,
2962 eIndexRead = VK_ACCESS_INDEX_READ_BIT,
2963 eVertexAttributeRead = VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT,
2964 eUniformRead = VK_ACCESS_UNIFORM_READ_BIT,
2965 eInputAttachmentRead = VK_ACCESS_INPUT_ATTACHMENT_READ_BIT,
2966 eShaderRead = VK_ACCESS_SHADER_READ_BIT,
2967 eShaderWrite = VK_ACCESS_SHADER_WRITE_BIT,
2968 eColorAttachmentRead = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT,
2969 eColorAttachmentWrite = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,
2970 eDepthStencilAttachmentRead = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT,
2971 eDepthStencilAttachmentWrite = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
2972 eTransferRead = VK_ACCESS_TRANSFER_READ_BIT,
2973 eTransferWrite = VK_ACCESS_TRANSFER_WRITE_BIT,
2974 eHostRead = VK_ACCESS_HOST_READ_BIT,
2975 eHostWrite = VK_ACCESS_HOST_WRITE_BIT,
2976 eMemoryRead = VK_ACCESS_MEMORY_READ_BIT,
2977 eMemoryWrite = VK_ACCESS_MEMORY_WRITE_BIT,
2978 eNone = VK_ACCESS_NONE,
2979 eNoneKHR = VK_ACCESS_NONE_KHR,
2980 eTransformFeedbackWriteEXT = VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
2981 eTransformFeedbackCounterReadEXT = VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
2982 eTransformFeedbackCounterWriteEXT = VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
2983 eConditionalRenderingReadEXT = VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT,
2984 eColorAttachmentReadNoncoherentEXT = VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
2985 eAccelerationStructureReadKHR = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
2986 eAccelerationStructureReadNV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV,
2987 eAccelerationStructureWriteKHR = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
2988 eAccelerationStructureWriteNV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV,
2989 eFragmentDensityMapReadEXT = VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
2990 eFragmentShadingRateAttachmentReadKHR = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
2991 eShadingRateImageReadNV = VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV,
2992 eCommandPreprocessReadEXT = VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_EXT,
2993 eCommandPreprocessReadNV = VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV,
2994 eCommandPreprocessWriteEXT = VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_EXT,
2995 eCommandPreprocessWriteNV = VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV
2996 };
2997
2998 // wrapper using for bitmask VkAccessFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccessFlags.html
2999 using AccessFlags = Flags<AccessFlagBits>;
3000
3001 template <>
3002 struct FlagTraits<AccessFlagBits>
3003 {
3004 using WrappedType = VkAccessFlagBits;
3005 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3006 static VULKAN_HPP_CONST_OR_CONSTEXPR AccessFlags allFlags =
3007 AccessFlagBits::eIndirectCommandRead | AccessFlagBits::eIndexRead | AccessFlagBits::eVertexAttributeRead | AccessFlagBits::eUniformRead |
3008 AccessFlagBits::eInputAttachmentRead | AccessFlagBits::eShaderRead | AccessFlagBits::eShaderWrite | AccessFlagBits::eColorAttachmentRead |
3009 AccessFlagBits::eColorAttachmentWrite | AccessFlagBits::eDepthStencilAttachmentRead | AccessFlagBits::eDepthStencilAttachmentWrite |
3010 AccessFlagBits::eTransferRead | AccessFlagBits::eTransferWrite | AccessFlagBits::eHostRead | AccessFlagBits::eHostWrite | AccessFlagBits::eMemoryRead |
3011 AccessFlagBits::eMemoryWrite | AccessFlagBits::eNone | AccessFlagBits::eTransformFeedbackWriteEXT | AccessFlagBits::eTransformFeedbackCounterReadEXT |
3012 AccessFlagBits::eTransformFeedbackCounterWriteEXT | AccessFlagBits::eConditionalRenderingReadEXT | AccessFlagBits::eColorAttachmentReadNoncoherentEXT |
3013 AccessFlagBits::eAccelerationStructureReadKHR | AccessFlagBits::eAccelerationStructureWriteKHR | AccessFlagBits::eFragmentDensityMapReadEXT |
3014 AccessFlagBits::eFragmentShadingRateAttachmentReadKHR | AccessFlagBits::eCommandPreprocessReadEXT | AccessFlagBits::eCommandPreprocessWriteEXT;
3015 };
3016
3017 // wrapper class for enum VkDependencyFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDependencyFlagBits.html
3018 enum class DependencyFlagBits : VkDependencyFlags
3019 {
3020 eByRegion = VK_DEPENDENCY_BY_REGION_BIT,
3021 eDeviceGroup = VK_DEPENDENCY_DEVICE_GROUP_BIT,
3022 eDeviceGroupKHR = VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR,
3023 eViewLocal = VK_DEPENDENCY_VIEW_LOCAL_BIT,
3024 eViewLocalKHR = VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR,
3025 eFeedbackLoopEXT = VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT,
3026 eQueueFamilyOwnershipTransferUseAllStagesKHR = VK_DEPENDENCY_QUEUE_FAMILY_OWNERSHIP_TRANSFER_USE_ALL_STAGES_BIT_KHR,
3027 eAsymmetricEventKHR = VK_DEPENDENCY_ASYMMETRIC_EVENT_BIT_KHR
3028 };
3029
3030 // wrapper using for bitmask VkDependencyFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDependencyFlags.html
3031 using DependencyFlags = Flags<DependencyFlagBits>;
3032
3033 template <>
3034 struct FlagTraits<DependencyFlagBits>
3035 {
3036 using WrappedType = VkDependencyFlagBits;
3037 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3038 static VULKAN_HPP_CONST_OR_CONSTEXPR DependencyFlags allFlags =
3039 DependencyFlagBits::eByRegion | DependencyFlagBits::eDeviceGroup | DependencyFlagBits::eViewLocal | DependencyFlagBits::eFeedbackLoopEXT |
3040 DependencyFlagBits::eQueueFamilyOwnershipTransferUseAllStagesKHR | DependencyFlagBits::eAsymmetricEventKHR;
3041 };
3042
3043 // wrapper class for enum VkCommandPoolCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandPoolCreateFlagBits.html
3044 enum class CommandPoolCreateFlagBits : VkCommandPoolCreateFlags
3045 {
3046 eTransient = VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,
3047 eResetCommandBuffer = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT,
3048 eProtected = VK_COMMAND_POOL_CREATE_PROTECTED_BIT
3049 };
3050
3051 // wrapper using for bitmask VkCommandPoolCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandPoolCreateFlags.html
3052 using CommandPoolCreateFlags = Flags<CommandPoolCreateFlagBits>;
3053
3054 template <>
3055 struct FlagTraits<CommandPoolCreateFlagBits>
3056 {
3057 using WrappedType = VkCommandPoolCreateFlagBits;
3058 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3059 static VULKAN_HPP_CONST_OR_CONSTEXPR CommandPoolCreateFlags allFlags =
3060 CommandPoolCreateFlagBits::eTransient | CommandPoolCreateFlagBits::eResetCommandBuffer | CommandPoolCreateFlagBits::eProtected;
3061 };
3062
3063 // wrapper class for enum VkCommandPoolResetFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandPoolResetFlagBits.html
3064 enum class CommandPoolResetFlagBits : VkCommandPoolResetFlags
3065 {
3066 eReleaseResources = VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT
3067 };
3068
3069 // wrapper using for bitmask VkCommandPoolResetFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandPoolResetFlags.html
3070 using CommandPoolResetFlags = Flags<CommandPoolResetFlagBits>;
3071
3072 template <>
3073 struct FlagTraits<CommandPoolResetFlagBits>
3074 {
3075 using WrappedType = VkCommandPoolResetFlagBits;
3076 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3077 static VULKAN_HPP_CONST_OR_CONSTEXPR CommandPoolResetFlags allFlags = CommandPoolResetFlagBits::eReleaseResources;
3078 };
3079
3080 // wrapper class for enum VkCommandBufferLevel, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandBufferLevel.html
3081 enum class CommandBufferLevel
3082 {
3083 ePrimary = VK_COMMAND_BUFFER_LEVEL_PRIMARY,
3084 eSecondary = VK_COMMAND_BUFFER_LEVEL_SECONDARY
3085 };
3086
3087 // wrapper class for enum VkCommandBufferResetFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandBufferResetFlagBits.html
3088 enum class CommandBufferResetFlagBits : VkCommandBufferResetFlags
3089 {
3090 eReleaseResources = VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT
3091 };
3092
3093 // wrapper using for bitmask VkCommandBufferResetFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandBufferResetFlags.html
3094 using CommandBufferResetFlags = Flags<CommandBufferResetFlagBits>;
3095
3096 template <>
3097 struct FlagTraits<CommandBufferResetFlagBits>
3098 {
3099 using WrappedType = VkCommandBufferResetFlagBits;
3100 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3101 static VULKAN_HPP_CONST_OR_CONSTEXPR CommandBufferResetFlags allFlags = CommandBufferResetFlagBits::eReleaseResources;
3102 };
3103
3104 // wrapper class for enum VkCommandBufferUsageFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandBufferUsageFlagBits.html
3105 enum class CommandBufferUsageFlagBits : VkCommandBufferUsageFlags
3106 {
3107 eOneTimeSubmit = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT,
3108 eRenderPassContinue = VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT,
3109 eSimultaneousUse = VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT
3110 };
3111
3112 // wrapper using for bitmask VkCommandBufferUsageFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandBufferUsageFlags.html
3113 using CommandBufferUsageFlags = Flags<CommandBufferUsageFlagBits>;
3114
3115 template <>
3116 struct FlagTraits<CommandBufferUsageFlagBits>
3117 {
3118 using WrappedType = VkCommandBufferUsageFlagBits;
3119 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3120 static VULKAN_HPP_CONST_OR_CONSTEXPR CommandBufferUsageFlags allFlags =
3121 CommandBufferUsageFlagBits::eOneTimeSubmit | CommandBufferUsageFlagBits::eRenderPassContinue | CommandBufferUsageFlagBits::eSimultaneousUse;
3122 };
3123
3124 // wrapper class for enum VkQueryControlFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryControlFlagBits.html
3125 enum class QueryControlFlagBits : VkQueryControlFlags
3126 {
3127 ePrecise = VK_QUERY_CONTROL_PRECISE_BIT
3128 };
3129
3130 // wrapper using for bitmask VkQueryControlFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryControlFlags.html
3131 using QueryControlFlags = Flags<QueryControlFlagBits>;
3132
3133 template <>
3134 struct FlagTraits<QueryControlFlagBits>
3135 {
3136 using WrappedType = VkQueryControlFlagBits;
3137 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3138 static VULKAN_HPP_CONST_OR_CONSTEXPR QueryControlFlags allFlags = QueryControlFlagBits::ePrecise;
3139 };
3140
3141 // wrapper class for enum VkIndexType, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndexType.html
3142 enum class IndexType
3143 {
3144 eUint16 = VK_INDEX_TYPE_UINT16,
3145 eUint32 = VK_INDEX_TYPE_UINT32,
3146 eUint8 = VK_INDEX_TYPE_UINT8,
3147 eUint8EXT = VK_INDEX_TYPE_UINT8_EXT,
3148 eUint8KHR = VK_INDEX_TYPE_UINT8_KHR,
3149 eNoneKHR = VK_INDEX_TYPE_NONE_KHR,
3150 eNoneNV = VK_INDEX_TYPE_NONE_NV
3151 };
3152
3153 //=========================
3154 //=== Index Type Traits ===
3155 //=========================
3156
3157 template <typename T>
3158 struct IndexTypeValue
3159 {
3160 };
3161
3162 template <>
3163 struct IndexTypeValue<uint16_t>
3164 {
3165 static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint16;
3166 };
3167
3168 template <>
3169 struct CppType<IndexType, IndexType::eUint16>
3170 {
3171 using Type = uint16_t;
3172 };
3173
3174 template <>
3175 struct IndexTypeValue<uint32_t>
3176 {
3177 static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint32;
3178 };
3179
3180 template <>
3181 struct CppType<IndexType, IndexType::eUint32>
3182 {
3183 using Type = uint32_t;
3184 };
3185
3186 template <>
3187 struct IndexTypeValue<uint8_t>
3188 {
3189 static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint8;
3190 };
3191
3192 template <>
3193 struct CppType<IndexType, IndexType::eUint8>
3194 {
3195 using Type = uint8_t;
3196 };
3197
3198 // wrapper class for enum VkPipelineCacheHeaderVersion, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCacheHeaderVersion.html
3199 enum class PipelineCacheHeaderVersion
3200 {
3201 eOne = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,
3202 eDataGraphQCOM = VK_PIPELINE_CACHE_HEADER_VERSION_DATA_GRAPH_QCOM
3203 };
3204
3205 // wrapper class for enum VkEventCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkEventCreateFlagBits.html
3206 enum class EventCreateFlagBits : VkEventCreateFlags
3207 {
3208 eDeviceOnly = VK_EVENT_CREATE_DEVICE_ONLY_BIT,
3209 eDeviceOnlyKHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR
3210 };
3211
3212 // wrapper using for bitmask VkEventCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkEventCreateFlags.html
3213 using EventCreateFlags = Flags<EventCreateFlagBits>;
3214
3215 template <>
3216 struct FlagTraits<EventCreateFlagBits>
3217 {
3218 using WrappedType = VkEventCreateFlagBits;
3219 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3220 static VULKAN_HPP_CONST_OR_CONSTEXPR EventCreateFlags allFlags = EventCreateFlagBits::eDeviceOnly;
3221 };
3222
3223 enum class BufferViewCreateFlagBits : VkBufferViewCreateFlags
3224 {
3225 };
3226
3227 // wrapper using for bitmask VkBufferViewCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferViewCreateFlags.html
3228 using BufferViewCreateFlags = Flags<BufferViewCreateFlagBits>;
3229
3230 template <>
3231 struct FlagTraits<BufferViewCreateFlagBits>
3232 {
3233 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3234 static VULKAN_HPP_CONST_OR_CONSTEXPR BufferViewCreateFlags allFlags = {};
3235 };
3236
3237 enum class ShaderModuleCreateFlagBits : VkShaderModuleCreateFlags
3238 {
3239 };
3240
3241 // wrapper using for bitmask VkShaderModuleCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderModuleCreateFlags.html
3242 using ShaderModuleCreateFlags = Flags<ShaderModuleCreateFlagBits>;
3243
3244 template <>
3245 struct FlagTraits<ShaderModuleCreateFlagBits>
3246 {
3247 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3248 static VULKAN_HPP_CONST_OR_CONSTEXPR ShaderModuleCreateFlags allFlags = {};
3249 };
3250
3251 // wrapper class for enum VkPipelineCacheCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCacheCreateFlagBits.html
3252 enum class PipelineCacheCreateFlagBits : VkPipelineCacheCreateFlags
3253 {
3254 eExternallySynchronized = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT,
3255 eExternallySynchronizedEXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT,
3256 eInternallySynchronizedMergeKHR = VK_PIPELINE_CACHE_CREATE_INTERNALLY_SYNCHRONIZED_MERGE_BIT_KHR
3257 };
3258
3259 // wrapper using for bitmask VkPipelineCacheCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCacheCreateFlags.html
3260 using PipelineCacheCreateFlags = Flags<PipelineCacheCreateFlagBits>;
3261
3262 template <>
3263 struct FlagTraits<PipelineCacheCreateFlagBits>
3264 {
3265 using WrappedType = VkPipelineCacheCreateFlagBits;
3266 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3267 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCacheCreateFlags allFlags =
3268 PipelineCacheCreateFlagBits::eExternallySynchronized | PipelineCacheCreateFlagBits::eInternallySynchronizedMergeKHR;
3269 };
3270
3271 // wrapper class for enum VkPipelineCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCreateFlagBits.html
3272 enum class PipelineCreateFlagBits : VkPipelineCreateFlags
3273 {
3274 eDisableOptimization = VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT,
3275 eAllowDerivatives = VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT,
3276 eDerivative = VK_PIPELINE_CREATE_DERIVATIVE_BIT,
3277 eDispatchBase = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
3278 eDispatchBaseKHR = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT_KHR,
3279 eViewIndexFromDeviceIndex = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
3280 eViewIndexFromDeviceIndexKHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR,
3281 eFailOnPipelineCompileRequired = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT,
3282 eFailOnPipelineCompileRequiredEXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT,
3283 eEarlyReturnOnFailure = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT,
3284 eEarlyReturnOnFailureEXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT,
3285 eNoProtectedAccess = VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT,
3286 eNoProtectedAccessEXT = VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT,
3287 eProtectedAccessOnly = VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT,
3288 eProtectedAccessOnlyEXT = VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT,
3289 eRayTracingNoNullAnyHitShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR,
3290 eRayTracingNoNullClosestHitShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR,
3291 eRayTracingNoNullMissShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR,
3292 eRayTracingNoNullIntersectionShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR,
3293 eRayTracingSkipTrianglesKHR = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR,
3294 eRayTracingSkipAabbsKHR = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR,
3295 eRayTracingShaderGroupHandleCaptureReplayKHR = VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR,
3296 eDeferCompileNV = VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV,
3297 eRenderingFragmentDensityMapAttachmentEXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
3298 eVkPipelineRasterizationStateCreateFragmentDensityMapAttachmentEXT = VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
3299 eRenderingFragmentShadingRateAttachmentKHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
3300 eVkPipelineRasterizationStateCreateFragmentShadingRateAttachmentKHR = VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
3301 eCaptureStatisticsKHR = VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR,
3302 eCaptureInternalRepresentationsKHR = VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR,
3303 eIndirectBindableNV = VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV,
3304 eLibraryKHR = VK_PIPELINE_CREATE_LIBRARY_BIT_KHR,
3305 eDescriptorBufferEXT = VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT,
3306 eRetainLinkTimeOptimizationInfoEXT = VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT,
3307 eLinkTimeOptimizationEXT = VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT,
3308 eRayTracingAllowMotionNV = VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV,
3309 eColorAttachmentFeedbackLoopEXT = VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT,
3310 eDepthStencilAttachmentFeedbackLoopEXT = VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT,
3311 eRayTracingOpacityMicromapEXT = VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT,
3312 #if defined( VK_ENABLE_BETA_EXTENSIONS )
3313 eRayTracingDisplacementMicromapNV = VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV
3314 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
3315 };
3316
3317 // wrapper using for bitmask VkPipelineCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCreateFlags.html
3318 using PipelineCreateFlags = Flags<PipelineCreateFlagBits>;
3319
3320 template <>
3321 struct FlagTraits<PipelineCreateFlagBits>
3322 {
3323 using WrappedType = VkPipelineCreateFlagBits;
3324 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3325 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCreateFlags allFlags =
3326 PipelineCreateFlagBits::eDisableOptimization | PipelineCreateFlagBits::eAllowDerivatives | PipelineCreateFlagBits::eDerivative |
3327 PipelineCreateFlagBits::eDispatchBase | PipelineCreateFlagBits::eViewIndexFromDeviceIndex | PipelineCreateFlagBits::eFailOnPipelineCompileRequired |
3328 PipelineCreateFlagBits::eEarlyReturnOnFailure | PipelineCreateFlagBits::eNoProtectedAccess | PipelineCreateFlagBits::eProtectedAccessOnly |
3329 PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR | PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR |
3330 PipelineCreateFlagBits::eRayTracingNoNullMissShadersKHR | PipelineCreateFlagBits::eRayTracingNoNullIntersectionShadersKHR |
3331 PipelineCreateFlagBits::eRayTracingSkipTrianglesKHR | PipelineCreateFlagBits::eRayTracingSkipAabbsKHR |
3332 PipelineCreateFlagBits::eRayTracingShaderGroupHandleCaptureReplayKHR | PipelineCreateFlagBits::eDeferCompileNV |
3333 PipelineCreateFlagBits::eRenderingFragmentDensityMapAttachmentEXT | PipelineCreateFlagBits::eRenderingFragmentShadingRateAttachmentKHR |
3334 PipelineCreateFlagBits::eCaptureStatisticsKHR | PipelineCreateFlagBits::eCaptureInternalRepresentationsKHR | PipelineCreateFlagBits::eIndirectBindableNV |
3335 PipelineCreateFlagBits::eLibraryKHR | PipelineCreateFlagBits::eDescriptorBufferEXT | PipelineCreateFlagBits::eRetainLinkTimeOptimizationInfoEXT |
3336 PipelineCreateFlagBits::eLinkTimeOptimizationEXT | PipelineCreateFlagBits::eRayTracingAllowMotionNV |
3337 PipelineCreateFlagBits::eColorAttachmentFeedbackLoopEXT | PipelineCreateFlagBits::eDepthStencilAttachmentFeedbackLoopEXT |
3338 PipelineCreateFlagBits::eRayTracingOpacityMicromapEXT
3339 #if defined( VK_ENABLE_BETA_EXTENSIONS )
3340 | PipelineCreateFlagBits::eRayTracingDisplacementMicromapNV
3341 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
3342 ;
3343 };
3344
3345 // wrapper class for enum VkPipelineShaderStageCreateFlagBits, see
3346 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineShaderStageCreateFlagBits.html
3347 enum class PipelineShaderStageCreateFlagBits : VkPipelineShaderStageCreateFlags
3348 {
3349 eAllowVaryingSubgroupSize = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT,
3350 eAllowVaryingSubgroupSizeEXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT,
3351 eRequireFullSubgroups = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT,
3352 eRequireFullSubgroupsEXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT
3353 };
3354
3355 // wrapper using for bitmask VkPipelineShaderStageCreateFlags, see
3356 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineShaderStageCreateFlags.html
3357 using PipelineShaderStageCreateFlags = Flags<PipelineShaderStageCreateFlagBits>;
3358
3359 template <>
3360 struct FlagTraits<PipelineShaderStageCreateFlagBits>
3361 {
3362 using WrappedType = VkPipelineShaderStageCreateFlagBits;
3363 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3364 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineShaderStageCreateFlags allFlags =
3365 PipelineShaderStageCreateFlagBits::eAllowVaryingSubgroupSize | PipelineShaderStageCreateFlagBits::eRequireFullSubgroups;
3366 };
3367
3368 // wrapper class for enum VkShaderStageFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderStageFlagBits.html
3369 enum class ShaderStageFlagBits : VkShaderStageFlags
3370 {
3371 eVertex = VK_SHADER_STAGE_VERTEX_BIT,
3372 eTessellationControl = VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT,
3373 eTessellationEvaluation = VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT,
3374 eGeometry = VK_SHADER_STAGE_GEOMETRY_BIT,
3375 eFragment = VK_SHADER_STAGE_FRAGMENT_BIT,
3376 eCompute = VK_SHADER_STAGE_COMPUTE_BIT,
3377 eAllGraphics = VK_SHADER_STAGE_ALL_GRAPHICS,
3378 eAll = VK_SHADER_STAGE_ALL,
3379 eRaygenKHR = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
3380 eRaygenNV = VK_SHADER_STAGE_RAYGEN_BIT_NV,
3381 eAnyHitKHR = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
3382 eAnyHitNV = VK_SHADER_STAGE_ANY_HIT_BIT_NV,
3383 eClosestHitKHR = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
3384 eClosestHitNV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV,
3385 eMissKHR = VK_SHADER_STAGE_MISS_BIT_KHR,
3386 eMissNV = VK_SHADER_STAGE_MISS_BIT_NV,
3387 eIntersectionKHR = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
3388 eIntersectionNV = VK_SHADER_STAGE_INTERSECTION_BIT_NV,
3389 eCallableKHR = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
3390 eCallableNV = VK_SHADER_STAGE_CALLABLE_BIT_NV,
3391 eTaskEXT = VK_SHADER_STAGE_TASK_BIT_EXT,
3392 eTaskNV = VK_SHADER_STAGE_TASK_BIT_NV,
3393 eMeshEXT = VK_SHADER_STAGE_MESH_BIT_EXT,
3394 eMeshNV = VK_SHADER_STAGE_MESH_BIT_NV,
3395 eSubpassShadingHUAWEI = VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI,
3396 eClusterCullingHUAWEI = VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI
3397 };
3398
3399 // wrapper using for bitmask VkShaderStageFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderStageFlags.html
3400 using ShaderStageFlags = Flags<ShaderStageFlagBits>;
3401
3402 template <>
3403 struct FlagTraits<ShaderStageFlagBits>
3404 {
3405 using WrappedType = VkShaderStageFlagBits;
3406 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3407 static VULKAN_HPP_CONST_OR_CONSTEXPR ShaderStageFlags allFlags =
3408 ShaderStageFlagBits::eVertex | ShaderStageFlagBits::eTessellationControl | ShaderStageFlagBits::eTessellationEvaluation | ShaderStageFlagBits::eGeometry |
3409 ShaderStageFlagBits::eFragment | ShaderStageFlagBits::eCompute | ShaderStageFlagBits::eAllGraphics | ShaderStageFlagBits::eAll |
3410 ShaderStageFlagBits::eRaygenKHR | ShaderStageFlagBits::eAnyHitKHR | ShaderStageFlagBits::eClosestHitKHR | ShaderStageFlagBits::eMissKHR |
3411 ShaderStageFlagBits::eIntersectionKHR | ShaderStageFlagBits::eCallableKHR | ShaderStageFlagBits::eTaskEXT | ShaderStageFlagBits::eMeshEXT |
3412 ShaderStageFlagBits::eSubpassShadingHUAWEI | ShaderStageFlagBits::eClusterCullingHUAWEI;
3413 };
3414
3415 // wrapper class for enum VkPipelineLayoutCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineLayoutCreateFlagBits.html
3416 enum class PipelineLayoutCreateFlagBits : VkPipelineLayoutCreateFlags
3417 {
3418 eIndependentSetsEXT = VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
3419 };
3420
3421 // wrapper using for bitmask VkPipelineLayoutCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineLayoutCreateFlags.html
3422 using PipelineLayoutCreateFlags = Flags<PipelineLayoutCreateFlagBits>;
3423
3424 template <>
3425 struct FlagTraits<PipelineLayoutCreateFlagBits>
3426 {
3427 using WrappedType = VkPipelineLayoutCreateFlagBits;
3428 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3429 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineLayoutCreateFlags allFlags = PipelineLayoutCreateFlagBits::eIndependentSetsEXT;
3430 };
3431
3432 // wrapper class for enum VkBorderColor, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBorderColor.html
3433 enum class BorderColor
3434 {
3435 eFloatTransparentBlack = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,
3436 eIntTransparentBlack = VK_BORDER_COLOR_INT_TRANSPARENT_BLACK,
3437 eFloatOpaqueBlack = VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK,
3438 eIntOpaqueBlack = VK_BORDER_COLOR_INT_OPAQUE_BLACK,
3439 eFloatOpaqueWhite = VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE,
3440 eIntOpaqueWhite = VK_BORDER_COLOR_INT_OPAQUE_WHITE,
3441 eFloatCustomEXT = VK_BORDER_COLOR_FLOAT_CUSTOM_EXT,
3442 eIntCustomEXT = VK_BORDER_COLOR_INT_CUSTOM_EXT
3443 };
3444
3445 // wrapper class for enum VkFilter, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFilter.html
3446 enum class Filter
3447 {
3448 eNearest = VK_FILTER_NEAREST,
3449 eLinear = VK_FILTER_LINEAR,
3450 eCubicEXT = VK_FILTER_CUBIC_EXT,
3451 eCubicIMG = VK_FILTER_CUBIC_IMG
3452 };
3453
3454 // wrapper class for enum VkSamplerAddressMode, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSamplerAddressMode.html
3455 enum class SamplerAddressMode
3456 {
3457 eRepeat = VK_SAMPLER_ADDRESS_MODE_REPEAT,
3458 eMirroredRepeat = VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT,
3459 eClampToEdge = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,
3460 eClampToBorder = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER,
3461 eMirrorClampToEdge = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
3462 eMirrorClampToEdgeKHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR
3463 };
3464
3465 // wrapper class for enum VkSamplerCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSamplerCreateFlagBits.html
3466 enum class SamplerCreateFlagBits : VkSamplerCreateFlags
3467 {
3468 eSubsampledEXT = VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT,
3469 eSubsampledCoarseReconstructionEXT = VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT,
3470 eDescriptorBufferCaptureReplayEXT = VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,
3471 eNonSeamlessCubeMapEXT = VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT,
3472 eImageProcessingQCOM = VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
3473 };
3474
3475 // wrapper using for bitmask VkSamplerCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSamplerCreateFlags.html
3476 using SamplerCreateFlags = Flags<SamplerCreateFlagBits>;
3477
3478 template <>
3479 struct FlagTraits<SamplerCreateFlagBits>
3480 {
3481 using WrappedType = VkSamplerCreateFlagBits;
3482 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3483 static VULKAN_HPP_CONST_OR_CONSTEXPR SamplerCreateFlags allFlags =
3484 SamplerCreateFlagBits::eSubsampledEXT | SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT |
3485 SamplerCreateFlagBits::eDescriptorBufferCaptureReplayEXT | SamplerCreateFlagBits::eNonSeamlessCubeMapEXT | SamplerCreateFlagBits::eImageProcessingQCOM;
3486 };
3487
3488 // wrapper class for enum VkSamplerMipmapMode, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSamplerMipmapMode.html
3489 enum class SamplerMipmapMode
3490 {
3491 eNearest = VK_SAMPLER_MIPMAP_MODE_NEAREST,
3492 eLinear = VK_SAMPLER_MIPMAP_MODE_LINEAR
3493 };
3494
3495 // wrapper class for enum VkDescriptorPoolCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorPoolCreateFlagBits.html
3496 enum class DescriptorPoolCreateFlagBits : VkDescriptorPoolCreateFlags
3497 {
3498 eFreeDescriptorSet = VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT,
3499 eUpdateAfterBind = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
3500 eUpdateAfterBindEXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT,
3501 eHostOnlyEXT = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT,
3502 eHostOnlyVALVE = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE,
3503 eAllowOverallocationSetsNV = VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_SETS_BIT_NV,
3504 eAllowOverallocationPoolsNV = VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_POOLS_BIT_NV
3505 };
3506
3507 // wrapper using for bitmask VkDescriptorPoolCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorPoolCreateFlags.html
3508 using DescriptorPoolCreateFlags = Flags<DescriptorPoolCreateFlagBits>;
3509
3510 template <>
3511 struct FlagTraits<DescriptorPoolCreateFlagBits>
3512 {
3513 using WrappedType = VkDescriptorPoolCreateFlagBits;
3514 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3515 static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorPoolCreateFlags allFlags =
3516 DescriptorPoolCreateFlagBits::eFreeDescriptorSet | DescriptorPoolCreateFlagBits::eUpdateAfterBind | DescriptorPoolCreateFlagBits::eHostOnlyEXT |
3517 DescriptorPoolCreateFlagBits::eAllowOverallocationSetsNV | DescriptorPoolCreateFlagBits::eAllowOverallocationPoolsNV;
3518 };
3519
3520 // wrapper class for enum VkDescriptorSetLayoutCreateFlagBits, see
3521 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorSetLayoutCreateFlagBits.html
3522 enum class DescriptorSetLayoutCreateFlagBits : VkDescriptorSetLayoutCreateFlags
3523 {
3524 eUpdateAfterBindPool = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
3525 eUpdateAfterBindPoolEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT,
3526 ePushDescriptor = VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT,
3527 ePushDescriptorKHR = VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR,
3528 eDescriptorBufferEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT,
3529 eEmbeddedImmutableSamplersEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT,
3530 eIndirectBindableNV = VK_DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV,
3531 eHostOnlyPoolEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT,
3532 eHostOnlyPoolVALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE,
3533 ePerStageNV = VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV
3534 };
3535
3536 // wrapper using for bitmask VkDescriptorSetLayoutCreateFlags, see
3537 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorSetLayoutCreateFlags.html
3538 using DescriptorSetLayoutCreateFlags = Flags<DescriptorSetLayoutCreateFlagBits>;
3539
3540 template <>
3541 struct FlagTraits<DescriptorSetLayoutCreateFlagBits>
3542 {
3543 using WrappedType = VkDescriptorSetLayoutCreateFlagBits;
3544 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3545 static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorSetLayoutCreateFlags allFlags =
3546 DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPool | DescriptorSetLayoutCreateFlagBits::ePushDescriptor |
3547 DescriptorSetLayoutCreateFlagBits::eDescriptorBufferEXT | DescriptorSetLayoutCreateFlagBits::eEmbeddedImmutableSamplersEXT |
3548 DescriptorSetLayoutCreateFlagBits::eIndirectBindableNV | DescriptorSetLayoutCreateFlagBits::eHostOnlyPoolEXT |
3549 DescriptorSetLayoutCreateFlagBits::ePerStageNV;
3550 };
3551
3552 // wrapper class for enum VkDescriptorType, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorType.html
3553 enum class DescriptorType
3554 {
3555 eSampler = VK_DESCRIPTOR_TYPE_SAMPLER,
3556 eCombinedImageSampler = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
3557 eSampledImage = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE,
3558 eStorageImage = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
3559 eUniformTexelBuffer = VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER,
3560 eStorageTexelBuffer = VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER,
3561 eUniformBuffer = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
3562 eStorageBuffer = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
3563 eUniformBufferDynamic = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,
3564 eStorageBufferDynamic = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC,
3565 eInputAttachment = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
3566 eInlineUniformBlock = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK,
3567 eInlineUniformBlockEXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT,
3568 eAccelerationStructureKHR = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR,
3569 eAccelerationStructureNV = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV,
3570 eSampleWeightImageQCOM = VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM,
3571 eBlockMatchImageQCOM = VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM,
3572 eTensorARM = VK_DESCRIPTOR_TYPE_TENSOR_ARM,
3573 eMutableEXT = VK_DESCRIPTOR_TYPE_MUTABLE_EXT,
3574 eMutableVALVE = VK_DESCRIPTOR_TYPE_MUTABLE_VALVE,
3575 ePartitionedAccelerationStructureNV = VK_DESCRIPTOR_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_NV
3576 };
3577
3578 enum class DescriptorPoolResetFlagBits : VkDescriptorPoolResetFlags
3579 {
3580 };
3581
3582 // wrapper using for bitmask VkDescriptorPoolResetFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorPoolResetFlags.html
3583 using DescriptorPoolResetFlags = Flags<DescriptorPoolResetFlagBits>;
3584
3585 template <>
3586 struct FlagTraits<DescriptorPoolResetFlagBits>
3587 {
3588 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3589 static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorPoolResetFlags allFlags = {};
3590 };
3591
3592 // wrapper class for enum VkQueryPipelineStatisticFlagBits, see
3593 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryPipelineStatisticFlagBits.html
3594 enum class QueryPipelineStatisticFlagBits : VkQueryPipelineStatisticFlags
3595 {
3596 eInputAssemblyVertices = VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT,
3597 eInputAssemblyPrimitives = VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT,
3598 eVertexShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT,
3599 eGeometryShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT,
3600 eGeometryShaderPrimitives = VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT,
3601 eClippingInvocations = VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT,
3602 eClippingPrimitives = VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT,
3603 eFragmentShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT,
3604 eTessellationControlShaderPatches = VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT,
3605 eTessellationEvaluationShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT,
3606 eComputeShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT,
3607 eTaskShaderInvocationsEXT = VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT,
3608 eMeshShaderInvocationsEXT = VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT,
3609 eClusterCullingShaderInvocationsHUAWEI = VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI
3610 };
3611
3612 // wrapper using for bitmask VkQueryPipelineStatisticFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryPipelineStatisticFlags.html
3613 using QueryPipelineStatisticFlags = Flags<QueryPipelineStatisticFlagBits>;
3614
3615 template <>
3616 struct FlagTraits<QueryPipelineStatisticFlagBits>
3617 {
3618 using WrappedType = VkQueryPipelineStatisticFlagBits;
3619 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3620 static VULKAN_HPP_CONST_OR_CONSTEXPR QueryPipelineStatisticFlags allFlags =
3621 QueryPipelineStatisticFlagBits::eInputAssemblyVertices | QueryPipelineStatisticFlagBits::eInputAssemblyPrimitives |
3622 QueryPipelineStatisticFlagBits::eVertexShaderInvocations | QueryPipelineStatisticFlagBits::eGeometryShaderInvocations |
3623 QueryPipelineStatisticFlagBits::eGeometryShaderPrimitives | QueryPipelineStatisticFlagBits::eClippingInvocations |
3624 QueryPipelineStatisticFlagBits::eClippingPrimitives | QueryPipelineStatisticFlagBits::eFragmentShaderInvocations |
3625 QueryPipelineStatisticFlagBits::eTessellationControlShaderPatches | QueryPipelineStatisticFlagBits::eTessellationEvaluationShaderInvocations |
3626 QueryPipelineStatisticFlagBits::eComputeShaderInvocations | QueryPipelineStatisticFlagBits::eTaskShaderInvocationsEXT |
3627 QueryPipelineStatisticFlagBits::eMeshShaderInvocationsEXT | QueryPipelineStatisticFlagBits::eClusterCullingShaderInvocationsHUAWEI;
3628 };
3629
3630 // wrapper class for enum VkPipelineBindPoint, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineBindPoint.html
3631 enum class PipelineBindPoint
3632 {
3633 eGraphics = VK_PIPELINE_BIND_POINT_GRAPHICS,
3634 eCompute = VK_PIPELINE_BIND_POINT_COMPUTE,
3635 #if defined( VK_ENABLE_BETA_EXTENSIONS )
3636 eExecutionGraphAMDX = VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX,
3637 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
3638 eRayTracingKHR = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
3639 eRayTracingNV = VK_PIPELINE_BIND_POINT_RAY_TRACING_NV,
3640 eSubpassShadingHUAWEI = VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI,
3641 eDataGraphARM = VK_PIPELINE_BIND_POINT_DATA_GRAPH_ARM
3642 };
3643
3644 // wrapper class for enum VkBlendFactor, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBlendFactor.html
3645 enum class BlendFactor
3646 {
3647 eZero = VK_BLEND_FACTOR_ZERO,
3648 eOne = VK_BLEND_FACTOR_ONE,
3649 eSrcColor = VK_BLEND_FACTOR_SRC_COLOR,
3650 eOneMinusSrcColor = VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR,
3651 eDstColor = VK_BLEND_FACTOR_DST_COLOR,
3652 eOneMinusDstColor = VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR,
3653 eSrcAlpha = VK_BLEND_FACTOR_SRC_ALPHA,
3654 eOneMinusSrcAlpha = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA,
3655 eDstAlpha = VK_BLEND_FACTOR_DST_ALPHA,
3656 eOneMinusDstAlpha = VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA,
3657 eConstantColor = VK_BLEND_FACTOR_CONSTANT_COLOR,
3658 eOneMinusConstantColor = VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR,
3659 eConstantAlpha = VK_BLEND_FACTOR_CONSTANT_ALPHA,
3660 eOneMinusConstantAlpha = VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA,
3661 eSrcAlphaSaturate = VK_BLEND_FACTOR_SRC_ALPHA_SATURATE,
3662 eSrc1Color = VK_BLEND_FACTOR_SRC1_COLOR,
3663 eOneMinusSrc1Color = VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR,
3664 eSrc1Alpha = VK_BLEND_FACTOR_SRC1_ALPHA,
3665 eOneMinusSrc1Alpha = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA
3666 };
3667
3668 // wrapper class for enum VkBlendOp, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBlendOp.html
3669 enum class BlendOp
3670 {
3671 eAdd = VK_BLEND_OP_ADD,
3672 eSubtract = VK_BLEND_OP_SUBTRACT,
3673 eReverseSubtract = VK_BLEND_OP_REVERSE_SUBTRACT,
3674 eMin = VK_BLEND_OP_MIN,
3675 eMax = VK_BLEND_OP_MAX,
3676 eZeroEXT = VK_BLEND_OP_ZERO_EXT,
3677 eSrcEXT = VK_BLEND_OP_SRC_EXT,
3678 eDstEXT = VK_BLEND_OP_DST_EXT,
3679 eSrcOverEXT = VK_BLEND_OP_SRC_OVER_EXT,
3680 eDstOverEXT = VK_BLEND_OP_DST_OVER_EXT,
3681 eSrcInEXT = VK_BLEND_OP_SRC_IN_EXT,
3682 eDstInEXT = VK_BLEND_OP_DST_IN_EXT,
3683 eSrcOutEXT = VK_BLEND_OP_SRC_OUT_EXT,
3684 eDstOutEXT = VK_BLEND_OP_DST_OUT_EXT,
3685 eSrcAtopEXT = VK_BLEND_OP_SRC_ATOP_EXT,
3686 eDstAtopEXT = VK_BLEND_OP_DST_ATOP_EXT,
3687 eXorEXT = VK_BLEND_OP_XOR_EXT,
3688 eMultiplyEXT = VK_BLEND_OP_MULTIPLY_EXT,
3689 eScreenEXT = VK_BLEND_OP_SCREEN_EXT,
3690 eOverlayEXT = VK_BLEND_OP_OVERLAY_EXT,
3691 eDarkenEXT = VK_BLEND_OP_DARKEN_EXT,
3692 eLightenEXT = VK_BLEND_OP_LIGHTEN_EXT,
3693 eColordodgeEXT = VK_BLEND_OP_COLORDODGE_EXT,
3694 eColorburnEXT = VK_BLEND_OP_COLORBURN_EXT,
3695 eHardlightEXT = VK_BLEND_OP_HARDLIGHT_EXT,
3696 eSoftlightEXT = VK_BLEND_OP_SOFTLIGHT_EXT,
3697 eDifferenceEXT = VK_BLEND_OP_DIFFERENCE_EXT,
3698 eExclusionEXT = VK_BLEND_OP_EXCLUSION_EXT,
3699 eInvertEXT = VK_BLEND_OP_INVERT_EXT,
3700 eInvertRgbEXT = VK_BLEND_OP_INVERT_RGB_EXT,
3701 eLineardodgeEXT = VK_BLEND_OP_LINEARDODGE_EXT,
3702 eLinearburnEXT = VK_BLEND_OP_LINEARBURN_EXT,
3703 eVividlightEXT = VK_BLEND_OP_VIVIDLIGHT_EXT,
3704 eLinearlightEXT = VK_BLEND_OP_LINEARLIGHT_EXT,
3705 ePinlightEXT = VK_BLEND_OP_PINLIGHT_EXT,
3706 eHardmixEXT = VK_BLEND_OP_HARDMIX_EXT,
3707 eHslHueEXT = VK_BLEND_OP_HSL_HUE_EXT,
3708 eHslSaturationEXT = VK_BLEND_OP_HSL_SATURATION_EXT,
3709 eHslColorEXT = VK_BLEND_OP_HSL_COLOR_EXT,
3710 eHslLuminosityEXT = VK_BLEND_OP_HSL_LUMINOSITY_EXT,
3711 ePlusEXT = VK_BLEND_OP_PLUS_EXT,
3712 ePlusClampedEXT = VK_BLEND_OP_PLUS_CLAMPED_EXT,
3713 ePlusClampedAlphaEXT = VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT,
3714 ePlusDarkerEXT = VK_BLEND_OP_PLUS_DARKER_EXT,
3715 eMinusEXT = VK_BLEND_OP_MINUS_EXT,
3716 eMinusClampedEXT = VK_BLEND_OP_MINUS_CLAMPED_EXT,
3717 eContrastEXT = VK_BLEND_OP_CONTRAST_EXT,
3718 eInvertOvgEXT = VK_BLEND_OP_INVERT_OVG_EXT,
3719 eRedEXT = VK_BLEND_OP_RED_EXT,
3720 eGreenEXT = VK_BLEND_OP_GREEN_EXT,
3721 eBlueEXT = VK_BLEND_OP_BLUE_EXT
3722 };
3723
3724 // wrapper class for enum VkColorComponentFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkColorComponentFlagBits.html
3725 enum class ColorComponentFlagBits : VkColorComponentFlags
3726 {
3727 eR = VK_COLOR_COMPONENT_R_BIT,
3728 eG = VK_COLOR_COMPONENT_G_BIT,
3729 eB = VK_COLOR_COMPONENT_B_BIT,
3730 eA = VK_COLOR_COMPONENT_A_BIT
3731 };
3732
3733 // wrapper using for bitmask VkColorComponentFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkColorComponentFlags.html
3734 using ColorComponentFlags = Flags<ColorComponentFlagBits>;
3735
3736 template <>
3737 struct FlagTraits<ColorComponentFlagBits>
3738 {
3739 using WrappedType = VkColorComponentFlagBits;
3740 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3741 static VULKAN_HPP_CONST_OR_CONSTEXPR ColorComponentFlags allFlags =
3742 ColorComponentFlagBits::eR | ColorComponentFlagBits::eG | ColorComponentFlagBits::eB | ColorComponentFlagBits::eA;
3743 };
3744
3745 // wrapper class for enum VkCompareOp, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCompareOp.html
3746 enum class CompareOp
3747 {
3748 eNever = VK_COMPARE_OP_NEVER,
3749 eLess = VK_COMPARE_OP_LESS,
3750 eEqual = VK_COMPARE_OP_EQUAL,
3751 eLessOrEqual = VK_COMPARE_OP_LESS_OR_EQUAL,
3752 eGreater = VK_COMPARE_OP_GREATER,
3753 eNotEqual = VK_COMPARE_OP_NOT_EQUAL,
3754 eGreaterOrEqual = VK_COMPARE_OP_GREATER_OR_EQUAL,
3755 eAlways = VK_COMPARE_OP_ALWAYS
3756 };
3757
3758 // wrapper class for enum VkCullModeFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCullModeFlagBits.html
3759 enum class CullModeFlagBits : VkCullModeFlags
3760 {
3761 eNone = VK_CULL_MODE_NONE,
3762 eFront = VK_CULL_MODE_FRONT_BIT,
3763 eBack = VK_CULL_MODE_BACK_BIT,
3764 eFrontAndBack = VK_CULL_MODE_FRONT_AND_BACK
3765 };
3766
3767 // wrapper using for bitmask VkCullModeFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCullModeFlags.html
3768 using CullModeFlags = Flags<CullModeFlagBits>;
3769
3770 template <>
3771 struct FlagTraits<CullModeFlagBits>
3772 {
3773 using WrappedType = VkCullModeFlagBits;
3774 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3775 static VULKAN_HPP_CONST_OR_CONSTEXPR CullModeFlags allFlags =
3776 CullModeFlagBits::eNone | CullModeFlagBits::eFront | CullModeFlagBits::eBack | CullModeFlagBits::eFrontAndBack;
3777 };
3778
3779 // wrapper class for enum VkDynamicState, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDynamicState.html
3780 enum class DynamicState
3781 {
3782 eViewport = VK_DYNAMIC_STATE_VIEWPORT,
3783 eScissor = VK_DYNAMIC_STATE_SCISSOR,
3784 eLineWidth = VK_DYNAMIC_STATE_LINE_WIDTH,
3785 eDepthBias = VK_DYNAMIC_STATE_DEPTH_BIAS,
3786 eBlendConstants = VK_DYNAMIC_STATE_BLEND_CONSTANTS,
3787 eDepthBounds = VK_DYNAMIC_STATE_DEPTH_BOUNDS,
3788 eStencilCompareMask = VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK,
3789 eStencilWriteMask = VK_DYNAMIC_STATE_STENCIL_WRITE_MASK,
3790 eStencilReference = VK_DYNAMIC_STATE_STENCIL_REFERENCE,
3791 eCullMode = VK_DYNAMIC_STATE_CULL_MODE,
3792 eCullModeEXT = VK_DYNAMIC_STATE_CULL_MODE_EXT,
3793 eFrontFace = VK_DYNAMIC_STATE_FRONT_FACE,
3794 eFrontFaceEXT = VK_DYNAMIC_STATE_FRONT_FACE_EXT,
3795 ePrimitiveTopology = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY,
3796 ePrimitiveTopologyEXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT,
3797 eViewportWithCount = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT,
3798 eViewportWithCountEXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT,
3799 eScissorWithCount = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT,
3800 eScissorWithCountEXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT,
3801 eVertexInputBindingStride = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE,
3802 eVertexInputBindingStrideEXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT,
3803 eDepthTestEnable = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE,
3804 eDepthTestEnableEXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT,
3805 eDepthWriteEnable = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE,
3806 eDepthWriteEnableEXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT,
3807 eDepthCompareOp = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP,
3808 eDepthCompareOpEXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT,
3809 eDepthBoundsTestEnable = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE,
3810 eDepthBoundsTestEnableEXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT,
3811 eStencilTestEnable = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE,
3812 eStencilTestEnableEXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT,
3813 eStencilOp = VK_DYNAMIC_STATE_STENCIL_OP,
3814 eStencilOpEXT = VK_DYNAMIC_STATE_STENCIL_OP_EXT,
3815 eRasterizerDiscardEnable = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE,
3816 eRasterizerDiscardEnableEXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT,
3817 eDepthBiasEnable = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE,
3818 eDepthBiasEnableEXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT,
3819 ePrimitiveRestartEnable = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE,
3820 ePrimitiveRestartEnableEXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT,
3821 eLineStipple = VK_DYNAMIC_STATE_LINE_STIPPLE,
3822 eLineStippleEXT = VK_DYNAMIC_STATE_LINE_STIPPLE_EXT,
3823 eLineStippleKHR = VK_DYNAMIC_STATE_LINE_STIPPLE_KHR,
3824 eViewportWScalingNV = VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV,
3825 eDiscardRectangleEXT = VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT,
3826 eDiscardRectangleEnableEXT = VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT,
3827 eDiscardRectangleModeEXT = VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT,
3828 eSampleLocationsEXT = VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT,
3829 eRayTracingPipelineStackSizeKHR = VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR,
3830 eViewportShadingRatePaletteNV = VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV,
3831 eViewportCoarseSampleOrderNV = VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV,
3832 eExclusiveScissorEnableNV = VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV,
3833 eExclusiveScissorNV = VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV,
3834 eFragmentShadingRateKHR = VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR,
3835 eVertexInputEXT = VK_DYNAMIC_STATE_VERTEX_INPUT_EXT,
3836 ePatchControlPointsEXT = VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT,
3837 eLogicOpEXT = VK_DYNAMIC_STATE_LOGIC_OP_EXT,
3838 eColorWriteEnableEXT = VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT,
3839 eDepthClampEnableEXT = VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT,
3840 ePolygonModeEXT = VK_DYNAMIC_STATE_POLYGON_MODE_EXT,
3841 eRasterizationSamplesEXT = VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT,
3842 eSampleMaskEXT = VK_DYNAMIC_STATE_SAMPLE_MASK_EXT,
3843 eAlphaToCoverageEnableEXT = VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT,
3844 eAlphaToOneEnableEXT = VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT,
3845 eLogicOpEnableEXT = VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT,
3846 eColorBlendEnableEXT = VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT,
3847 eColorBlendEquationEXT = VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT,
3848 eColorWriteMaskEXT = VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT,
3849 eTessellationDomainOriginEXT = VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT,
3850 eRasterizationStreamEXT = VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT,
3851 eConservativeRasterizationModeEXT = VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT,
3852 eExtraPrimitiveOverestimationSizeEXT = VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT,
3853 eDepthClipEnableEXT = VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT,
3854 eSampleLocationsEnableEXT = VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT,
3855 eColorBlendAdvancedEXT = VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT,
3856 eProvokingVertexModeEXT = VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT,
3857 eLineRasterizationModeEXT = VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT,
3858 eLineStippleEnableEXT = VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT,
3859 eDepthClipNegativeOneToOneEXT = VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT,
3860 eViewportWScalingEnableNV = VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV,
3861 eViewportSwizzleNV = VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV,
3862 eCoverageToColorEnableNV = VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV,
3863 eCoverageToColorLocationNV = VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV,
3864 eCoverageModulationModeNV = VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV,
3865 eCoverageModulationTableEnableNV = VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV,
3866 eCoverageModulationTableNV = VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV,
3867 eShadingRateImageEnableNV = VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV,
3868 eRepresentativeFragmentTestEnableNV = VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV,
3869 eCoverageReductionModeNV = VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV,
3870 eAttachmentFeedbackLoopEnableEXT = VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT,
3871 eDepthClampRangeEXT = VK_DYNAMIC_STATE_DEPTH_CLAMP_RANGE_EXT
3872 };
3873
3874 // wrapper class for enum VkFrontFace, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFrontFace.html
3875 enum class FrontFace
3876 {
3877 eCounterClockwise = VK_FRONT_FACE_COUNTER_CLOCKWISE,
3878 eClockwise = VK_FRONT_FACE_CLOCKWISE
3879 };
3880
3881 // wrapper class for enum VkLogicOp, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkLogicOp.html
3882 enum class LogicOp
3883 {
3884 eClear = VK_LOGIC_OP_CLEAR,
3885 eAnd = VK_LOGIC_OP_AND,
3886 eAndReverse = VK_LOGIC_OP_AND_REVERSE,
3887 eCopy = VK_LOGIC_OP_COPY,
3888 eAndInverted = VK_LOGIC_OP_AND_INVERTED,
3889 eNoOp = VK_LOGIC_OP_NO_OP,
3890 eXor = VK_LOGIC_OP_XOR,
3891 eOr = VK_LOGIC_OP_OR,
3892 eNor = VK_LOGIC_OP_NOR,
3893 eEquivalent = VK_LOGIC_OP_EQUIVALENT,
3894 eInvert = VK_LOGIC_OP_INVERT,
3895 eOrReverse = VK_LOGIC_OP_OR_REVERSE,
3896 eCopyInverted = VK_LOGIC_OP_COPY_INVERTED,
3897 eOrInverted = VK_LOGIC_OP_OR_INVERTED,
3898 eNand = VK_LOGIC_OP_NAND,
3899 eSet = VK_LOGIC_OP_SET
3900 };
3901
3902 // wrapper class for enum VkPolygonMode, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPolygonMode.html
3903 enum class PolygonMode
3904 {
3905 eFill = VK_POLYGON_MODE_FILL,
3906 eLine = VK_POLYGON_MODE_LINE,
3907 ePoint = VK_POLYGON_MODE_POINT,
3908 eFillRectangleNV = VK_POLYGON_MODE_FILL_RECTANGLE_NV
3909 };
3910
3911 // wrapper class for enum VkPrimitiveTopology, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPrimitiveTopology.html
3912 enum class PrimitiveTopology
3913 {
3914 ePointList = VK_PRIMITIVE_TOPOLOGY_POINT_LIST,
3915 eLineList = VK_PRIMITIVE_TOPOLOGY_LINE_LIST,
3916 eLineStrip = VK_PRIMITIVE_TOPOLOGY_LINE_STRIP,
3917 eTriangleList = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST,
3918 eTriangleStrip = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP,
3919 eTriangleFan = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN,
3920 eLineListWithAdjacency = VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY,
3921 eLineStripWithAdjacency = VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY,
3922 eTriangleListWithAdjacency = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY,
3923 eTriangleStripWithAdjacency = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY,
3924 ePatchList = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST
3925 };
3926
3927 // wrapper class for enum VkStencilOp, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkStencilOp.html
3928 enum class StencilOp
3929 {
3930 eKeep = VK_STENCIL_OP_KEEP,
3931 eZero = VK_STENCIL_OP_ZERO,
3932 eReplace = VK_STENCIL_OP_REPLACE,
3933 eIncrementAndClamp = VK_STENCIL_OP_INCREMENT_AND_CLAMP,
3934 eDecrementAndClamp = VK_STENCIL_OP_DECREMENT_AND_CLAMP,
3935 eInvert = VK_STENCIL_OP_INVERT,
3936 eIncrementAndWrap = VK_STENCIL_OP_INCREMENT_AND_WRAP,
3937 eDecrementAndWrap = VK_STENCIL_OP_DECREMENT_AND_WRAP
3938 };
3939
3940 // wrapper class for enum VkVertexInputRate, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVertexInputRate.html
3941 enum class VertexInputRate
3942 {
3943 eVertex = VK_VERTEX_INPUT_RATE_VERTEX,
3944 eInstance = VK_VERTEX_INPUT_RATE_INSTANCE
3945 };
3946
3947 // wrapper class for enum VkPipelineColorBlendStateCreateFlagBits, see
3948 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineColorBlendStateCreateFlagBits.html
3949 enum class PipelineColorBlendStateCreateFlagBits : VkPipelineColorBlendStateCreateFlags
3950 {
3951 eRasterizationOrderAttachmentAccessEXT = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT,
3952 eRasterizationOrderAttachmentAccessARM = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM
3953 };
3954
3955 // wrapper using for bitmask VkPipelineColorBlendStateCreateFlags, see
3956 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineColorBlendStateCreateFlags.html
3957 using PipelineColorBlendStateCreateFlags = Flags<PipelineColorBlendStateCreateFlagBits>;
3958
3959 template <>
3960 struct FlagTraits<PipelineColorBlendStateCreateFlagBits>
3961 {
3962 using WrappedType = VkPipelineColorBlendStateCreateFlagBits;
3963 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3964 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineColorBlendStateCreateFlags allFlags =
3965 PipelineColorBlendStateCreateFlagBits::eRasterizationOrderAttachmentAccessEXT;
3966 };
3967
3968 // wrapper class for enum VkPipelineDepthStencilStateCreateFlagBits, see
3969 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineDepthStencilStateCreateFlagBits.html
3970 enum class PipelineDepthStencilStateCreateFlagBits : VkPipelineDepthStencilStateCreateFlags
3971 {
3972 eRasterizationOrderAttachmentDepthAccessEXT = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT,
3973 eRasterizationOrderAttachmentDepthAccessARM = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM,
3974 eRasterizationOrderAttachmentStencilAccessEXT = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT,
3975 eRasterizationOrderAttachmentStencilAccessARM = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM
3976 };
3977
3978 // wrapper using for bitmask VkPipelineDepthStencilStateCreateFlags, see
3979 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineDepthStencilStateCreateFlags.html
3980 using PipelineDepthStencilStateCreateFlags = Flags<PipelineDepthStencilStateCreateFlagBits>;
3981
3982 template <>
3983 struct FlagTraits<PipelineDepthStencilStateCreateFlagBits>
3984 {
3985 using WrappedType = VkPipelineDepthStencilStateCreateFlagBits;
3986 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
3987 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineDepthStencilStateCreateFlags allFlags =
3988 PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentDepthAccessEXT |
3989 PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentStencilAccessEXT;
3990 };
3991
3992 enum class PipelineDynamicStateCreateFlagBits : VkPipelineDynamicStateCreateFlags
3993 {
3994 };
3995
3996 // wrapper using for bitmask VkPipelineDynamicStateCreateFlags, see
3997 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineDynamicStateCreateFlags.html
3998 using PipelineDynamicStateCreateFlags = Flags<PipelineDynamicStateCreateFlagBits>;
3999
4000 template <>
4001 struct FlagTraits<PipelineDynamicStateCreateFlagBits>
4002 {
4003 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4004 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineDynamicStateCreateFlags allFlags = {};
4005 };
4006
4007 enum class PipelineInputAssemblyStateCreateFlagBits : VkPipelineInputAssemblyStateCreateFlags
4008 {
4009 };
4010
4011 // wrapper using for bitmask VkPipelineInputAssemblyStateCreateFlags, see
4012 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineInputAssemblyStateCreateFlags.html
4013 using PipelineInputAssemblyStateCreateFlags = Flags<PipelineInputAssemblyStateCreateFlagBits>;
4014
4015 template <>
4016 struct FlagTraits<PipelineInputAssemblyStateCreateFlagBits>
4017 {
4018 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4019 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineInputAssemblyStateCreateFlags allFlags = {};
4020 };
4021
4022 enum class PipelineMultisampleStateCreateFlagBits : VkPipelineMultisampleStateCreateFlags
4023 {
4024 };
4025
4026 // wrapper using for bitmask VkPipelineMultisampleStateCreateFlags, see
4027 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineMultisampleStateCreateFlags.html
4028 using PipelineMultisampleStateCreateFlags = Flags<PipelineMultisampleStateCreateFlagBits>;
4029
4030 template <>
4031 struct FlagTraits<PipelineMultisampleStateCreateFlagBits>
4032 {
4033 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4034 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineMultisampleStateCreateFlags allFlags = {};
4035 };
4036
4037 enum class PipelineRasterizationStateCreateFlagBits : VkPipelineRasterizationStateCreateFlags
4038 {
4039 };
4040
4041 // wrapper using for bitmask VkPipelineRasterizationStateCreateFlags, see
4042 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineRasterizationStateCreateFlags.html
4043 using PipelineRasterizationStateCreateFlags = Flags<PipelineRasterizationStateCreateFlagBits>;
4044
4045 template <>
4046 struct FlagTraits<PipelineRasterizationStateCreateFlagBits>
4047 {
4048 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4049 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineRasterizationStateCreateFlags allFlags = {};
4050 };
4051
4052 enum class PipelineTessellationStateCreateFlagBits : VkPipelineTessellationStateCreateFlags
4053 {
4054 };
4055
4056 // wrapper using for bitmask VkPipelineTessellationStateCreateFlags, see
4057 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineTessellationStateCreateFlags.html
4058 using PipelineTessellationStateCreateFlags = Flags<PipelineTessellationStateCreateFlagBits>;
4059
4060 template <>
4061 struct FlagTraits<PipelineTessellationStateCreateFlagBits>
4062 {
4063 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4064 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineTessellationStateCreateFlags allFlags = {};
4065 };
4066
4067 enum class PipelineVertexInputStateCreateFlagBits : VkPipelineVertexInputStateCreateFlags
4068 {
4069 };
4070
4071 // wrapper using for bitmask VkPipelineVertexInputStateCreateFlags, see
4072 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineVertexInputStateCreateFlags.html
4073 using PipelineVertexInputStateCreateFlags = Flags<PipelineVertexInputStateCreateFlagBits>;
4074
4075 template <>
4076 struct FlagTraits<PipelineVertexInputStateCreateFlagBits>
4077 {
4078 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4079 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineVertexInputStateCreateFlags allFlags = {};
4080 };
4081
4082 enum class PipelineViewportStateCreateFlagBits : VkPipelineViewportStateCreateFlags
4083 {
4084 };
4085
4086 // wrapper using for bitmask VkPipelineViewportStateCreateFlags, see
4087 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineViewportStateCreateFlags.html
4088 using PipelineViewportStateCreateFlags = Flags<PipelineViewportStateCreateFlagBits>;
4089
4090 template <>
4091 struct FlagTraits<PipelineViewportStateCreateFlagBits>
4092 {
4093 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4094 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineViewportStateCreateFlags allFlags = {};
4095 };
4096
4097 // wrapper class for enum VkAttachmentDescriptionFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAttachmentDescriptionFlagBits.html
4098 enum class AttachmentDescriptionFlagBits : VkAttachmentDescriptionFlags
4099 {
4100 eMayAlias = VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT,
4101 eResolveSkipTransferFunctionKHR = VK_ATTACHMENT_DESCRIPTION_RESOLVE_SKIP_TRANSFER_FUNCTION_BIT_KHR,
4102 eResolveEnableTransferFunctionKHR = VK_ATTACHMENT_DESCRIPTION_RESOLVE_ENABLE_TRANSFER_FUNCTION_BIT_KHR
4103 };
4104
4105 // wrapper using for bitmask VkAttachmentDescriptionFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAttachmentDescriptionFlags.html
4106 using AttachmentDescriptionFlags = Flags<AttachmentDescriptionFlagBits>;
4107
4108 template <>
4109 struct FlagTraits<AttachmentDescriptionFlagBits>
4110 {
4111 using WrappedType = VkAttachmentDescriptionFlagBits;
4112 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4113 static VULKAN_HPP_CONST_OR_CONSTEXPR AttachmentDescriptionFlags allFlags = AttachmentDescriptionFlagBits::eMayAlias |
4114 AttachmentDescriptionFlagBits::eResolveSkipTransferFunctionKHR |
4115 AttachmentDescriptionFlagBits::eResolveEnableTransferFunctionKHR;
4116 };
4117
4118 // wrapper class for enum VkAttachmentLoadOp, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAttachmentLoadOp.html
4119 enum class AttachmentLoadOp
4120 {
4121 eLoad = VK_ATTACHMENT_LOAD_OP_LOAD,
4122 eClear = VK_ATTACHMENT_LOAD_OP_CLEAR,
4123 eDontCare = VK_ATTACHMENT_LOAD_OP_DONT_CARE,
4124 eNone = VK_ATTACHMENT_LOAD_OP_NONE,
4125 eNoneEXT = VK_ATTACHMENT_LOAD_OP_NONE_EXT,
4126 eNoneKHR = VK_ATTACHMENT_LOAD_OP_NONE_KHR
4127 };
4128
4129 // wrapper class for enum VkAttachmentStoreOp, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAttachmentStoreOp.html
4130 enum class AttachmentStoreOp
4131 {
4132 eStore = VK_ATTACHMENT_STORE_OP_STORE,
4133 eDontCare = VK_ATTACHMENT_STORE_OP_DONT_CARE,
4134 eNone = VK_ATTACHMENT_STORE_OP_NONE,
4135 eNoneKHR = VK_ATTACHMENT_STORE_OP_NONE_KHR,
4136 eNoneQCOM = VK_ATTACHMENT_STORE_OP_NONE_QCOM,
4137 eNoneEXT = VK_ATTACHMENT_STORE_OP_NONE_EXT
4138 };
4139
4140 // wrapper class for enum VkFramebufferCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFramebufferCreateFlagBits.html
4141 enum class FramebufferCreateFlagBits : VkFramebufferCreateFlags
4142 {
4143 eImageless = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
4144 eImagelessKHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR
4145 };
4146
4147 // wrapper using for bitmask VkFramebufferCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFramebufferCreateFlags.html
4148 using FramebufferCreateFlags = Flags<FramebufferCreateFlagBits>;
4149
4150 template <>
4151 struct FlagTraits<FramebufferCreateFlagBits>
4152 {
4153 using WrappedType = VkFramebufferCreateFlagBits;
4154 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4155 static VULKAN_HPP_CONST_OR_CONSTEXPR FramebufferCreateFlags allFlags = FramebufferCreateFlagBits::eImageless;
4156 };
4157
4158 // wrapper class for enum VkRenderPassCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkRenderPassCreateFlagBits.html
4159 enum class RenderPassCreateFlagBits : VkRenderPassCreateFlags
4160 {
4161 eTransformQCOM = VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM,
4162 ePerLayerFragmentDensityVALVE = VK_RENDER_PASS_CREATE_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE
4163 };
4164
4165 // wrapper using for bitmask VkRenderPassCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkRenderPassCreateFlags.html
4166 using RenderPassCreateFlags = Flags<RenderPassCreateFlagBits>;
4167
4168 template <>
4169 struct FlagTraits<RenderPassCreateFlagBits>
4170 {
4171 using WrappedType = VkRenderPassCreateFlagBits;
4172 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4173 static VULKAN_HPP_CONST_OR_CONSTEXPR RenderPassCreateFlags allFlags =
4174 RenderPassCreateFlagBits::eTransformQCOM | RenderPassCreateFlagBits::ePerLayerFragmentDensityVALVE;
4175 };
4176
4177 // wrapper class for enum VkSubpassDescriptionFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSubpassDescriptionFlagBits.html
4178 enum class SubpassDescriptionFlagBits : VkSubpassDescriptionFlags
4179 {
4180 ePerViewAttributesNVX = VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX,
4181 ePerViewPositionXOnlyNVX = VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX,
4182 eTileShadingApronQCOM = VK_SUBPASS_DESCRIPTION_TILE_SHADING_APRON_BIT_QCOM,
4183 eRasterizationOrderAttachmentColorAccessEXT = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT,
4184 eRasterizationOrderAttachmentColorAccessARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM,
4185 eRasterizationOrderAttachmentDepthAccessEXT = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT,
4186 eRasterizationOrderAttachmentDepthAccessARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM,
4187 eRasterizationOrderAttachmentStencilAccessEXT = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT,
4188 eRasterizationOrderAttachmentStencilAccessARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM,
4189 eEnableLegacyDitheringEXT = VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT,
4190 eFragmentRegionEXT = VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_EXT,
4191 eFragmentRegionQCOM = VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM,
4192 eCustomResolveEXT = VK_SUBPASS_DESCRIPTION_CUSTOM_RESOLVE_BIT_EXT,
4193 eShaderResolveQCOM = VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM
4194 };
4195
4196 // wrapper using for bitmask VkSubpassDescriptionFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSubpassDescriptionFlags.html
4197 using SubpassDescriptionFlags = Flags<SubpassDescriptionFlagBits>;
4198
4199 template <>
4200 struct FlagTraits<SubpassDescriptionFlagBits>
4201 {
4202 using WrappedType = VkSubpassDescriptionFlagBits;
4203 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4204 static VULKAN_HPP_CONST_OR_CONSTEXPR SubpassDescriptionFlags allFlags =
4205 SubpassDescriptionFlagBits::ePerViewAttributesNVX | SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX |
4206 SubpassDescriptionFlagBits::eTileShadingApronQCOM | SubpassDescriptionFlagBits::eRasterizationOrderAttachmentColorAccessEXT |
4207 SubpassDescriptionFlagBits::eRasterizationOrderAttachmentDepthAccessEXT | SubpassDescriptionFlagBits::eRasterizationOrderAttachmentStencilAccessEXT |
4208 SubpassDescriptionFlagBits::eEnableLegacyDitheringEXT | SubpassDescriptionFlagBits::eFragmentRegionEXT | SubpassDescriptionFlagBits::eCustomResolveEXT;
4209 };
4210
4211 // wrapper class for enum VkStencilFaceFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkStencilFaceFlagBits.html
4212 enum class StencilFaceFlagBits : VkStencilFaceFlags
4213 {
4214 eFront = VK_STENCIL_FACE_FRONT_BIT,
4215 eBack = VK_STENCIL_FACE_BACK_BIT,
4216 eFrontAndBack = VK_STENCIL_FACE_FRONT_AND_BACK,
4217 eVkStencilFrontAndBack = VK_STENCIL_FRONT_AND_BACK
4218 };
4219
4220 // wrapper using for bitmask VkStencilFaceFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkStencilFaceFlags.html
4221 using StencilFaceFlags = Flags<StencilFaceFlagBits>;
4222
4223 template <>
4224 struct FlagTraits<StencilFaceFlagBits>
4225 {
4226 using WrappedType = VkStencilFaceFlagBits;
4227 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4228 static VULKAN_HPP_CONST_OR_CONSTEXPR StencilFaceFlags allFlags =
4229 StencilFaceFlagBits::eFront | StencilFaceFlagBits::eBack | StencilFaceFlagBits::eFrontAndBack;
4230 };
4231
4232 // wrapper class for enum VkSubpassContents, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSubpassContents.html
4233 enum class SubpassContents
4234 {
4235 eInline = VK_SUBPASS_CONTENTS_INLINE,
4236 eSecondaryCommandBuffers = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS,
4237 eInlineAndSecondaryCommandBuffersKHR = VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR,
4238 eInlineAndSecondaryCommandBuffersEXT = VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT
4239 };
4240
4241 //=== VK_VERSION_1_1 ===
4242
4243 // wrapper class for enum VkPeerMemoryFeatureFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPeerMemoryFeatureFlagBits.html
4244 enum class PeerMemoryFeatureFlagBits : VkPeerMemoryFeatureFlags
4245 {
4246 eCopySrc = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
4247 eCopyDst = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
4248 eGenericSrc = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
4249 eGenericDst = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT
4250 };
4251
4252 using PeerMemoryFeatureFlagBitsKHR = PeerMemoryFeatureFlagBits;
4253
4254 // wrapper using for bitmask VkPeerMemoryFeatureFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPeerMemoryFeatureFlags.html
4255 using PeerMemoryFeatureFlags = Flags<PeerMemoryFeatureFlagBits>;
4256 using PeerMemoryFeatureFlagsKHR = PeerMemoryFeatureFlags;
4257
4258 template <>
4259 struct FlagTraits<PeerMemoryFeatureFlagBits>
4260 {
4261 using WrappedType = VkPeerMemoryFeatureFlagBits;
4262 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4263 static VULKAN_HPP_CONST_OR_CONSTEXPR PeerMemoryFeatureFlags allFlags = PeerMemoryFeatureFlagBits::eCopySrc | PeerMemoryFeatureFlagBits::eCopyDst |
4264 PeerMemoryFeatureFlagBits::eGenericSrc | PeerMemoryFeatureFlagBits::eGenericDst;
4265 };
4266
4267 // wrapper class for enum VkMemoryAllocateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryAllocateFlagBits.html
4268 enum class MemoryAllocateFlagBits : VkMemoryAllocateFlags
4269 {
4270 eDeviceMask = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
4271 eDeviceAddress = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
4272 eDeviceAddressCaptureReplay = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
4273 eZeroInitializeEXT = VK_MEMORY_ALLOCATE_ZERO_INITIALIZE_BIT_EXT
4274 };
4275
4276 using MemoryAllocateFlagBitsKHR = MemoryAllocateFlagBits;
4277
4278 // wrapper using for bitmask VkMemoryAllocateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryAllocateFlags.html
4279 using MemoryAllocateFlags = Flags<MemoryAllocateFlagBits>;
4280 using MemoryAllocateFlagsKHR = MemoryAllocateFlags;
4281
4282 template <>
4283 struct FlagTraits<MemoryAllocateFlagBits>
4284 {
4285 using WrappedType = VkMemoryAllocateFlagBits;
4286 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4287 static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryAllocateFlags allFlags = MemoryAllocateFlagBits::eDeviceMask | MemoryAllocateFlagBits::eDeviceAddress |
4288 MemoryAllocateFlagBits::eDeviceAddressCaptureReplay |
4289 MemoryAllocateFlagBits::eZeroInitializeEXT;
4290 };
4291
4292 enum class CommandPoolTrimFlagBits : VkCommandPoolTrimFlags
4293 {
4294 };
4295
4296 // wrapper using for bitmask VkCommandPoolTrimFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandPoolTrimFlags.html
4297 using CommandPoolTrimFlags = Flags<CommandPoolTrimFlagBits>;
4298 using CommandPoolTrimFlagsKHR = CommandPoolTrimFlags;
4299
4300 template <>
4301 struct FlagTraits<CommandPoolTrimFlagBits>
4302 {
4303 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4304 static VULKAN_HPP_CONST_OR_CONSTEXPR CommandPoolTrimFlags allFlags = {};
4305 };
4306
4307 // wrapper class for enum VkExternalMemoryHandleTypeFlagBits, see
4308 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalMemoryHandleTypeFlagBits.html
4309 enum class ExternalMemoryHandleTypeFlagBits : VkExternalMemoryHandleTypeFlags
4310 {
4311 eOpaqueFd = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
4312 eOpaqueWin32 = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4313 eOpaqueWin32Kmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4314 eD3D11Texture = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
4315 eD3D11TextureKmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
4316 eD3D12Heap = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
4317 eD3D12Resource = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
4318 eDmaBufEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT,
4319 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
4320 eAndroidHardwareBufferANDROID = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID,
4321 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
4322 eHostAllocationEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT,
4323 eHostMappedForeignMemoryEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT,
4324 #if defined( VK_USE_PLATFORM_FUCHSIA )
4325 eZirconVmoFUCHSIA = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA,
4326 #endif /*VK_USE_PLATFORM_FUCHSIA*/
4327 eRdmaAddressNV = VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV,
4328 #if defined( VK_USE_PLATFORM_OHOS )
4329 eOhNativeBufferOHOS = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OH_NATIVE_BUFFER_BIT_OHOS,
4330 #endif /*VK_USE_PLATFORM_OHOS*/
4331 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
4332 eScreenBufferQNX = VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX,
4333 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
4334 #if defined( VK_USE_PLATFORM_METAL_EXT )
4335 eMtlbufferEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLBUFFER_BIT_EXT,
4336 eMtltextureEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLTEXTURE_BIT_EXT,
4337 eMtlheapEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLHEAP_BIT_EXT
4338 #endif /*VK_USE_PLATFORM_METAL_EXT*/
4339 };
4340
4341 using ExternalMemoryHandleTypeFlagBitsKHR = ExternalMemoryHandleTypeFlagBits;
4342
4343 // wrapper using for bitmask VkExternalMemoryHandleTypeFlags, see
4344 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalMemoryHandleTypeFlags.html
4345 using ExternalMemoryHandleTypeFlags = Flags<ExternalMemoryHandleTypeFlagBits>;
4346 using ExternalMemoryHandleTypeFlagsKHR = ExternalMemoryHandleTypeFlags;
4347
4348 template <>
4349 struct FlagTraits<ExternalMemoryHandleTypeFlagBits>
4350 {
4351 using WrappedType = VkExternalMemoryHandleTypeFlagBits;
4352 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4353 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalMemoryHandleTypeFlags allFlags =
4354 ExternalMemoryHandleTypeFlagBits::eOpaqueFd | ExternalMemoryHandleTypeFlagBits::eOpaqueWin32 | ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt |
4355 ExternalMemoryHandleTypeFlagBits::eD3D11Texture | ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt | ExternalMemoryHandleTypeFlagBits::eD3D12Heap |
4356 ExternalMemoryHandleTypeFlagBits::eD3D12Resource | ExternalMemoryHandleTypeFlagBits::eDmaBufEXT
4357 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
4358 | ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID
4359 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
4360 | ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT | ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT
4361 #if defined( VK_USE_PLATFORM_FUCHSIA )
4362 | ExternalMemoryHandleTypeFlagBits::eZirconVmoFUCHSIA
4363 #endif /*VK_USE_PLATFORM_FUCHSIA*/
4364 | ExternalMemoryHandleTypeFlagBits::eRdmaAddressNV
4365 #if defined( VK_USE_PLATFORM_OHOS )
4366 | ExternalMemoryHandleTypeFlagBits::eOhNativeBufferOHOS
4367 #endif /*VK_USE_PLATFORM_OHOS*/
4368 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
4369 | ExternalMemoryHandleTypeFlagBits::eScreenBufferQNX
4370 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
4371 #if defined( VK_USE_PLATFORM_METAL_EXT )
4372 | ExternalMemoryHandleTypeFlagBits::eMtlbufferEXT | ExternalMemoryHandleTypeFlagBits::eMtltextureEXT | ExternalMemoryHandleTypeFlagBits::eMtlheapEXT
4373 #endif /*VK_USE_PLATFORM_METAL_EXT*/
4374 ;
4375 };
4376
4377 // wrapper class for enum VkExternalMemoryFeatureFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalMemoryFeatureFlagBits.html
4378 enum class ExternalMemoryFeatureFlagBits : VkExternalMemoryFeatureFlags
4379 {
4380 eDedicatedOnly = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
4381 eExportable = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
4382 eImportable = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT
4383 };
4384
4385 using ExternalMemoryFeatureFlagBitsKHR = ExternalMemoryFeatureFlagBits;
4386
4387 // wrapper using for bitmask VkExternalMemoryFeatureFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalMemoryFeatureFlags.html
4388 using ExternalMemoryFeatureFlags = Flags<ExternalMemoryFeatureFlagBits>;
4389 using ExternalMemoryFeatureFlagsKHR = ExternalMemoryFeatureFlags;
4390
4391 template <>
4392 struct FlagTraits<ExternalMemoryFeatureFlagBits>
4393 {
4394 using WrappedType = VkExternalMemoryFeatureFlagBits;
4395 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4396 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalMemoryFeatureFlags allFlags =
4397 ExternalMemoryFeatureFlagBits::eDedicatedOnly | ExternalMemoryFeatureFlagBits::eExportable | ExternalMemoryFeatureFlagBits::eImportable;
4398 };
4399
4400 // wrapper class for enum VkExternalFenceHandleTypeFlagBits, see
4401 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalFenceHandleTypeFlagBits.html
4402 enum class ExternalFenceHandleTypeFlagBits : VkExternalFenceHandleTypeFlags
4403 {
4404 eOpaqueFd = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
4405 eOpaqueWin32 = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4406 eOpaqueWin32Kmt = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4407 eSyncFd = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
4408 };
4409
4410 using ExternalFenceHandleTypeFlagBitsKHR = ExternalFenceHandleTypeFlagBits;
4411
4412 // wrapper using for bitmask VkExternalFenceHandleTypeFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalFenceHandleTypeFlags.html
4413 using ExternalFenceHandleTypeFlags = Flags<ExternalFenceHandleTypeFlagBits>;
4414 using ExternalFenceHandleTypeFlagsKHR = ExternalFenceHandleTypeFlags;
4415
4416 template <>
4417 struct FlagTraits<ExternalFenceHandleTypeFlagBits>
4418 {
4419 using WrappedType = VkExternalFenceHandleTypeFlagBits;
4420 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4421 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalFenceHandleTypeFlags allFlags =
4422 ExternalFenceHandleTypeFlagBits::eOpaqueFd | ExternalFenceHandleTypeFlagBits::eOpaqueWin32 | ExternalFenceHandleTypeFlagBits::eOpaqueWin32Kmt |
4423 ExternalFenceHandleTypeFlagBits::eSyncFd;
4424 };
4425
4426 // wrapper class for enum VkExternalFenceFeatureFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalFenceFeatureFlagBits.html
4427 enum class ExternalFenceFeatureFlagBits : VkExternalFenceFeatureFlags
4428 {
4429 eExportable = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
4430 eImportable = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT
4431 };
4432
4433 using ExternalFenceFeatureFlagBitsKHR = ExternalFenceFeatureFlagBits;
4434
4435 // wrapper using for bitmask VkExternalFenceFeatureFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalFenceFeatureFlags.html
4436 using ExternalFenceFeatureFlags = Flags<ExternalFenceFeatureFlagBits>;
4437 using ExternalFenceFeatureFlagsKHR = ExternalFenceFeatureFlags;
4438
4439 template <>
4440 struct FlagTraits<ExternalFenceFeatureFlagBits>
4441 {
4442 using WrappedType = VkExternalFenceFeatureFlagBits;
4443 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4444 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalFenceFeatureFlags allFlags =
4445 ExternalFenceFeatureFlagBits::eExportable | ExternalFenceFeatureFlagBits::eImportable;
4446 };
4447
4448 // wrapper class for enum VkFenceImportFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFenceImportFlagBits.html
4449 enum class FenceImportFlagBits : VkFenceImportFlags
4450 {
4451 eTemporary = VK_FENCE_IMPORT_TEMPORARY_BIT
4452 };
4453
4454 using FenceImportFlagBitsKHR = FenceImportFlagBits;
4455
4456 // wrapper using for bitmask VkFenceImportFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFenceImportFlags.html
4457 using FenceImportFlags = Flags<FenceImportFlagBits>;
4458 using FenceImportFlagsKHR = FenceImportFlags;
4459
4460 template <>
4461 struct FlagTraits<FenceImportFlagBits>
4462 {
4463 using WrappedType = VkFenceImportFlagBits;
4464 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4465 static VULKAN_HPP_CONST_OR_CONSTEXPR FenceImportFlags allFlags = FenceImportFlagBits::eTemporary;
4466 };
4467
4468 // wrapper class for enum VkSemaphoreImportFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSemaphoreImportFlagBits.html
4469 enum class SemaphoreImportFlagBits : VkSemaphoreImportFlags
4470 {
4471 eTemporary = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT
4472 };
4473
4474 using SemaphoreImportFlagBitsKHR = SemaphoreImportFlagBits;
4475
4476 // wrapper using for bitmask VkSemaphoreImportFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSemaphoreImportFlags.html
4477 using SemaphoreImportFlags = Flags<SemaphoreImportFlagBits>;
4478 using SemaphoreImportFlagsKHR = SemaphoreImportFlags;
4479
4480 template <>
4481 struct FlagTraits<SemaphoreImportFlagBits>
4482 {
4483 using WrappedType = VkSemaphoreImportFlagBits;
4484 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4485 static VULKAN_HPP_CONST_OR_CONSTEXPR SemaphoreImportFlags allFlags = SemaphoreImportFlagBits::eTemporary;
4486 };
4487
4488 // wrapper class for enum VkExternalSemaphoreHandleTypeFlagBits, see
4489 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalSemaphoreHandleTypeFlagBits.html
4490 enum class ExternalSemaphoreHandleTypeFlagBits : VkExternalSemaphoreHandleTypeFlags
4491 {
4492 eOpaqueFd = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
4493 eOpaqueWin32 = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4494 eOpaqueWin32Kmt = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4495 eD3D12Fence = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4496 eD3D11Fence = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT,
4497 eSyncFd = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
4498 #if defined( VK_USE_PLATFORM_FUCHSIA )
4499 eZirconEventFUCHSIA = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA
4500 #endif /*VK_USE_PLATFORM_FUCHSIA*/
4501 };
4502
4503 using ExternalSemaphoreHandleTypeFlagBitsKHR = ExternalSemaphoreHandleTypeFlagBits;
4504
4505 // wrapper using for bitmask VkExternalSemaphoreHandleTypeFlags, see
4506 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalSemaphoreHandleTypeFlags.html
4507 using ExternalSemaphoreHandleTypeFlags = Flags<ExternalSemaphoreHandleTypeFlagBits>;
4508 using ExternalSemaphoreHandleTypeFlagsKHR = ExternalSemaphoreHandleTypeFlags;
4509
4510 template <>
4511 struct FlagTraits<ExternalSemaphoreHandleTypeFlagBits>
4512 {
4513 using WrappedType = VkExternalSemaphoreHandleTypeFlagBits;
4514 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4515 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalSemaphoreHandleTypeFlags allFlags =
4516 ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd | ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32 |
4517 ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32Kmt | ExternalSemaphoreHandleTypeFlagBits::eD3D12Fence | ExternalSemaphoreHandleTypeFlagBits::eSyncFd
4518 #if defined( VK_USE_PLATFORM_FUCHSIA )
4519 | ExternalSemaphoreHandleTypeFlagBits::eZirconEventFUCHSIA
4520 #endif /*VK_USE_PLATFORM_FUCHSIA*/
4521 ;
4522 };
4523
4524 // wrapper class for enum VkExternalSemaphoreFeatureFlagBits, see
4525 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalSemaphoreFeatureFlagBits.html
4526 enum class ExternalSemaphoreFeatureFlagBits : VkExternalSemaphoreFeatureFlags
4527 {
4528 eExportable = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
4529 eImportable = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT
4530 };
4531
4532 using ExternalSemaphoreFeatureFlagBitsKHR = ExternalSemaphoreFeatureFlagBits;
4533
4534 // wrapper using for bitmask VkExternalSemaphoreFeatureFlags, see
4535 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalSemaphoreFeatureFlags.html
4536 using ExternalSemaphoreFeatureFlags = Flags<ExternalSemaphoreFeatureFlagBits>;
4537 using ExternalSemaphoreFeatureFlagsKHR = ExternalSemaphoreFeatureFlags;
4538
4539 template <>
4540 struct FlagTraits<ExternalSemaphoreFeatureFlagBits>
4541 {
4542 using WrappedType = VkExternalSemaphoreFeatureFlagBits;
4543 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4544 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalSemaphoreFeatureFlags allFlags =
4545 ExternalSemaphoreFeatureFlagBits::eExportable | ExternalSemaphoreFeatureFlagBits::eImportable;
4546 };
4547
4548 // wrapper class for enum VkSubgroupFeatureFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSubgroupFeatureFlagBits.html
4549 enum class SubgroupFeatureFlagBits : VkSubgroupFeatureFlags
4550 {
4551 eBasic = VK_SUBGROUP_FEATURE_BASIC_BIT,
4552 eVote = VK_SUBGROUP_FEATURE_VOTE_BIT,
4553 eArithmetic = VK_SUBGROUP_FEATURE_ARITHMETIC_BIT,
4554 eBallot = VK_SUBGROUP_FEATURE_BALLOT_BIT,
4555 eShuffle = VK_SUBGROUP_FEATURE_SHUFFLE_BIT,
4556 eShuffleRelative = VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT,
4557 eClustered = VK_SUBGROUP_FEATURE_CLUSTERED_BIT,
4558 eQuad = VK_SUBGROUP_FEATURE_QUAD_BIT,
4559 eRotate = VK_SUBGROUP_FEATURE_ROTATE_BIT,
4560 eRotateKHR = VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR,
4561 eRotateClustered = VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT,
4562 eRotateClusteredKHR = VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR,
4563 ePartitionedNV = VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV
4564 };
4565
4566 // wrapper using for bitmask VkSubgroupFeatureFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSubgroupFeatureFlags.html
4567 using SubgroupFeatureFlags = Flags<SubgroupFeatureFlagBits>;
4568
4569 template <>
4570 struct FlagTraits<SubgroupFeatureFlagBits>
4571 {
4572 using WrappedType = VkSubgroupFeatureFlagBits;
4573 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4574 static VULKAN_HPP_CONST_OR_CONSTEXPR SubgroupFeatureFlags allFlags =
4575 SubgroupFeatureFlagBits::eBasic | SubgroupFeatureFlagBits::eVote | SubgroupFeatureFlagBits::eArithmetic | SubgroupFeatureFlagBits::eBallot |
4576 SubgroupFeatureFlagBits::eShuffle | SubgroupFeatureFlagBits::eShuffleRelative | SubgroupFeatureFlagBits::eClustered | SubgroupFeatureFlagBits::eQuad |
4577 SubgroupFeatureFlagBits::eRotate | SubgroupFeatureFlagBits::eRotateClustered | SubgroupFeatureFlagBits::ePartitionedNV;
4578 };
4579
4580 // wrapper class for enum VkDescriptorUpdateTemplateType, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorUpdateTemplateType.html
4581 enum class DescriptorUpdateTemplateType
4582 {
4583 eDescriptorSet = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4584 ePushDescriptors = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS
4585 };
4586
4587 using DescriptorUpdateTemplateTypeKHR = DescriptorUpdateTemplateType;
4588
4589 enum class DescriptorUpdateTemplateCreateFlagBits : VkDescriptorUpdateTemplateCreateFlags
4590 {
4591 };
4592
4593 // wrapper using for bitmask VkDescriptorUpdateTemplateCreateFlags, see
4594 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorUpdateTemplateCreateFlags.html
4595 using DescriptorUpdateTemplateCreateFlags = Flags<DescriptorUpdateTemplateCreateFlagBits>;
4596 using DescriptorUpdateTemplateCreateFlagsKHR = DescriptorUpdateTemplateCreateFlags;
4597
4598 template <>
4599 struct FlagTraits<DescriptorUpdateTemplateCreateFlagBits>
4600 {
4601 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4602 static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorUpdateTemplateCreateFlags allFlags = {};
4603 };
4604
4605 // wrapper class for enum VkSamplerYcbcrModelConversion, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSamplerYcbcrModelConversion.html
4606 enum class SamplerYcbcrModelConversion
4607 {
4608 eRgbIdentity = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
4609 eYcbcrIdentity = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
4610 eYcbcr709 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
4611 eYcbcr601 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
4612 eYcbcr2020 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020
4613 };
4614
4615 using SamplerYcbcrModelConversionKHR = SamplerYcbcrModelConversion;
4616
4617 // wrapper class for enum VkSamplerYcbcrRange, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSamplerYcbcrRange.html
4618 enum class SamplerYcbcrRange
4619 {
4620 eItuFull = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
4621 eItuNarrow = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW
4622 };
4623
4624 using SamplerYcbcrRangeKHR = SamplerYcbcrRange;
4625
4626 // wrapper class for enum VkChromaLocation, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkChromaLocation.html
4627 enum class ChromaLocation
4628 {
4629 eCositedEven = VK_CHROMA_LOCATION_COSITED_EVEN,
4630 eMidpoint = VK_CHROMA_LOCATION_MIDPOINT
4631 };
4632
4633 using ChromaLocationKHR = ChromaLocation;
4634
4635 // wrapper class for enum VkPointClippingBehavior, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPointClippingBehavior.html
4636 enum class PointClippingBehavior
4637 {
4638 eAllClipPlanes = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
4639 eUserClipPlanesOnly = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
4640 };
4641
4642 using PointClippingBehaviorKHR = PointClippingBehavior;
4643
4644 // wrapper class for enum VkTessellationDomainOrigin, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkTessellationDomainOrigin.html
4645 enum class TessellationDomainOrigin
4646 {
4647 eUpperLeft = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
4648 eLowerLeft = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT
4649 };
4650
4651 using TessellationDomainOriginKHR = TessellationDomainOrigin;
4652
4653 //=== VK_VERSION_1_2 ===
4654
4655 // wrapper class for enum VkDriverId, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDriverId.html
4656 enum class DriverId
4657 {
4658 eAmdProprietary = VK_DRIVER_ID_AMD_PROPRIETARY,
4659 eAmdOpenSource = VK_DRIVER_ID_AMD_OPEN_SOURCE,
4660 eMesaRadv = VK_DRIVER_ID_MESA_RADV,
4661 eNvidiaProprietary = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
4662 eIntelProprietaryWindows = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
4663 eIntelOpenSourceMESA = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
4664 eImaginationProprietary = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
4665 eQualcommProprietary = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
4666 eArmProprietary = VK_DRIVER_ID_ARM_PROPRIETARY,
4667 eGoogleSwiftshader = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
4668 eGgpProprietary = VK_DRIVER_ID_GGP_PROPRIETARY,
4669 eBroadcomProprietary = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
4670 eMesaLlvmpipe = VK_DRIVER_ID_MESA_LLVMPIPE,
4671 eMoltenvk = VK_DRIVER_ID_MOLTENVK,
4672 eCoreaviProprietary = VK_DRIVER_ID_COREAVI_PROPRIETARY,
4673 eJuiceProprietary = VK_DRIVER_ID_JUICE_PROPRIETARY,
4674 eVerisiliconProprietary = VK_DRIVER_ID_VERISILICON_PROPRIETARY,
4675 eMesaTurnip = VK_DRIVER_ID_MESA_TURNIP,
4676 eMesaV3Dv = VK_DRIVER_ID_MESA_V3DV,
4677 eMesaPanvk = VK_DRIVER_ID_MESA_PANVK,
4678 eSamsungProprietary = VK_DRIVER_ID_SAMSUNG_PROPRIETARY,
4679 eMesaVenus = VK_DRIVER_ID_MESA_VENUS,
4680 eMesaDozen = VK_DRIVER_ID_MESA_DOZEN,
4681 eMesaNvk = VK_DRIVER_ID_MESA_NVK,
4682 eImaginationOpenSourceMESA = VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA,
4683 eMesaHoneykrisp = VK_DRIVER_ID_MESA_HONEYKRISP,
4684 eVulkanScEmulationOnVulkan = VK_DRIVER_ID_VULKAN_SC_EMULATION_ON_VULKAN,
4685 eMesaKosmickrisp = VK_DRIVER_ID_MESA_KOSMICKRISP
4686 };
4687
4688 using DriverIdKHR = DriverId;
4689
4690 // wrapper class for enum VkSemaphoreType, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSemaphoreType.html
4691 enum class SemaphoreType
4692 {
4693 eBinary = VK_SEMAPHORE_TYPE_BINARY,
4694 eTimeline = VK_SEMAPHORE_TYPE_TIMELINE
4695 };
4696
4697 using SemaphoreTypeKHR = SemaphoreType;
4698
4699 // wrapper class for enum VkSemaphoreWaitFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSemaphoreWaitFlagBits.html
4700 enum class SemaphoreWaitFlagBits : VkSemaphoreWaitFlags
4701 {
4702 eAny = VK_SEMAPHORE_WAIT_ANY_BIT
4703 };
4704
4705 using SemaphoreWaitFlagBitsKHR = SemaphoreWaitFlagBits;
4706
4707 // wrapper using for bitmask VkSemaphoreWaitFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSemaphoreWaitFlags.html
4708 using SemaphoreWaitFlags = Flags<SemaphoreWaitFlagBits>;
4709 using SemaphoreWaitFlagsKHR = SemaphoreWaitFlags;
4710
4711 template <>
4712 struct FlagTraits<SemaphoreWaitFlagBits>
4713 {
4714 using WrappedType = VkSemaphoreWaitFlagBits;
4715 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4716 static VULKAN_HPP_CONST_OR_CONSTEXPR SemaphoreWaitFlags allFlags = SemaphoreWaitFlagBits::eAny;
4717 };
4718
4719 // wrapper class for enum VkShaderFloatControlsIndependence, see
4720 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderFloatControlsIndependence.html
4721 enum class ShaderFloatControlsIndependence
4722 {
4723 e32BitOnly = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
4724 eAll = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
4725 eNone = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE
4726 };
4727
4728 using ShaderFloatControlsIndependenceKHR = ShaderFloatControlsIndependence;
4729
4730 // wrapper class for enum VkDescriptorBindingFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorBindingFlagBits.html
4731 enum class DescriptorBindingFlagBits : VkDescriptorBindingFlags
4732 {
4733 eUpdateAfterBind = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
4734 eUpdateUnusedWhilePending = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
4735 ePartiallyBound = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
4736 eVariableDescriptorCount = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT
4737 };
4738
4739 using DescriptorBindingFlagBitsEXT = DescriptorBindingFlagBits;
4740
4741 // wrapper using for bitmask VkDescriptorBindingFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorBindingFlags.html
4742 using DescriptorBindingFlags = Flags<DescriptorBindingFlagBits>;
4743 using DescriptorBindingFlagsEXT = DescriptorBindingFlags;
4744
4745 template <>
4746 struct FlagTraits<DescriptorBindingFlagBits>
4747 {
4748 using WrappedType = VkDescriptorBindingFlagBits;
4749 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4750 static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorBindingFlags allFlags =
4751 DescriptorBindingFlagBits::eUpdateAfterBind | DescriptorBindingFlagBits::eUpdateUnusedWhilePending | DescriptorBindingFlagBits::ePartiallyBound |
4752 DescriptorBindingFlagBits::eVariableDescriptorCount;
4753 };
4754
4755 // wrapper class for enum VkSamplerReductionMode, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSamplerReductionMode.html
4756 enum class SamplerReductionMode
4757 {
4758 eWeightedAverage = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
4759 eMin = VK_SAMPLER_REDUCTION_MODE_MIN,
4760 eMax = VK_SAMPLER_REDUCTION_MODE_MAX,
4761 eWeightedAverageRangeclampQCOM = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM
4762 };
4763
4764 using SamplerReductionModeEXT = SamplerReductionMode;
4765
4766 // wrapper class for enum VkResolveModeFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkResolveModeFlagBits.html
4767 enum class ResolveModeFlagBits : VkResolveModeFlags
4768 {
4769 eNone = VK_RESOLVE_MODE_NONE,
4770 eSampleZero = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
4771 eAverage = VK_RESOLVE_MODE_AVERAGE_BIT,
4772 eMin = VK_RESOLVE_MODE_MIN_BIT,
4773 eMax = VK_RESOLVE_MODE_MAX_BIT,
4774 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
4775 eExternalFormatDownsampleANDROID = VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID,
4776 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
4777 eCustomEXT = VK_RESOLVE_MODE_CUSTOM_BIT_EXT
4778 };
4779
4780 using ResolveModeFlagBitsKHR = ResolveModeFlagBits;
4781
4782 // wrapper using for bitmask VkResolveModeFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkResolveModeFlags.html
4783 using ResolveModeFlags = Flags<ResolveModeFlagBits>;
4784 using ResolveModeFlagsKHR = ResolveModeFlags;
4785
4786 template <>
4787 struct FlagTraits<ResolveModeFlagBits>
4788 {
4789 using WrappedType = VkResolveModeFlagBits;
4790 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4791 static VULKAN_HPP_CONST_OR_CONSTEXPR ResolveModeFlags allFlags = ResolveModeFlagBits::eNone | ResolveModeFlagBits::eSampleZero |
4792 ResolveModeFlagBits::eAverage | ResolveModeFlagBits::eMin | ResolveModeFlagBits::eMax
4793 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
4794 | ResolveModeFlagBits::eExternalFormatDownsampleANDROID
4795 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
4796 | ResolveModeFlagBits::eCustomEXT;
4797 };
4798
4799 //=== VK_VERSION_1_3 ===
4800
4801 // wrapper class for enum VkToolPurposeFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkToolPurposeFlagBits.html
4802 enum class ToolPurposeFlagBits : VkToolPurposeFlags
4803 {
4804 eValidation = VK_TOOL_PURPOSE_VALIDATION_BIT,
4805 eProfiling = VK_TOOL_PURPOSE_PROFILING_BIT,
4806 eTracing = VK_TOOL_PURPOSE_TRACING_BIT,
4807 eAdditionalFeatures = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT,
4808 eModifyingFeatures = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT,
4809 eDebugReportingEXT = VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT,
4810 eDebugMarkersEXT = VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT
4811 };
4812
4813 using ToolPurposeFlagBitsEXT = ToolPurposeFlagBits;
4814
4815 // wrapper using for bitmask VkToolPurposeFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkToolPurposeFlags.html
4816 using ToolPurposeFlags = Flags<ToolPurposeFlagBits>;
4817 using ToolPurposeFlagsEXT = ToolPurposeFlags;
4818
4819 template <>
4820 struct FlagTraits<ToolPurposeFlagBits>
4821 {
4822 using WrappedType = VkToolPurposeFlagBits;
4823 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4824 static VULKAN_HPP_CONST_OR_CONSTEXPR ToolPurposeFlags allFlags =
4825 ToolPurposeFlagBits::eValidation | ToolPurposeFlagBits::eProfiling | ToolPurposeFlagBits::eTracing | ToolPurposeFlagBits::eAdditionalFeatures |
4826 ToolPurposeFlagBits::eModifyingFeatures | ToolPurposeFlagBits::eDebugReportingEXT | ToolPurposeFlagBits::eDebugMarkersEXT;
4827 };
4828
4829 enum class PrivateDataSlotCreateFlagBits : VkPrivateDataSlotCreateFlags
4830 {
4831 };
4832
4833 using PrivateDataSlotCreateFlagBitsEXT = PrivateDataSlotCreateFlagBits;
4834
4835 // wrapper using for bitmask VkPrivateDataSlotCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPrivateDataSlotCreateFlags.html
4836 using PrivateDataSlotCreateFlags = Flags<PrivateDataSlotCreateFlagBits>;
4837 using PrivateDataSlotCreateFlagsEXT = PrivateDataSlotCreateFlags;
4838
4839 template <>
4840 struct FlagTraits<PrivateDataSlotCreateFlagBits>
4841 {
4842 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4843 static VULKAN_HPP_CONST_OR_CONSTEXPR PrivateDataSlotCreateFlags allFlags = {};
4844 };
4845
4846 // wrapper class for enum VkPipelineStageFlagBits2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineStageFlagBits2.html
4847 enum class PipelineStageFlagBits2 : VkPipelineStageFlags2
4848 {
4849 eNone = VK_PIPELINE_STAGE_2_NONE,
4850 eTopOfPipe = VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT,
4851 eDrawIndirect = VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT,
4852 eVertexInput = VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT,
4853 eVertexShader = VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,
4854 eTessellationControlShader = VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,
4855 eTessellationEvaluationShader = VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,
4856 eGeometryShader = VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,
4857 eFragmentShader = VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,
4858 eEarlyFragmentTests = VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,
4859 eLateFragmentTests = VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,
4860 eColorAttachmentOutput = VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT,
4861 eComputeShader = VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,
4862 eAllTransfer = VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT,
4863 eTransfer = VK_PIPELINE_STAGE_2_TRANSFER_BIT,
4864 eBottomOfPipe = VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT,
4865 eHost = VK_PIPELINE_STAGE_2_HOST_BIT,
4866 eAllGraphics = VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
4867 eAllCommands = VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT,
4868 eCopy = VK_PIPELINE_STAGE_2_COPY_BIT,
4869 eResolve = VK_PIPELINE_STAGE_2_RESOLVE_BIT,
4870 eBlit = VK_PIPELINE_STAGE_2_BLIT_BIT,
4871 eClear = VK_PIPELINE_STAGE_2_CLEAR_BIT,
4872 eIndexInput = VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT,
4873 eVertexAttributeInput = VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT,
4874 ePreRasterizationShaders = VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT,
4875 eVideoDecodeKHR = VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR,
4876 eVideoEncodeKHR = VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR,
4877 eTransformFeedbackEXT = VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
4878 eConditionalRenderingEXT = VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT,
4879 eCommandPreprocessEXT = VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_EXT,
4880 eCommandPreprocessNV = VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV,
4881 eFragmentShadingRateAttachmentKHR = VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
4882 eShadingRateImageNV = VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV,
4883 eAccelerationStructureBuildKHR = VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
4884 eAccelerationStructureBuildNV = VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV,
4885 eRayTracingShaderKHR = VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,
4886 eRayTracingShaderNV = VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV,
4887 eFragmentDensityProcessEXT = VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT,
4888 eTaskShaderEXT = VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,
4889 eTaskShaderNV = VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV,
4890 eMeshShaderEXT = VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,
4891 eMeshShaderNV = VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV,
4892 eSubpassShaderHUAWEI = VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI,
4893 eSubpassShadingHUAWEI = VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI,
4894 eInvocationMaskHUAWEI = VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI,
4895 eAccelerationStructureCopyKHR = VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,
4896 eMicromapBuildEXT = VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT,
4897 eClusterCullingShaderHUAWEI = VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI,
4898 eOpticalFlowNV = VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV,
4899 eConvertCooperativeVectorMatrixNV = VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV,
4900 eDataGraphARM = VK_PIPELINE_STAGE_2_DATA_GRAPH_BIT_ARM,
4901 eCopyIndirectKHR = VK_PIPELINE_STAGE_2_COPY_INDIRECT_BIT_KHR,
4902 eMemoryDecompressionEXT = VK_PIPELINE_STAGE_2_MEMORY_DECOMPRESSION_BIT_EXT
4903 };
4904
4905 using PipelineStageFlagBits2KHR = PipelineStageFlagBits2;
4906
4907 // wrapper using for bitmask VkPipelineStageFlags2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineStageFlags2.html
4908 using PipelineStageFlags2 = Flags<PipelineStageFlagBits2>;
4909 using PipelineStageFlags2KHR = PipelineStageFlags2;
4910
4911 template <>
4912 struct FlagTraits<PipelineStageFlagBits2>
4913 {
4914 using WrappedType = VkPipelineStageFlagBits2;
4915 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
4916 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineStageFlags2 allFlags =
4917 PipelineStageFlagBits2::eNone | PipelineStageFlagBits2::eTopOfPipe | PipelineStageFlagBits2::eDrawIndirect | PipelineStageFlagBits2::eVertexInput |
4918 PipelineStageFlagBits2::eVertexShader | PipelineStageFlagBits2::eTessellationControlShader | PipelineStageFlagBits2::eTessellationEvaluationShader |
4919 PipelineStageFlagBits2::eGeometryShader | PipelineStageFlagBits2::eFragmentShader | PipelineStageFlagBits2::eEarlyFragmentTests |
4920 PipelineStageFlagBits2::eLateFragmentTests | PipelineStageFlagBits2::eColorAttachmentOutput | PipelineStageFlagBits2::eComputeShader |
4921 PipelineStageFlagBits2::eAllTransfer | PipelineStageFlagBits2::eBottomOfPipe | PipelineStageFlagBits2::eHost | PipelineStageFlagBits2::eAllGraphics |
4922 PipelineStageFlagBits2::eAllCommands | PipelineStageFlagBits2::eCopy | PipelineStageFlagBits2::eResolve | PipelineStageFlagBits2::eBlit |
4923 PipelineStageFlagBits2::eClear | PipelineStageFlagBits2::eIndexInput | PipelineStageFlagBits2::eVertexAttributeInput |
4924 PipelineStageFlagBits2::ePreRasterizationShaders | PipelineStageFlagBits2::eVideoDecodeKHR | PipelineStageFlagBits2::eVideoEncodeKHR |
4925 PipelineStageFlagBits2::eTransformFeedbackEXT | PipelineStageFlagBits2::eConditionalRenderingEXT | PipelineStageFlagBits2::eCommandPreprocessEXT |
4926 PipelineStageFlagBits2::eFragmentShadingRateAttachmentKHR | PipelineStageFlagBits2::eAccelerationStructureBuildKHR |
4927 PipelineStageFlagBits2::eRayTracingShaderKHR | PipelineStageFlagBits2::eFragmentDensityProcessEXT | PipelineStageFlagBits2::eTaskShaderEXT |
4928 PipelineStageFlagBits2::eMeshShaderEXT | PipelineStageFlagBits2::eSubpassShaderHUAWEI | PipelineStageFlagBits2::eInvocationMaskHUAWEI |
4929 PipelineStageFlagBits2::eAccelerationStructureCopyKHR | PipelineStageFlagBits2::eMicromapBuildEXT | PipelineStageFlagBits2::eClusterCullingShaderHUAWEI |
4930 PipelineStageFlagBits2::eOpticalFlowNV | PipelineStageFlagBits2::eConvertCooperativeVectorMatrixNV | PipelineStageFlagBits2::eDataGraphARM |
4931 PipelineStageFlagBits2::eCopyIndirectKHR | PipelineStageFlagBits2::eMemoryDecompressionEXT;
4932 };
4933
4934 // wrapper class for enum VkAccessFlagBits2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccessFlagBits2.html
4935 enum class AccessFlagBits2 : VkAccessFlags2
4936 {
4937 eNone = VK_ACCESS_2_NONE,
4938 eIndirectCommandRead = VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT,
4939 eIndexRead = VK_ACCESS_2_INDEX_READ_BIT,
4940 eVertexAttributeRead = VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT,
4941 eUniformRead = VK_ACCESS_2_UNIFORM_READ_BIT,
4942 eInputAttachmentRead = VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT,
4943 eShaderRead = VK_ACCESS_2_SHADER_READ_BIT,
4944 eShaderWrite = VK_ACCESS_2_SHADER_WRITE_BIT,
4945 eColorAttachmentRead = VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT,
4946 eColorAttachmentWrite = VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT,
4947 eDepthStencilAttachmentRead = VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT,
4948 eDepthStencilAttachmentWrite = VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
4949 eTransferRead = VK_ACCESS_2_TRANSFER_READ_BIT,
4950 eTransferWrite = VK_ACCESS_2_TRANSFER_WRITE_BIT,
4951 eHostRead = VK_ACCESS_2_HOST_READ_BIT,
4952 eHostWrite = VK_ACCESS_2_HOST_WRITE_BIT,
4953 eMemoryRead = VK_ACCESS_2_MEMORY_READ_BIT,
4954 eMemoryWrite = VK_ACCESS_2_MEMORY_WRITE_BIT,
4955 eShaderSampledRead = VK_ACCESS_2_SHADER_SAMPLED_READ_BIT,
4956 eShaderStorageRead = VK_ACCESS_2_SHADER_STORAGE_READ_BIT,
4957 eShaderStorageWrite = VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT,
4958 eVideoDecodeReadKHR = VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR,
4959 eVideoDecodeWriteKHR = VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR,
4960 eVideoEncodeReadKHR = VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR,
4961 eVideoEncodeWriteKHR = VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR,
4962 eShaderTileAttachmentReadQCOM = VK_ACCESS_2_SHADER_TILE_ATTACHMENT_READ_BIT_QCOM,
4963 eShaderTileAttachmentWriteQCOM = VK_ACCESS_2_SHADER_TILE_ATTACHMENT_WRITE_BIT_QCOM,
4964 eTransformFeedbackWriteEXT = VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
4965 eTransformFeedbackCounterReadEXT = VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
4966 eTransformFeedbackCounterWriteEXT = VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
4967 eConditionalRenderingReadEXT = VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT,
4968 eCommandPreprocessReadEXT = VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_EXT,
4969 eCommandPreprocessReadNV = VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV,
4970 eCommandPreprocessWriteEXT = VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_EXT,
4971 eCommandPreprocessWriteNV = VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV,
4972 eFragmentShadingRateAttachmentReadKHR = VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
4973 eShadingRateImageReadNV = VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV,
4974 eAccelerationStructureReadKHR = VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
4975 eAccelerationStructureReadNV = VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV,
4976 eAccelerationStructureWriteKHR = VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
4977 eAccelerationStructureWriteNV = VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV,
4978 eFragmentDensityMapReadEXT = VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
4979 eColorAttachmentReadNoncoherentEXT = VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
4980 eDescriptorBufferReadEXT = VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,
4981 eInvocationMaskReadHUAWEI = VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI,
4982 eShaderBindingTableReadKHR = VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,
4983 eMicromapReadEXT = VK_ACCESS_2_MICROMAP_READ_BIT_EXT,
4984 eMicromapWriteEXT = VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT,
4985 eOpticalFlowReadNV = VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV,
4986 eOpticalFlowWriteNV = VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV,
4987 eDataGraphReadARM = VK_ACCESS_2_DATA_GRAPH_READ_BIT_ARM,
4988 eDataGraphWriteARM = VK_ACCESS_2_DATA_GRAPH_WRITE_BIT_ARM,
4989 eMemoryDecompressionReadEXT = VK_ACCESS_2_MEMORY_DECOMPRESSION_READ_BIT_EXT,
4990 eMemoryDecompressionWriteEXT = VK_ACCESS_2_MEMORY_DECOMPRESSION_WRITE_BIT_EXT
4991 };
4992
4993 using AccessFlagBits2KHR = AccessFlagBits2;
4994
4995 // wrapper using for bitmask VkAccessFlags2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccessFlags2.html
4996 using AccessFlags2 = Flags<AccessFlagBits2>;
4997 using AccessFlags2KHR = AccessFlags2;
4998
4999 template <>
5000 struct FlagTraits<AccessFlagBits2>
5001 {
5002 using WrappedType = VkAccessFlagBits2;
5003 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5004 static VULKAN_HPP_CONST_OR_CONSTEXPR AccessFlags2 allFlags =
5005 AccessFlagBits2::eNone | AccessFlagBits2::eIndirectCommandRead | AccessFlagBits2::eIndexRead | AccessFlagBits2::eVertexAttributeRead |
5006 AccessFlagBits2::eUniformRead | AccessFlagBits2::eInputAttachmentRead | AccessFlagBits2::eShaderRead | AccessFlagBits2::eShaderWrite |
5007 AccessFlagBits2::eColorAttachmentRead | AccessFlagBits2::eColorAttachmentWrite | AccessFlagBits2::eDepthStencilAttachmentRead |
5008 AccessFlagBits2::eDepthStencilAttachmentWrite | AccessFlagBits2::eTransferRead | AccessFlagBits2::eTransferWrite | AccessFlagBits2::eHostRead |
5009 AccessFlagBits2::eHostWrite | AccessFlagBits2::eMemoryRead | AccessFlagBits2::eMemoryWrite | AccessFlagBits2::eShaderSampledRead |
5010 AccessFlagBits2::eShaderStorageRead | AccessFlagBits2::eShaderStorageWrite | AccessFlagBits2::eVideoDecodeReadKHR |
5011 AccessFlagBits2::eVideoDecodeWriteKHR | AccessFlagBits2::eVideoEncodeReadKHR | AccessFlagBits2::eVideoEncodeWriteKHR |
5012 AccessFlagBits2::eShaderTileAttachmentReadQCOM | AccessFlagBits2::eShaderTileAttachmentWriteQCOM | AccessFlagBits2::eTransformFeedbackWriteEXT |
5013 AccessFlagBits2::eTransformFeedbackCounterReadEXT | AccessFlagBits2::eTransformFeedbackCounterWriteEXT | AccessFlagBits2::eConditionalRenderingReadEXT |
5014 AccessFlagBits2::eCommandPreprocessReadEXT | AccessFlagBits2::eCommandPreprocessWriteEXT | AccessFlagBits2::eFragmentShadingRateAttachmentReadKHR |
5015 AccessFlagBits2::eAccelerationStructureReadKHR | AccessFlagBits2::eAccelerationStructureWriteKHR | AccessFlagBits2::eFragmentDensityMapReadEXT |
5016 AccessFlagBits2::eColorAttachmentReadNoncoherentEXT | AccessFlagBits2::eDescriptorBufferReadEXT | AccessFlagBits2::eInvocationMaskReadHUAWEI |
5017 AccessFlagBits2::eShaderBindingTableReadKHR | AccessFlagBits2::eMicromapReadEXT | AccessFlagBits2::eMicromapWriteEXT |
5018 AccessFlagBits2::eOpticalFlowReadNV | AccessFlagBits2::eOpticalFlowWriteNV | AccessFlagBits2::eDataGraphReadARM | AccessFlagBits2::eDataGraphWriteARM |
5019 AccessFlagBits2::eMemoryDecompressionReadEXT | AccessFlagBits2::eMemoryDecompressionWriteEXT;
5020 };
5021
5022 // wrapper class for enum VkSubmitFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSubmitFlagBits.html
5023 enum class SubmitFlagBits : VkSubmitFlags
5024 {
5025 eProtected = VK_SUBMIT_PROTECTED_BIT
5026 };
5027
5028 using SubmitFlagBitsKHR = SubmitFlagBits;
5029
5030 // wrapper using for bitmask VkSubmitFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSubmitFlags.html
5031 using SubmitFlags = Flags<SubmitFlagBits>;
5032 using SubmitFlagsKHR = SubmitFlags;
5033
5034 template <>
5035 struct FlagTraits<SubmitFlagBits>
5036 {
5037 using WrappedType = VkSubmitFlagBits;
5038 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5039 static VULKAN_HPP_CONST_OR_CONSTEXPR SubmitFlags allFlags = SubmitFlagBits::eProtected;
5040 };
5041
5042 // wrapper class for enum VkFormatFeatureFlagBits2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFormatFeatureFlagBits2.html
5043 enum class FormatFeatureFlagBits2 : VkFormatFeatureFlags2
5044 {
5045 eSampledImage = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT,
5046 eStorageImage = VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT,
5047 eStorageImageAtomic = VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT,
5048 eUniformTexelBuffer = VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT,
5049 eStorageTexelBuffer = VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT,
5050 eStorageTexelBufferAtomic = VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT,
5051 eVertexBuffer = VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT,
5052 eColorAttachment = VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT,
5053 eColorAttachmentBlend = VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT,
5054 eDepthStencilAttachment = VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT,
5055 eBlitSrc = VK_FORMAT_FEATURE_2_BLIT_SRC_BIT,
5056 eBlitDst = VK_FORMAT_FEATURE_2_BLIT_DST_BIT,
5057 eSampledImageFilterLinear = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT,
5058 eTransferSrc = VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT,
5059 eTransferDst = VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT,
5060 eSampledImageFilterMinmax = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
5061 eMidpointChromaSamples = VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT,
5062 eSampledImageYcbcrConversionLinearFilter = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
5063 eSampledImageYcbcrConversionSeparateReconstructionFilter = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
5064 eSampledImageYcbcrConversionChromaReconstructionExplicit = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
5065 eSampledImageYcbcrConversionChromaReconstructionExplicitForceable =
5066 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,
5067 eDisjoint = VK_FORMAT_FEATURE_2_DISJOINT_BIT,
5068 eCositedChromaSamples = VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT,
5069 eStorageReadWithoutFormat = VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT,
5070 eStorageWriteWithoutFormat = VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT,
5071 eSampledImageDepthComparison = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT,
5072 eSampledImageFilterCubic = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT,
5073 eSampledImageFilterCubicEXT = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT,
5074 eHostImageTransfer = VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT,
5075 eHostImageTransferEXT = VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT,
5076 eVideoDecodeOutputKHR = VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR,
5077 eVideoDecodeDpbKHR = VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR,
5078 eAccelerationStructureVertexBufferKHR = VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR,
5079 eFragmentDensityMapEXT = VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT,
5080 eFragmentShadingRateAttachmentKHR = VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
5081 eVideoEncodeInputKHR = VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR,
5082 eVideoEncodeDpbKHR = VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR,
5083 eAccelerationStructureRadiusBufferNV = VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_RADIUS_BUFFER_BIT_NV,
5084 eLinearColorAttachmentNV = VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV,
5085 eWeightImageQCOM = VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM,
5086 eWeightSampledImageQCOM = VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM,
5087 eBlockMatchingQCOM = VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM,
5088 eBoxFilterSampledQCOM = VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM,
5089 eTensorShaderARM = VK_FORMAT_FEATURE_2_TENSOR_SHADER_BIT_ARM,
5090 eTensorImageAliasingARM = VK_FORMAT_FEATURE_2_TENSOR_IMAGE_ALIASING_BIT_ARM,
5091 eOpticalFlowImageNV = VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV,
5092 eOpticalFlowVectorNV = VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV,
5093 eOpticalFlowCostNV = VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV,
5094 eTensorDataGraphARM = VK_FORMAT_FEATURE_2_TENSOR_DATA_GRAPH_BIT_ARM,
5095 eCopyImageIndirectDstKHR = VK_FORMAT_FEATURE_2_COPY_IMAGE_INDIRECT_DST_BIT_KHR,
5096 eVideoEncodeQuantizationDeltaMapKHR = VK_FORMAT_FEATURE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR,
5097 eVideoEncodeEmphasisMapKHR = VK_FORMAT_FEATURE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR,
5098 eDepthCopyOnComputeQueueKHR = VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_COMPUTE_QUEUE_BIT_KHR,
5099 eDepthCopyOnTransferQueueKHR = VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_TRANSFER_QUEUE_BIT_KHR,
5100 eStencilCopyOnComputeQueueKHR = VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_COMPUTE_QUEUE_BIT_KHR,
5101 eStencilCopyOnTransferQueueKHR = VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_TRANSFER_QUEUE_BIT_KHR
5102 };
5103
5104 using FormatFeatureFlagBits2KHR = FormatFeatureFlagBits2;
5105
5106 // wrapper using for bitmask VkFormatFeatureFlags2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFormatFeatureFlags2.html
5107 using FormatFeatureFlags2 = Flags<FormatFeatureFlagBits2>;
5108 using FormatFeatureFlags2KHR = FormatFeatureFlags2;
5109
5110 template <>
5111 struct FlagTraits<FormatFeatureFlagBits2>
5112 {
5113 using WrappedType = VkFormatFeatureFlagBits2;
5114 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5115 static VULKAN_HPP_CONST_OR_CONSTEXPR FormatFeatureFlags2 allFlags =
5116 FormatFeatureFlagBits2::eSampledImage | FormatFeatureFlagBits2::eStorageImage | FormatFeatureFlagBits2::eStorageImageAtomic |
5117 FormatFeatureFlagBits2::eUniformTexelBuffer | FormatFeatureFlagBits2::eStorageTexelBuffer | FormatFeatureFlagBits2::eStorageTexelBufferAtomic |
5118 FormatFeatureFlagBits2::eVertexBuffer | FormatFeatureFlagBits2::eColorAttachment | FormatFeatureFlagBits2::eColorAttachmentBlend |
5119 FormatFeatureFlagBits2::eDepthStencilAttachment | FormatFeatureFlagBits2::eBlitSrc | FormatFeatureFlagBits2::eBlitDst |
5120 FormatFeatureFlagBits2::eSampledImageFilterLinear | FormatFeatureFlagBits2::eTransferSrc | FormatFeatureFlagBits2::eTransferDst |
5121 FormatFeatureFlagBits2::eSampledImageFilterMinmax | FormatFeatureFlagBits2::eMidpointChromaSamples |
5122 FormatFeatureFlagBits2::eSampledImageYcbcrConversionLinearFilter | FormatFeatureFlagBits2::eSampledImageYcbcrConversionSeparateReconstructionFilter |
5123 FormatFeatureFlagBits2::eSampledImageYcbcrConversionChromaReconstructionExplicit |
5124 FormatFeatureFlagBits2::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable | FormatFeatureFlagBits2::eDisjoint |
5125 FormatFeatureFlagBits2::eCositedChromaSamples | FormatFeatureFlagBits2::eStorageReadWithoutFormat | FormatFeatureFlagBits2::eStorageWriteWithoutFormat |
5126 FormatFeatureFlagBits2::eSampledImageDepthComparison | FormatFeatureFlagBits2::eSampledImageFilterCubic | FormatFeatureFlagBits2::eHostImageTransfer |
5127 FormatFeatureFlagBits2::eVideoDecodeOutputKHR | FormatFeatureFlagBits2::eVideoDecodeDpbKHR |
5128 FormatFeatureFlagBits2::eAccelerationStructureVertexBufferKHR | FormatFeatureFlagBits2::eFragmentDensityMapEXT |
5129 FormatFeatureFlagBits2::eFragmentShadingRateAttachmentKHR | FormatFeatureFlagBits2::eVideoEncodeInputKHR | FormatFeatureFlagBits2::eVideoEncodeDpbKHR |
5130 FormatFeatureFlagBits2::eAccelerationStructureRadiusBufferNV | FormatFeatureFlagBits2::eLinearColorAttachmentNV |
5131 FormatFeatureFlagBits2::eWeightImageQCOM | FormatFeatureFlagBits2::eWeightSampledImageQCOM | FormatFeatureFlagBits2::eBlockMatchingQCOM |
5132 FormatFeatureFlagBits2::eBoxFilterSampledQCOM | FormatFeatureFlagBits2::eTensorShaderARM | FormatFeatureFlagBits2::eTensorImageAliasingARM |
5133 FormatFeatureFlagBits2::eOpticalFlowImageNV | FormatFeatureFlagBits2::eOpticalFlowVectorNV | FormatFeatureFlagBits2::eOpticalFlowCostNV |
5134 FormatFeatureFlagBits2::eTensorDataGraphARM | FormatFeatureFlagBits2::eCopyImageIndirectDstKHR |
5135 FormatFeatureFlagBits2::eVideoEncodeQuantizationDeltaMapKHR | FormatFeatureFlagBits2::eVideoEncodeEmphasisMapKHR |
5136 FormatFeatureFlagBits2::eDepthCopyOnComputeQueueKHR | FormatFeatureFlagBits2::eDepthCopyOnTransferQueueKHR |
5137 FormatFeatureFlagBits2::eStencilCopyOnComputeQueueKHR | FormatFeatureFlagBits2::eStencilCopyOnTransferQueueKHR;
5138 };
5139
5140 // wrapper class for enum VkPipelineCreationFeedbackFlagBits, see
5141 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCreationFeedbackFlagBits.html
5142 enum class PipelineCreationFeedbackFlagBits : VkPipelineCreationFeedbackFlags
5143 {
5144 eValid = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT,
5145 eApplicationPipelineCacheHit = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT,
5146 eBasePipelineAcceleration = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT
5147 };
5148
5149 using PipelineCreationFeedbackFlagBitsEXT = PipelineCreationFeedbackFlagBits;
5150
5151 // wrapper using for bitmask VkPipelineCreationFeedbackFlags, see
5152 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCreationFeedbackFlags.html
5153 using PipelineCreationFeedbackFlags = Flags<PipelineCreationFeedbackFlagBits>;
5154 using PipelineCreationFeedbackFlagsEXT = PipelineCreationFeedbackFlags;
5155
5156 template <>
5157 struct FlagTraits<PipelineCreationFeedbackFlagBits>
5158 {
5159 using WrappedType = VkPipelineCreationFeedbackFlagBits;
5160 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5161 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCreationFeedbackFlags allFlags = PipelineCreationFeedbackFlagBits::eValid |
5162 PipelineCreationFeedbackFlagBits::eApplicationPipelineCacheHit |
5163 PipelineCreationFeedbackFlagBits::eBasePipelineAcceleration;
5164 };
5165
5166 // wrapper class for enum VkRenderingFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkRenderingFlagBits.html
5167 enum class RenderingFlagBits : VkRenderingFlags
5168 {
5169 eContentsSecondaryCommandBuffers = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT,
5170 eSuspending = VK_RENDERING_SUSPENDING_BIT,
5171 eResuming = VK_RENDERING_RESUMING_BIT,
5172 eEnableLegacyDitheringEXT = VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT,
5173 eContentsInlineKHR = VK_RENDERING_CONTENTS_INLINE_BIT_KHR,
5174 eContentsInlineEXT = VK_RENDERING_CONTENTS_INLINE_BIT_EXT,
5175 ePerLayerFragmentDensityVALVE = VK_RENDERING_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE,
5176 eFragmentRegionEXT = VK_RENDERING_FRAGMENT_REGION_BIT_EXT,
5177 eCustomResolveEXT = VK_RENDERING_CUSTOM_RESOLVE_BIT_EXT,
5178 eLocalReadConcurrentAccessControlKHR = VK_RENDERING_LOCAL_READ_CONCURRENT_ACCESS_CONTROL_BIT_KHR
5179 };
5180
5181 using RenderingFlagBitsKHR = RenderingFlagBits;
5182
5183 // wrapper using for bitmask VkRenderingFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkRenderingFlags.html
5184 using RenderingFlags = Flags<RenderingFlagBits>;
5185 using RenderingFlagsKHR = RenderingFlags;
5186
5187 template <>
5188 struct FlagTraits<RenderingFlagBits>
5189 {
5190 using WrappedType = VkRenderingFlagBits;
5191 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5192 static VULKAN_HPP_CONST_OR_CONSTEXPR RenderingFlags allFlags =
5193 RenderingFlagBits::eContentsSecondaryCommandBuffers | RenderingFlagBits::eSuspending | RenderingFlagBits::eResuming |
5194 RenderingFlagBits::eEnableLegacyDitheringEXT | RenderingFlagBits::eContentsInlineKHR | RenderingFlagBits::ePerLayerFragmentDensityVALVE |
5195 RenderingFlagBits::eFragmentRegionEXT | RenderingFlagBits::eCustomResolveEXT | RenderingFlagBits::eLocalReadConcurrentAccessControlKHR;
5196 };
5197
5198 //=== VK_VERSION_1_4 ===
5199
5200 // wrapper class for enum VkQueueGlobalPriority, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueueGlobalPriority.html
5201 enum class QueueGlobalPriority
5202 {
5203 eLow = VK_QUEUE_GLOBAL_PRIORITY_LOW,
5204 eLowKHR = VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR,
5205 eMedium = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM,
5206 eMediumKHR = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR,
5207 eHigh = VK_QUEUE_GLOBAL_PRIORITY_HIGH,
5208 eHighKHR = VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR,
5209 eRealtime = VK_QUEUE_GLOBAL_PRIORITY_REALTIME,
5210 eRealtimeKHR = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR
5211 };
5212
5213 using QueueGlobalPriorityEXT = QueueGlobalPriority;
5214 using QueueGlobalPriorityKHR = QueueGlobalPriority;
5215
5216 // wrapper class for enum VkMemoryUnmapFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryUnmapFlagBits.html
5217 enum class MemoryUnmapFlagBits : VkMemoryUnmapFlags
5218 {
5219 eReserveEXT = VK_MEMORY_UNMAP_RESERVE_BIT_EXT
5220 };
5221
5222 using MemoryUnmapFlagBitsKHR = MemoryUnmapFlagBits;
5223
5224 // wrapper using for bitmask VkMemoryUnmapFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryUnmapFlags.html
5225 using MemoryUnmapFlags = Flags<MemoryUnmapFlagBits>;
5226 using MemoryUnmapFlagsKHR = MemoryUnmapFlags;
5227
5228 template <>
5229 struct FlagTraits<MemoryUnmapFlagBits>
5230 {
5231 using WrappedType = VkMemoryUnmapFlagBits;
5232 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5233 static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryUnmapFlags allFlags = MemoryUnmapFlagBits::eReserveEXT;
5234 };
5235
5236 // wrapper class for enum VkBufferUsageFlagBits2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferUsageFlagBits2.html
5237 enum class BufferUsageFlagBits2 : VkBufferUsageFlags2
5238 {
5239 eTransferSrc = VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT,
5240 eTransferDst = VK_BUFFER_USAGE_2_TRANSFER_DST_BIT,
5241 eUniformTexelBuffer = VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT,
5242 eStorageTexelBuffer = VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT,
5243 eUniformBuffer = VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT,
5244 eStorageBuffer = VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT,
5245 eIndexBuffer = VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT,
5246 eVertexBuffer = VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT,
5247 eIndirectBuffer = VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT,
5248 eShaderDeviceAddress = VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT,
5249 #if defined( VK_ENABLE_BETA_EXTENSIONS )
5250 eExecutionGraphScratchAMDX = VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX,
5251 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
5252 eConditionalRenderingEXT = VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT,
5253 eShaderBindingTableKHR = VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR,
5254 eRayTracingNV = VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV,
5255 eTransformFeedbackBufferEXT = VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT,
5256 eTransformFeedbackCounterBufferEXT = VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT,
5257 eVideoDecodeSrcKHR = VK_BUFFER_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR,
5258 eVideoDecodeDstKHR = VK_BUFFER_USAGE_2_VIDEO_DECODE_DST_BIT_KHR,
5259 eVideoEncodeDstKHR = VK_BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR,
5260 eVideoEncodeSrcKHR = VK_BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR,
5261 eAccelerationStructureBuildInputReadOnlyKHR = VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR,
5262 eAccelerationStructureStorageKHR = VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR,
5263 eSamplerDescriptorBufferEXT = VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT,
5264 eResourceDescriptorBufferEXT = VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT,
5265 ePushDescriptorsDescriptorBufferEXT = VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT,
5266 eMicromapBuildInputReadOnlyEXT = VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT,
5267 eMicromapStorageEXT = VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT,
5268 #if defined( VK_ENABLE_BETA_EXTENSIONS )
5269 eCompressedDataDgf1AMDX = VK_BUFFER_USAGE_2_COMPRESSED_DATA_DGF1_BIT_AMDX,
5270 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
5271 eDataGraphForeignDescriptorARM = VK_BUFFER_USAGE_2_DATA_GRAPH_FOREIGN_DESCRIPTOR_BIT_ARM,
5272 eTileMemoryQCOM = VK_BUFFER_USAGE_2_TILE_MEMORY_BIT_QCOM,
5273 eMemoryDecompressionEXT = VK_BUFFER_USAGE_2_MEMORY_DECOMPRESSION_BIT_EXT,
5274 ePreprocessBufferEXT = VK_BUFFER_USAGE_2_PREPROCESS_BUFFER_BIT_EXT
5275 };
5276
5277 using BufferUsageFlagBits2KHR = BufferUsageFlagBits2;
5278
5279 // wrapper using for bitmask VkBufferUsageFlags2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferUsageFlags2.html
5280 using BufferUsageFlags2 = Flags<BufferUsageFlagBits2>;
5281 using BufferUsageFlags2KHR = BufferUsageFlags2;
5282
5283 template <>
5284 struct FlagTraits<BufferUsageFlagBits2>
5285 {
5286 using WrappedType = VkBufferUsageFlagBits2;
5287 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5288 static VULKAN_HPP_CONST_OR_CONSTEXPR BufferUsageFlags2 allFlags =
5289 BufferUsageFlagBits2::eTransferSrc | BufferUsageFlagBits2::eTransferDst | BufferUsageFlagBits2::eUniformTexelBuffer |
5290 BufferUsageFlagBits2::eStorageTexelBuffer | BufferUsageFlagBits2::eUniformBuffer | BufferUsageFlagBits2::eStorageBuffer |
5291 BufferUsageFlagBits2::eIndexBuffer | BufferUsageFlagBits2::eVertexBuffer | BufferUsageFlagBits2::eIndirectBuffer |
5292 BufferUsageFlagBits2::eShaderDeviceAddress
5293 #if defined( VK_ENABLE_BETA_EXTENSIONS )
5294 | BufferUsageFlagBits2::eExecutionGraphScratchAMDX
5295 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
5296 | BufferUsageFlagBits2::eConditionalRenderingEXT | BufferUsageFlagBits2::eShaderBindingTableKHR | BufferUsageFlagBits2::eTransformFeedbackBufferEXT |
5297 BufferUsageFlagBits2::eTransformFeedbackCounterBufferEXT | BufferUsageFlagBits2::eVideoDecodeSrcKHR | BufferUsageFlagBits2::eVideoDecodeDstKHR |
5298 BufferUsageFlagBits2::eVideoEncodeDstKHR | BufferUsageFlagBits2::eVideoEncodeSrcKHR | BufferUsageFlagBits2::eAccelerationStructureBuildInputReadOnlyKHR |
5299 BufferUsageFlagBits2::eAccelerationStructureStorageKHR | BufferUsageFlagBits2::eSamplerDescriptorBufferEXT |
5300 BufferUsageFlagBits2::eResourceDescriptorBufferEXT | BufferUsageFlagBits2::ePushDescriptorsDescriptorBufferEXT |
5301 BufferUsageFlagBits2::eMicromapBuildInputReadOnlyEXT | BufferUsageFlagBits2::eMicromapStorageEXT
5302 #if defined( VK_ENABLE_BETA_EXTENSIONS )
5303 | BufferUsageFlagBits2::eCompressedDataDgf1AMDX
5304 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
5305 | BufferUsageFlagBits2::eDataGraphForeignDescriptorARM | BufferUsageFlagBits2::eTileMemoryQCOM | BufferUsageFlagBits2::eMemoryDecompressionEXT |
5306 BufferUsageFlagBits2::ePreprocessBufferEXT;
5307 };
5308
5309 // wrapper class for enum VkHostImageCopyFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkHostImageCopyFlagBits.html
5310 enum class HostImageCopyFlagBits : VkHostImageCopyFlags
5311 {
5312 eMemcpy = VK_HOST_IMAGE_COPY_MEMCPY_BIT
5313 };
5314
5315 using HostImageCopyFlagBitsEXT = HostImageCopyFlagBits;
5316
5317 // wrapper using for bitmask VkHostImageCopyFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkHostImageCopyFlags.html
5318 using HostImageCopyFlags = Flags<HostImageCopyFlagBits>;
5319 using HostImageCopyFlagsEXT = HostImageCopyFlags;
5320
5321 template <>
5322 struct FlagTraits<HostImageCopyFlagBits>
5323 {
5324 using WrappedType = VkHostImageCopyFlagBits;
5325 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5326 static VULKAN_HPP_CONST_OR_CONSTEXPR HostImageCopyFlags allFlags = HostImageCopyFlagBits::eMemcpy;
5327 };
5328
5329 // wrapper class for enum VkPipelineCreateFlagBits2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCreateFlagBits2.html
5330 enum class PipelineCreateFlagBits2 : VkPipelineCreateFlags2
5331 {
5332 eDisableOptimization = VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT,
5333 eAllowDerivatives = VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT,
5334 eDerivative = VK_PIPELINE_CREATE_2_DERIVATIVE_BIT,
5335 eViewIndexFromDeviceIndex = VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
5336 eDispatchBase = VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT,
5337 eFailOnPipelineCompileRequired = VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT,
5338 eEarlyReturnOnFailure = VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT,
5339 eNoProtectedAccess = VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT,
5340 eNoProtectedAccessEXT = VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT,
5341 eProtectedAccessOnly = VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT,
5342 eProtectedAccessOnlyEXT = VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT,
5343 #if defined( VK_ENABLE_BETA_EXTENSIONS )
5344 eExecutionGraphAMDX = VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX,
5345 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
5346 eRayTracingAllowSpheresAndLinearSweptSpheresNV = VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_SPHERES_AND_LINEAR_SWEPT_SPHERES_BIT_NV,
5347 eEnableLegacyDitheringEXT = VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT,
5348 eDeferCompileNV = VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV,
5349 eCaptureStatisticsKHR = VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR,
5350 eCaptureInternalRepresentationsKHR = VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR,
5351 eLinkTimeOptimizationEXT = VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT,
5352 eRetainLinkTimeOptimizationInfoEXT = VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT,
5353 eLibraryKHR = VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR,
5354 eRayTracingSkipTrianglesKHR = VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR,
5355 eRayTracingSkipBuiltInPrimitives = VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_BUILT_IN_PRIMITIVES_BIT_KHR,
5356 eRayTracingSkipAabbsKHR = VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR,
5357 eRayTracingNoNullAnyHitShadersKHR = VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR,
5358 eRayTracingNoNullClosestHitShadersKHR = VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR,
5359 eRayTracingNoNullMissShadersKHR = VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR,
5360 eRayTracingNoNullIntersectionShadersKHR = VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR,
5361 eRayTracingShaderGroupHandleCaptureReplayKHR = VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR,
5362 eIndirectBindableNV = VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV,
5363 eRayTracingAllowMotionNV = VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV,
5364 eRenderingFragmentShadingRateAttachmentKHR = VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
5365 eRenderingFragmentDensityMapAttachmentEXT = VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
5366 eRayTracingOpacityMicromapEXT = VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT,
5367 eColorAttachmentFeedbackLoopEXT = VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT,
5368 eDepthStencilAttachmentFeedbackLoopEXT = VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT,
5369 eRayTracingDisplacementMicromapNV = VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV,
5370 eDescriptorBufferEXT = VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT,
5371 eDisallowOpacityMicromapARM = VK_PIPELINE_CREATE_2_DISALLOW_OPACITY_MICROMAP_BIT_ARM,
5372 eCaptureDataKHR = VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR,
5373 eIndirectBindableEXT = VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_EXT,
5374 ePerLayerFragmentDensityVALVE = VK_PIPELINE_CREATE_2_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE,
5375 e64BitIndexingEXT = VK_PIPELINE_CREATE_2_64_BIT_INDEXING_BIT_EXT
5376 };
5377
5378 using PipelineCreateFlagBits2KHR = PipelineCreateFlagBits2;
5379
5380 // wrapper using for bitmask VkPipelineCreateFlags2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCreateFlags2.html
5381 using PipelineCreateFlags2 = Flags<PipelineCreateFlagBits2>;
5382 using PipelineCreateFlags2KHR = PipelineCreateFlags2;
5383
5384 template <>
5385 struct FlagTraits<PipelineCreateFlagBits2>
5386 {
5387 using WrappedType = VkPipelineCreateFlagBits2;
5388 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5389 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCreateFlags2 allFlags =
5390 PipelineCreateFlagBits2::eDisableOptimization | PipelineCreateFlagBits2::eAllowDerivatives | PipelineCreateFlagBits2::eDerivative |
5391 PipelineCreateFlagBits2::eViewIndexFromDeviceIndex | PipelineCreateFlagBits2::eDispatchBase | PipelineCreateFlagBits2::eFailOnPipelineCompileRequired |
5392 PipelineCreateFlagBits2::eEarlyReturnOnFailure | PipelineCreateFlagBits2::eNoProtectedAccess | PipelineCreateFlagBits2::eProtectedAccessOnly
5393 #if defined( VK_ENABLE_BETA_EXTENSIONS )
5394 | PipelineCreateFlagBits2::eExecutionGraphAMDX
5395 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
5396 | PipelineCreateFlagBits2::eRayTracingAllowSpheresAndLinearSweptSpheresNV | PipelineCreateFlagBits2::eEnableLegacyDitheringEXT |
5397 PipelineCreateFlagBits2::eDeferCompileNV | PipelineCreateFlagBits2::eCaptureStatisticsKHR | PipelineCreateFlagBits2::eCaptureInternalRepresentationsKHR |
5398 PipelineCreateFlagBits2::eLinkTimeOptimizationEXT | PipelineCreateFlagBits2::eRetainLinkTimeOptimizationInfoEXT | PipelineCreateFlagBits2::eLibraryKHR |
5399 PipelineCreateFlagBits2::eRayTracingSkipTrianglesKHR | PipelineCreateFlagBits2::eRayTracingSkipAabbsKHR |
5400 PipelineCreateFlagBits2::eRayTracingNoNullAnyHitShadersKHR | PipelineCreateFlagBits2::eRayTracingNoNullClosestHitShadersKHR |
5401 PipelineCreateFlagBits2::eRayTracingNoNullMissShadersKHR | PipelineCreateFlagBits2::eRayTracingNoNullIntersectionShadersKHR |
5402 PipelineCreateFlagBits2::eRayTracingShaderGroupHandleCaptureReplayKHR | PipelineCreateFlagBits2::eIndirectBindableNV |
5403 PipelineCreateFlagBits2::eRayTracingAllowMotionNV | PipelineCreateFlagBits2::eRenderingFragmentShadingRateAttachmentKHR |
5404 PipelineCreateFlagBits2::eRenderingFragmentDensityMapAttachmentEXT | PipelineCreateFlagBits2::eRayTracingOpacityMicromapEXT |
5405 PipelineCreateFlagBits2::eColorAttachmentFeedbackLoopEXT | PipelineCreateFlagBits2::eDepthStencilAttachmentFeedbackLoopEXT |
5406 PipelineCreateFlagBits2::eRayTracingDisplacementMicromapNV | PipelineCreateFlagBits2::eDescriptorBufferEXT |
5407 PipelineCreateFlagBits2::eDisallowOpacityMicromapARM | PipelineCreateFlagBits2::eCaptureDataKHR | PipelineCreateFlagBits2::eIndirectBindableEXT |
5408 PipelineCreateFlagBits2::ePerLayerFragmentDensityVALVE | PipelineCreateFlagBits2::e64BitIndexingEXT;
5409 };
5410
5411 // wrapper class for enum VkPipelineRobustnessBufferBehavior, see
5412 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineRobustnessBufferBehavior.html
5413 enum class PipelineRobustnessBufferBehavior
5414 {
5415 eDeviceDefault = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT,
5416 eDisabled = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED,
5417 eRobustBufferAccess = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS,
5418 eRobustBufferAccess2 = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2
5419 };
5420
5421 using PipelineRobustnessBufferBehaviorEXT = PipelineRobustnessBufferBehavior;
5422
5423 // wrapper class for enum VkPipelineRobustnessImageBehavior, see
5424 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineRobustnessImageBehavior.html
5425 enum class PipelineRobustnessImageBehavior
5426 {
5427 eDeviceDefault = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT,
5428 eDisabled = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED,
5429 eRobustImageAccess = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS,
5430 eRobustImageAccess2 = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2
5431 };
5432
5433 using PipelineRobustnessImageBehaviorEXT = PipelineRobustnessImageBehavior;
5434
5435 // wrapper class for enum VkLineRasterizationMode, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkLineRasterizationMode.html
5436 enum class LineRasterizationMode
5437 {
5438 eDefault = VK_LINE_RASTERIZATION_MODE_DEFAULT,
5439 eDefaultKHR = VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR,
5440 eRectangular = VK_LINE_RASTERIZATION_MODE_RECTANGULAR,
5441 eRectangularKHR = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR,
5442 eBresenham = VK_LINE_RASTERIZATION_MODE_BRESENHAM,
5443 eBresenhamKHR = VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR,
5444 eRectangularSmooth = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH,
5445 eRectangularSmoothKHR = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR
5446 };
5447
5448 using LineRasterizationModeEXT = LineRasterizationMode;
5449 using LineRasterizationModeKHR = LineRasterizationMode;
5450
5451 //=== VK_KHR_surface ===
5452
5453 // wrapper class for enum VkSurfaceTransformFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSurfaceTransformFlagBitsKHR.html
5454 enum class SurfaceTransformFlagBitsKHR : VkSurfaceTransformFlagsKHR
5455 {
5456 eIdentity = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR,
5457 eRotate90 = VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR,
5458 eRotate180 = VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR,
5459 eRotate270 = VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR,
5460 eHorizontalMirror = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR,
5461 eHorizontalMirrorRotate90 = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR,
5462 eHorizontalMirrorRotate180 = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR,
5463 eHorizontalMirrorRotate270 = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR,
5464 eInherit = VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR
5465 };
5466
5467 // wrapper using for bitmask VkSurfaceTransformFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSurfaceTransformFlagsKHR.html
5468 using SurfaceTransformFlagsKHR = Flags<SurfaceTransformFlagBitsKHR>;
5469
5470 template <>
5471 struct FlagTraits<SurfaceTransformFlagBitsKHR>
5472 {
5473 using WrappedType = VkSurfaceTransformFlagBitsKHR;
5474 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5475 static VULKAN_HPP_CONST_OR_CONSTEXPR SurfaceTransformFlagsKHR allFlags =
5476 SurfaceTransformFlagBitsKHR::eIdentity | SurfaceTransformFlagBitsKHR::eRotate90 | SurfaceTransformFlagBitsKHR::eRotate180 |
5477 SurfaceTransformFlagBitsKHR::eRotate270 | SurfaceTransformFlagBitsKHR::eHorizontalMirror | SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate90 |
5478 SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate180 | SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate270 | SurfaceTransformFlagBitsKHR::eInherit;
5479 };
5480
5481 // wrapper class for enum VkPresentModeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPresentModeKHR.html
5482 enum class PresentModeKHR
5483 {
5484 eImmediate = VK_PRESENT_MODE_IMMEDIATE_KHR,
5485 eMailbox = VK_PRESENT_MODE_MAILBOX_KHR,
5486 eFifo = VK_PRESENT_MODE_FIFO_KHR,
5487 eFifoRelaxed = VK_PRESENT_MODE_FIFO_RELAXED_KHR,
5488 eSharedDemandRefresh = VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR,
5489 eSharedContinuousRefresh = VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR,
5490 eFifoLatestReady = VK_PRESENT_MODE_FIFO_LATEST_READY_KHR,
5491 eFifoLatestReadyEXT = VK_PRESENT_MODE_FIFO_LATEST_READY_EXT
5492 };
5493
5494 // wrapper class for enum VkColorSpaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkColorSpaceKHR.html
5495 enum class ColorSpaceKHR
5496 {
5497 eSrgbNonlinear = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
5498 eVkColorspaceSrgbNonlinear = VK_COLORSPACE_SRGB_NONLINEAR_KHR,
5499 eDisplayP3NonlinearEXT = VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT,
5500 eExtendedSrgbLinearEXT = VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT,
5501 eDisplayP3LinearEXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
5502 eDciP3LinearEXT = VK_COLOR_SPACE_DCI_P3_LINEAR_EXT,
5503 eDciP3NonlinearEXT = VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT,
5504 eBt709LinearEXT = VK_COLOR_SPACE_BT709_LINEAR_EXT,
5505 eBt709NonlinearEXT = VK_COLOR_SPACE_BT709_NONLINEAR_EXT,
5506 eBt2020LinearEXT = VK_COLOR_SPACE_BT2020_LINEAR_EXT,
5507 eHdr10St2084EXT = VK_COLOR_SPACE_HDR10_ST2084_EXT,
5508 eDolbyvisionEXT VULKAN_HPP_DEPRECATED_17( "eDolbyvisionEXT is deprecated, but no reason was given in the API XML" ) = VK_COLOR_SPACE_DOLBYVISION_EXT,
5509 eHdr10HlgEXT = VK_COLOR_SPACE_HDR10_HLG_EXT,
5510 eAdobergbLinearEXT = VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT,
5511 eAdobergbNonlinearEXT = VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT,
5512 ePassThroughEXT = VK_COLOR_SPACE_PASS_THROUGH_EXT,
5513 eExtendedSrgbNonlinearEXT = VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT,
5514 eDisplayNativeAMD = VK_COLOR_SPACE_DISPLAY_NATIVE_AMD
5515 };
5516
5517 // wrapper class for enum VkCompositeAlphaFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCompositeAlphaFlagBitsKHR.html
5518 enum class CompositeAlphaFlagBitsKHR : VkCompositeAlphaFlagsKHR
5519 {
5520 eOpaque = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR,
5521 ePreMultiplied = VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR,
5522 ePostMultiplied = VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR,
5523 eInherit = VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR
5524 };
5525
5526 // wrapper using for bitmask VkCompositeAlphaFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCompositeAlphaFlagsKHR.html
5527 using CompositeAlphaFlagsKHR = Flags<CompositeAlphaFlagBitsKHR>;
5528
5529 template <>
5530 struct FlagTraits<CompositeAlphaFlagBitsKHR>
5531 {
5532 using WrappedType = VkCompositeAlphaFlagBitsKHR;
5533 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5534 static VULKAN_HPP_CONST_OR_CONSTEXPR CompositeAlphaFlagsKHR allFlags = CompositeAlphaFlagBitsKHR::eOpaque | CompositeAlphaFlagBitsKHR::ePreMultiplied |
5535 CompositeAlphaFlagBitsKHR::ePostMultiplied | CompositeAlphaFlagBitsKHR::eInherit;
5536 };
5537
5538 //=== VK_KHR_swapchain ===
5539
5540 // wrapper class for enum VkSwapchainCreateFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSwapchainCreateFlagBitsKHR.html
5541 enum class SwapchainCreateFlagBitsKHR : VkSwapchainCreateFlagsKHR
5542 {
5543 eSplitInstanceBindRegions = VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR,
5544 eProtected = VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR,
5545 eMutableFormat = VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR,
5546 ePresentId2 = VK_SWAPCHAIN_CREATE_PRESENT_ID_2_BIT_KHR,
5547 ePresentWait2 = VK_SWAPCHAIN_CREATE_PRESENT_WAIT_2_BIT_KHR,
5548 eDeferredMemoryAllocation = VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHR,
5549 eDeferredMemoryAllocationEXT = VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT
5550 };
5551
5552 // wrapper using for bitmask VkSwapchainCreateFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSwapchainCreateFlagsKHR.html
5553 using SwapchainCreateFlagsKHR = Flags<SwapchainCreateFlagBitsKHR>;
5554
5555 template <>
5556 struct FlagTraits<SwapchainCreateFlagBitsKHR>
5557 {
5558 using WrappedType = VkSwapchainCreateFlagBitsKHR;
5559 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5560 static VULKAN_HPP_CONST_OR_CONSTEXPR SwapchainCreateFlagsKHR allFlags =
5561 SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions | SwapchainCreateFlagBitsKHR::eProtected | SwapchainCreateFlagBitsKHR::eMutableFormat |
5562 SwapchainCreateFlagBitsKHR::ePresentId2 | SwapchainCreateFlagBitsKHR::ePresentWait2 | SwapchainCreateFlagBitsKHR::eDeferredMemoryAllocation;
5563 };
5564
5565 // wrapper class for enum VkDeviceGroupPresentModeFlagBitsKHR, see
5566 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceGroupPresentModeFlagBitsKHR.html
5567 enum class DeviceGroupPresentModeFlagBitsKHR : VkDeviceGroupPresentModeFlagsKHR
5568 {
5569 eLocal = VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR,
5570 eRemote = VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR,
5571 eSum = VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR,
5572 eLocalMultiDevice = VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR
5573 };
5574
5575 // wrapper using for bitmask VkDeviceGroupPresentModeFlagsKHR, see
5576 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceGroupPresentModeFlagsKHR.html
5577 using DeviceGroupPresentModeFlagsKHR = Flags<DeviceGroupPresentModeFlagBitsKHR>;
5578
5579 template <>
5580 struct FlagTraits<DeviceGroupPresentModeFlagBitsKHR>
5581 {
5582 using WrappedType = VkDeviceGroupPresentModeFlagBitsKHR;
5583 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5584 static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceGroupPresentModeFlagsKHR allFlags =
5585 DeviceGroupPresentModeFlagBitsKHR::eLocal | DeviceGroupPresentModeFlagBitsKHR::eRemote | DeviceGroupPresentModeFlagBitsKHR::eSum |
5586 DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice;
5587 };
5588
5589 //=== VK_KHR_display ===
5590
5591 // wrapper class for enum VkDisplayPlaneAlphaFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayPlaneAlphaFlagBitsKHR.html
5592 enum class DisplayPlaneAlphaFlagBitsKHR : VkDisplayPlaneAlphaFlagsKHR
5593 {
5594 eOpaque = VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR,
5595 eGlobal = VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR,
5596 ePerPixel = VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR,
5597 ePerPixelPremultiplied = VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR
5598 };
5599
5600 // wrapper using for bitmask VkDisplayPlaneAlphaFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayPlaneAlphaFlagsKHR.html
5601 using DisplayPlaneAlphaFlagsKHR = Flags<DisplayPlaneAlphaFlagBitsKHR>;
5602
5603 template <>
5604 struct FlagTraits<DisplayPlaneAlphaFlagBitsKHR>
5605 {
5606 using WrappedType = VkDisplayPlaneAlphaFlagBitsKHR;
5607 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5608 static VULKAN_HPP_CONST_OR_CONSTEXPR DisplayPlaneAlphaFlagsKHR allFlags = DisplayPlaneAlphaFlagBitsKHR::eOpaque | DisplayPlaneAlphaFlagBitsKHR::eGlobal |
5609 DisplayPlaneAlphaFlagBitsKHR::ePerPixel |
5610 DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied;
5611 };
5612
5613 enum class DisplayModeCreateFlagBitsKHR : VkDisplayModeCreateFlagsKHR
5614 {
5615 };
5616
5617 // wrapper using for bitmask VkDisplayModeCreateFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayModeCreateFlagsKHR.html
5618 using DisplayModeCreateFlagsKHR = Flags<DisplayModeCreateFlagBitsKHR>;
5619
5620 template <>
5621 struct FlagTraits<DisplayModeCreateFlagBitsKHR>
5622 {
5623 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5624 static VULKAN_HPP_CONST_OR_CONSTEXPR DisplayModeCreateFlagsKHR allFlags = {};
5625 };
5626
5627 enum class DisplaySurfaceCreateFlagBitsKHR : VkDisplaySurfaceCreateFlagsKHR
5628 {
5629 };
5630
5631 // wrapper using for bitmask VkDisplaySurfaceCreateFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplaySurfaceCreateFlagsKHR.html
5632 using DisplaySurfaceCreateFlagsKHR = Flags<DisplaySurfaceCreateFlagBitsKHR>;
5633
5634 template <>
5635 struct FlagTraits<DisplaySurfaceCreateFlagBitsKHR>
5636 {
5637 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5638 static VULKAN_HPP_CONST_OR_CONSTEXPR DisplaySurfaceCreateFlagsKHR allFlags = {};
5639 };
5640
5641 #if defined( VK_USE_PLATFORM_XLIB_KHR )
5642 //=== VK_KHR_xlib_surface ===
5643
5644 enum class XlibSurfaceCreateFlagBitsKHR : VkXlibSurfaceCreateFlagsKHR
5645 {
5646 };
5647
5648 // wrapper using for bitmask VkXlibSurfaceCreateFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkXlibSurfaceCreateFlagsKHR.html
5649 using XlibSurfaceCreateFlagsKHR = Flags<XlibSurfaceCreateFlagBitsKHR>;
5650
5651 template <>
5652 struct FlagTraits<XlibSurfaceCreateFlagBitsKHR>
5653 {
5654 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5655 static VULKAN_HPP_CONST_OR_CONSTEXPR XlibSurfaceCreateFlagsKHR allFlags = {};
5656 };
5657 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
5658
5659 #if defined( VK_USE_PLATFORM_XCB_KHR )
5660 //=== VK_KHR_xcb_surface ===
5661
5662 enum class XcbSurfaceCreateFlagBitsKHR : VkXcbSurfaceCreateFlagsKHR
5663 {
5664 };
5665
5666 // wrapper using for bitmask VkXcbSurfaceCreateFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkXcbSurfaceCreateFlagsKHR.html
5667 using XcbSurfaceCreateFlagsKHR = Flags<XcbSurfaceCreateFlagBitsKHR>;
5668
5669 template <>
5670 struct FlagTraits<XcbSurfaceCreateFlagBitsKHR>
5671 {
5672 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5673 static VULKAN_HPP_CONST_OR_CONSTEXPR XcbSurfaceCreateFlagsKHR allFlags = {};
5674 };
5675 #endif /*VK_USE_PLATFORM_XCB_KHR*/
5676
5677 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
5678 //=== VK_KHR_wayland_surface ===
5679
5680 enum class WaylandSurfaceCreateFlagBitsKHR : VkWaylandSurfaceCreateFlagsKHR
5681 {
5682 };
5683
5684 // wrapper using for bitmask VkWaylandSurfaceCreateFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkWaylandSurfaceCreateFlagsKHR.html
5685 using WaylandSurfaceCreateFlagsKHR = Flags<WaylandSurfaceCreateFlagBitsKHR>;
5686
5687 template <>
5688 struct FlagTraits<WaylandSurfaceCreateFlagBitsKHR>
5689 {
5690 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5691 static VULKAN_HPP_CONST_OR_CONSTEXPR WaylandSurfaceCreateFlagsKHR allFlags = {};
5692 };
5693 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
5694
5695 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
5696 //=== VK_KHR_android_surface ===
5697
5698 enum class AndroidSurfaceCreateFlagBitsKHR : VkAndroidSurfaceCreateFlagsKHR
5699 {
5700 };
5701
5702 // wrapper using for bitmask VkAndroidSurfaceCreateFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAndroidSurfaceCreateFlagsKHR.html
5703 using AndroidSurfaceCreateFlagsKHR = Flags<AndroidSurfaceCreateFlagBitsKHR>;
5704
5705 template <>
5706 struct FlagTraits<AndroidSurfaceCreateFlagBitsKHR>
5707 {
5708 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5709 static VULKAN_HPP_CONST_OR_CONSTEXPR AndroidSurfaceCreateFlagsKHR allFlags = {};
5710 };
5711 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
5712
5713 #if defined( VK_USE_PLATFORM_WIN32_KHR )
5714 //=== VK_KHR_win32_surface ===
5715
5716 enum class Win32SurfaceCreateFlagBitsKHR : VkWin32SurfaceCreateFlagsKHR
5717 {
5718 };
5719
5720 // wrapper using for bitmask VkWin32SurfaceCreateFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkWin32SurfaceCreateFlagsKHR.html
5721 using Win32SurfaceCreateFlagsKHR = Flags<Win32SurfaceCreateFlagBitsKHR>;
5722
5723 template <>
5724 struct FlagTraits<Win32SurfaceCreateFlagBitsKHR>
5725 {
5726 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5727 static VULKAN_HPP_CONST_OR_CONSTEXPR Win32SurfaceCreateFlagsKHR allFlags = {};
5728 };
5729 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
5730
5731 //=== VK_EXT_debug_report ===
5732
5733 // wrapper class for enum VkDebugReportFlagBitsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugReportFlagBitsEXT.html
5734 enum class DebugReportFlagBitsEXT : VkDebugReportFlagsEXT
5735 {
5736 eInformation = VK_DEBUG_REPORT_INFORMATION_BIT_EXT,
5737 eWarning = VK_DEBUG_REPORT_WARNING_BIT_EXT,
5738 ePerformanceWarning = VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT,
5739 eError = VK_DEBUG_REPORT_ERROR_BIT_EXT,
5740 eDebug = VK_DEBUG_REPORT_DEBUG_BIT_EXT
5741 };
5742
5743 // wrapper using for bitmask VkDebugReportFlagsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugReportFlagsEXT.html
5744 using DebugReportFlagsEXT = Flags<DebugReportFlagBitsEXT>;
5745
5746 template <>
5747 struct FlagTraits<DebugReportFlagBitsEXT>
5748 {
5749 using WrappedType = VkDebugReportFlagBitsEXT;
5750 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5751 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportFlagsEXT allFlags = DebugReportFlagBitsEXT::eInformation | DebugReportFlagBitsEXT::eWarning |
5752 DebugReportFlagBitsEXT::ePerformanceWarning | DebugReportFlagBitsEXT::eError |
5753 DebugReportFlagBitsEXT::eDebug;
5754 };
5755
5756 // wrapper class for enum VkDebugReportObjectTypeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugReportObjectTypeEXT.html
5757 enum class DebugReportObjectTypeEXT
5758 {
5759 eUnknown = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,
5760 eInstance = VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT,
5761 ePhysicalDevice = VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT,
5762 eDevice = VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
5763 eQueue = VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT,
5764 eSemaphore = VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT,
5765 eCommandBuffer = VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT,
5766 eFence = VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT,
5767 eDeviceMemory = VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT,
5768 eBuffer = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT,
5769 eImage = VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT,
5770 eEvent = VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT,
5771 eQueryPool = VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT,
5772 eBufferView = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT,
5773 eImageView = VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT,
5774 eShaderModule = VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT,
5775 ePipelineCache = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT,
5776 ePipelineLayout = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT,
5777 eRenderPass = VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT,
5778 ePipeline = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT,
5779 eDescriptorSetLayout = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT,
5780 eSampler = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT,
5781 eDescriptorPool = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT,
5782 eDescriptorSet = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT,
5783 eFramebuffer = VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT,
5784 eCommandPool = VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT,
5785 eSurfaceKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT,
5786 eSwapchainKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT,
5787 eDebugReportCallbackEXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
5788 eDebugReport = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT,
5789 eDisplayKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT,
5790 eDisplayModeKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT,
5791 eValidationCacheEXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
5792 eValidationCache = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT,
5793 eSamplerYcbcrConversion = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
5794 eSamplerYcbcrConversionKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT,
5795 eDescriptorUpdateTemplate = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
5796 eDescriptorUpdateTemplateKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT,
5797 eCuModuleNVX = VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT,
5798 eCuFunctionNVX = VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT,
5799 eAccelerationStructureKHR = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT,
5800 eAccelerationStructureNV = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT,
5801 #if defined( VK_ENABLE_BETA_EXTENSIONS )
5802 eCudaModuleNV = VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV_EXT,
5803 eCudaFunctionNV = VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV_EXT,
5804 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
5805 #if defined( VK_USE_PLATFORM_FUCHSIA )
5806 eBufferCollectionFUCHSIA = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT
5807 #endif /*VK_USE_PLATFORM_FUCHSIA*/
5808 };
5809
5810 //=== VK_AMD_rasterization_order ===
5811
5812 // wrapper class for enum VkRasterizationOrderAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkRasterizationOrderAMD.html
5813 enum class RasterizationOrderAMD
5814 {
5815 eStrict = VK_RASTERIZATION_ORDER_STRICT_AMD,
5816 eRelaxed = VK_RASTERIZATION_ORDER_RELAXED_AMD
5817 };
5818
5819 //=== VK_KHR_video_queue ===
5820
5821 // wrapper class for enum VkVideoCodecOperationFlagBitsKHR, see
5822 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoCodecOperationFlagBitsKHR.html
5823 enum class VideoCodecOperationFlagBitsKHR : VkVideoCodecOperationFlagsKHR
5824 {
5825 eNone = VK_VIDEO_CODEC_OPERATION_NONE_KHR,
5826 eEncodeH264 = VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR,
5827 eEncodeH265 = VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR,
5828 eDecodeH264 = VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR,
5829 eDecodeH265 = VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR,
5830 eDecodeAv1 = VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR,
5831 eEncodeAv1 = VK_VIDEO_CODEC_OPERATION_ENCODE_AV1_BIT_KHR,
5832 eDecodeVp9 = VK_VIDEO_CODEC_OPERATION_DECODE_VP9_BIT_KHR
5833 };
5834
5835 // wrapper using for bitmask VkVideoCodecOperationFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoCodecOperationFlagsKHR.html
5836 using VideoCodecOperationFlagsKHR = Flags<VideoCodecOperationFlagBitsKHR>;
5837
5838 template <>
5839 struct FlagTraits<VideoCodecOperationFlagBitsKHR>
5840 {
5841 using WrappedType = VkVideoCodecOperationFlagBitsKHR;
5842 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5843 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoCodecOperationFlagsKHR allFlags =
5844 VideoCodecOperationFlagBitsKHR::eNone | VideoCodecOperationFlagBitsKHR::eEncodeH264 | VideoCodecOperationFlagBitsKHR::eEncodeH265 |
5845 VideoCodecOperationFlagBitsKHR::eDecodeH264 | VideoCodecOperationFlagBitsKHR::eDecodeH265 | VideoCodecOperationFlagBitsKHR::eDecodeAv1 |
5846 VideoCodecOperationFlagBitsKHR::eEncodeAv1 | VideoCodecOperationFlagBitsKHR::eDecodeVp9;
5847 };
5848
5849 // wrapper class for enum VkVideoChromaSubsamplingFlagBitsKHR, see
5850 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoChromaSubsamplingFlagBitsKHR.html
5851 enum class VideoChromaSubsamplingFlagBitsKHR : VkVideoChromaSubsamplingFlagsKHR
5852 {
5853 eInvalid = VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR,
5854 eMonochrome = VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR,
5855 e420 = VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR,
5856 e422 = VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR,
5857 e444 = VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR
5858 };
5859
5860 // wrapper using for bitmask VkVideoChromaSubsamplingFlagsKHR, see
5861 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoChromaSubsamplingFlagsKHR.html
5862 using VideoChromaSubsamplingFlagsKHR = Flags<VideoChromaSubsamplingFlagBitsKHR>;
5863
5864 template <>
5865 struct FlagTraits<VideoChromaSubsamplingFlagBitsKHR>
5866 {
5867 using WrappedType = VkVideoChromaSubsamplingFlagBitsKHR;
5868 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5869 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoChromaSubsamplingFlagsKHR allFlags =
5870 VideoChromaSubsamplingFlagBitsKHR::eInvalid | VideoChromaSubsamplingFlagBitsKHR::eMonochrome | VideoChromaSubsamplingFlagBitsKHR::e420 |
5871 VideoChromaSubsamplingFlagBitsKHR::e422 | VideoChromaSubsamplingFlagBitsKHR::e444;
5872 };
5873
5874 // wrapper class for enum VkVideoComponentBitDepthFlagBitsKHR, see
5875 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoComponentBitDepthFlagBitsKHR.html
5876 enum class VideoComponentBitDepthFlagBitsKHR : VkVideoComponentBitDepthFlagsKHR
5877 {
5878 eInvalid = VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR,
5879 e8 = VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR,
5880 e10 = VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR,
5881 e12 = VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR
5882 };
5883
5884 // wrapper using for bitmask VkVideoComponentBitDepthFlagsKHR, see
5885 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoComponentBitDepthFlagsKHR.html
5886 using VideoComponentBitDepthFlagsKHR = Flags<VideoComponentBitDepthFlagBitsKHR>;
5887
5888 template <>
5889 struct FlagTraits<VideoComponentBitDepthFlagBitsKHR>
5890 {
5891 using WrappedType = VkVideoComponentBitDepthFlagBitsKHR;
5892 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5893 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoComponentBitDepthFlagsKHR allFlags =
5894 VideoComponentBitDepthFlagBitsKHR::eInvalid | VideoComponentBitDepthFlagBitsKHR::e8 | VideoComponentBitDepthFlagBitsKHR::e10 |
5895 VideoComponentBitDepthFlagBitsKHR::e12;
5896 };
5897
5898 // wrapper class for enum VkVideoCapabilityFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoCapabilityFlagBitsKHR.html
5899 enum class VideoCapabilityFlagBitsKHR : VkVideoCapabilityFlagsKHR
5900 {
5901 eProtectedContent = VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR,
5902 eSeparateReferenceImages = VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR
5903 };
5904
5905 // wrapper using for bitmask VkVideoCapabilityFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoCapabilityFlagsKHR.html
5906 using VideoCapabilityFlagsKHR = Flags<VideoCapabilityFlagBitsKHR>;
5907
5908 template <>
5909 struct FlagTraits<VideoCapabilityFlagBitsKHR>
5910 {
5911 using WrappedType = VkVideoCapabilityFlagBitsKHR;
5912 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5913 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoCapabilityFlagsKHR allFlags =
5914 VideoCapabilityFlagBitsKHR::eProtectedContent | VideoCapabilityFlagBitsKHR::eSeparateReferenceImages;
5915 };
5916
5917 // wrapper class for enum VkVideoSessionCreateFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoSessionCreateFlagBitsKHR.html
5918 enum class VideoSessionCreateFlagBitsKHR : VkVideoSessionCreateFlagsKHR
5919 {
5920 eProtectedContent = VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR,
5921 eAllowEncodeParameterOptimizations = VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS_BIT_KHR,
5922 eInlineQueries = VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR,
5923 eAllowEncodeQuantizationDeltaMap = VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR,
5924 eAllowEncodeEmphasisMap = VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_EMPHASIS_MAP_BIT_KHR,
5925 eInlineSessionParameters = VK_VIDEO_SESSION_CREATE_INLINE_SESSION_PARAMETERS_BIT_KHR
5926 };
5927
5928 // wrapper using for bitmask VkVideoSessionCreateFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoSessionCreateFlagsKHR.html
5929 using VideoSessionCreateFlagsKHR = Flags<VideoSessionCreateFlagBitsKHR>;
5930
5931 template <>
5932 struct FlagTraits<VideoSessionCreateFlagBitsKHR>
5933 {
5934 using WrappedType = VkVideoSessionCreateFlagBitsKHR;
5935 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5936 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoSessionCreateFlagsKHR allFlags =
5937 VideoSessionCreateFlagBitsKHR::eProtectedContent | VideoSessionCreateFlagBitsKHR::eAllowEncodeParameterOptimizations |
5938 VideoSessionCreateFlagBitsKHR::eInlineQueries | VideoSessionCreateFlagBitsKHR::eAllowEncodeQuantizationDeltaMap |
5939 VideoSessionCreateFlagBitsKHR::eAllowEncodeEmphasisMap | VideoSessionCreateFlagBitsKHR::eInlineSessionParameters;
5940 };
5941
5942 // wrapper class for enum VkVideoCodingControlFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoCodingControlFlagBitsKHR.html
5943 enum class VideoCodingControlFlagBitsKHR : VkVideoCodingControlFlagsKHR
5944 {
5945 eReset = VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR,
5946 eEncodeRateControl = VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR,
5947 eEncodeQualityLevel = VK_VIDEO_CODING_CONTROL_ENCODE_QUALITY_LEVEL_BIT_KHR
5948 };
5949
5950 // wrapper using for bitmask VkVideoCodingControlFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoCodingControlFlagsKHR.html
5951 using VideoCodingControlFlagsKHR = Flags<VideoCodingControlFlagBitsKHR>;
5952
5953 template <>
5954 struct FlagTraits<VideoCodingControlFlagBitsKHR>
5955 {
5956 using WrappedType = VkVideoCodingControlFlagBitsKHR;
5957 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5958 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoCodingControlFlagsKHR allFlags =
5959 VideoCodingControlFlagBitsKHR::eReset | VideoCodingControlFlagBitsKHR::eEncodeRateControl | VideoCodingControlFlagBitsKHR::eEncodeQualityLevel;
5960 };
5961
5962 // wrapper class for enum VkQueryResultStatusKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryResultStatusKHR.html
5963 enum class QueryResultStatusKHR
5964 {
5965 eError = VK_QUERY_RESULT_STATUS_ERROR_KHR,
5966 eNotReady = VK_QUERY_RESULT_STATUS_NOT_READY_KHR,
5967 eComplete = VK_QUERY_RESULT_STATUS_COMPLETE_KHR,
5968 eInsufficientBitstreamBufferRange = VK_QUERY_RESULT_STATUS_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_KHR
5969 };
5970
5971 // wrapper class for enum VkVideoSessionParametersCreateFlagBitsKHR, see
5972 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoSessionParametersCreateFlagBitsKHR.html
5973 enum class VideoSessionParametersCreateFlagBitsKHR : VkVideoSessionParametersCreateFlagsKHR
5974 {
5975 eQuantizationMapCompatible = VK_VIDEO_SESSION_PARAMETERS_CREATE_QUANTIZATION_MAP_COMPATIBLE_BIT_KHR
5976 };
5977
5978 // wrapper using for bitmask VkVideoSessionParametersCreateFlagsKHR, see
5979 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoSessionParametersCreateFlagsKHR.html
5980 using VideoSessionParametersCreateFlagsKHR = Flags<VideoSessionParametersCreateFlagBitsKHR>;
5981
5982 template <>
5983 struct FlagTraits<VideoSessionParametersCreateFlagBitsKHR>
5984 {
5985 using WrappedType = VkVideoSessionParametersCreateFlagBitsKHR;
5986 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
5987 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoSessionParametersCreateFlagsKHR allFlags = VideoSessionParametersCreateFlagBitsKHR::eQuantizationMapCompatible;
5988 };
5989
5990 enum class VideoBeginCodingFlagBitsKHR : VkVideoBeginCodingFlagsKHR
5991 {
5992 };
5993
5994 // wrapper using for bitmask VkVideoBeginCodingFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoBeginCodingFlagsKHR.html
5995 using VideoBeginCodingFlagsKHR = Flags<VideoBeginCodingFlagBitsKHR>;
5996
5997 template <>
5998 struct FlagTraits<VideoBeginCodingFlagBitsKHR>
5999 {
6000 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6001 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoBeginCodingFlagsKHR allFlags = {};
6002 };
6003
6004 enum class VideoEndCodingFlagBitsKHR : VkVideoEndCodingFlagsKHR
6005 {
6006 };
6007
6008 // wrapper using for bitmask VkVideoEndCodingFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEndCodingFlagsKHR.html
6009 using VideoEndCodingFlagsKHR = Flags<VideoEndCodingFlagBitsKHR>;
6010
6011 template <>
6012 struct FlagTraits<VideoEndCodingFlagBitsKHR>
6013 {
6014 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6015 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEndCodingFlagsKHR allFlags = {};
6016 };
6017
6018 //=== VK_KHR_video_decode_queue ===
6019
6020 // wrapper class for enum VkVideoDecodeCapabilityFlagBitsKHR, see
6021 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoDecodeCapabilityFlagBitsKHR.html
6022 enum class VideoDecodeCapabilityFlagBitsKHR : VkVideoDecodeCapabilityFlagsKHR
6023 {
6024 eDpbAndOutputCoincide = VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR,
6025 eDpbAndOutputDistinct = VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR
6026 };
6027
6028 // wrapper using for bitmask VkVideoDecodeCapabilityFlagsKHR, see
6029 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoDecodeCapabilityFlagsKHR.html
6030 using VideoDecodeCapabilityFlagsKHR = Flags<VideoDecodeCapabilityFlagBitsKHR>;
6031
6032 template <>
6033 struct FlagTraits<VideoDecodeCapabilityFlagBitsKHR>
6034 {
6035 using WrappedType = VkVideoDecodeCapabilityFlagBitsKHR;
6036 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6037 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoDecodeCapabilityFlagsKHR allFlags =
6038 VideoDecodeCapabilityFlagBitsKHR::eDpbAndOutputCoincide | VideoDecodeCapabilityFlagBitsKHR::eDpbAndOutputDistinct;
6039 };
6040
6041 // wrapper class for enum VkVideoDecodeUsageFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoDecodeUsageFlagBitsKHR.html
6042 enum class VideoDecodeUsageFlagBitsKHR : VkVideoDecodeUsageFlagsKHR
6043 {
6044 eDefault = VK_VIDEO_DECODE_USAGE_DEFAULT_KHR,
6045 eTranscoding = VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR,
6046 eOffline = VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR,
6047 eStreaming = VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR
6048 };
6049
6050 // wrapper using for bitmask VkVideoDecodeUsageFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoDecodeUsageFlagsKHR.html
6051 using VideoDecodeUsageFlagsKHR = Flags<VideoDecodeUsageFlagBitsKHR>;
6052
6053 template <>
6054 struct FlagTraits<VideoDecodeUsageFlagBitsKHR>
6055 {
6056 using WrappedType = VkVideoDecodeUsageFlagBitsKHR;
6057 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6058 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoDecodeUsageFlagsKHR allFlags = VideoDecodeUsageFlagBitsKHR::eDefault | VideoDecodeUsageFlagBitsKHR::eTranscoding |
6059 VideoDecodeUsageFlagBitsKHR::eOffline | VideoDecodeUsageFlagBitsKHR::eStreaming;
6060 };
6061
6062 enum class VideoDecodeFlagBitsKHR : VkVideoDecodeFlagsKHR
6063 {
6064 };
6065
6066 // wrapper using for bitmask VkVideoDecodeFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoDecodeFlagsKHR.html
6067 using VideoDecodeFlagsKHR = Flags<VideoDecodeFlagBitsKHR>;
6068
6069 template <>
6070 struct FlagTraits<VideoDecodeFlagBitsKHR>
6071 {
6072 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6073 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoDecodeFlagsKHR allFlags = {};
6074 };
6075
6076 //=== VK_EXT_transform_feedback ===
6077
6078 enum class PipelineRasterizationStateStreamCreateFlagBitsEXT : VkPipelineRasterizationStateStreamCreateFlagsEXT
6079 {
6080 };
6081
6082 // wrapper using for bitmask VkPipelineRasterizationStateStreamCreateFlagsEXT, see
6083 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineRasterizationStateStreamCreateFlagsEXT.html
6084 using PipelineRasterizationStateStreamCreateFlagsEXT = Flags<PipelineRasterizationStateStreamCreateFlagBitsEXT>;
6085
6086 template <>
6087 struct FlagTraits<PipelineRasterizationStateStreamCreateFlagBitsEXT>
6088 {
6089 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6090 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineRasterizationStateStreamCreateFlagsEXT allFlags = {};
6091 };
6092
6093 //=== VK_KHR_video_encode_h264 ===
6094
6095 // wrapper class for enum VkVideoEncodeH264CapabilityFlagBitsKHR, see
6096 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH264CapabilityFlagBitsKHR.html
6097 enum class VideoEncodeH264CapabilityFlagBitsKHR : VkVideoEncodeH264CapabilityFlagsKHR
6098 {
6099 eHrdCompliance = VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_KHR,
6100 ePredictionWeightTableGenerated = VK_VIDEO_ENCODE_H264_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR,
6101 eRowUnalignedSlice = VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_KHR,
6102 eDifferentSliceType = VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_KHR,
6103 eBFrameInL0List = VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR,
6104 eBFrameInL1List = VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR,
6105 ePerPictureTypeMinMaxQp = VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR,
6106 ePerSliceConstantQp = VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_KHR,
6107 eGeneratePrefixNalu = VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_KHR,
6108 eBPictureIntraRefresh = VK_VIDEO_ENCODE_H264_CAPABILITY_B_PICTURE_INTRA_REFRESH_BIT_KHR,
6109 eMbQpDiffWraparound = VK_VIDEO_ENCODE_H264_CAPABILITY_MB_QP_DIFF_WRAPAROUND_BIT_KHR
6110 };
6111
6112 // wrapper using for bitmask VkVideoEncodeH264CapabilityFlagsKHR, see
6113 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH264CapabilityFlagsKHR.html
6114 using VideoEncodeH264CapabilityFlagsKHR = Flags<VideoEncodeH264CapabilityFlagBitsKHR>;
6115
6116 template <>
6117 struct FlagTraits<VideoEncodeH264CapabilityFlagBitsKHR>
6118 {
6119 using WrappedType = VkVideoEncodeH264CapabilityFlagBitsKHR;
6120 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6121 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH264CapabilityFlagsKHR allFlags =
6122 VideoEncodeH264CapabilityFlagBitsKHR::eHrdCompliance | VideoEncodeH264CapabilityFlagBitsKHR::ePredictionWeightTableGenerated |
6123 VideoEncodeH264CapabilityFlagBitsKHR::eRowUnalignedSlice | VideoEncodeH264CapabilityFlagBitsKHR::eDifferentSliceType |
6124 VideoEncodeH264CapabilityFlagBitsKHR::eBFrameInL0List | VideoEncodeH264CapabilityFlagBitsKHR::eBFrameInL1List |
6125 VideoEncodeH264CapabilityFlagBitsKHR::ePerPictureTypeMinMaxQp | VideoEncodeH264CapabilityFlagBitsKHR::ePerSliceConstantQp |
6126 VideoEncodeH264CapabilityFlagBitsKHR::eGeneratePrefixNalu | VideoEncodeH264CapabilityFlagBitsKHR::eBPictureIntraRefresh |
6127 VideoEncodeH264CapabilityFlagBitsKHR::eMbQpDiffWraparound;
6128 };
6129
6130 // wrapper class for enum VkVideoEncodeH264StdFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH264StdFlagBitsKHR.html
6131 enum class VideoEncodeH264StdFlagBitsKHR : VkVideoEncodeH264StdFlagsKHR
6132 {
6133 eSeparateColorPlaneFlagSet = VK_VIDEO_ENCODE_H264_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR,
6134 eQpprimeYZeroTransformBypassFlagSet = VK_VIDEO_ENCODE_H264_STD_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG_SET_BIT_KHR,
6135 eScalingMatrixPresentFlagSet = VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_KHR,
6136 eChromaQpIndexOffset = VK_VIDEO_ENCODE_H264_STD_CHROMA_QP_INDEX_OFFSET_BIT_KHR,
6137 eSecondChromaQpIndexOffset = VK_VIDEO_ENCODE_H264_STD_SECOND_CHROMA_QP_INDEX_OFFSET_BIT_KHR,
6138 ePicInitQpMinus26 = VK_VIDEO_ENCODE_H264_STD_PIC_INIT_QP_MINUS26_BIT_KHR,
6139 eWeightedPredFlagSet = VK_VIDEO_ENCODE_H264_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR,
6140 eWeightedBipredIdcExplicit = VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_EXPLICIT_BIT_KHR,
6141 eWeightedBipredIdcImplicit = VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_IMPLICIT_BIT_KHR,
6142 eTransform8X8ModeFlagSet = VK_VIDEO_ENCODE_H264_STD_TRANSFORM_8X8_MODE_FLAG_SET_BIT_KHR,
6143 eDirectSpatialMvPredFlagUnset = VK_VIDEO_ENCODE_H264_STD_DIRECT_SPATIAL_MV_PRED_FLAG_UNSET_BIT_KHR,
6144 eEntropyCodingModeFlagUnset = VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_UNSET_BIT_KHR,
6145 eEntropyCodingModeFlagSet = VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_SET_BIT_KHR,
6146 eDirect8X8InferenceFlagUnset = VK_VIDEO_ENCODE_H264_STD_DIRECT_8X8_INFERENCE_FLAG_UNSET_BIT_KHR,
6147 eConstrainedIntraPredFlagSet = VK_VIDEO_ENCODE_H264_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR,
6148 eDeblockingFilterDisabled = VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_DISABLED_BIT_KHR,
6149 eDeblockingFilterEnabled = VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_ENABLED_BIT_KHR,
6150 eDeblockingFilterPartial = VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_PARTIAL_BIT_KHR,
6151 eSliceQpDelta = VK_VIDEO_ENCODE_H264_STD_SLICE_QP_DELTA_BIT_KHR,
6152 eDifferentSliceQpDelta = VK_VIDEO_ENCODE_H264_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR
6153 };
6154
6155 // wrapper using for bitmask VkVideoEncodeH264StdFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH264StdFlagsKHR.html
6156 using VideoEncodeH264StdFlagsKHR = Flags<VideoEncodeH264StdFlagBitsKHR>;
6157
6158 template <>
6159 struct FlagTraits<VideoEncodeH264StdFlagBitsKHR>
6160 {
6161 using WrappedType = VkVideoEncodeH264StdFlagBitsKHR;
6162 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6163 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH264StdFlagsKHR allFlags =
6164 VideoEncodeH264StdFlagBitsKHR::eSeparateColorPlaneFlagSet | VideoEncodeH264StdFlagBitsKHR::eQpprimeYZeroTransformBypassFlagSet |
6165 VideoEncodeH264StdFlagBitsKHR::eScalingMatrixPresentFlagSet | VideoEncodeH264StdFlagBitsKHR::eChromaQpIndexOffset |
6166 VideoEncodeH264StdFlagBitsKHR::eSecondChromaQpIndexOffset | VideoEncodeH264StdFlagBitsKHR::ePicInitQpMinus26 |
6167 VideoEncodeH264StdFlagBitsKHR::eWeightedPredFlagSet | VideoEncodeH264StdFlagBitsKHR::eWeightedBipredIdcExplicit |
6168 VideoEncodeH264StdFlagBitsKHR::eWeightedBipredIdcImplicit | VideoEncodeH264StdFlagBitsKHR::eTransform8X8ModeFlagSet |
6169 VideoEncodeH264StdFlagBitsKHR::eDirectSpatialMvPredFlagUnset | VideoEncodeH264StdFlagBitsKHR::eEntropyCodingModeFlagUnset |
6170 VideoEncodeH264StdFlagBitsKHR::eEntropyCodingModeFlagSet | VideoEncodeH264StdFlagBitsKHR::eDirect8X8InferenceFlagUnset |
6171 VideoEncodeH264StdFlagBitsKHR::eConstrainedIntraPredFlagSet | VideoEncodeH264StdFlagBitsKHR::eDeblockingFilterDisabled |
6172 VideoEncodeH264StdFlagBitsKHR::eDeblockingFilterEnabled | VideoEncodeH264StdFlagBitsKHR::eDeblockingFilterPartial |
6173 VideoEncodeH264StdFlagBitsKHR::eSliceQpDelta | VideoEncodeH264StdFlagBitsKHR::eDifferentSliceQpDelta;
6174 };
6175
6176 // wrapper class for enum VkVideoEncodeH264RateControlFlagBitsKHR, see
6177 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH264RateControlFlagBitsKHR.html
6178 enum class VideoEncodeH264RateControlFlagBitsKHR : VkVideoEncodeH264RateControlFlagsKHR
6179 {
6180 eAttemptHrdCompliance = VK_VIDEO_ENCODE_H264_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR,
6181 eRegularGop = VK_VIDEO_ENCODE_H264_RATE_CONTROL_REGULAR_GOP_BIT_KHR,
6182 eReferencePatternFlat = VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR,
6183 eReferencePatternDyadic = VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR,
6184 eTemporalLayerPatternDyadic = VK_VIDEO_ENCODE_H264_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR
6185 };
6186
6187 // wrapper using for bitmask VkVideoEncodeH264RateControlFlagsKHR, see
6188 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH264RateControlFlagsKHR.html
6189 using VideoEncodeH264RateControlFlagsKHR = Flags<VideoEncodeH264RateControlFlagBitsKHR>;
6190
6191 template <>
6192 struct FlagTraits<VideoEncodeH264RateControlFlagBitsKHR>
6193 {
6194 using WrappedType = VkVideoEncodeH264RateControlFlagBitsKHR;
6195 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6196 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH264RateControlFlagsKHR allFlags =
6197 VideoEncodeH264RateControlFlagBitsKHR::eAttemptHrdCompliance | VideoEncodeH264RateControlFlagBitsKHR::eRegularGop |
6198 VideoEncodeH264RateControlFlagBitsKHR::eReferencePatternFlat | VideoEncodeH264RateControlFlagBitsKHR::eReferencePatternDyadic |
6199 VideoEncodeH264RateControlFlagBitsKHR::eTemporalLayerPatternDyadic;
6200 };
6201
6202 //=== VK_KHR_video_encode_h265 ===
6203
6204 // wrapper class for enum VkVideoEncodeH265CapabilityFlagBitsKHR, see
6205 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH265CapabilityFlagBitsKHR.html
6206 enum class VideoEncodeH265CapabilityFlagBitsKHR : VkVideoEncodeH265CapabilityFlagsKHR
6207 {
6208 eHrdCompliance = VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_KHR,
6209 ePredictionWeightTableGenerated = VK_VIDEO_ENCODE_H265_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR,
6210 eRowUnalignedSliceSegment = VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_KHR,
6211 eDifferentSliceSegmentType = VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_SEGMENT_TYPE_BIT_KHR,
6212 eBFrameInL0List = VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR,
6213 eBFrameInL1List = VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR,
6214 ePerPictureTypeMinMaxQp = VK_VIDEO_ENCODE_H265_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR,
6215 ePerSliceSegmentConstantQp = VK_VIDEO_ENCODE_H265_CAPABILITY_PER_SLICE_SEGMENT_CONSTANT_QP_BIT_KHR,
6216 eMultipleTilesPerSliceSegment = VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_KHR,
6217 eMultipleSliceSegmentsPerTile = VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_KHR,
6218 eBPictureIntraRefresh = VK_VIDEO_ENCODE_H265_CAPABILITY_B_PICTURE_INTRA_REFRESH_BIT_KHR,
6219 eCuQpDiffWraparound = VK_VIDEO_ENCODE_H265_CAPABILITY_CU_QP_DIFF_WRAPAROUND_BIT_KHR
6220 };
6221
6222 // wrapper using for bitmask VkVideoEncodeH265CapabilityFlagsKHR, see
6223 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH265CapabilityFlagsKHR.html
6224 using VideoEncodeH265CapabilityFlagsKHR = Flags<VideoEncodeH265CapabilityFlagBitsKHR>;
6225
6226 template <>
6227 struct FlagTraits<VideoEncodeH265CapabilityFlagBitsKHR>
6228 {
6229 using WrappedType = VkVideoEncodeH265CapabilityFlagBitsKHR;
6230 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6231 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH265CapabilityFlagsKHR allFlags =
6232 VideoEncodeH265CapabilityFlagBitsKHR::eHrdCompliance | VideoEncodeH265CapabilityFlagBitsKHR::ePredictionWeightTableGenerated |
6233 VideoEncodeH265CapabilityFlagBitsKHR::eRowUnalignedSliceSegment | VideoEncodeH265CapabilityFlagBitsKHR::eDifferentSliceSegmentType |
6234 VideoEncodeH265CapabilityFlagBitsKHR::eBFrameInL0List | VideoEncodeH265CapabilityFlagBitsKHR::eBFrameInL1List |
6235 VideoEncodeH265CapabilityFlagBitsKHR::ePerPictureTypeMinMaxQp | VideoEncodeH265CapabilityFlagBitsKHR::ePerSliceSegmentConstantQp |
6236 VideoEncodeH265CapabilityFlagBitsKHR::eMultipleTilesPerSliceSegment | VideoEncodeH265CapabilityFlagBitsKHR::eMultipleSliceSegmentsPerTile |
6237 VideoEncodeH265CapabilityFlagBitsKHR::eBPictureIntraRefresh | VideoEncodeH265CapabilityFlagBitsKHR::eCuQpDiffWraparound;
6238 };
6239
6240 // wrapper class for enum VkVideoEncodeH265StdFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH265StdFlagBitsKHR.html
6241 enum class VideoEncodeH265StdFlagBitsKHR : VkVideoEncodeH265StdFlagsKHR
6242 {
6243 eSeparateColorPlaneFlagSet = VK_VIDEO_ENCODE_H265_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR,
6244 eSampleAdaptiveOffsetEnabledFlagSet = VK_VIDEO_ENCODE_H265_STD_SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG_SET_BIT_KHR,
6245 eScalingListDataPresentFlagSet = VK_VIDEO_ENCODE_H265_STD_SCALING_LIST_DATA_PRESENT_FLAG_SET_BIT_KHR,
6246 ePcmEnabledFlagSet = VK_VIDEO_ENCODE_H265_STD_PCM_ENABLED_FLAG_SET_BIT_KHR,
6247 eSpsTemporalMvpEnabledFlagSet = VK_VIDEO_ENCODE_H265_STD_SPS_TEMPORAL_MVP_ENABLED_FLAG_SET_BIT_KHR,
6248 eInitQpMinus26 = VK_VIDEO_ENCODE_H265_STD_INIT_QP_MINUS26_BIT_KHR,
6249 eWeightedPredFlagSet = VK_VIDEO_ENCODE_H265_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR,
6250 eWeightedBipredFlagSet = VK_VIDEO_ENCODE_H265_STD_WEIGHTED_BIPRED_FLAG_SET_BIT_KHR,
6251 eLog2ParallelMergeLevelMinus2 = VK_VIDEO_ENCODE_H265_STD_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_KHR,
6252 eSignDataHidingEnabledFlagSet = VK_VIDEO_ENCODE_H265_STD_SIGN_DATA_HIDING_ENABLED_FLAG_SET_BIT_KHR,
6253 eTransformSkipEnabledFlagSet = VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_SET_BIT_KHR,
6254 eTransformSkipEnabledFlagUnset = VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_UNSET_BIT_KHR,
6255 ePpsSliceChromaQpOffsetsPresentFlagSet = VK_VIDEO_ENCODE_H265_STD_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG_SET_BIT_KHR,
6256 eTransquantBypassEnabledFlagSet = VK_VIDEO_ENCODE_H265_STD_TRANSQUANT_BYPASS_ENABLED_FLAG_SET_BIT_KHR,
6257 eConstrainedIntraPredFlagSet = VK_VIDEO_ENCODE_H265_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR,
6258 eEntropyCodingSyncEnabledFlagSet = VK_VIDEO_ENCODE_H265_STD_ENTROPY_CODING_SYNC_ENABLED_FLAG_SET_BIT_KHR,
6259 eDeblockingFilterOverrideEnabledFlagSet = VK_VIDEO_ENCODE_H265_STD_DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_SET_BIT_KHR,
6260 eDependentSliceSegmentsEnabledFlagSet = VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG_SET_BIT_KHR,
6261 eDependentSliceSegmentFlagSet = VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENT_FLAG_SET_BIT_KHR,
6262 eSliceQpDelta = VK_VIDEO_ENCODE_H265_STD_SLICE_QP_DELTA_BIT_KHR,
6263 eDifferentSliceQpDelta = VK_VIDEO_ENCODE_H265_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR
6264 };
6265
6266 // wrapper using for bitmask VkVideoEncodeH265StdFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH265StdFlagsKHR.html
6267 using VideoEncodeH265StdFlagsKHR = Flags<VideoEncodeH265StdFlagBitsKHR>;
6268
6269 template <>
6270 struct FlagTraits<VideoEncodeH265StdFlagBitsKHR>
6271 {
6272 using WrappedType = VkVideoEncodeH265StdFlagBitsKHR;
6273 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6274 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH265StdFlagsKHR allFlags =
6275 VideoEncodeH265StdFlagBitsKHR::eSeparateColorPlaneFlagSet | VideoEncodeH265StdFlagBitsKHR::eSampleAdaptiveOffsetEnabledFlagSet |
6276 VideoEncodeH265StdFlagBitsKHR::eScalingListDataPresentFlagSet | VideoEncodeH265StdFlagBitsKHR::ePcmEnabledFlagSet |
6277 VideoEncodeH265StdFlagBitsKHR::eSpsTemporalMvpEnabledFlagSet | VideoEncodeH265StdFlagBitsKHR::eInitQpMinus26 |
6278 VideoEncodeH265StdFlagBitsKHR::eWeightedPredFlagSet | VideoEncodeH265StdFlagBitsKHR::eWeightedBipredFlagSet |
6279 VideoEncodeH265StdFlagBitsKHR::eLog2ParallelMergeLevelMinus2 | VideoEncodeH265StdFlagBitsKHR::eSignDataHidingEnabledFlagSet |
6280 VideoEncodeH265StdFlagBitsKHR::eTransformSkipEnabledFlagSet | VideoEncodeH265StdFlagBitsKHR::eTransformSkipEnabledFlagUnset |
6281 VideoEncodeH265StdFlagBitsKHR::ePpsSliceChromaQpOffsetsPresentFlagSet | VideoEncodeH265StdFlagBitsKHR::eTransquantBypassEnabledFlagSet |
6282 VideoEncodeH265StdFlagBitsKHR::eConstrainedIntraPredFlagSet | VideoEncodeH265StdFlagBitsKHR::eEntropyCodingSyncEnabledFlagSet |
6283 VideoEncodeH265StdFlagBitsKHR::eDeblockingFilterOverrideEnabledFlagSet | VideoEncodeH265StdFlagBitsKHR::eDependentSliceSegmentsEnabledFlagSet |
6284 VideoEncodeH265StdFlagBitsKHR::eDependentSliceSegmentFlagSet | VideoEncodeH265StdFlagBitsKHR::eSliceQpDelta |
6285 VideoEncodeH265StdFlagBitsKHR::eDifferentSliceQpDelta;
6286 };
6287
6288 // wrapper class for enum VkVideoEncodeH265CtbSizeFlagBitsKHR, see
6289 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH265CtbSizeFlagBitsKHR.html
6290 enum class VideoEncodeH265CtbSizeFlagBitsKHR : VkVideoEncodeH265CtbSizeFlagsKHR
6291 {
6292 e16 = VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_KHR,
6293 e32 = VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_KHR,
6294 e64 = VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_KHR
6295 };
6296
6297 // wrapper using for bitmask VkVideoEncodeH265CtbSizeFlagsKHR, see
6298 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH265CtbSizeFlagsKHR.html
6299 using VideoEncodeH265CtbSizeFlagsKHR = Flags<VideoEncodeH265CtbSizeFlagBitsKHR>;
6300
6301 template <>
6302 struct FlagTraits<VideoEncodeH265CtbSizeFlagBitsKHR>
6303 {
6304 using WrappedType = VkVideoEncodeH265CtbSizeFlagBitsKHR;
6305 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6306 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH265CtbSizeFlagsKHR allFlags =
6307 VideoEncodeH265CtbSizeFlagBitsKHR::e16 | VideoEncodeH265CtbSizeFlagBitsKHR::e32 | VideoEncodeH265CtbSizeFlagBitsKHR::e64;
6308 };
6309
6310 // wrapper class for enum VkVideoEncodeH265TransformBlockSizeFlagBitsKHR, see
6311 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH265TransformBlockSizeFlagBitsKHR.html
6312 enum class VideoEncodeH265TransformBlockSizeFlagBitsKHR : VkVideoEncodeH265TransformBlockSizeFlagsKHR
6313 {
6314 e4 = VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_KHR,
6315 e8 = VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_KHR,
6316 e16 = VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_KHR,
6317 e32 = VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_KHR
6318 };
6319
6320 // wrapper using for bitmask VkVideoEncodeH265TransformBlockSizeFlagsKHR, see
6321 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH265TransformBlockSizeFlagsKHR.html
6322 using VideoEncodeH265TransformBlockSizeFlagsKHR = Flags<VideoEncodeH265TransformBlockSizeFlagBitsKHR>;
6323
6324 template <>
6325 struct FlagTraits<VideoEncodeH265TransformBlockSizeFlagBitsKHR>
6326 {
6327 using WrappedType = VkVideoEncodeH265TransformBlockSizeFlagBitsKHR;
6328 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6329 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH265TransformBlockSizeFlagsKHR allFlags =
6330 VideoEncodeH265TransformBlockSizeFlagBitsKHR::e4 | VideoEncodeH265TransformBlockSizeFlagBitsKHR::e8 | VideoEncodeH265TransformBlockSizeFlagBitsKHR::e16 |
6331 VideoEncodeH265TransformBlockSizeFlagBitsKHR::e32;
6332 };
6333
6334 // wrapper class for enum VkVideoEncodeH265RateControlFlagBitsKHR, see
6335 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH265RateControlFlagBitsKHR.html
6336 enum class VideoEncodeH265RateControlFlagBitsKHR : VkVideoEncodeH265RateControlFlagsKHR
6337 {
6338 eAttemptHrdCompliance = VK_VIDEO_ENCODE_H265_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR,
6339 eRegularGop = VK_VIDEO_ENCODE_H265_RATE_CONTROL_REGULAR_GOP_BIT_KHR,
6340 eReferencePatternFlat = VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR,
6341 eReferencePatternDyadic = VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR,
6342 eTemporalSubLayerPatternDyadic = VK_VIDEO_ENCODE_H265_RATE_CONTROL_TEMPORAL_SUB_LAYER_PATTERN_DYADIC_BIT_KHR
6343 };
6344
6345 // wrapper using for bitmask VkVideoEncodeH265RateControlFlagsKHR, see
6346 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH265RateControlFlagsKHR.html
6347 using VideoEncodeH265RateControlFlagsKHR = Flags<VideoEncodeH265RateControlFlagBitsKHR>;
6348
6349 template <>
6350 struct FlagTraits<VideoEncodeH265RateControlFlagBitsKHR>
6351 {
6352 using WrappedType = VkVideoEncodeH265RateControlFlagBitsKHR;
6353 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6354 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH265RateControlFlagsKHR allFlags =
6355 VideoEncodeH265RateControlFlagBitsKHR::eAttemptHrdCompliance | VideoEncodeH265RateControlFlagBitsKHR::eRegularGop |
6356 VideoEncodeH265RateControlFlagBitsKHR::eReferencePatternFlat | VideoEncodeH265RateControlFlagBitsKHR::eReferencePatternDyadic |
6357 VideoEncodeH265RateControlFlagBitsKHR::eTemporalSubLayerPatternDyadic;
6358 };
6359
6360 //=== VK_KHR_video_decode_h264 ===
6361
6362 // wrapper class for enum VkVideoDecodeH264PictureLayoutFlagBitsKHR, see
6363 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoDecodeH264PictureLayoutFlagBitsKHR.html
6364 enum class VideoDecodeH264PictureLayoutFlagBitsKHR : VkVideoDecodeH264PictureLayoutFlagsKHR
6365 {
6366 eProgressive = VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR,
6367 eInterlacedInterleavedLines = VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR,
6368 eInterlacedSeparatePlanes = VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR
6369 };
6370
6371 // wrapper using for bitmask VkVideoDecodeH264PictureLayoutFlagsKHR, see
6372 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoDecodeH264PictureLayoutFlagsKHR.html
6373 using VideoDecodeH264PictureLayoutFlagsKHR = Flags<VideoDecodeH264PictureLayoutFlagBitsKHR>;
6374
6375 template <>
6376 struct FlagTraits<VideoDecodeH264PictureLayoutFlagBitsKHR>
6377 {
6378 using WrappedType = VkVideoDecodeH264PictureLayoutFlagBitsKHR;
6379 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6380 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoDecodeH264PictureLayoutFlagsKHR allFlags = VideoDecodeH264PictureLayoutFlagBitsKHR::eProgressive |
6381 VideoDecodeH264PictureLayoutFlagBitsKHR::eInterlacedInterleavedLines |
6382 VideoDecodeH264PictureLayoutFlagBitsKHR::eInterlacedSeparatePlanes;
6383 };
6384
6385 //=== VK_AMD_shader_info ===
6386
6387 // wrapper class for enum VkShaderInfoTypeAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderInfoTypeAMD.html
6388 enum class ShaderInfoTypeAMD
6389 {
6390 eStatistics = VK_SHADER_INFO_TYPE_STATISTICS_AMD,
6391 eBinary = VK_SHADER_INFO_TYPE_BINARY_AMD,
6392 eDisassembly = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD
6393 };
6394
6395 #if defined( VK_USE_PLATFORM_GGP )
6396 //=== VK_GGP_stream_descriptor_surface ===
6397
6398 enum class StreamDescriptorSurfaceCreateFlagBitsGGP : VkStreamDescriptorSurfaceCreateFlagsGGP
6399 {
6400 };
6401
6402 // wrapper using for bitmask VkStreamDescriptorSurfaceCreateFlagsGGP, see
6403 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkStreamDescriptorSurfaceCreateFlagsGGP.html
6404 using StreamDescriptorSurfaceCreateFlagsGGP = Flags<StreamDescriptorSurfaceCreateFlagBitsGGP>;
6405
6406 template <>
6407 struct FlagTraits<StreamDescriptorSurfaceCreateFlagBitsGGP>
6408 {
6409 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6410 static VULKAN_HPP_CONST_OR_CONSTEXPR StreamDescriptorSurfaceCreateFlagsGGP allFlags = {};
6411 };
6412 #endif /*VK_USE_PLATFORM_GGP*/
6413
6414 //=== VK_NV_external_memory_capabilities ===
6415
6416 // wrapper class for enum VkExternalMemoryHandleTypeFlagBitsNV, see
6417 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalMemoryHandleTypeFlagBitsNV.html
6418 enum class ExternalMemoryHandleTypeFlagBitsNV : VkExternalMemoryHandleTypeFlagsNV
6419 {
6420 eOpaqueWin32 = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV,
6421 eOpaqueWin32Kmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV,
6422 eD3D11Image = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV,
6423 eD3D11ImageKmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV
6424 };
6425
6426 // wrapper using for bitmask VkExternalMemoryHandleTypeFlagsNV, see
6427 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalMemoryHandleTypeFlagsNV.html
6428 using ExternalMemoryHandleTypeFlagsNV = Flags<ExternalMemoryHandleTypeFlagBitsNV>;
6429
6430 template <>
6431 struct FlagTraits<ExternalMemoryHandleTypeFlagBitsNV>
6432 {
6433 using WrappedType = VkExternalMemoryHandleTypeFlagBitsNV;
6434 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6435 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalMemoryHandleTypeFlagsNV allFlags =
6436 ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32 | ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32Kmt | ExternalMemoryHandleTypeFlagBitsNV::eD3D11Image |
6437 ExternalMemoryHandleTypeFlagBitsNV::eD3D11ImageKmt;
6438 };
6439
6440 // wrapper class for enum VkExternalMemoryFeatureFlagBitsNV, see
6441 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalMemoryFeatureFlagBitsNV.html
6442 enum class ExternalMemoryFeatureFlagBitsNV : VkExternalMemoryFeatureFlagsNV
6443 {
6444 eDedicatedOnly = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV,
6445 eExportable = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV,
6446 eImportable = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV
6447 };
6448
6449 // wrapper using for bitmask VkExternalMemoryFeatureFlagsNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalMemoryFeatureFlagsNV.html
6450 using ExternalMemoryFeatureFlagsNV = Flags<ExternalMemoryFeatureFlagBitsNV>;
6451
6452 template <>
6453 struct FlagTraits<ExternalMemoryFeatureFlagBitsNV>
6454 {
6455 using WrappedType = VkExternalMemoryFeatureFlagBitsNV;
6456 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6457 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalMemoryFeatureFlagsNV allFlags =
6458 ExternalMemoryFeatureFlagBitsNV::eDedicatedOnly | ExternalMemoryFeatureFlagBitsNV::eExportable | ExternalMemoryFeatureFlagBitsNV::eImportable;
6459 };
6460
6461 //=== VK_EXT_validation_flags ===
6462
6463 // wrapper class for enum VkValidationCheckEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkValidationCheckEXT.html
6464 enum class ValidationCheckEXT
6465 {
6466 eAll = VK_VALIDATION_CHECK_ALL_EXT,
6467 eShaders = VK_VALIDATION_CHECK_SHADERS_EXT
6468 };
6469
6470 #if defined( VK_USE_PLATFORM_VI_NN )
6471 //=== VK_NN_vi_surface ===
6472
6473 enum class ViSurfaceCreateFlagBitsNN : VkViSurfaceCreateFlagsNN
6474 {
6475 };
6476
6477 // wrapper using for bitmask VkViSurfaceCreateFlagsNN, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkViSurfaceCreateFlagsNN.html
6478 using ViSurfaceCreateFlagsNN = Flags<ViSurfaceCreateFlagBitsNN>;
6479
6480 template <>
6481 struct FlagTraits<ViSurfaceCreateFlagBitsNN>
6482 {
6483 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6484 static VULKAN_HPP_CONST_OR_CONSTEXPR ViSurfaceCreateFlagsNN allFlags = {};
6485 };
6486 #endif /*VK_USE_PLATFORM_VI_NN*/
6487
6488 //=== VK_EXT_conditional_rendering ===
6489
6490 // wrapper class for enum VkConditionalRenderingFlagBitsEXT, see
6491 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkConditionalRenderingFlagBitsEXT.html
6492 enum class ConditionalRenderingFlagBitsEXT : VkConditionalRenderingFlagsEXT
6493 {
6494 eInverted = VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT
6495 };
6496
6497 // wrapper using for bitmask VkConditionalRenderingFlagsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkConditionalRenderingFlagsEXT.html
6498 using ConditionalRenderingFlagsEXT = Flags<ConditionalRenderingFlagBitsEXT>;
6499
6500 template <>
6501 struct FlagTraits<ConditionalRenderingFlagBitsEXT>
6502 {
6503 using WrappedType = VkConditionalRenderingFlagBitsEXT;
6504 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6505 static VULKAN_HPP_CONST_OR_CONSTEXPR ConditionalRenderingFlagsEXT allFlags = ConditionalRenderingFlagBitsEXT::eInverted;
6506 };
6507
6508 //=== VK_EXT_display_surface_counter ===
6509
6510 // wrapper class for enum VkSurfaceCounterFlagBitsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSurfaceCounterFlagBitsEXT.html
6511 enum class SurfaceCounterFlagBitsEXT : VkSurfaceCounterFlagsEXT
6512 {
6513 eVblank = VK_SURFACE_COUNTER_VBLANK_BIT_EXT
6514 };
6515
6516 // wrapper using for bitmask VkSurfaceCounterFlagsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSurfaceCounterFlagsEXT.html
6517 using SurfaceCounterFlagsEXT = Flags<SurfaceCounterFlagBitsEXT>;
6518
6519 template <>
6520 struct FlagTraits<SurfaceCounterFlagBitsEXT>
6521 {
6522 using WrappedType = VkSurfaceCounterFlagBitsEXT;
6523 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6524 static VULKAN_HPP_CONST_OR_CONSTEXPR SurfaceCounterFlagsEXT allFlags = SurfaceCounterFlagBitsEXT::eVblank;
6525 };
6526
6527 //=== VK_EXT_display_control ===
6528
6529 // wrapper class for enum VkDisplayPowerStateEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayPowerStateEXT.html
6530 enum class DisplayPowerStateEXT
6531 {
6532 eOff = VK_DISPLAY_POWER_STATE_OFF_EXT,
6533 eSuspend = VK_DISPLAY_POWER_STATE_SUSPEND_EXT,
6534 eOn = VK_DISPLAY_POWER_STATE_ON_EXT
6535 };
6536
6537 // wrapper class for enum VkDeviceEventTypeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceEventTypeEXT.html
6538 enum class DeviceEventTypeEXT
6539 {
6540 eDisplayHotplug = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT
6541 };
6542
6543 // wrapper class for enum VkDisplayEventTypeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayEventTypeEXT.html
6544 enum class DisplayEventTypeEXT
6545 {
6546 eFirstPixelOut = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT
6547 };
6548
6549 //=== VK_NV_viewport_swizzle ===
6550
6551 // wrapper class for enum VkViewportCoordinateSwizzleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkViewportCoordinateSwizzleNV.html
6552 enum class ViewportCoordinateSwizzleNV
6553 {
6554 ePositiveX = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,
6555 eNegativeX = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV,
6556 ePositiveY = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV,
6557 eNegativeY = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV,
6558 ePositiveZ = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV,
6559 eNegativeZ = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV,
6560 ePositiveW = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV,
6561 eNegativeW = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV
6562 };
6563
6564 enum class PipelineViewportSwizzleStateCreateFlagBitsNV : VkPipelineViewportSwizzleStateCreateFlagsNV
6565 {
6566 };
6567
6568 // wrapper using for bitmask VkPipelineViewportSwizzleStateCreateFlagsNV, see
6569 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineViewportSwizzleStateCreateFlagsNV.html
6570 using PipelineViewportSwizzleStateCreateFlagsNV = Flags<PipelineViewportSwizzleStateCreateFlagBitsNV>;
6571
6572 template <>
6573 struct FlagTraits<PipelineViewportSwizzleStateCreateFlagBitsNV>
6574 {
6575 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6576 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineViewportSwizzleStateCreateFlagsNV allFlags = {};
6577 };
6578
6579 //=== VK_EXT_discard_rectangles ===
6580
6581 // wrapper class for enum VkDiscardRectangleModeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDiscardRectangleModeEXT.html
6582 enum class DiscardRectangleModeEXT
6583 {
6584 eInclusive = VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,
6585 eExclusive = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT
6586 };
6587
6588 enum class PipelineDiscardRectangleStateCreateFlagBitsEXT : VkPipelineDiscardRectangleStateCreateFlagsEXT
6589 {
6590 };
6591
6592 // wrapper using for bitmask VkPipelineDiscardRectangleStateCreateFlagsEXT, see
6593 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineDiscardRectangleStateCreateFlagsEXT.html
6594 using PipelineDiscardRectangleStateCreateFlagsEXT = Flags<PipelineDiscardRectangleStateCreateFlagBitsEXT>;
6595
6596 template <>
6597 struct FlagTraits<PipelineDiscardRectangleStateCreateFlagBitsEXT>
6598 {
6599 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6600 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineDiscardRectangleStateCreateFlagsEXT allFlags = {};
6601 };
6602
6603 //=== VK_EXT_conservative_rasterization ===
6604
6605 // wrapper class for enum VkConservativeRasterizationModeEXT, see
6606 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkConservativeRasterizationModeEXT.html
6607 enum class ConservativeRasterizationModeEXT
6608 {
6609 eDisabled = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT,
6610 eOverestimate = VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT,
6611 eUnderestimate = VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT
6612 };
6613
6614 enum class PipelineRasterizationConservativeStateCreateFlagBitsEXT : VkPipelineRasterizationConservativeStateCreateFlagsEXT
6615 {
6616 };
6617
6618 // wrapper using for bitmask VkPipelineRasterizationConservativeStateCreateFlagsEXT, see
6619 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineRasterizationConservativeStateCreateFlagsEXT.html
6620 using PipelineRasterizationConservativeStateCreateFlagsEXT = Flags<PipelineRasterizationConservativeStateCreateFlagBitsEXT>;
6621
6622 template <>
6623 struct FlagTraits<PipelineRasterizationConservativeStateCreateFlagBitsEXT>
6624 {
6625 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6626 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineRasterizationConservativeStateCreateFlagsEXT allFlags = {};
6627 };
6628
6629 //=== VK_EXT_depth_clip_enable ===
6630
6631 enum class PipelineRasterizationDepthClipStateCreateFlagBitsEXT : VkPipelineRasterizationDepthClipStateCreateFlagsEXT
6632 {
6633 };
6634
6635 // wrapper using for bitmask VkPipelineRasterizationDepthClipStateCreateFlagsEXT, see
6636 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineRasterizationDepthClipStateCreateFlagsEXT.html
6637 using PipelineRasterizationDepthClipStateCreateFlagsEXT = Flags<PipelineRasterizationDepthClipStateCreateFlagBitsEXT>;
6638
6639 template <>
6640 struct FlagTraits<PipelineRasterizationDepthClipStateCreateFlagBitsEXT>
6641 {
6642 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6643 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineRasterizationDepthClipStateCreateFlagsEXT allFlags = {};
6644 };
6645
6646 //=== VK_KHR_performance_query ===
6647
6648 // wrapper class for enum VkPerformanceCounterDescriptionFlagBitsKHR, see
6649 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceCounterDescriptionFlagBitsKHR.html
6650 enum class PerformanceCounterDescriptionFlagBitsKHR : VkPerformanceCounterDescriptionFlagsKHR
6651 {
6652 ePerformanceImpacting = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
6653 eConcurrentlyImpacted = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR
6654 };
6655
6656 // wrapper using for bitmask VkPerformanceCounterDescriptionFlagsKHR, see
6657 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceCounterDescriptionFlagsKHR.html
6658 using PerformanceCounterDescriptionFlagsKHR = Flags<PerformanceCounterDescriptionFlagBitsKHR>;
6659
6660 template <>
6661 struct FlagTraits<PerformanceCounterDescriptionFlagBitsKHR>
6662 {
6663 using WrappedType = VkPerformanceCounterDescriptionFlagBitsKHR;
6664 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6665 static VULKAN_HPP_CONST_OR_CONSTEXPR PerformanceCounterDescriptionFlagsKHR allFlags =
6666 PerformanceCounterDescriptionFlagBitsKHR::ePerformanceImpacting | PerformanceCounterDescriptionFlagBitsKHR::eConcurrentlyImpacted;
6667 };
6668
6669 // wrapper class for enum VkPerformanceCounterScopeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceCounterScopeKHR.html
6670 enum class PerformanceCounterScopeKHR
6671 {
6672 eCommandBuffer = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
6673 eVkQueryScopeCommandBuffer = VK_QUERY_SCOPE_COMMAND_BUFFER_KHR,
6674 eRenderPass = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
6675 eVkQueryScopeRenderPass = VK_QUERY_SCOPE_RENDER_PASS_KHR,
6676 eCommand = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
6677 eVkQueryScopeCommand = VK_QUERY_SCOPE_COMMAND_KHR
6678 };
6679
6680 // wrapper class for enum VkPerformanceCounterStorageKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceCounterStorageKHR.html
6681 enum class PerformanceCounterStorageKHR
6682 {
6683 eInt32 = VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR,
6684 eInt64 = VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR,
6685 eUint32 = VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR,
6686 eUint64 = VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR,
6687 eFloat32 = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR,
6688 eFloat64 = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR
6689 };
6690
6691 // wrapper class for enum VkPerformanceCounterUnitKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceCounterUnitKHR.html
6692 enum class PerformanceCounterUnitKHR
6693 {
6694 eGeneric = VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR,
6695 ePercentage = VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR,
6696 eNanoseconds = VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR,
6697 eBytes = VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR,
6698 eBytesPerSecond = VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR,
6699 eKelvin = VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR,
6700 eWatts = VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR,
6701 eVolts = VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR,
6702 eAmps = VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR,
6703 eHertz = VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR,
6704 eCycles = VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR
6705 };
6706
6707 enum class AcquireProfilingLockFlagBitsKHR : VkAcquireProfilingLockFlagsKHR
6708 {
6709 };
6710
6711 // wrapper using for bitmask VkAcquireProfilingLockFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAcquireProfilingLockFlagsKHR.html
6712 using AcquireProfilingLockFlagsKHR = Flags<AcquireProfilingLockFlagBitsKHR>;
6713
6714 template <>
6715 struct FlagTraits<AcquireProfilingLockFlagBitsKHR>
6716 {
6717 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6718 static VULKAN_HPP_CONST_OR_CONSTEXPR AcquireProfilingLockFlagsKHR allFlags = {};
6719 };
6720
6721 #if defined( VK_USE_PLATFORM_IOS_MVK )
6722 //=== VK_MVK_ios_surface ===
6723
6724 enum class IOSSurfaceCreateFlagBitsMVK : VkIOSSurfaceCreateFlagsMVK
6725 {
6726 };
6727
6728 // wrapper using for bitmask VkIOSSurfaceCreateFlagsMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkIOSSurfaceCreateFlagsMVK.html
6729 using IOSSurfaceCreateFlagsMVK = Flags<IOSSurfaceCreateFlagBitsMVK>;
6730
6731 template <>
6732 struct FlagTraits<IOSSurfaceCreateFlagBitsMVK>
6733 {
6734 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6735 static VULKAN_HPP_CONST_OR_CONSTEXPR IOSSurfaceCreateFlagsMVK allFlags = {};
6736 };
6737 #endif /*VK_USE_PLATFORM_IOS_MVK*/
6738
6739 #if defined( VK_USE_PLATFORM_MACOS_MVK )
6740 //=== VK_MVK_macos_surface ===
6741
6742 enum class MacOSSurfaceCreateFlagBitsMVK : VkMacOSSurfaceCreateFlagsMVK
6743 {
6744 };
6745
6746 // wrapper using for bitmask VkMacOSSurfaceCreateFlagsMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMacOSSurfaceCreateFlagsMVK.html
6747 using MacOSSurfaceCreateFlagsMVK = Flags<MacOSSurfaceCreateFlagBitsMVK>;
6748
6749 template <>
6750 struct FlagTraits<MacOSSurfaceCreateFlagBitsMVK>
6751 {
6752 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6753 static VULKAN_HPP_CONST_OR_CONSTEXPR MacOSSurfaceCreateFlagsMVK allFlags = {};
6754 };
6755 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
6756
6757 //=== VK_EXT_debug_utils ===
6758
6759 // wrapper class for enum VkDebugUtilsMessageSeverityFlagBitsEXT, see
6760 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugUtilsMessageSeverityFlagBitsEXT.html
6761 enum class DebugUtilsMessageSeverityFlagBitsEXT : VkDebugUtilsMessageSeverityFlagsEXT
6762 {
6763 eVerbose = VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT,
6764 eInfo = VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT,
6765 eWarning = VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT,
6766 eError = VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT
6767 };
6768
6769 // wrapper using for bitmask VkDebugUtilsMessageSeverityFlagsEXT, see
6770 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugUtilsMessageSeverityFlagsEXT.html
6771 using DebugUtilsMessageSeverityFlagsEXT = Flags<DebugUtilsMessageSeverityFlagBitsEXT>;
6772
6773 template <>
6774 struct FlagTraits<DebugUtilsMessageSeverityFlagBitsEXT>
6775 {
6776 using WrappedType = VkDebugUtilsMessageSeverityFlagBitsEXT;
6777 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6778 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugUtilsMessageSeverityFlagsEXT allFlags =
6779 DebugUtilsMessageSeverityFlagBitsEXT::eVerbose | DebugUtilsMessageSeverityFlagBitsEXT::eInfo | DebugUtilsMessageSeverityFlagBitsEXT::eWarning |
6780 DebugUtilsMessageSeverityFlagBitsEXT::eError;
6781 };
6782
6783 // wrapper class for enum VkDebugUtilsMessageTypeFlagBitsEXT, see
6784 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugUtilsMessageTypeFlagBitsEXT.html
6785 enum class DebugUtilsMessageTypeFlagBitsEXT : VkDebugUtilsMessageTypeFlagsEXT
6786 {
6787 eGeneral = VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT,
6788 eValidation = VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT,
6789 ePerformance = VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT,
6790 eDeviceAddressBinding = VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT
6791 };
6792
6793 // wrapper using for bitmask VkDebugUtilsMessageTypeFlagsEXT, see
6794 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugUtilsMessageTypeFlagsEXT.html
6795 using DebugUtilsMessageTypeFlagsEXT = Flags<DebugUtilsMessageTypeFlagBitsEXT>;
6796
6797 template <>
6798 struct FlagTraits<DebugUtilsMessageTypeFlagBitsEXT>
6799 {
6800 using WrappedType = VkDebugUtilsMessageTypeFlagBitsEXT;
6801 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6802 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugUtilsMessageTypeFlagsEXT allFlags =
6803 DebugUtilsMessageTypeFlagBitsEXT::eGeneral | DebugUtilsMessageTypeFlagBitsEXT::eValidation | DebugUtilsMessageTypeFlagBitsEXT::ePerformance |
6804 DebugUtilsMessageTypeFlagBitsEXT::eDeviceAddressBinding;
6805 };
6806
6807 enum class DebugUtilsMessengerCallbackDataFlagBitsEXT : VkDebugUtilsMessengerCallbackDataFlagsEXT
6808 {
6809 };
6810
6811 // wrapper using for bitmask VkDebugUtilsMessengerCallbackDataFlagsEXT, see
6812 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugUtilsMessengerCallbackDataFlagsEXT.html
6813 using DebugUtilsMessengerCallbackDataFlagsEXT = Flags<DebugUtilsMessengerCallbackDataFlagBitsEXT>;
6814
6815 template <>
6816 struct FlagTraits<DebugUtilsMessengerCallbackDataFlagBitsEXT>
6817 {
6818 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6819 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugUtilsMessengerCallbackDataFlagsEXT allFlags = {};
6820 };
6821
6822 enum class DebugUtilsMessengerCreateFlagBitsEXT : VkDebugUtilsMessengerCreateFlagsEXT
6823 {
6824 };
6825
6826 // wrapper using for bitmask VkDebugUtilsMessengerCreateFlagsEXT, see
6827 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugUtilsMessengerCreateFlagsEXT.html
6828 using DebugUtilsMessengerCreateFlagsEXT = Flags<DebugUtilsMessengerCreateFlagBitsEXT>;
6829
6830 template <>
6831 struct FlagTraits<DebugUtilsMessengerCreateFlagBitsEXT>
6832 {
6833 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6834 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugUtilsMessengerCreateFlagsEXT allFlags = {};
6835 };
6836
6837 //=== VK_EXT_blend_operation_advanced ===
6838
6839 // wrapper class for enum VkBlendOverlapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBlendOverlapEXT.html
6840 enum class BlendOverlapEXT
6841 {
6842 eUncorrelated = VK_BLEND_OVERLAP_UNCORRELATED_EXT,
6843 eDisjoint = VK_BLEND_OVERLAP_DISJOINT_EXT,
6844 eConjoint = VK_BLEND_OVERLAP_CONJOINT_EXT
6845 };
6846
6847 //=== VK_NV_fragment_coverage_to_color ===
6848
6849 enum class PipelineCoverageToColorStateCreateFlagBitsNV : VkPipelineCoverageToColorStateCreateFlagsNV
6850 {
6851 };
6852
6853 // wrapper using for bitmask VkPipelineCoverageToColorStateCreateFlagsNV, see
6854 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCoverageToColorStateCreateFlagsNV.html
6855 using PipelineCoverageToColorStateCreateFlagsNV = Flags<PipelineCoverageToColorStateCreateFlagBitsNV>;
6856
6857 template <>
6858 struct FlagTraits<PipelineCoverageToColorStateCreateFlagBitsNV>
6859 {
6860 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6861 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCoverageToColorStateCreateFlagsNV allFlags = {};
6862 };
6863
6864 //=== VK_KHR_acceleration_structure ===
6865
6866 // wrapper class for enum VkAccelerationStructureTypeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureTypeKHR.html
6867 enum class AccelerationStructureTypeKHR
6868 {
6869 eTopLevel = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
6870 eBottomLevel = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
6871 eGeneric = VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR
6872 };
6873
6874 using AccelerationStructureTypeNV = AccelerationStructureTypeKHR;
6875
6876 // wrapper class for enum VkAccelerationStructureBuildTypeKHR, see
6877 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureBuildTypeKHR.html
6878 enum class AccelerationStructureBuildTypeKHR
6879 {
6880 eHost = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR,
6881 eDevice = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR,
6882 eHostOrDevice = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR
6883 };
6884
6885 // wrapper class for enum VkGeometryFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGeometryFlagBitsKHR.html
6886 enum class GeometryFlagBitsKHR : VkGeometryFlagsKHR
6887 {
6888 eOpaque = VK_GEOMETRY_OPAQUE_BIT_KHR,
6889 eNoDuplicateAnyHitInvocation = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR
6890 };
6891
6892 using GeometryFlagBitsNV = GeometryFlagBitsKHR;
6893
6894 // wrapper using for bitmask VkGeometryFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGeometryFlagsKHR.html
6895 using GeometryFlagsKHR = Flags<GeometryFlagBitsKHR>;
6896 using GeometryFlagsNV = GeometryFlagsKHR;
6897
6898 template <>
6899 struct FlagTraits<GeometryFlagBitsKHR>
6900 {
6901 using WrappedType = VkGeometryFlagBitsKHR;
6902 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6903 static VULKAN_HPP_CONST_OR_CONSTEXPR GeometryFlagsKHR allFlags = GeometryFlagBitsKHR::eOpaque | GeometryFlagBitsKHR::eNoDuplicateAnyHitInvocation;
6904 };
6905
6906 // wrapper class for enum VkGeometryInstanceFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGeometryInstanceFlagBitsKHR.html
6907 enum class GeometryInstanceFlagBitsKHR : VkGeometryInstanceFlagsKHR
6908 {
6909 eTriangleFacingCullDisable = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
6910 eTriangleCullDisable = VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV,
6911 eTriangleFlipFacing = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,
6912 eTriangleFrontCounterclockwise = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
6913 eForceOpaque = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
6914 eForceNoOpaque = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
6915 eForceOpacityMicromap2StateEXT = VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_BIT_EXT,
6916 eDisableOpacityMicromapsEXT = VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_BIT_EXT
6917 };
6918
6919 using GeometryInstanceFlagBitsNV = GeometryInstanceFlagBitsKHR;
6920
6921 // wrapper using for bitmask VkGeometryInstanceFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGeometryInstanceFlagsKHR.html
6922 using GeometryInstanceFlagsKHR = Flags<GeometryInstanceFlagBitsKHR>;
6923 using GeometryInstanceFlagsNV = GeometryInstanceFlagsKHR;
6924
6925 template <>
6926 struct FlagTraits<GeometryInstanceFlagBitsKHR>
6927 {
6928 using WrappedType = VkGeometryInstanceFlagBitsKHR;
6929 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6930 static VULKAN_HPP_CONST_OR_CONSTEXPR GeometryInstanceFlagsKHR allFlags =
6931 GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable | GeometryInstanceFlagBitsKHR::eTriangleFlipFacing | GeometryInstanceFlagBitsKHR::eForceOpaque |
6932 GeometryInstanceFlagBitsKHR::eForceNoOpaque | GeometryInstanceFlagBitsKHR::eForceOpacityMicromap2StateEXT |
6933 GeometryInstanceFlagBitsKHR::eDisableOpacityMicromapsEXT;
6934 };
6935
6936 // wrapper class for enum VkBuildAccelerationStructureFlagBitsKHR, see
6937 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBuildAccelerationStructureFlagBitsKHR.html
6938 enum class BuildAccelerationStructureFlagBitsKHR : VkBuildAccelerationStructureFlagsKHR
6939 {
6940 eAllowUpdate = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
6941 eAllowCompaction = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
6942 ePreferFastTrace = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
6943 ePreferFastBuild = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
6944 eLowMemory = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
6945 eMotionNV = VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV,
6946 eAllowOpacityMicromapUpdateEXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_BIT_EXT,
6947 eAllowDisableOpacityMicromapsEXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_BIT_EXT,
6948 eAllowOpacityMicromapDataUpdateEXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_BIT_EXT,
6949 #if defined( VK_ENABLE_BETA_EXTENSIONS )
6950 eAllowDisplacementMicromapUpdateNV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_BIT_NV,
6951 eAllowDisplacementMicromapUpdate = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV,
6952 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
6953 eAllowDataAccess = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_BIT_KHR,
6954 eAllowClusterOpacityMicromapsNV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_CLUSTER_OPACITY_MICROMAPS_BIT_NV
6955 };
6956
6957 using BuildAccelerationStructureFlagBitsNV = BuildAccelerationStructureFlagBitsKHR;
6958
6959 // wrapper using for bitmask VkBuildAccelerationStructureFlagsKHR, see
6960 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBuildAccelerationStructureFlagsKHR.html
6961 using BuildAccelerationStructureFlagsKHR = Flags<BuildAccelerationStructureFlagBitsKHR>;
6962 using BuildAccelerationStructureFlagsNV = BuildAccelerationStructureFlagsKHR;
6963
6964 template <>
6965 struct FlagTraits<BuildAccelerationStructureFlagBitsKHR>
6966 {
6967 using WrappedType = VkBuildAccelerationStructureFlagBitsKHR;
6968 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
6969 static VULKAN_HPP_CONST_OR_CONSTEXPR BuildAccelerationStructureFlagsKHR allFlags =
6970 BuildAccelerationStructureFlagBitsKHR::eAllowUpdate | BuildAccelerationStructureFlagBitsKHR::eAllowCompaction |
6971 BuildAccelerationStructureFlagBitsKHR::ePreferFastTrace | BuildAccelerationStructureFlagBitsKHR::ePreferFastBuild |
6972 BuildAccelerationStructureFlagBitsKHR::eLowMemory | BuildAccelerationStructureFlagBitsKHR::eMotionNV |
6973 BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapUpdateEXT | BuildAccelerationStructureFlagBitsKHR::eAllowDisableOpacityMicromapsEXT |
6974 BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapDataUpdateEXT
6975 #if defined( VK_ENABLE_BETA_EXTENSIONS )
6976 | BuildAccelerationStructureFlagBitsKHR::eAllowDisplacementMicromapUpdateNV
6977 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
6978 | BuildAccelerationStructureFlagBitsKHR::eAllowDataAccess | BuildAccelerationStructureFlagBitsKHR::eAllowClusterOpacityMicromapsNV;
6979 };
6980
6981 // wrapper class for enum VkCopyAccelerationStructureModeKHR, see
6982 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyAccelerationStructureModeKHR.html
6983 enum class CopyAccelerationStructureModeKHR
6984 {
6985 eClone = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
6986 eCompact = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
6987 eSerialize = VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR,
6988 eDeserialize = VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR
6989 };
6990
6991 using CopyAccelerationStructureModeNV = CopyAccelerationStructureModeKHR;
6992
6993 // wrapper class for enum VkGeometryTypeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGeometryTypeKHR.html
6994 enum class GeometryTypeKHR
6995 {
6996 eTriangles = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
6997 eAabbs = VK_GEOMETRY_TYPE_AABBS_KHR,
6998 eInstances = VK_GEOMETRY_TYPE_INSTANCES_KHR,
6999 eSpheresNV = VK_GEOMETRY_TYPE_SPHERES_NV,
7000 eLinearSweptSpheresNV = VK_GEOMETRY_TYPE_LINEAR_SWEPT_SPHERES_NV,
7001 #if defined( VK_ENABLE_BETA_EXTENSIONS )
7002 eDenseGeometryFormatTrianglesAMDX = VK_GEOMETRY_TYPE_DENSE_GEOMETRY_FORMAT_TRIANGLES_AMDX
7003 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
7004 };
7005
7006 using GeometryTypeNV = GeometryTypeKHR;
7007
7008 // wrapper class for enum VkAccelerationStructureCompatibilityKHR, see
7009 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureCompatibilityKHR.html
7010 enum class AccelerationStructureCompatibilityKHR
7011 {
7012 eCompatible = VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR,
7013 eIncompatible = VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR
7014 };
7015
7016 // wrapper class for enum VkAccelerationStructureCreateFlagBitsKHR, see
7017 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureCreateFlagBitsKHR.html
7018 enum class AccelerationStructureCreateFlagBitsKHR : VkAccelerationStructureCreateFlagsKHR
7019 {
7020 eDeviceAddressCaptureReplay = VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR,
7021 eDescriptorBufferCaptureReplayEXT = VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,
7022 eMotionNV = VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV
7023 };
7024
7025 // wrapper using for bitmask VkAccelerationStructureCreateFlagsKHR, see
7026 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureCreateFlagsKHR.html
7027 using AccelerationStructureCreateFlagsKHR = Flags<AccelerationStructureCreateFlagBitsKHR>;
7028
7029 template <>
7030 struct FlagTraits<AccelerationStructureCreateFlagBitsKHR>
7031 {
7032 using WrappedType = VkAccelerationStructureCreateFlagBitsKHR;
7033 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7034 static VULKAN_HPP_CONST_OR_CONSTEXPR AccelerationStructureCreateFlagsKHR allFlags =
7035 AccelerationStructureCreateFlagBitsKHR::eDeviceAddressCaptureReplay | AccelerationStructureCreateFlagBitsKHR::eDescriptorBufferCaptureReplayEXT |
7036 AccelerationStructureCreateFlagBitsKHR::eMotionNV;
7037 };
7038
7039 // wrapper class for enum VkBuildAccelerationStructureModeKHR, see
7040 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBuildAccelerationStructureModeKHR.html
7041 enum class BuildAccelerationStructureModeKHR
7042 {
7043 eBuild = VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR,
7044 eUpdate = VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR
7045 };
7046
7047 //=== VK_KHR_ray_tracing_pipeline ===
7048
7049 // wrapper class for enum VkRayTracingShaderGroupTypeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkRayTracingShaderGroupTypeKHR.html
7050 enum class RayTracingShaderGroupTypeKHR
7051 {
7052 eGeneral = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
7053 eTrianglesHitGroup = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
7054 eProceduralHitGroup = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR
7055 };
7056
7057 using RayTracingShaderGroupTypeNV = RayTracingShaderGroupTypeKHR;
7058
7059 // wrapper class for enum VkShaderGroupShaderKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderGroupShaderKHR.html
7060 enum class ShaderGroupShaderKHR
7061 {
7062 eGeneral = VK_SHADER_GROUP_SHADER_GENERAL_KHR,
7063 eClosestHit = VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR,
7064 eAnyHit = VK_SHADER_GROUP_SHADER_ANY_HIT_KHR,
7065 eIntersection = VK_SHADER_GROUP_SHADER_INTERSECTION_KHR
7066 };
7067
7068 //=== VK_NV_framebuffer_mixed_samples ===
7069
7070 // wrapper class for enum VkCoverageModulationModeNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCoverageModulationModeNV.html
7071 enum class CoverageModulationModeNV
7072 {
7073 eNone = VK_COVERAGE_MODULATION_MODE_NONE_NV,
7074 eRgb = VK_COVERAGE_MODULATION_MODE_RGB_NV,
7075 eAlpha = VK_COVERAGE_MODULATION_MODE_ALPHA_NV,
7076 eRgba = VK_COVERAGE_MODULATION_MODE_RGBA_NV
7077 };
7078
7079 enum class PipelineCoverageModulationStateCreateFlagBitsNV : VkPipelineCoverageModulationStateCreateFlagsNV
7080 {
7081 };
7082
7083 // wrapper using for bitmask VkPipelineCoverageModulationStateCreateFlagsNV, see
7084 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCoverageModulationStateCreateFlagsNV.html
7085 using PipelineCoverageModulationStateCreateFlagsNV = Flags<PipelineCoverageModulationStateCreateFlagBitsNV>;
7086
7087 template <>
7088 struct FlagTraits<PipelineCoverageModulationStateCreateFlagBitsNV>
7089 {
7090 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7091 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCoverageModulationStateCreateFlagsNV allFlags = {};
7092 };
7093
7094 //=== VK_EXT_validation_cache ===
7095
7096 // wrapper class for enum VkValidationCacheHeaderVersionEXT, see
7097 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkValidationCacheHeaderVersionEXT.html
7098 enum class ValidationCacheHeaderVersionEXT
7099 {
7100 eOne = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT
7101 };
7102
7103 enum class ValidationCacheCreateFlagBitsEXT : VkValidationCacheCreateFlagsEXT
7104 {
7105 };
7106
7107 // wrapper using for bitmask VkValidationCacheCreateFlagsEXT, see
7108 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkValidationCacheCreateFlagsEXT.html
7109 using ValidationCacheCreateFlagsEXT = Flags<ValidationCacheCreateFlagBitsEXT>;
7110
7111 template <>
7112 struct FlagTraits<ValidationCacheCreateFlagBitsEXT>
7113 {
7114 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7115 static VULKAN_HPP_CONST_OR_CONSTEXPR ValidationCacheCreateFlagsEXT allFlags = {};
7116 };
7117
7118 //=== VK_NV_shading_rate_image ===
7119
7120 // wrapper class for enum VkShadingRatePaletteEntryNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkShadingRatePaletteEntryNV.html
7121 enum class ShadingRatePaletteEntryNV
7122 {
7123 eNoInvocations = VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV,
7124 e16InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV,
7125 e8InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV,
7126 e4InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV,
7127 e2InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV,
7128 e1InvocationPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV,
7129 e1InvocationPer2X1Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV,
7130 e1InvocationPer1X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV,
7131 e1InvocationPer2X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV,
7132 e1InvocationPer4X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV,
7133 e1InvocationPer2X4Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV,
7134 e1InvocationPer4X4Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV
7135 };
7136
7137 // wrapper class for enum VkCoarseSampleOrderTypeNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCoarseSampleOrderTypeNV.html
7138 enum class CoarseSampleOrderTypeNV
7139 {
7140 eDefault = VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV,
7141 eCustom = VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV,
7142 ePixelMajor = VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV,
7143 eSampleMajor = VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV
7144 };
7145
7146 //=== VK_NV_ray_tracing ===
7147
7148 // wrapper class for enum VkAccelerationStructureMemoryRequirementsTypeNV, see
7149 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureMemoryRequirementsTypeNV.html
7150 enum class AccelerationStructureMemoryRequirementsTypeNV
7151 {
7152 eObject = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV,
7153 eBuildScratch = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV,
7154 eUpdateScratch = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV
7155 };
7156
7157 //=== VK_AMD_pipeline_compiler_control ===
7158
7159 enum class PipelineCompilerControlFlagBitsAMD : VkPipelineCompilerControlFlagsAMD
7160 {
7161 };
7162
7163 // wrapper using for bitmask VkPipelineCompilerControlFlagsAMD, see
7164 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCompilerControlFlagsAMD.html
7165 using PipelineCompilerControlFlagsAMD = Flags<PipelineCompilerControlFlagBitsAMD>;
7166
7167 template <>
7168 struct FlagTraits<PipelineCompilerControlFlagBitsAMD>
7169 {
7170 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7171 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCompilerControlFlagsAMD allFlags = {};
7172 };
7173
7174 //=== VK_AMD_memory_overallocation_behavior ===
7175
7176 // wrapper class for enum VkMemoryOverallocationBehaviorAMD, see
7177 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryOverallocationBehaviorAMD.html
7178 enum class MemoryOverallocationBehaviorAMD
7179 {
7180 eDefault = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD,
7181 eAllowed = VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD,
7182 eDisallowed = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD
7183 };
7184
7185 //=== VK_INTEL_performance_query ===
7186
7187 // wrapper class for enum VkPerformanceConfigurationTypeINTEL, see
7188 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceConfigurationTypeINTEL.html
7189 enum class PerformanceConfigurationTypeINTEL
7190 {
7191 eCommandQueueMetricsDiscoveryActivated = VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL
7192 };
7193
7194 // wrapper class for enum VkQueryPoolSamplingModeINTEL, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryPoolSamplingModeINTEL.html
7195 enum class QueryPoolSamplingModeINTEL
7196 {
7197 eManual = VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL
7198 };
7199
7200 // wrapper class for enum VkPerformanceOverrideTypeINTEL, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceOverrideTypeINTEL.html
7201 enum class PerformanceOverrideTypeINTEL
7202 {
7203 eNullHardware = VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL,
7204 eFlushGpuCaches = VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL
7205 };
7206
7207 // wrapper class for enum VkPerformanceParameterTypeINTEL, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceParameterTypeINTEL.html
7208 enum class PerformanceParameterTypeINTEL
7209 {
7210 eHwCountersSupported = VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL,
7211 eStreamMarkerValidBits = VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL
7212 };
7213
7214 // wrapper class for enum VkPerformanceValueTypeINTEL, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceValueTypeINTEL.html
7215 enum class PerformanceValueTypeINTEL
7216 {
7217 eUint32 = VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL,
7218 eUint64 = VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL,
7219 eFloat = VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL,
7220 eBool = VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL,
7221 eString = VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL
7222 };
7223
7224 #if defined( VK_USE_PLATFORM_FUCHSIA )
7225 //=== VK_FUCHSIA_imagepipe_surface ===
7226
7227 enum class ImagePipeSurfaceCreateFlagBitsFUCHSIA : VkImagePipeSurfaceCreateFlagsFUCHSIA
7228 {
7229 };
7230
7231 // wrapper using for bitmask VkImagePipeSurfaceCreateFlagsFUCHSIA, see
7232 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkImagePipeSurfaceCreateFlagsFUCHSIA.html
7233 using ImagePipeSurfaceCreateFlagsFUCHSIA = Flags<ImagePipeSurfaceCreateFlagBitsFUCHSIA>;
7234
7235 template <>
7236 struct FlagTraits<ImagePipeSurfaceCreateFlagBitsFUCHSIA>
7237 {
7238 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7239 static VULKAN_HPP_CONST_OR_CONSTEXPR ImagePipeSurfaceCreateFlagsFUCHSIA allFlags = {};
7240 };
7241 #endif /*VK_USE_PLATFORM_FUCHSIA*/
7242
7243 #if defined( VK_USE_PLATFORM_METAL_EXT )
7244 //=== VK_EXT_metal_surface ===
7245
7246 enum class MetalSurfaceCreateFlagBitsEXT : VkMetalSurfaceCreateFlagsEXT
7247 {
7248 };
7249
7250 // wrapper using for bitmask VkMetalSurfaceCreateFlagsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMetalSurfaceCreateFlagsEXT.html
7251 using MetalSurfaceCreateFlagsEXT = Flags<MetalSurfaceCreateFlagBitsEXT>;
7252
7253 template <>
7254 struct FlagTraits<MetalSurfaceCreateFlagBitsEXT>
7255 {
7256 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7257 static VULKAN_HPP_CONST_OR_CONSTEXPR MetalSurfaceCreateFlagsEXT allFlags = {};
7258 };
7259 #endif /*VK_USE_PLATFORM_METAL_EXT*/
7260
7261 //=== VK_KHR_fragment_shading_rate ===
7262
7263 // wrapper class for enum VkFragmentShadingRateCombinerOpKHR, see
7264 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkFragmentShadingRateCombinerOpKHR.html
7265 enum class FragmentShadingRateCombinerOpKHR
7266 {
7267 eKeep = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR,
7268 eReplace = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR,
7269 eMin = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR,
7270 eMax = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR,
7271 eMul = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR
7272 };
7273
7274 //=== VK_AMD_shader_core_properties2 ===
7275
7276 enum class ShaderCorePropertiesFlagBitsAMD : VkShaderCorePropertiesFlagsAMD
7277 {
7278 };
7279
7280 // wrapper using for bitmask VkShaderCorePropertiesFlagsAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderCorePropertiesFlagsAMD.html
7281 using ShaderCorePropertiesFlagsAMD = Flags<ShaderCorePropertiesFlagBitsAMD>;
7282
7283 template <>
7284 struct FlagTraits<ShaderCorePropertiesFlagBitsAMD>
7285 {
7286 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7287 static VULKAN_HPP_CONST_OR_CONSTEXPR ShaderCorePropertiesFlagsAMD allFlags = {};
7288 };
7289
7290 //=== VK_EXT_validation_features ===
7291
7292 // wrapper class for enum VkValidationFeatureEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkValidationFeatureEnableEXT.html
7293 enum class ValidationFeatureEnableEXT
7294 {
7295 eGpuAssisted = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT,
7296 eGpuAssistedReserveBindingSlot = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT,
7297 eBestPractices = VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT,
7298 eDebugPrintf = VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT,
7299 eSynchronizationValidation = VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT
7300 };
7301
7302 // wrapper class for enum VkValidationFeatureDisableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkValidationFeatureDisableEXT.html
7303 enum class ValidationFeatureDisableEXT
7304 {
7305 eAll = VK_VALIDATION_FEATURE_DISABLE_ALL_EXT,
7306 eShaders = VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT,
7307 eThreadSafety = VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT,
7308 eApiParameters = VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT,
7309 eObjectLifetimes = VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT,
7310 eCoreChecks = VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT,
7311 eUniqueHandles = VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT,
7312 eShaderValidationCache = VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT
7313 };
7314
7315 //=== VK_NV_coverage_reduction_mode ===
7316
7317 // wrapper class for enum VkCoverageReductionModeNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCoverageReductionModeNV.html
7318 enum class CoverageReductionModeNV
7319 {
7320 eMerge = VK_COVERAGE_REDUCTION_MODE_MERGE_NV,
7321 eTruncate = VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV
7322 };
7323
7324 enum class PipelineCoverageReductionStateCreateFlagBitsNV : VkPipelineCoverageReductionStateCreateFlagsNV
7325 {
7326 };
7327
7328 // wrapper using for bitmask VkPipelineCoverageReductionStateCreateFlagsNV, see
7329 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCoverageReductionStateCreateFlagsNV.html
7330 using PipelineCoverageReductionStateCreateFlagsNV = Flags<PipelineCoverageReductionStateCreateFlagBitsNV>;
7331
7332 template <>
7333 struct FlagTraits<PipelineCoverageReductionStateCreateFlagBitsNV>
7334 {
7335 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7336 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCoverageReductionStateCreateFlagsNV allFlags = {};
7337 };
7338
7339 //=== VK_EXT_provoking_vertex ===
7340
7341 // wrapper class for enum VkProvokingVertexModeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkProvokingVertexModeEXT.html
7342 enum class ProvokingVertexModeEXT
7343 {
7344 eFirstVertex = VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT,
7345 eLastVertex = VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT
7346 };
7347
7348 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7349 //=== VK_EXT_full_screen_exclusive ===
7350
7351 // wrapper class for enum VkFullScreenExclusiveEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFullScreenExclusiveEXT.html
7352 enum class FullScreenExclusiveEXT
7353 {
7354 eDefault = VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT,
7355 eAllowed = VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT,
7356 eDisallowed = VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT,
7357 eApplicationControlled = VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT
7358 };
7359
7360 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7361
7362 //=== VK_EXT_headless_surface ===
7363
7364 enum class HeadlessSurfaceCreateFlagBitsEXT : VkHeadlessSurfaceCreateFlagsEXT
7365 {
7366 };
7367
7368 // wrapper using for bitmask VkHeadlessSurfaceCreateFlagsEXT, see
7369 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkHeadlessSurfaceCreateFlagsEXT.html
7370 using HeadlessSurfaceCreateFlagsEXT = Flags<HeadlessSurfaceCreateFlagBitsEXT>;
7371
7372 template <>
7373 struct FlagTraits<HeadlessSurfaceCreateFlagBitsEXT>
7374 {
7375 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7376 static VULKAN_HPP_CONST_OR_CONSTEXPR HeadlessSurfaceCreateFlagsEXT allFlags = {};
7377 };
7378
7379 //=== VK_KHR_pipeline_executable_properties ===
7380
7381 // wrapper class for enum VkPipelineExecutableStatisticFormatKHR, see
7382 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineExecutableStatisticFormatKHR.html
7383 enum class PipelineExecutableStatisticFormatKHR
7384 {
7385 eBool32 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR,
7386 eInt64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR,
7387 eUint64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR,
7388 eFloat64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR
7389 };
7390
7391 //=== VK_NV_device_generated_commands ===
7392
7393 // wrapper class for enum VkIndirectStateFlagBitsNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectStateFlagBitsNV.html
7394 enum class IndirectStateFlagBitsNV : VkIndirectStateFlagsNV
7395 {
7396 eFlagFrontface = VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV
7397 };
7398
7399 // wrapper using for bitmask VkIndirectStateFlagsNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectStateFlagsNV.html
7400 using IndirectStateFlagsNV = Flags<IndirectStateFlagBitsNV>;
7401
7402 template <>
7403 struct FlagTraits<IndirectStateFlagBitsNV>
7404 {
7405 using WrappedType = VkIndirectStateFlagBitsNV;
7406 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7407 static VULKAN_HPP_CONST_OR_CONSTEXPR IndirectStateFlagsNV allFlags = IndirectStateFlagBitsNV::eFlagFrontface;
7408 };
7409
7410 // wrapper class for enum VkIndirectCommandsTokenTypeNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectCommandsTokenTypeNV.html
7411 enum class IndirectCommandsTokenTypeNV
7412 {
7413 eShaderGroup = VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV,
7414 eStateFlags = VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV,
7415 eIndexBuffer = VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV,
7416 eVertexBuffer = VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV,
7417 ePushConstant = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV,
7418 eDrawIndexed = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV,
7419 eDraw = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV,
7420 eDrawTasks = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV,
7421 eDrawMeshTasks = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV,
7422 ePipeline = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV,
7423 eDispatch = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV
7424 };
7425
7426 // wrapper class for enum VkIndirectCommandsLayoutUsageFlagBitsNV, see
7427 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectCommandsLayoutUsageFlagBitsNV.html
7428 enum class IndirectCommandsLayoutUsageFlagBitsNV : VkIndirectCommandsLayoutUsageFlagsNV
7429 {
7430 eExplicitPreprocess = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV,
7431 eIndexedSequences = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV,
7432 eUnorderedSequences = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV
7433 };
7434
7435 // wrapper using for bitmask VkIndirectCommandsLayoutUsageFlagsNV, see
7436 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectCommandsLayoutUsageFlagsNV.html
7437 using IndirectCommandsLayoutUsageFlagsNV = Flags<IndirectCommandsLayoutUsageFlagBitsNV>;
7438
7439 template <>
7440 struct FlagTraits<IndirectCommandsLayoutUsageFlagBitsNV>
7441 {
7442 using WrappedType = VkIndirectCommandsLayoutUsageFlagBitsNV;
7443 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7444 static VULKAN_HPP_CONST_OR_CONSTEXPR IndirectCommandsLayoutUsageFlagsNV allFlags = IndirectCommandsLayoutUsageFlagBitsNV::eExplicitPreprocess |
7445 IndirectCommandsLayoutUsageFlagBitsNV::eIndexedSequences |
7446 IndirectCommandsLayoutUsageFlagBitsNV::eUnorderedSequences;
7447 };
7448
7449 //=== VK_EXT_depth_bias_control ===
7450
7451 // wrapper class for enum VkDepthBiasRepresentationEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDepthBiasRepresentationEXT.html
7452 enum class DepthBiasRepresentationEXT
7453 {
7454 eLeastRepresentableValueFormat = VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORMAT_EXT,
7455 eLeastRepresentableValueForceUnorm = VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORCE_UNORM_EXT,
7456 eFloat = VK_DEPTH_BIAS_REPRESENTATION_FLOAT_EXT
7457 };
7458
7459 //=== VK_EXT_device_memory_report ===
7460
7461 // wrapper class for enum VkDeviceMemoryReportEventTypeEXT, see
7462 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceMemoryReportEventTypeEXT.html
7463 enum class DeviceMemoryReportEventTypeEXT
7464 {
7465 eAllocate = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT,
7466 eFree = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT,
7467 eImport = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT,
7468 eUnimport = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT,
7469 eAllocationFailed = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT
7470 };
7471
7472 enum class DeviceMemoryReportFlagBitsEXT : VkDeviceMemoryReportFlagsEXT
7473 {
7474 };
7475
7476 // wrapper using for bitmask VkDeviceMemoryReportFlagsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceMemoryReportFlagsEXT.html
7477 using DeviceMemoryReportFlagsEXT = Flags<DeviceMemoryReportFlagBitsEXT>;
7478
7479 template <>
7480 struct FlagTraits<DeviceMemoryReportFlagBitsEXT>
7481 {
7482 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7483 static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceMemoryReportFlagsEXT allFlags = {};
7484 };
7485
7486 //=== VK_KHR_video_encode_queue ===
7487
7488 // wrapper class for enum VkVideoEncodeCapabilityFlagBitsKHR, see
7489 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeCapabilityFlagBitsKHR.html
7490 enum class VideoEncodeCapabilityFlagBitsKHR : VkVideoEncodeCapabilityFlagsKHR
7491 {
7492 ePrecedingExternallyEncodedBytes = VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR,
7493 eInsufficientBitstreamBufferRangeDetection = VK_VIDEO_ENCODE_CAPABILITY_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION_BIT_KHR,
7494 eQuantizationDeltaMap = VK_VIDEO_ENCODE_CAPABILITY_QUANTIZATION_DELTA_MAP_BIT_KHR,
7495 eEmphasisMap = VK_VIDEO_ENCODE_CAPABILITY_EMPHASIS_MAP_BIT_KHR
7496 };
7497
7498 // wrapper using for bitmask VkVideoEncodeCapabilityFlagsKHR, see
7499 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeCapabilityFlagsKHR.html
7500 using VideoEncodeCapabilityFlagsKHR = Flags<VideoEncodeCapabilityFlagBitsKHR>;
7501
7502 template <>
7503 struct FlagTraits<VideoEncodeCapabilityFlagBitsKHR>
7504 {
7505 using WrappedType = VkVideoEncodeCapabilityFlagBitsKHR;
7506 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7507 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeCapabilityFlagsKHR allFlags =
7508 VideoEncodeCapabilityFlagBitsKHR::ePrecedingExternallyEncodedBytes | VideoEncodeCapabilityFlagBitsKHR::eInsufficientBitstreamBufferRangeDetection |
7509 VideoEncodeCapabilityFlagBitsKHR::eQuantizationDeltaMap | VideoEncodeCapabilityFlagBitsKHR::eEmphasisMap;
7510 };
7511
7512 // wrapper class for enum VkVideoEncodeFeedbackFlagBitsKHR, see
7513 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeFeedbackFlagBitsKHR.html
7514 enum class VideoEncodeFeedbackFlagBitsKHR : VkVideoEncodeFeedbackFlagsKHR
7515 {
7516 eBitstreamBufferOffset = VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR,
7517 eBitstreamBytesWritten = VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR,
7518 eBitstreamHasOverrides = VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR
7519 };
7520
7521 // wrapper using for bitmask VkVideoEncodeFeedbackFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeFeedbackFlagsKHR.html
7522 using VideoEncodeFeedbackFlagsKHR = Flags<VideoEncodeFeedbackFlagBitsKHR>;
7523
7524 template <>
7525 struct FlagTraits<VideoEncodeFeedbackFlagBitsKHR>
7526 {
7527 using WrappedType = VkVideoEncodeFeedbackFlagBitsKHR;
7528 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7529 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeFeedbackFlagsKHR allFlags = VideoEncodeFeedbackFlagBitsKHR::eBitstreamBufferOffset |
7530 VideoEncodeFeedbackFlagBitsKHR::eBitstreamBytesWritten |
7531 VideoEncodeFeedbackFlagBitsKHR::eBitstreamHasOverrides;
7532 };
7533
7534 // wrapper class for enum VkVideoEncodeUsageFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeUsageFlagBitsKHR.html
7535 enum class VideoEncodeUsageFlagBitsKHR : VkVideoEncodeUsageFlagsKHR
7536 {
7537 eDefault = VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR,
7538 eTranscoding = VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR,
7539 eStreaming = VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR,
7540 eRecording = VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR,
7541 eConferencing = VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR
7542 };
7543
7544 // wrapper using for bitmask VkVideoEncodeUsageFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeUsageFlagsKHR.html
7545 using VideoEncodeUsageFlagsKHR = Flags<VideoEncodeUsageFlagBitsKHR>;
7546
7547 template <>
7548 struct FlagTraits<VideoEncodeUsageFlagBitsKHR>
7549 {
7550 using WrappedType = VkVideoEncodeUsageFlagBitsKHR;
7551 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7552 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeUsageFlagsKHR allFlags = VideoEncodeUsageFlagBitsKHR::eDefault | VideoEncodeUsageFlagBitsKHR::eTranscoding |
7553 VideoEncodeUsageFlagBitsKHR::eStreaming | VideoEncodeUsageFlagBitsKHR::eRecording |
7554 VideoEncodeUsageFlagBitsKHR::eConferencing;
7555 };
7556
7557 // wrapper class for enum VkVideoEncodeContentFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeContentFlagBitsKHR.html
7558 enum class VideoEncodeContentFlagBitsKHR : VkVideoEncodeContentFlagsKHR
7559 {
7560 eDefault = VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR,
7561 eCamera = VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR,
7562 eDesktop = VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR,
7563 eRendered = VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR
7564 };
7565
7566 // wrapper using for bitmask VkVideoEncodeContentFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeContentFlagsKHR.html
7567 using VideoEncodeContentFlagsKHR = Flags<VideoEncodeContentFlagBitsKHR>;
7568
7569 template <>
7570 struct FlagTraits<VideoEncodeContentFlagBitsKHR>
7571 {
7572 using WrappedType = VkVideoEncodeContentFlagBitsKHR;
7573 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7574 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeContentFlagsKHR allFlags =
7575 VideoEncodeContentFlagBitsKHR::eDefault | VideoEncodeContentFlagBitsKHR::eCamera | VideoEncodeContentFlagBitsKHR::eDesktop |
7576 VideoEncodeContentFlagBitsKHR::eRendered;
7577 };
7578
7579 // wrapper class for enum VkVideoEncodeTuningModeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeTuningModeKHR.html
7580 enum class VideoEncodeTuningModeKHR
7581 {
7582 eDefault = VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR,
7583 eHighQuality = VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR,
7584 eLowLatency = VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR,
7585 eUltraLowLatency = VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR,
7586 eLossless = VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR
7587 };
7588
7589 // wrapper class for enum VkVideoEncodeRateControlModeFlagBitsKHR, see
7590 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeRateControlModeFlagBitsKHR.html
7591 enum class VideoEncodeRateControlModeFlagBitsKHR : VkVideoEncodeRateControlModeFlagsKHR
7592 {
7593 eDefault = VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR,
7594 eDisabled = VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR,
7595 eCbr = VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR,
7596 eVbr = VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR
7597 };
7598
7599 // wrapper using for bitmask VkVideoEncodeRateControlModeFlagsKHR, see
7600 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeRateControlModeFlagsKHR.html
7601 using VideoEncodeRateControlModeFlagsKHR = Flags<VideoEncodeRateControlModeFlagBitsKHR>;
7602
7603 template <>
7604 struct FlagTraits<VideoEncodeRateControlModeFlagBitsKHR>
7605 {
7606 using WrappedType = VkVideoEncodeRateControlModeFlagBitsKHR;
7607 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7608 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeRateControlModeFlagsKHR allFlags =
7609 VideoEncodeRateControlModeFlagBitsKHR::eDefault | VideoEncodeRateControlModeFlagBitsKHR::eDisabled | VideoEncodeRateControlModeFlagBitsKHR::eCbr |
7610 VideoEncodeRateControlModeFlagBitsKHR::eVbr;
7611 };
7612
7613 // wrapper class for enum VkVideoEncodeFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeFlagBitsKHR.html
7614 enum class VideoEncodeFlagBitsKHR : VkVideoEncodeFlagsKHR
7615 {
7616 eIntraRefresh = VK_VIDEO_ENCODE_INTRA_REFRESH_BIT_KHR,
7617 eWithQuantizationDeltaMap = VK_VIDEO_ENCODE_WITH_QUANTIZATION_DELTA_MAP_BIT_KHR,
7618 eWithEmphasisMap = VK_VIDEO_ENCODE_WITH_EMPHASIS_MAP_BIT_KHR
7619 };
7620
7621 // wrapper using for bitmask VkVideoEncodeFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeFlagsKHR.html
7622 using VideoEncodeFlagsKHR = Flags<VideoEncodeFlagBitsKHR>;
7623
7624 template <>
7625 struct FlagTraits<VideoEncodeFlagBitsKHR>
7626 {
7627 using WrappedType = VkVideoEncodeFlagBitsKHR;
7628 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7629 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeFlagsKHR allFlags =
7630 VideoEncodeFlagBitsKHR::eIntraRefresh | VideoEncodeFlagBitsKHR::eWithQuantizationDeltaMap | VideoEncodeFlagBitsKHR::eWithEmphasisMap;
7631 };
7632
7633 enum class VideoEncodeRateControlFlagBitsKHR : VkVideoEncodeRateControlFlagsKHR
7634 {
7635 };
7636
7637 // wrapper using for bitmask VkVideoEncodeRateControlFlagsKHR, see
7638 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeRateControlFlagsKHR.html
7639 using VideoEncodeRateControlFlagsKHR = Flags<VideoEncodeRateControlFlagBitsKHR>;
7640
7641 template <>
7642 struct FlagTraits<VideoEncodeRateControlFlagBitsKHR>
7643 {
7644 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7645 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeRateControlFlagsKHR allFlags = {};
7646 };
7647
7648 //=== VK_NV_device_diagnostics_config ===
7649
7650 // wrapper class for enum VkDeviceDiagnosticsConfigFlagBitsNV, see
7651 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceDiagnosticsConfigFlagBitsNV.html
7652 enum class DeviceDiagnosticsConfigFlagBitsNV : VkDeviceDiagnosticsConfigFlagsNV
7653 {
7654 eEnableShaderDebugInfo = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV,
7655 eEnableResourceTracking = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV,
7656 eEnableAutomaticCheckpoints = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV,
7657 eEnableShaderErrorReporting = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV
7658 };
7659
7660 // wrapper using for bitmask VkDeviceDiagnosticsConfigFlagsNV, see
7661 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceDiagnosticsConfigFlagsNV.html
7662 using DeviceDiagnosticsConfigFlagsNV = Flags<DeviceDiagnosticsConfigFlagBitsNV>;
7663
7664 template <>
7665 struct FlagTraits<DeviceDiagnosticsConfigFlagBitsNV>
7666 {
7667 using WrappedType = VkDeviceDiagnosticsConfigFlagBitsNV;
7668 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7669 static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceDiagnosticsConfigFlagsNV allFlags =
7670 DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderDebugInfo | DeviceDiagnosticsConfigFlagBitsNV::eEnableResourceTracking |
7671 DeviceDiagnosticsConfigFlagBitsNV::eEnableAutomaticCheckpoints | DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderErrorReporting;
7672 };
7673
7674 //=== VK_QCOM_tile_shading ===
7675
7676 // wrapper class for enum VkTileShadingRenderPassFlagBitsQCOM, see
7677 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkTileShadingRenderPassFlagBitsQCOM.html
7678 enum class TileShadingRenderPassFlagBitsQCOM : VkTileShadingRenderPassFlagsQCOM
7679 {
7680 eEnable = VK_TILE_SHADING_RENDER_PASS_ENABLE_BIT_QCOM,
7681 ePerTileExecution = VK_TILE_SHADING_RENDER_PASS_PER_TILE_EXECUTION_BIT_QCOM
7682 };
7683
7684 // wrapper using for bitmask VkTileShadingRenderPassFlagsQCOM, see
7685 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkTileShadingRenderPassFlagsQCOM.html
7686 using TileShadingRenderPassFlagsQCOM = Flags<TileShadingRenderPassFlagBitsQCOM>;
7687
7688 template <>
7689 struct FlagTraits<TileShadingRenderPassFlagBitsQCOM>
7690 {
7691 using WrappedType = VkTileShadingRenderPassFlagBitsQCOM;
7692 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7693 static VULKAN_HPP_CONST_OR_CONSTEXPR TileShadingRenderPassFlagsQCOM allFlags =
7694 TileShadingRenderPassFlagBitsQCOM::eEnable | TileShadingRenderPassFlagBitsQCOM::ePerTileExecution;
7695 };
7696
7697 #if defined( VK_USE_PLATFORM_METAL_EXT )
7698 //=== VK_EXT_metal_objects ===
7699
7700 // wrapper class for enum VkExportMetalObjectTypeFlagBitsEXT, see
7701 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExportMetalObjectTypeFlagBitsEXT.html
7702 enum class ExportMetalObjectTypeFlagBitsEXT : VkExportMetalObjectTypeFlagsEXT
7703 {
7704 eMetalDevice = VK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT,
7705 eMetalCommandQueue = VK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT,
7706 eMetalBuffer = VK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT,
7707 eMetalTexture = VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT,
7708 eMetalIosurface = VK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT,
7709 eMetalSharedEvent = VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT
7710 };
7711
7712 // wrapper using for bitmask VkExportMetalObjectTypeFlagsEXT, see
7713 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExportMetalObjectTypeFlagsEXT.html
7714 using ExportMetalObjectTypeFlagsEXT = Flags<ExportMetalObjectTypeFlagBitsEXT>;
7715
7716 template <>
7717 struct FlagTraits<ExportMetalObjectTypeFlagBitsEXT>
7718 {
7719 using WrappedType = VkExportMetalObjectTypeFlagBitsEXT;
7720 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7721 static VULKAN_HPP_CONST_OR_CONSTEXPR ExportMetalObjectTypeFlagsEXT allFlags =
7722 ExportMetalObjectTypeFlagBitsEXT::eMetalDevice | ExportMetalObjectTypeFlagBitsEXT::eMetalCommandQueue | ExportMetalObjectTypeFlagBitsEXT::eMetalBuffer |
7723 ExportMetalObjectTypeFlagBitsEXT::eMetalTexture | ExportMetalObjectTypeFlagBitsEXT::eMetalIosurface | ExportMetalObjectTypeFlagBitsEXT::eMetalSharedEvent;
7724 };
7725 #endif /*VK_USE_PLATFORM_METAL_EXT*/
7726
7727 //=== VK_EXT_graphics_pipeline_library ===
7728
7729 // wrapper class for enum VkGraphicsPipelineLibraryFlagBitsEXT, see
7730 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkGraphicsPipelineLibraryFlagBitsEXT.html
7731 enum class GraphicsPipelineLibraryFlagBitsEXT : VkGraphicsPipelineLibraryFlagsEXT
7732 {
7733 eVertexInputInterface = VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT,
7734 ePreRasterizationShaders = VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT,
7735 eFragmentShader = VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT,
7736 eFragmentOutputInterface = VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT
7737 };
7738
7739 // wrapper using for bitmask VkGraphicsPipelineLibraryFlagsEXT, see
7740 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkGraphicsPipelineLibraryFlagsEXT.html
7741 using GraphicsPipelineLibraryFlagsEXT = Flags<GraphicsPipelineLibraryFlagBitsEXT>;
7742
7743 template <>
7744 struct FlagTraits<GraphicsPipelineLibraryFlagBitsEXT>
7745 {
7746 using WrappedType = VkGraphicsPipelineLibraryFlagBitsEXT;
7747 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7748 static VULKAN_HPP_CONST_OR_CONSTEXPR GraphicsPipelineLibraryFlagsEXT allFlags =
7749 GraphicsPipelineLibraryFlagBitsEXT::eVertexInputInterface | GraphicsPipelineLibraryFlagBitsEXT::ePreRasterizationShaders |
7750 GraphicsPipelineLibraryFlagBitsEXT::eFragmentShader | GraphicsPipelineLibraryFlagBitsEXT::eFragmentOutputInterface;
7751 };
7752
7753 //=== VK_NV_fragment_shading_rate_enums ===
7754
7755 // wrapper class for enum VkFragmentShadingRateNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFragmentShadingRateNV.html
7756 enum class FragmentShadingRateNV
7757 {
7758 e1InvocationPerPixel = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV,
7759 e1InvocationPer1X2Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV,
7760 e1InvocationPer2X1Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV,
7761 e1InvocationPer2X2Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV,
7762 e1InvocationPer2X4Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV,
7763 e1InvocationPer4X2Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV,
7764 e1InvocationPer4X4Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV,
7765 e2InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV,
7766 e4InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV,
7767 e8InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV,
7768 e16InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV,
7769 eNoInvocations = VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV
7770 };
7771
7772 // wrapper class for enum VkFragmentShadingRateTypeNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFragmentShadingRateTypeNV.html
7773 enum class FragmentShadingRateTypeNV
7774 {
7775 eFragmentSize = VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV,
7776 eEnums = VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV
7777 };
7778
7779 //=== VK_NV_ray_tracing_motion_blur ===
7780
7781 // wrapper class for enum VkAccelerationStructureMotionInstanceTypeNV, see
7782 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureMotionInstanceTypeNV.html
7783 enum class AccelerationStructureMotionInstanceTypeNV
7784 {
7785 eStatic = VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV,
7786 eMatrixMotion = VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV,
7787 eSrtMotion = VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV
7788 };
7789
7790 enum class AccelerationStructureMotionInfoFlagBitsNV : VkAccelerationStructureMotionInfoFlagsNV
7791 {
7792 };
7793
7794 // wrapper using for bitmask VkAccelerationStructureMotionInfoFlagsNV, see
7795 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureMotionInfoFlagsNV.html
7796 using AccelerationStructureMotionInfoFlagsNV = Flags<AccelerationStructureMotionInfoFlagBitsNV>;
7797
7798 template <>
7799 struct FlagTraits<AccelerationStructureMotionInfoFlagBitsNV>
7800 {
7801 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7802 static VULKAN_HPP_CONST_OR_CONSTEXPR AccelerationStructureMotionInfoFlagsNV allFlags = {};
7803 };
7804
7805 enum class AccelerationStructureMotionInstanceFlagBitsNV : VkAccelerationStructureMotionInstanceFlagsNV
7806 {
7807 };
7808
7809 // wrapper using for bitmask VkAccelerationStructureMotionInstanceFlagsNV, see
7810 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureMotionInstanceFlagsNV.html
7811 using AccelerationStructureMotionInstanceFlagsNV = Flags<AccelerationStructureMotionInstanceFlagBitsNV>;
7812
7813 template <>
7814 struct FlagTraits<AccelerationStructureMotionInstanceFlagBitsNV>
7815 {
7816 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7817 static VULKAN_HPP_CONST_OR_CONSTEXPR AccelerationStructureMotionInstanceFlagsNV allFlags = {};
7818 };
7819
7820 //=== VK_EXT_image_compression_control ===
7821
7822 // wrapper class for enum VkImageCompressionFlagBitsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageCompressionFlagBitsEXT.html
7823 enum class ImageCompressionFlagBitsEXT : VkImageCompressionFlagsEXT
7824 {
7825 eDefault = VK_IMAGE_COMPRESSION_DEFAULT_EXT,
7826 eFixedRateDefault = VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT,
7827 eFixedRateExplicit = VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT,
7828 eDisabled = VK_IMAGE_COMPRESSION_DISABLED_EXT
7829 };
7830
7831 // wrapper using for bitmask VkImageCompressionFlagsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageCompressionFlagsEXT.html
7832 using ImageCompressionFlagsEXT = Flags<ImageCompressionFlagBitsEXT>;
7833
7834 template <>
7835 struct FlagTraits<ImageCompressionFlagBitsEXT>
7836 {
7837 using WrappedType = VkImageCompressionFlagBitsEXT;
7838 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7839 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageCompressionFlagsEXT allFlags =
7840 ImageCompressionFlagBitsEXT::eDefault | ImageCompressionFlagBitsEXT::eFixedRateDefault | ImageCompressionFlagBitsEXT::eFixedRateExplicit |
7841 ImageCompressionFlagBitsEXT::eDisabled;
7842 };
7843
7844 // wrapper class for enum VkImageCompressionFixedRateFlagBitsEXT, see
7845 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageCompressionFixedRateFlagBitsEXT.html
7846 enum class ImageCompressionFixedRateFlagBitsEXT : VkImageCompressionFixedRateFlagsEXT
7847 {
7848 eNone = VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT,
7849 e1Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT,
7850 e2Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT,
7851 e3Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT,
7852 e4Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT,
7853 e5Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT,
7854 e6Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT,
7855 e7Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT,
7856 e8Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT,
7857 e9Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT,
7858 e10Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT,
7859 e11Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT,
7860 e12Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT,
7861 e13Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT,
7862 e14Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT,
7863 e15Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT,
7864 e16Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT,
7865 e17Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT,
7866 e18Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT,
7867 e19Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT,
7868 e20Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT,
7869 e21Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT,
7870 e22Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT,
7871 e23Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT,
7872 e24Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT
7873 };
7874
7875 // wrapper using for bitmask VkImageCompressionFixedRateFlagsEXT, see
7876 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageCompressionFixedRateFlagsEXT.html
7877 using ImageCompressionFixedRateFlagsEXT = Flags<ImageCompressionFixedRateFlagBitsEXT>;
7878
7879 template <>
7880 struct FlagTraits<ImageCompressionFixedRateFlagBitsEXT>
7881 {
7882 using WrappedType = VkImageCompressionFixedRateFlagBitsEXT;
7883 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7884 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageCompressionFixedRateFlagsEXT allFlags =
7885 ImageCompressionFixedRateFlagBitsEXT::eNone | ImageCompressionFixedRateFlagBitsEXT::e1Bpc | ImageCompressionFixedRateFlagBitsEXT::e2Bpc |
7886 ImageCompressionFixedRateFlagBitsEXT::e3Bpc | ImageCompressionFixedRateFlagBitsEXT::e4Bpc | ImageCompressionFixedRateFlagBitsEXT::e5Bpc |
7887 ImageCompressionFixedRateFlagBitsEXT::e6Bpc | ImageCompressionFixedRateFlagBitsEXT::e7Bpc | ImageCompressionFixedRateFlagBitsEXT::e8Bpc |
7888 ImageCompressionFixedRateFlagBitsEXT::e9Bpc | ImageCompressionFixedRateFlagBitsEXT::e10Bpc | ImageCompressionFixedRateFlagBitsEXT::e11Bpc |
7889 ImageCompressionFixedRateFlagBitsEXT::e12Bpc | ImageCompressionFixedRateFlagBitsEXT::e13Bpc | ImageCompressionFixedRateFlagBitsEXT::e14Bpc |
7890 ImageCompressionFixedRateFlagBitsEXT::e15Bpc | ImageCompressionFixedRateFlagBitsEXT::e16Bpc | ImageCompressionFixedRateFlagBitsEXT::e17Bpc |
7891 ImageCompressionFixedRateFlagBitsEXT::e18Bpc | ImageCompressionFixedRateFlagBitsEXT::e19Bpc | ImageCompressionFixedRateFlagBitsEXT::e20Bpc |
7892 ImageCompressionFixedRateFlagBitsEXT::e21Bpc | ImageCompressionFixedRateFlagBitsEXT::e22Bpc | ImageCompressionFixedRateFlagBitsEXT::e23Bpc |
7893 ImageCompressionFixedRateFlagBitsEXT::e24Bpc;
7894 };
7895
7896 //=== VK_EXT_device_fault ===
7897
7898 // wrapper class for enum VkDeviceFaultAddressTypeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceFaultAddressTypeEXT.html
7899 enum class DeviceFaultAddressTypeEXT
7900 {
7901 eNone = VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT,
7902 eReadInvalid = VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT,
7903 eWriteInvalid = VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT,
7904 eExecuteInvalid = VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT,
7905 eInstructionPointerUnknown = VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT,
7906 eInstructionPointerInvalid = VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT,
7907 eInstructionPointerFault = VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT
7908 };
7909
7910 // wrapper class for enum VkDeviceFaultVendorBinaryHeaderVersionEXT, see
7911 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceFaultVendorBinaryHeaderVersionEXT.html
7912 enum class DeviceFaultVendorBinaryHeaderVersionEXT
7913 {
7914 eOne = VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT
7915 };
7916
7917 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
7918 //=== VK_EXT_directfb_surface ===
7919
7920 enum class DirectFBSurfaceCreateFlagBitsEXT : VkDirectFBSurfaceCreateFlagsEXT
7921 {
7922 };
7923
7924 // wrapper using for bitmask VkDirectFBSurfaceCreateFlagsEXT, see
7925 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDirectFBSurfaceCreateFlagsEXT.html
7926 using DirectFBSurfaceCreateFlagsEXT = Flags<DirectFBSurfaceCreateFlagBitsEXT>;
7927
7928 template <>
7929 struct FlagTraits<DirectFBSurfaceCreateFlagBitsEXT>
7930 {
7931 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7932 static VULKAN_HPP_CONST_OR_CONSTEXPR DirectFBSurfaceCreateFlagsEXT allFlags = {};
7933 };
7934 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
7935
7936 //=== VK_EXT_device_address_binding_report ===
7937
7938 // wrapper class for enum VkDeviceAddressBindingFlagBitsEXT, see
7939 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceAddressBindingFlagBitsEXT.html
7940 enum class DeviceAddressBindingFlagBitsEXT : VkDeviceAddressBindingFlagsEXT
7941 {
7942 eInternalObject = VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT
7943 };
7944
7945 // wrapper using for bitmask VkDeviceAddressBindingFlagsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceAddressBindingFlagsEXT.html
7946 using DeviceAddressBindingFlagsEXT = Flags<DeviceAddressBindingFlagBitsEXT>;
7947
7948 template <>
7949 struct FlagTraits<DeviceAddressBindingFlagBitsEXT>
7950 {
7951 using WrappedType = VkDeviceAddressBindingFlagBitsEXT;
7952 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7953 static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceAddressBindingFlagsEXT allFlags = DeviceAddressBindingFlagBitsEXT::eInternalObject;
7954 };
7955
7956 // wrapper class for enum VkDeviceAddressBindingTypeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceAddressBindingTypeEXT.html
7957 enum class DeviceAddressBindingTypeEXT
7958 {
7959 eBind = VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT,
7960 eUnbind = VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT
7961 };
7962
7963 #if defined( VK_USE_PLATFORM_FUCHSIA )
7964 //=== VK_FUCHSIA_buffer_collection ===
7965
7966 // wrapper class for enum VkImageConstraintsInfoFlagBitsFUCHSIA, see
7967 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageConstraintsInfoFlagBitsFUCHSIA.html
7968 enum class ImageConstraintsInfoFlagBitsFUCHSIA : VkImageConstraintsInfoFlagsFUCHSIA
7969 {
7970 eCpuReadRarely = VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA,
7971 eCpuReadOften = VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA,
7972 eCpuWriteRarely = VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA,
7973 eCpuWriteOften = VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA,
7974 eProtectedOptional = VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA
7975 };
7976
7977 // wrapper using for bitmask VkImageConstraintsInfoFlagsFUCHSIA, see
7978 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageConstraintsInfoFlagsFUCHSIA.html
7979 using ImageConstraintsInfoFlagsFUCHSIA = Flags<ImageConstraintsInfoFlagBitsFUCHSIA>;
7980
7981 template <>
7982 struct FlagTraits<ImageConstraintsInfoFlagBitsFUCHSIA>
7983 {
7984 using WrappedType = VkImageConstraintsInfoFlagBitsFUCHSIA;
7985 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
7986 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageConstraintsInfoFlagsFUCHSIA allFlags =
7987 ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadRarely | ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadOften |
7988 ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteRarely | ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteOften |
7989 ImageConstraintsInfoFlagBitsFUCHSIA::eProtectedOptional;
7990 };
7991
7992 enum class ImageFormatConstraintsFlagBitsFUCHSIA : VkImageFormatConstraintsFlagsFUCHSIA
7993 {
7994 };
7995
7996 // wrapper using for bitmask VkImageFormatConstraintsFlagsFUCHSIA, see
7997 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageFormatConstraintsFlagsFUCHSIA.html
7998 using ImageFormatConstraintsFlagsFUCHSIA = Flags<ImageFormatConstraintsFlagBitsFUCHSIA>;
7999
8000 template <>
8001 struct FlagTraits<ImageFormatConstraintsFlagBitsFUCHSIA>
8002 {
8003 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8004 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageFormatConstraintsFlagsFUCHSIA allFlags = {};
8005 };
8006 #endif /*VK_USE_PLATFORM_FUCHSIA*/
8007
8008 //=== VK_EXT_frame_boundary ===
8009
8010 // wrapper class for enum VkFrameBoundaryFlagBitsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFrameBoundaryFlagBitsEXT.html
8011 enum class FrameBoundaryFlagBitsEXT : VkFrameBoundaryFlagsEXT
8012 {
8013 eFrameEnd = VK_FRAME_BOUNDARY_FRAME_END_BIT_EXT
8014 };
8015
8016 // wrapper using for bitmask VkFrameBoundaryFlagsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFrameBoundaryFlagsEXT.html
8017 using FrameBoundaryFlagsEXT = Flags<FrameBoundaryFlagBitsEXT>;
8018
8019 template <>
8020 struct FlagTraits<FrameBoundaryFlagBitsEXT>
8021 {
8022 using WrappedType = VkFrameBoundaryFlagBitsEXT;
8023 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8024 static VULKAN_HPP_CONST_OR_CONSTEXPR FrameBoundaryFlagsEXT allFlags = FrameBoundaryFlagBitsEXT::eFrameEnd;
8025 };
8026
8027 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
8028 //=== VK_QNX_screen_surface ===
8029
8030 enum class ScreenSurfaceCreateFlagBitsQNX : VkScreenSurfaceCreateFlagsQNX
8031 {
8032 };
8033
8034 // wrapper using for bitmask VkScreenSurfaceCreateFlagsQNX, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkScreenSurfaceCreateFlagsQNX.html
8035 using ScreenSurfaceCreateFlagsQNX = Flags<ScreenSurfaceCreateFlagBitsQNX>;
8036
8037 template <>
8038 struct FlagTraits<ScreenSurfaceCreateFlagBitsQNX>
8039 {
8040 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8041 static VULKAN_HPP_CONST_OR_CONSTEXPR ScreenSurfaceCreateFlagsQNX allFlags = {};
8042 };
8043 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
8044
8045 //=== VK_VALVE_video_encode_rgb_conversion ===
8046
8047 // wrapper class for enum VkVideoEncodeRgbModelConversionFlagBitsVALVE, see
8048 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeRgbModelConversionFlagBitsVALVE.html
8049 enum class VideoEncodeRgbModelConversionFlagBitsVALVE : VkVideoEncodeRgbModelConversionFlagsVALVE
8050 {
8051 eRgbIdentity = VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_RGB_IDENTITY_BIT_VALVE,
8052 eYcbcrIdentity = VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_IDENTITY_BIT_VALVE,
8053 eYcbcr709 = VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_709_BIT_VALVE,
8054 eYcbcr601 = VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_601_BIT_VALVE,
8055 eYcbcr2020 = VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_2020_BIT_VALVE
8056 };
8057
8058 // wrapper using for bitmask VkVideoEncodeRgbModelConversionFlagsVALVE, see
8059 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeRgbModelConversionFlagsVALVE.html
8060 using VideoEncodeRgbModelConversionFlagsVALVE = Flags<VideoEncodeRgbModelConversionFlagBitsVALVE>;
8061
8062 template <>
8063 struct FlagTraits<VideoEncodeRgbModelConversionFlagBitsVALVE>
8064 {
8065 using WrappedType = VkVideoEncodeRgbModelConversionFlagBitsVALVE;
8066 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8067 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeRgbModelConversionFlagsVALVE allFlags =
8068 VideoEncodeRgbModelConversionFlagBitsVALVE::eRgbIdentity | VideoEncodeRgbModelConversionFlagBitsVALVE::eYcbcrIdentity |
8069 VideoEncodeRgbModelConversionFlagBitsVALVE::eYcbcr709 | VideoEncodeRgbModelConversionFlagBitsVALVE::eYcbcr601 |
8070 VideoEncodeRgbModelConversionFlagBitsVALVE::eYcbcr2020;
8071 };
8072
8073 // wrapper class for enum VkVideoEncodeRgbRangeCompressionFlagBitsVALVE, see
8074 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeRgbRangeCompressionFlagBitsVALVE.html
8075 enum class VideoEncodeRgbRangeCompressionFlagBitsVALVE : VkVideoEncodeRgbRangeCompressionFlagsVALVE
8076 {
8077 eFullRange = VK_VIDEO_ENCODE_RGB_RANGE_COMPRESSION_FULL_RANGE_BIT_VALVE,
8078 eNarrowRange = VK_VIDEO_ENCODE_RGB_RANGE_COMPRESSION_NARROW_RANGE_BIT_VALVE
8079 };
8080
8081 // wrapper using for bitmask VkVideoEncodeRgbRangeCompressionFlagsVALVE, see
8082 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeRgbRangeCompressionFlagsVALVE.html
8083 using VideoEncodeRgbRangeCompressionFlagsVALVE = Flags<VideoEncodeRgbRangeCompressionFlagBitsVALVE>;
8084
8085 template <>
8086 struct FlagTraits<VideoEncodeRgbRangeCompressionFlagBitsVALVE>
8087 {
8088 using WrappedType = VkVideoEncodeRgbRangeCompressionFlagBitsVALVE;
8089 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8090 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeRgbRangeCompressionFlagsVALVE allFlags =
8091 VideoEncodeRgbRangeCompressionFlagBitsVALVE::eFullRange | VideoEncodeRgbRangeCompressionFlagBitsVALVE::eNarrowRange;
8092 };
8093
8094 // wrapper class for enum VkVideoEncodeRgbChromaOffsetFlagBitsVALVE, see
8095 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeRgbChromaOffsetFlagBitsVALVE.html
8096 enum class VideoEncodeRgbChromaOffsetFlagBitsVALVE : VkVideoEncodeRgbChromaOffsetFlagsVALVE
8097 {
8098 eCositedEven = VK_VIDEO_ENCODE_RGB_CHROMA_OFFSET_COSITED_EVEN_BIT_VALVE,
8099 eMidpoint = VK_VIDEO_ENCODE_RGB_CHROMA_OFFSET_MIDPOINT_BIT_VALVE
8100 };
8101
8102 // wrapper using for bitmask VkVideoEncodeRgbChromaOffsetFlagsVALVE, see
8103 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeRgbChromaOffsetFlagsVALVE.html
8104 using VideoEncodeRgbChromaOffsetFlagsVALVE = Flags<VideoEncodeRgbChromaOffsetFlagBitsVALVE>;
8105
8106 template <>
8107 struct FlagTraits<VideoEncodeRgbChromaOffsetFlagBitsVALVE>
8108 {
8109 using WrappedType = VkVideoEncodeRgbChromaOffsetFlagBitsVALVE;
8110 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8111 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeRgbChromaOffsetFlagsVALVE allFlags =
8112 VideoEncodeRgbChromaOffsetFlagBitsVALVE::eCositedEven | VideoEncodeRgbChromaOffsetFlagBitsVALVE::eMidpoint;
8113 };
8114
8115 //=== VK_EXT_opacity_micromap ===
8116
8117 // wrapper class for enum VkMicromapTypeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMicromapTypeEXT.html
8118 enum class MicromapTypeEXT
8119 {
8120 eOpacityMicromap = VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT,
8121 #if defined( VK_ENABLE_BETA_EXTENSIONS )
8122 eDisplacementMicromapNV = VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV
8123 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
8124 };
8125
8126 // wrapper class for enum VkBuildMicromapFlagBitsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBuildMicromapFlagBitsEXT.html
8127 enum class BuildMicromapFlagBitsEXT : VkBuildMicromapFlagsEXT
8128 {
8129 ePreferFastTrace = VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT,
8130 ePreferFastBuild = VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT,
8131 eAllowCompaction = VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT
8132 };
8133
8134 // wrapper using for bitmask VkBuildMicromapFlagsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBuildMicromapFlagsEXT.html
8135 using BuildMicromapFlagsEXT = Flags<BuildMicromapFlagBitsEXT>;
8136
8137 template <>
8138 struct FlagTraits<BuildMicromapFlagBitsEXT>
8139 {
8140 using WrappedType = VkBuildMicromapFlagBitsEXT;
8141 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8142 static VULKAN_HPP_CONST_OR_CONSTEXPR BuildMicromapFlagsEXT allFlags =
8143 BuildMicromapFlagBitsEXT::ePreferFastTrace | BuildMicromapFlagBitsEXT::ePreferFastBuild | BuildMicromapFlagBitsEXT::eAllowCompaction;
8144 };
8145
8146 // wrapper class for enum VkCopyMicromapModeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyMicromapModeEXT.html
8147 enum class CopyMicromapModeEXT
8148 {
8149 eClone = VK_COPY_MICROMAP_MODE_CLONE_EXT,
8150 eSerialize = VK_COPY_MICROMAP_MODE_SERIALIZE_EXT,
8151 eDeserialize = VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT,
8152 eCompact = VK_COPY_MICROMAP_MODE_COMPACT_EXT
8153 };
8154
8155 // wrapper class for enum VkMicromapCreateFlagBitsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMicromapCreateFlagBitsEXT.html
8156 enum class MicromapCreateFlagBitsEXT : VkMicromapCreateFlagsEXT
8157 {
8158 eDeviceAddressCaptureReplay = VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT
8159 };
8160
8161 // wrapper using for bitmask VkMicromapCreateFlagsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMicromapCreateFlagsEXT.html
8162 using MicromapCreateFlagsEXT = Flags<MicromapCreateFlagBitsEXT>;
8163
8164 template <>
8165 struct FlagTraits<MicromapCreateFlagBitsEXT>
8166 {
8167 using WrappedType = VkMicromapCreateFlagBitsEXT;
8168 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8169 static VULKAN_HPP_CONST_OR_CONSTEXPR MicromapCreateFlagsEXT allFlags = MicromapCreateFlagBitsEXT::eDeviceAddressCaptureReplay;
8170 };
8171
8172 // wrapper class for enum VkBuildMicromapModeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBuildMicromapModeEXT.html
8173 enum class BuildMicromapModeEXT
8174 {
8175 eBuild = VK_BUILD_MICROMAP_MODE_BUILD_EXT
8176 };
8177
8178 // wrapper class for enum VkOpacityMicromapFormatEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpacityMicromapFormatEXT.html
8179 enum class OpacityMicromapFormatEXT
8180 {
8181 e2State = VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT,
8182 e4State = VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT
8183 };
8184
8185 // wrapper class for enum VkOpacityMicromapSpecialIndexEXT, see
8186 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpacityMicromapSpecialIndexEXT.html
8187 enum class OpacityMicromapSpecialIndexEXT
8188 {
8189 eFullyTransparent = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT,
8190 eFullyOpaque = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT,
8191 eFullyUnknownTransparent = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT,
8192 eFullyUnknownOpaque = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT,
8193 eClusterGeometryDisableOpacityMicromapNV = VK_OPACITY_MICROMAP_SPECIAL_INDEX_CLUSTER_GEOMETRY_DISABLE_OPACITY_MICROMAP_NV
8194 };
8195
8196 #if defined( VK_ENABLE_BETA_EXTENSIONS )
8197 //=== VK_NV_displacement_micromap ===
8198
8199 // wrapper class for enum VkDisplacementMicromapFormatNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplacementMicromapFormatNV.html
8200 enum class DisplacementMicromapFormatNV
8201 {
8202 e64Triangles64Bytes = VK_DISPLACEMENT_MICROMAP_FORMAT_64_TRIANGLES_64_BYTES_NV,
8203 e256Triangles128Bytes = VK_DISPLACEMENT_MICROMAP_FORMAT_256_TRIANGLES_128_BYTES_NV,
8204 e1024Triangles128Bytes = VK_DISPLACEMENT_MICROMAP_FORMAT_1024_TRIANGLES_128_BYTES_NV
8205 };
8206
8207 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
8208
8209 //=== VK_ARM_scheduling_controls ===
8210
8211 // wrapper class for enum VkPhysicalDeviceSchedulingControlsFlagBitsARM, see
8212 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceSchedulingControlsFlagBitsARM.html
8213 enum class PhysicalDeviceSchedulingControlsFlagBitsARM : VkPhysicalDeviceSchedulingControlsFlagsARM
8214 {
8215 eShaderCoreCount = VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM
8216 };
8217
8218 // wrapper using for bitmask VkPhysicalDeviceSchedulingControlsFlagsARM, see
8219 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceSchedulingControlsFlagsARM.html
8220 using PhysicalDeviceSchedulingControlsFlagsARM = Flags<PhysicalDeviceSchedulingControlsFlagBitsARM>;
8221
8222 template <>
8223 struct FlagTraits<PhysicalDeviceSchedulingControlsFlagBitsARM>
8224 {
8225 using WrappedType = VkPhysicalDeviceSchedulingControlsFlagBitsARM;
8226 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8227 static VULKAN_HPP_CONST_OR_CONSTEXPR PhysicalDeviceSchedulingControlsFlagsARM allFlags = PhysicalDeviceSchedulingControlsFlagBitsARM::eShaderCoreCount;
8228 };
8229
8230 //=== VK_NV_ray_tracing_linear_swept_spheres ===
8231
8232 // wrapper class for enum VkRayTracingLssIndexingModeNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkRayTracingLssIndexingModeNV.html
8233 enum class RayTracingLssIndexingModeNV
8234 {
8235 eList = VK_RAY_TRACING_LSS_INDEXING_MODE_LIST_NV,
8236 eSuccessive = VK_RAY_TRACING_LSS_INDEXING_MODE_SUCCESSIVE_NV
8237 };
8238
8239 // wrapper class for enum VkRayTracingLssPrimitiveEndCapsModeNV, see
8240 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkRayTracingLssPrimitiveEndCapsModeNV.html
8241 enum class RayTracingLssPrimitiveEndCapsModeNV
8242 {
8243 eNone = VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_NONE_NV,
8244 eChained = VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_CHAINED_NV
8245 };
8246
8247 //=== VK_EXT_subpass_merge_feedback ===
8248
8249 // wrapper class for enum VkSubpassMergeStatusEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSubpassMergeStatusEXT.html
8250 enum class SubpassMergeStatusEXT
8251 {
8252 eMerged = VK_SUBPASS_MERGE_STATUS_MERGED_EXT,
8253 eDisallowed = VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT,
8254 eNotMergedSideEffects = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT,
8255 eNotMergedSamplesMismatch = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT,
8256 eNotMergedViewsMismatch = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT,
8257 eNotMergedAliasing = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT,
8258 eNotMergedDependencies = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT,
8259 eNotMergedIncompatibleInputAttachment = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT,
8260 eNotMergedTooManyAttachments = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT,
8261 eNotMergedInsufficientStorage = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT,
8262 eNotMergedDepthStencilCount = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT,
8263 eNotMergedResolveAttachmentReuse = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT,
8264 eNotMergedSingleSubpass = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT,
8265 eNotMergedUnspecified = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT
8266 };
8267
8268 //=== VK_LUNARG_direct_driver_loading ===
8269
8270 // wrapper class for enum VkDirectDriverLoadingModeLUNARG, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDirectDriverLoadingModeLUNARG.html
8271 enum class DirectDriverLoadingModeLUNARG
8272 {
8273 eExclusive = VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG,
8274 eInclusive = VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG
8275 };
8276
8277 enum class DirectDriverLoadingFlagBitsLUNARG : VkDirectDriverLoadingFlagsLUNARG
8278 {
8279 };
8280
8281 // wrapper using for bitmask VkDirectDriverLoadingFlagsLUNARG, see
8282 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDirectDriverLoadingFlagsLUNARG.html
8283 using DirectDriverLoadingFlagsLUNARG = Flags<DirectDriverLoadingFlagBitsLUNARG>;
8284
8285 template <>
8286 struct FlagTraits<DirectDriverLoadingFlagBitsLUNARG>
8287 {
8288 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8289 static VULKAN_HPP_CONST_OR_CONSTEXPR DirectDriverLoadingFlagsLUNARG allFlags = {};
8290 };
8291
8292 //=== VK_ARM_tensors ===
8293
8294 // wrapper class for enum VkTensorCreateFlagBitsARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorCreateFlagBitsARM.html
8295 enum class TensorCreateFlagBitsARM : VkTensorCreateFlagsARM
8296 {
8297 eMutableFormat = VK_TENSOR_CREATE_MUTABLE_FORMAT_BIT_ARM,
8298 eProtected = VK_TENSOR_CREATE_PROTECTED_BIT_ARM,
8299 eDescriptorBufferCaptureReplay = VK_TENSOR_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_ARM
8300 };
8301
8302 // wrapper using for bitmask VkTensorCreateFlagsARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorCreateFlagsARM.html
8303 using TensorCreateFlagsARM = Flags<TensorCreateFlagBitsARM>;
8304
8305 template <>
8306 struct FlagTraits<TensorCreateFlagBitsARM>
8307 {
8308 using WrappedType = VkTensorCreateFlagBitsARM;
8309 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8310 static VULKAN_HPP_CONST_OR_CONSTEXPR TensorCreateFlagsARM allFlags =
8311 TensorCreateFlagBitsARM::eMutableFormat | TensorCreateFlagBitsARM::eProtected | TensorCreateFlagBitsARM::eDescriptorBufferCaptureReplay;
8312 };
8313
8314 // wrapper class for enum VkTensorViewCreateFlagBitsARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorViewCreateFlagBitsARM.html
8315 enum class TensorViewCreateFlagBitsARM : VkTensorViewCreateFlagsARM
8316 {
8317 eDescriptorBufferCaptureReplay = VK_TENSOR_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_ARM
8318 };
8319
8320 // wrapper using for bitmask VkTensorViewCreateFlagsARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorViewCreateFlagsARM.html
8321 using TensorViewCreateFlagsARM = Flags<TensorViewCreateFlagBitsARM>;
8322
8323 template <>
8324 struct FlagTraits<TensorViewCreateFlagBitsARM>
8325 {
8326 using WrappedType = VkTensorViewCreateFlagBitsARM;
8327 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8328 static VULKAN_HPP_CONST_OR_CONSTEXPR TensorViewCreateFlagsARM allFlags = TensorViewCreateFlagBitsARM::eDescriptorBufferCaptureReplay;
8329 };
8330
8331 // wrapper class for enum VkTensorUsageFlagBitsARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorUsageFlagBitsARM.html
8332 enum class TensorUsageFlagBitsARM : VkTensorUsageFlagsARM
8333 {
8334 eShader = VK_TENSOR_USAGE_SHADER_BIT_ARM,
8335 eTransferSrc = VK_TENSOR_USAGE_TRANSFER_SRC_BIT_ARM,
8336 eTransferDst = VK_TENSOR_USAGE_TRANSFER_DST_BIT_ARM,
8337 eImageAliasing = VK_TENSOR_USAGE_IMAGE_ALIASING_BIT_ARM,
8338 eDataGraph = VK_TENSOR_USAGE_DATA_GRAPH_BIT_ARM
8339 };
8340
8341 // wrapper using for bitmask VkTensorUsageFlagsARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorUsageFlagsARM.html
8342 using TensorUsageFlagsARM = Flags<TensorUsageFlagBitsARM>;
8343
8344 template <>
8345 struct FlagTraits<TensorUsageFlagBitsARM>
8346 {
8347 using WrappedType = VkTensorUsageFlagBitsARM;
8348 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8349 static VULKAN_HPP_CONST_OR_CONSTEXPR TensorUsageFlagsARM allFlags = TensorUsageFlagBitsARM::eShader | TensorUsageFlagBitsARM::eTransferSrc |
8350 TensorUsageFlagBitsARM::eTransferDst | TensorUsageFlagBitsARM::eImageAliasing |
8351 TensorUsageFlagBitsARM::eDataGraph;
8352 };
8353
8354 // wrapper class for enum VkTensorTilingARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorTilingARM.html
8355 enum class TensorTilingARM
8356 {
8357 eOptimal = VK_TENSOR_TILING_OPTIMAL_ARM,
8358 eLinear = VK_TENSOR_TILING_LINEAR_ARM
8359 };
8360
8361 //=== VK_NV_optical_flow ===
8362
8363 // wrapper class for enum VkOpticalFlowUsageFlagBitsNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpticalFlowUsageFlagBitsNV.html
8364 enum class OpticalFlowUsageFlagBitsNV : VkOpticalFlowUsageFlagsNV
8365 {
8366 eUnknown = VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV,
8367 eInput = VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV,
8368 eOutput = VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV,
8369 eHint = VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV,
8370 eCost = VK_OPTICAL_FLOW_USAGE_COST_BIT_NV,
8371 eGlobalFlow = VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV
8372 };
8373
8374 // wrapper using for bitmask VkOpticalFlowUsageFlagsNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpticalFlowUsageFlagsNV.html
8375 using OpticalFlowUsageFlagsNV = Flags<OpticalFlowUsageFlagBitsNV>;
8376
8377 template <>
8378 struct FlagTraits<OpticalFlowUsageFlagBitsNV>
8379 {
8380 using WrappedType = VkOpticalFlowUsageFlagBitsNV;
8381 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8382 static VULKAN_HPP_CONST_OR_CONSTEXPR OpticalFlowUsageFlagsNV allFlags = OpticalFlowUsageFlagBitsNV::eUnknown | OpticalFlowUsageFlagBitsNV::eInput |
8383 OpticalFlowUsageFlagBitsNV::eOutput | OpticalFlowUsageFlagBitsNV::eHint |
8384 OpticalFlowUsageFlagBitsNV::eCost | OpticalFlowUsageFlagBitsNV::eGlobalFlow;
8385 };
8386
8387 // wrapper class for enum VkOpticalFlowGridSizeFlagBitsNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpticalFlowGridSizeFlagBitsNV.html
8388 enum class OpticalFlowGridSizeFlagBitsNV : VkOpticalFlowGridSizeFlagsNV
8389 {
8390 eUnknown = VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV,
8391 e1X1 = VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV,
8392 e2X2 = VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV,
8393 e4X4 = VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV,
8394 e8X8 = VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV
8395 };
8396
8397 // wrapper using for bitmask VkOpticalFlowGridSizeFlagsNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpticalFlowGridSizeFlagsNV.html
8398 using OpticalFlowGridSizeFlagsNV = Flags<OpticalFlowGridSizeFlagBitsNV>;
8399
8400 template <>
8401 struct FlagTraits<OpticalFlowGridSizeFlagBitsNV>
8402 {
8403 using WrappedType = VkOpticalFlowGridSizeFlagBitsNV;
8404 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8405 static VULKAN_HPP_CONST_OR_CONSTEXPR OpticalFlowGridSizeFlagsNV allFlags = OpticalFlowGridSizeFlagBitsNV::eUnknown | OpticalFlowGridSizeFlagBitsNV::e1X1 |
8406 OpticalFlowGridSizeFlagBitsNV::e2X2 | OpticalFlowGridSizeFlagBitsNV::e4X4 |
8407 OpticalFlowGridSizeFlagBitsNV::e8X8;
8408 };
8409
8410 // wrapper class for enum VkOpticalFlowPerformanceLevelNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpticalFlowPerformanceLevelNV.html
8411 enum class OpticalFlowPerformanceLevelNV
8412 {
8413 eUnknown = VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV,
8414 eSlow = VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV,
8415 eMedium = VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV,
8416 eFast = VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV
8417 };
8418
8419 // wrapper class for enum VkOpticalFlowSessionBindingPointNV, see
8420 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpticalFlowSessionBindingPointNV.html
8421 enum class OpticalFlowSessionBindingPointNV
8422 {
8423 eUnknown = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV,
8424 eInput = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV,
8425 eReference = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV,
8426 eHint = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV,
8427 eFlowVector = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV,
8428 eBackwardFlowVector = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV,
8429 eCost = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV,
8430 eBackwardCost = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV,
8431 eGlobalFlow = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV
8432 };
8433
8434 // wrapper class for enum VkOpticalFlowSessionCreateFlagBitsNV, see
8435 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpticalFlowSessionCreateFlagBitsNV.html
8436 enum class OpticalFlowSessionCreateFlagBitsNV : VkOpticalFlowSessionCreateFlagsNV
8437 {
8438 eEnableHint = VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV,
8439 eEnableCost = VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV,
8440 eEnableGlobalFlow = VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV,
8441 eAllowRegions = VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV,
8442 eBothDirections = VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV
8443 };
8444
8445 // wrapper using for bitmask VkOpticalFlowSessionCreateFlagsNV, see
8446 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpticalFlowSessionCreateFlagsNV.html
8447 using OpticalFlowSessionCreateFlagsNV = Flags<OpticalFlowSessionCreateFlagBitsNV>;
8448
8449 template <>
8450 struct FlagTraits<OpticalFlowSessionCreateFlagBitsNV>
8451 {
8452 using WrappedType = VkOpticalFlowSessionCreateFlagBitsNV;
8453 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8454 static VULKAN_HPP_CONST_OR_CONSTEXPR OpticalFlowSessionCreateFlagsNV allFlags =
8455 OpticalFlowSessionCreateFlagBitsNV::eEnableHint | OpticalFlowSessionCreateFlagBitsNV::eEnableCost |
8456 OpticalFlowSessionCreateFlagBitsNV::eEnableGlobalFlow | OpticalFlowSessionCreateFlagBitsNV::eAllowRegions |
8457 OpticalFlowSessionCreateFlagBitsNV::eBothDirections;
8458 };
8459
8460 // wrapper class for enum VkOpticalFlowExecuteFlagBitsNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpticalFlowExecuteFlagBitsNV.html
8461 enum class OpticalFlowExecuteFlagBitsNV : VkOpticalFlowExecuteFlagsNV
8462 {
8463 eDisableTemporalHints = VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV
8464 };
8465
8466 // wrapper using for bitmask VkOpticalFlowExecuteFlagsNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpticalFlowExecuteFlagsNV.html
8467 using OpticalFlowExecuteFlagsNV = Flags<OpticalFlowExecuteFlagBitsNV>;
8468
8469 template <>
8470 struct FlagTraits<OpticalFlowExecuteFlagBitsNV>
8471 {
8472 using WrappedType = VkOpticalFlowExecuteFlagBitsNV;
8473 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8474 static VULKAN_HPP_CONST_OR_CONSTEXPR OpticalFlowExecuteFlagsNV allFlags = OpticalFlowExecuteFlagBitsNV::eDisableTemporalHints;
8475 };
8476
8477 //=== VK_AMD_anti_lag ===
8478
8479 // wrapper class for enum VkAntiLagModeAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAntiLagModeAMD.html
8480 enum class AntiLagModeAMD
8481 {
8482 eDriverControl = VK_ANTI_LAG_MODE_DRIVER_CONTROL_AMD,
8483 eOn = VK_ANTI_LAG_MODE_ON_AMD,
8484 eOff = VK_ANTI_LAG_MODE_OFF_AMD
8485 };
8486
8487 // wrapper class for enum VkAntiLagStageAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAntiLagStageAMD.html
8488 enum class AntiLagStageAMD
8489 {
8490 eInput = VK_ANTI_LAG_STAGE_INPUT_AMD,
8491 ePresent = VK_ANTI_LAG_STAGE_PRESENT_AMD
8492 };
8493
8494 #if defined( VK_ENABLE_BETA_EXTENSIONS )
8495 //=== VK_AMDX_dense_geometry_format ===
8496
8497 // wrapper class for enum VkCompressedTriangleFormatAMDX, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCompressedTriangleFormatAMDX.html
8498 enum class CompressedTriangleFormatAMDX
8499 {
8500 eDgf1 = VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_AMDX
8501 };
8502
8503 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
8504
8505 //=== VK_EXT_shader_object ===
8506
8507 // wrapper class for enum VkShaderCreateFlagBitsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderCreateFlagBitsEXT.html
8508 enum class ShaderCreateFlagBitsEXT : VkShaderCreateFlagsEXT
8509 {
8510 eLinkStage = VK_SHADER_CREATE_LINK_STAGE_BIT_EXT,
8511 eAllowVaryingSubgroupSize = VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT,
8512 eRequireFullSubgroups = VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT,
8513 eNoTaskShader = VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT,
8514 eDispatchBase = VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT,
8515 eFragmentShadingRateAttachment = VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT,
8516 eFragmentDensityMapAttachment = VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
8517 eIndirectBindable = VK_SHADER_CREATE_INDIRECT_BINDABLE_BIT_EXT,
8518 e64BitIndexing = VK_SHADER_CREATE_64_BIT_INDEXING_BIT_EXT
8519 };
8520
8521 // wrapper using for bitmask VkShaderCreateFlagsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderCreateFlagsEXT.html
8522 using ShaderCreateFlagsEXT = Flags<ShaderCreateFlagBitsEXT>;
8523
8524 template <>
8525 struct FlagTraits<ShaderCreateFlagBitsEXT>
8526 {
8527 using WrappedType = VkShaderCreateFlagBitsEXT;
8528 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8529 static VULKAN_HPP_CONST_OR_CONSTEXPR ShaderCreateFlagsEXT allFlags =
8530 ShaderCreateFlagBitsEXT::eLinkStage | ShaderCreateFlagBitsEXT::eAllowVaryingSubgroupSize | ShaderCreateFlagBitsEXT::eRequireFullSubgroups |
8531 ShaderCreateFlagBitsEXT::eNoTaskShader | ShaderCreateFlagBitsEXT::eDispatchBase | ShaderCreateFlagBitsEXT::eFragmentShadingRateAttachment |
8532 ShaderCreateFlagBitsEXT::eFragmentDensityMapAttachment | ShaderCreateFlagBitsEXT::eIndirectBindable | ShaderCreateFlagBitsEXT::e64BitIndexing;
8533 };
8534
8535 // wrapper class for enum VkShaderCodeTypeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderCodeTypeEXT.html
8536 enum class ShaderCodeTypeEXT
8537 {
8538 eBinary = VK_SHADER_CODE_TYPE_BINARY_EXT,
8539 eSpirv = VK_SHADER_CODE_TYPE_SPIRV_EXT
8540 };
8541
8542 //=== VK_KHR_surface_maintenance1 ===
8543
8544 // wrapper class for enum VkPresentScalingFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPresentScalingFlagBitsKHR.html
8545 enum class PresentScalingFlagBitsKHR : VkPresentScalingFlagsKHR
8546 {
8547 eOneToOne = VK_PRESENT_SCALING_ONE_TO_ONE_BIT_KHR,
8548 eAspectRatioStretch = VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_KHR,
8549 eStretch = VK_PRESENT_SCALING_STRETCH_BIT_KHR
8550 };
8551
8552 using PresentScalingFlagBitsEXT = PresentScalingFlagBitsKHR;
8553
8554 // wrapper using for bitmask VkPresentScalingFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPresentScalingFlagsKHR.html
8555 using PresentScalingFlagsKHR = Flags<PresentScalingFlagBitsKHR>;
8556 using PresentScalingFlagsEXT = PresentScalingFlagsKHR;
8557
8558 template <>
8559 struct FlagTraits<PresentScalingFlagBitsKHR>
8560 {
8561 using WrappedType = VkPresentScalingFlagBitsKHR;
8562 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8563 static VULKAN_HPP_CONST_OR_CONSTEXPR PresentScalingFlagsKHR allFlags =
8564 PresentScalingFlagBitsKHR::eOneToOne | PresentScalingFlagBitsKHR::eAspectRatioStretch | PresentScalingFlagBitsKHR::eStretch;
8565 };
8566
8567 // wrapper class for enum VkPresentGravityFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPresentGravityFlagBitsKHR.html
8568 enum class PresentGravityFlagBitsKHR : VkPresentGravityFlagsKHR
8569 {
8570 eMin = VK_PRESENT_GRAVITY_MIN_BIT_KHR,
8571 eMax = VK_PRESENT_GRAVITY_MAX_BIT_KHR,
8572 eCentered = VK_PRESENT_GRAVITY_CENTERED_BIT_KHR
8573 };
8574
8575 using PresentGravityFlagBitsEXT = PresentGravityFlagBitsKHR;
8576
8577 // wrapper using for bitmask VkPresentGravityFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPresentGravityFlagsKHR.html
8578 using PresentGravityFlagsKHR = Flags<PresentGravityFlagBitsKHR>;
8579 using PresentGravityFlagsEXT = PresentGravityFlagsKHR;
8580
8581 template <>
8582 struct FlagTraits<PresentGravityFlagBitsKHR>
8583 {
8584 using WrappedType = VkPresentGravityFlagBitsKHR;
8585 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8586 static VULKAN_HPP_CONST_OR_CONSTEXPR PresentGravityFlagsKHR allFlags =
8587 PresentGravityFlagBitsKHR::eMin | PresentGravityFlagBitsKHR::eMax | PresentGravityFlagBitsKHR::eCentered;
8588 };
8589
8590 //=== VK_NV_cooperative_vector ===
8591
8592 // wrapper class for enum VkCooperativeVectorMatrixLayoutNV, see
8593 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkCooperativeVectorMatrixLayoutNV.html
8594 enum class CooperativeVectorMatrixLayoutNV
8595 {
8596 eRowMajor = VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_ROW_MAJOR_NV,
8597 eColumnMajor = VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_COLUMN_MAJOR_NV,
8598 eInferencingOptimal = VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_INFERENCING_OPTIMAL_NV,
8599 eTrainingOptimal = VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_TRAINING_OPTIMAL_NV
8600 };
8601
8602 // wrapper class for enum VkComponentTypeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkComponentTypeKHR.html
8603 enum class ComponentTypeKHR
8604 {
8605 eFloat16 = VK_COMPONENT_TYPE_FLOAT16_KHR,
8606 eFloat32 = VK_COMPONENT_TYPE_FLOAT32_KHR,
8607 eFloat64 = VK_COMPONENT_TYPE_FLOAT64_KHR,
8608 eSint8 = VK_COMPONENT_TYPE_SINT8_KHR,
8609 eSint16 = VK_COMPONENT_TYPE_SINT16_KHR,
8610 eSint32 = VK_COMPONENT_TYPE_SINT32_KHR,
8611 eSint64 = VK_COMPONENT_TYPE_SINT64_KHR,
8612 eUint8 = VK_COMPONENT_TYPE_UINT8_KHR,
8613 eUint16 = VK_COMPONENT_TYPE_UINT16_KHR,
8614 eUint32 = VK_COMPONENT_TYPE_UINT32_KHR,
8615 eUint64 = VK_COMPONENT_TYPE_UINT64_KHR,
8616 eBfloat16 = VK_COMPONENT_TYPE_BFLOAT16_KHR,
8617 eSint8PackedNV = VK_COMPONENT_TYPE_SINT8_PACKED_NV,
8618 eUint8PackedNV = VK_COMPONENT_TYPE_UINT8_PACKED_NV,
8619 eFloat8E4M3EXT = VK_COMPONENT_TYPE_FLOAT8_E4M3_EXT,
8620 eFloatE4M3 = VK_COMPONENT_TYPE_FLOAT_E4M3_NV,
8621 eFloat8E5M2EXT = VK_COMPONENT_TYPE_FLOAT8_E5M2_EXT,
8622 eFloatE5M2 = VK_COMPONENT_TYPE_FLOAT_E5M2_NV
8623 };
8624
8625 using ComponentTypeNV = ComponentTypeKHR;
8626
8627 //=== VK_EXT_layer_settings ===
8628
8629 // wrapper class for enum VkLayerSettingTypeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkLayerSettingTypeEXT.html
8630 enum class LayerSettingTypeEXT
8631 {
8632 eBool32 = VK_LAYER_SETTING_TYPE_BOOL32_EXT,
8633 eInt32 = VK_LAYER_SETTING_TYPE_INT32_EXT,
8634 eInt64 = VK_LAYER_SETTING_TYPE_INT64_EXT,
8635 eUint32 = VK_LAYER_SETTING_TYPE_UINT32_EXT,
8636 eUint64 = VK_LAYER_SETTING_TYPE_UINT64_EXT,
8637 eFloat32 = VK_LAYER_SETTING_TYPE_FLOAT32_EXT,
8638 eFloat64 = VK_LAYER_SETTING_TYPE_FLOAT64_EXT,
8639 eString = VK_LAYER_SETTING_TYPE_STRING_EXT
8640 };
8641
8642 //=================================
8643 //=== Layer Setting Type Traits ===
8644 //=================================
8645
8646 template <>
8647 struct CppType<LayerSettingTypeEXT, LayerSettingTypeEXT::eBool32>
8648 {
8649 using Type = Bool32;
8650 };
8651
8652 template <>
8653 struct CppType<LayerSettingTypeEXT, LayerSettingTypeEXT::eInt32>
8654 {
8655 using Type = int32_t;
8656 };
8657
8658 template <>
8659 struct CppType<LayerSettingTypeEXT, LayerSettingTypeEXT::eInt64>
8660 {
8661 using Type = int64_t;
8662 };
8663
8664 template <>
8665 struct CppType<LayerSettingTypeEXT, LayerSettingTypeEXT::eUint32>
8666 {
8667 using Type = uint32_t;
8668 };
8669
8670 template <>
8671 struct CppType<LayerSettingTypeEXT, LayerSettingTypeEXT::eUint64>
8672 {
8673 using Type = uint64_t;
8674 };
8675
8676 template <>
8677 struct CppType<LayerSettingTypeEXT, LayerSettingTypeEXT::eFloat32>
8678 {
8679 using Type = float;
8680 };
8681
8682 template <>
8683 struct CppType<LayerSettingTypeEXT, LayerSettingTypeEXT::eFloat64>
8684 {
8685 using Type = double;
8686 };
8687
8688 template <>
8689 struct CppType<LayerSettingTypeEXT, LayerSettingTypeEXT::eString>
8690 {
8691 using Type = char *;
8692 };
8693
8694 template <typename T>
8695 bool isSameType( LayerSettingTypeEXT layerSettingType )
8696 {
8697 switch ( layerSettingType )
8698 {
8699 case LayerSettingTypeEXT::eBool32 : return std::is_same<T, Bool32>::value;
8700 case LayerSettingTypeEXT::eInt32 : return std::is_same<T, int32_t>::value;
8701 case LayerSettingTypeEXT::eInt64 : return std::is_same<T, int64_t>::value;
8702 case LayerSettingTypeEXT::eUint32 : return std::is_same<T, uint32_t>::value;
8703 case LayerSettingTypeEXT::eUint64 : return std::is_same<T, uint64_t>::value;
8704 case LayerSettingTypeEXT::eFloat32: return std::is_same<T, float>::value;
8705 case LayerSettingTypeEXT::eFloat64: return std::is_same<T, double>::value;
8706 case LayerSettingTypeEXT::eString : return std::is_same<T, char *>::value;
8707 default : return false;
8708 }
8709 }
8710
8711 //=== VK_NV_low_latency2 ===
8712
8713 // wrapper class for enum VkLatencyMarkerNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkLatencyMarkerNV.html
8714 enum class LatencyMarkerNV
8715 {
8716 eSimulationStart = VK_LATENCY_MARKER_SIMULATION_START_NV,
8717 eSimulationEnd = VK_LATENCY_MARKER_SIMULATION_END_NV,
8718 eRendersubmitStart = VK_LATENCY_MARKER_RENDERSUBMIT_START_NV,
8719 eRendersubmitEnd = VK_LATENCY_MARKER_RENDERSUBMIT_END_NV,
8720 ePresentStart = VK_LATENCY_MARKER_PRESENT_START_NV,
8721 ePresentEnd = VK_LATENCY_MARKER_PRESENT_END_NV,
8722 eInputSample = VK_LATENCY_MARKER_INPUT_SAMPLE_NV,
8723 eTriggerFlash = VK_LATENCY_MARKER_TRIGGER_FLASH_NV,
8724 eOutOfBandRendersubmitStart = VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_START_NV,
8725 eOutOfBandRendersubmitEnd = VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_END_NV,
8726 eOutOfBandPresentStart = VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_START_NV,
8727 eOutOfBandPresentEnd = VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_END_NV
8728 };
8729
8730 // wrapper class for enum VkOutOfBandQueueTypeNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkOutOfBandQueueTypeNV.html
8731 enum class OutOfBandQueueTypeNV
8732 {
8733 eRender = VK_OUT_OF_BAND_QUEUE_TYPE_RENDER_NV,
8734 ePresent = VK_OUT_OF_BAND_QUEUE_TYPE_PRESENT_NV
8735 };
8736
8737 //=== VK_KHR_cooperative_matrix ===
8738
8739 // wrapper class for enum VkScopeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkScopeKHR.html
8740 enum class ScopeKHR
8741 {
8742 eDevice = VK_SCOPE_DEVICE_KHR,
8743 eWorkgroup = VK_SCOPE_WORKGROUP_KHR,
8744 eSubgroup = VK_SCOPE_SUBGROUP_KHR,
8745 eQueueFamily = VK_SCOPE_QUEUE_FAMILY_KHR
8746 };
8747
8748 using ScopeNV = ScopeKHR;
8749
8750 //=== VK_ARM_data_graph ===
8751
8752 // wrapper class for enum VkDataGraphPipelineSessionBindPointARM, see
8753 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineSessionBindPointARM.html
8754 enum class DataGraphPipelineSessionBindPointARM
8755 {
8756 eTransient = VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_TRANSIENT_ARM
8757 };
8758
8759 // wrapper class for enum VkDataGraphPipelineSessionBindPointTypeARM, see
8760 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineSessionBindPointTypeARM.html
8761 enum class DataGraphPipelineSessionBindPointTypeARM
8762 {
8763 eMemory = VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_TYPE_MEMORY_ARM
8764 };
8765
8766 // wrapper class for enum VkDataGraphPipelineSessionCreateFlagBitsARM, see
8767 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineSessionCreateFlagBitsARM.html
8768 enum class DataGraphPipelineSessionCreateFlagBitsARM : VkDataGraphPipelineSessionCreateFlagsARM
8769 {
8770 eProtected = VK_DATA_GRAPH_PIPELINE_SESSION_CREATE_PROTECTED_BIT_ARM
8771 };
8772
8773 // wrapper using for bitmask VkDataGraphPipelineSessionCreateFlagsARM, see
8774 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineSessionCreateFlagsARM.html
8775 using DataGraphPipelineSessionCreateFlagsARM = Flags<DataGraphPipelineSessionCreateFlagBitsARM>;
8776
8777 template <>
8778 struct FlagTraits<DataGraphPipelineSessionCreateFlagBitsARM>
8779 {
8780 using WrappedType = VkDataGraphPipelineSessionCreateFlagBitsARM;
8781 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8782 static VULKAN_HPP_CONST_OR_CONSTEXPR DataGraphPipelineSessionCreateFlagsARM allFlags = DataGraphPipelineSessionCreateFlagBitsARM::eProtected;
8783 };
8784
8785 // wrapper class for enum VkDataGraphPipelinePropertyARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelinePropertyARM.html
8786 enum class DataGraphPipelinePropertyARM
8787 {
8788 eCreationLog = VK_DATA_GRAPH_PIPELINE_PROPERTY_CREATION_LOG_ARM,
8789 eIdentifier = VK_DATA_GRAPH_PIPELINE_PROPERTY_IDENTIFIER_ARM
8790 };
8791
8792 enum class DataGraphPipelineDispatchFlagBitsARM : VkDataGraphPipelineDispatchFlagsARM
8793 {
8794 };
8795
8796 // wrapper using for bitmask VkDataGraphPipelineDispatchFlagsARM, see
8797 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineDispatchFlagsARM.html
8798 using DataGraphPipelineDispatchFlagsARM = Flags<DataGraphPipelineDispatchFlagBitsARM>;
8799
8800 template <>
8801 struct FlagTraits<DataGraphPipelineDispatchFlagBitsARM>
8802 {
8803 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8804 static VULKAN_HPP_CONST_OR_CONSTEXPR DataGraphPipelineDispatchFlagsARM allFlags = {};
8805 };
8806
8807 // wrapper class for enum VkPhysicalDeviceDataGraphProcessingEngineTypeARM, see
8808 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceDataGraphProcessingEngineTypeARM.html
8809 enum class PhysicalDeviceDataGraphProcessingEngineTypeARM
8810 {
8811 eDefault = VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_DEFAULT_ARM,
8812 eNeuralQCOM = VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_NEURAL_QCOM,
8813 eComputeQCOM = VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_COMPUTE_QCOM
8814 };
8815
8816 // wrapper class for enum VkPhysicalDeviceDataGraphOperationTypeARM, see
8817 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceDataGraphOperationTypeARM.html
8818 enum class PhysicalDeviceDataGraphOperationTypeARM
8819 {
8820 eSpirvExtendedInstructionSet = VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_SPIRV_EXTENDED_INSTRUCTION_SET_ARM,
8821 eNeuralModelQCOM = VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_NEURAL_MODEL_QCOM,
8822 eBuiltinModelQCOM = VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_BUILTIN_MODEL_QCOM
8823 };
8824
8825 //=== VK_KHR_video_encode_av1 ===
8826
8827 // wrapper class for enum VkVideoEncodeAV1PredictionModeKHR, see
8828 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeAV1PredictionModeKHR.html
8829 enum class VideoEncodeAV1PredictionModeKHR
8830 {
8831 eIntraOnly = VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_INTRA_ONLY_KHR,
8832 eSingleReference = VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_SINGLE_REFERENCE_KHR,
8833 eUnidirectionalCompound = VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_UNIDIRECTIONAL_COMPOUND_KHR,
8834 eBidirectionalCompound = VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_BIDIRECTIONAL_COMPOUND_KHR
8835 };
8836
8837 // wrapper class for enum VkVideoEncodeAV1RateControlGroupKHR, see
8838 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeAV1RateControlGroupKHR.html
8839 enum class VideoEncodeAV1RateControlGroupKHR
8840 {
8841 eIntra = VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_INTRA_KHR,
8842 ePredictive = VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_PREDICTIVE_KHR,
8843 eBipredictive = VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_BIPREDICTIVE_KHR
8844 };
8845
8846 // wrapper class for enum VkVideoEncodeAV1CapabilityFlagBitsKHR, see
8847 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeAV1CapabilityFlagBitsKHR.html
8848 enum class VideoEncodeAV1CapabilityFlagBitsKHR : VkVideoEncodeAV1CapabilityFlagsKHR
8849 {
8850 ePerRateControlGroupMinMaxQIndex = VK_VIDEO_ENCODE_AV1_CAPABILITY_PER_RATE_CONTROL_GROUP_MIN_MAX_Q_INDEX_BIT_KHR,
8851 eGenerateObuExtensionHeader = VK_VIDEO_ENCODE_AV1_CAPABILITY_GENERATE_OBU_EXTENSION_HEADER_BIT_KHR,
8852 ePrimaryReferenceCdfOnly = VK_VIDEO_ENCODE_AV1_CAPABILITY_PRIMARY_REFERENCE_CDF_ONLY_BIT_KHR,
8853 eFrameSizeOverride = VK_VIDEO_ENCODE_AV1_CAPABILITY_FRAME_SIZE_OVERRIDE_BIT_KHR,
8854 eMotionVectorScaling = VK_VIDEO_ENCODE_AV1_CAPABILITY_MOTION_VECTOR_SCALING_BIT_KHR,
8855 eCompoundPredictionIntraRefresh = VK_VIDEO_ENCODE_AV1_CAPABILITY_COMPOUND_PREDICTION_INTRA_REFRESH_BIT_KHR
8856 };
8857
8858 // wrapper using for bitmask VkVideoEncodeAV1CapabilityFlagsKHR, see
8859 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeAV1CapabilityFlagsKHR.html
8860 using VideoEncodeAV1CapabilityFlagsKHR = Flags<VideoEncodeAV1CapabilityFlagBitsKHR>;
8861
8862 template <>
8863 struct FlagTraits<VideoEncodeAV1CapabilityFlagBitsKHR>
8864 {
8865 using WrappedType = VkVideoEncodeAV1CapabilityFlagBitsKHR;
8866 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8867 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeAV1CapabilityFlagsKHR allFlags =
8868 VideoEncodeAV1CapabilityFlagBitsKHR::ePerRateControlGroupMinMaxQIndex | VideoEncodeAV1CapabilityFlagBitsKHR::eGenerateObuExtensionHeader |
8869 VideoEncodeAV1CapabilityFlagBitsKHR::ePrimaryReferenceCdfOnly | VideoEncodeAV1CapabilityFlagBitsKHR::eFrameSizeOverride |
8870 VideoEncodeAV1CapabilityFlagBitsKHR::eMotionVectorScaling | VideoEncodeAV1CapabilityFlagBitsKHR::eCompoundPredictionIntraRefresh;
8871 };
8872
8873 // wrapper class for enum VkVideoEncodeAV1StdFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeAV1StdFlagBitsKHR.html
8874 enum class VideoEncodeAV1StdFlagBitsKHR : VkVideoEncodeAV1StdFlagsKHR
8875 {
8876 eUniformTileSpacingFlagSet = VK_VIDEO_ENCODE_AV1_STD_UNIFORM_TILE_SPACING_FLAG_SET_BIT_KHR,
8877 eSkipModePresentUnset = VK_VIDEO_ENCODE_AV1_STD_SKIP_MODE_PRESENT_UNSET_BIT_KHR,
8878 ePrimaryRefFrame = VK_VIDEO_ENCODE_AV1_STD_PRIMARY_REF_FRAME_BIT_KHR,
8879 eDeltaQ = VK_VIDEO_ENCODE_AV1_STD_DELTA_Q_BIT_KHR
8880 };
8881
8882 // wrapper using for bitmask VkVideoEncodeAV1StdFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeAV1StdFlagsKHR.html
8883 using VideoEncodeAV1StdFlagsKHR = Flags<VideoEncodeAV1StdFlagBitsKHR>;
8884
8885 template <>
8886 struct FlagTraits<VideoEncodeAV1StdFlagBitsKHR>
8887 {
8888 using WrappedType = VkVideoEncodeAV1StdFlagBitsKHR;
8889 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8890 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeAV1StdFlagsKHR allFlags =
8891 VideoEncodeAV1StdFlagBitsKHR::eUniformTileSpacingFlagSet | VideoEncodeAV1StdFlagBitsKHR::eSkipModePresentUnset |
8892 VideoEncodeAV1StdFlagBitsKHR::ePrimaryRefFrame | VideoEncodeAV1StdFlagBitsKHR::eDeltaQ;
8893 };
8894
8895 // wrapper class for enum VkVideoEncodeAV1SuperblockSizeFlagBitsKHR, see
8896 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeAV1SuperblockSizeFlagBitsKHR.html
8897 enum class VideoEncodeAV1SuperblockSizeFlagBitsKHR : VkVideoEncodeAV1SuperblockSizeFlagsKHR
8898 {
8899 e64 = VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_64_BIT_KHR,
8900 e128 = VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_128_BIT_KHR
8901 };
8902
8903 // wrapper using for bitmask VkVideoEncodeAV1SuperblockSizeFlagsKHR, see
8904 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeAV1SuperblockSizeFlagsKHR.html
8905 using VideoEncodeAV1SuperblockSizeFlagsKHR = Flags<VideoEncodeAV1SuperblockSizeFlagBitsKHR>;
8906
8907 template <>
8908 struct FlagTraits<VideoEncodeAV1SuperblockSizeFlagBitsKHR>
8909 {
8910 using WrappedType = VkVideoEncodeAV1SuperblockSizeFlagBitsKHR;
8911 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8912 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeAV1SuperblockSizeFlagsKHR allFlags =
8913 VideoEncodeAV1SuperblockSizeFlagBitsKHR::e64 | VideoEncodeAV1SuperblockSizeFlagBitsKHR::e128;
8914 };
8915
8916 // wrapper class for enum VkVideoEncodeAV1RateControlFlagBitsKHR, see
8917 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeAV1RateControlFlagBitsKHR.html
8918 enum class VideoEncodeAV1RateControlFlagBitsKHR : VkVideoEncodeAV1RateControlFlagsKHR
8919 {
8920 eRegularGop = VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REGULAR_GOP_BIT_KHR,
8921 eTemporalLayerPatternDyadic = VK_VIDEO_ENCODE_AV1_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR,
8922 eReferencePatternFlat = VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR,
8923 eReferencePatternDyadic = VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR
8924 };
8925
8926 // wrapper using for bitmask VkVideoEncodeAV1RateControlFlagsKHR, see
8927 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeAV1RateControlFlagsKHR.html
8928 using VideoEncodeAV1RateControlFlagsKHR = Flags<VideoEncodeAV1RateControlFlagBitsKHR>;
8929
8930 template <>
8931 struct FlagTraits<VideoEncodeAV1RateControlFlagBitsKHR>
8932 {
8933 using WrappedType = VkVideoEncodeAV1RateControlFlagBitsKHR;
8934 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
8935 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeAV1RateControlFlagsKHR allFlags =
8936 VideoEncodeAV1RateControlFlagBitsKHR::eRegularGop | VideoEncodeAV1RateControlFlagBitsKHR::eTemporalLayerPatternDyadic |
8937 VideoEncodeAV1RateControlFlagBitsKHR::eReferencePatternFlat | VideoEncodeAV1RateControlFlagBitsKHR::eReferencePatternDyadic;
8938 };
8939
8940 //=== VK_QCOM_image_processing2 ===
8941
8942 // wrapper class for enum VkBlockMatchWindowCompareModeQCOM, see
8943 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBlockMatchWindowCompareModeQCOM.html
8944 enum class BlockMatchWindowCompareModeQCOM
8945 {
8946 eMin = VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MIN_QCOM,
8947 eMax = VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_QCOM
8948 };
8949
8950 //=== VK_QCOM_filter_cubic_weights ===
8951
8952 // wrapper class for enum VkCubicFilterWeightsQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCubicFilterWeightsQCOM.html
8953 enum class CubicFilterWeightsQCOM
8954 {
8955 eCatmullRom = VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM,
8956 eZeroTangentCardinal = VK_CUBIC_FILTER_WEIGHTS_ZERO_TANGENT_CARDINAL_QCOM,
8957 eBSpline = VK_CUBIC_FILTER_WEIGHTS_B_SPLINE_QCOM,
8958 eMitchellNetravali = VK_CUBIC_FILTER_WEIGHTS_MITCHELL_NETRAVALI_QCOM
8959 };
8960
8961 //=== VK_MSFT_layered_driver ===
8962
8963 // wrapper class for enum VkLayeredDriverUnderlyingApiMSFT, see
8964 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkLayeredDriverUnderlyingApiMSFT.html
8965 enum class LayeredDriverUnderlyingApiMSFT
8966 {
8967 eNone = VK_LAYERED_DRIVER_UNDERLYING_API_NONE_MSFT,
8968 eD3D12 = VK_LAYERED_DRIVER_UNDERLYING_API_D3D12_MSFT
8969 };
8970
8971 //=== VK_KHR_calibrated_timestamps ===
8972
8973 // wrapper class for enum VkTimeDomainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkTimeDomainKHR.html
8974 enum class TimeDomainKHR
8975 {
8976 eDevice = VK_TIME_DOMAIN_DEVICE_KHR,
8977 eClockMonotonic = VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR,
8978 eClockMonotonicRaw = VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR,
8979 eQueryPerformanceCounter = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR
8980 };
8981
8982 using TimeDomainEXT = TimeDomainKHR;
8983
8984 //=== VK_KHR_copy_memory_indirect ===
8985
8986 // wrapper class for enum VkAddressCopyFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAddressCopyFlagBitsKHR.html
8987 enum class AddressCopyFlagBitsKHR : VkAddressCopyFlagsKHR
8988 {
8989 eDeviceLocal = VK_ADDRESS_COPY_DEVICE_LOCAL_BIT_KHR,
8990 eSparse = VK_ADDRESS_COPY_SPARSE_BIT_KHR,
8991 eProtected = VK_ADDRESS_COPY_PROTECTED_BIT_KHR
8992 };
8993
8994 // wrapper using for bitmask VkAddressCopyFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAddressCopyFlagsKHR.html
8995 using AddressCopyFlagsKHR = Flags<AddressCopyFlagBitsKHR>;
8996
8997 template <>
8998 struct FlagTraits<AddressCopyFlagBitsKHR>
8999 {
9000 using WrappedType = VkAddressCopyFlagBitsKHR;
9001 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
9002 static VULKAN_HPP_CONST_OR_CONSTEXPR AddressCopyFlagsKHR allFlags =
9003 AddressCopyFlagBitsKHR::eDeviceLocal | AddressCopyFlagBitsKHR::eSparse | AddressCopyFlagBitsKHR::eProtected;
9004 };
9005
9006 //=== VK_EXT_memory_decompression ===
9007
9008 // wrapper class for enum VkMemoryDecompressionMethodFlagBitsEXT, see
9009 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryDecompressionMethodFlagBitsEXT.html
9010 enum class MemoryDecompressionMethodFlagBitsEXT : VkMemoryDecompressionMethodFlagsEXT
9011 {
9012 eGdeflate10 = VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_EXT
9013 };
9014
9015 using MemoryDecompressionMethodFlagBitsNV = MemoryDecompressionMethodFlagBitsEXT;
9016
9017 // wrapper using for bitmask VkMemoryDecompressionMethodFlagsEXT, see
9018 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryDecompressionMethodFlagsEXT.html
9019 using MemoryDecompressionMethodFlagsEXT = Flags<MemoryDecompressionMethodFlagBitsEXT>;
9020 using MemoryDecompressionMethodFlagsNV = MemoryDecompressionMethodFlagsEXT;
9021
9022 template <>
9023 struct FlagTraits<MemoryDecompressionMethodFlagBitsEXT>
9024 {
9025 using WrappedType = VkMemoryDecompressionMethodFlagBitsEXT;
9026 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
9027 static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryDecompressionMethodFlagsEXT allFlags = MemoryDecompressionMethodFlagBitsEXT::eGdeflate10;
9028 };
9029
9030 //=== VK_NV_display_stereo ===
9031
9032 // wrapper class for enum VkDisplaySurfaceStereoTypeNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplaySurfaceStereoTypeNV.html
9033 enum class DisplaySurfaceStereoTypeNV
9034 {
9035 eNone = VK_DISPLAY_SURFACE_STEREO_TYPE_NONE_NV,
9036 eOnboardDin = VK_DISPLAY_SURFACE_STEREO_TYPE_ONBOARD_DIN_NV,
9037 eHdmi3D = VK_DISPLAY_SURFACE_STEREO_TYPE_HDMI_3D_NV,
9038 eInbandDisplayport = VK_DISPLAY_SURFACE_STEREO_TYPE_INBAND_DISPLAYPORT_NV
9039 };
9040
9041 //=== VK_KHR_video_encode_intra_refresh ===
9042
9043 // wrapper class for enum VkVideoEncodeIntraRefreshModeFlagBitsKHR, see
9044 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeIntraRefreshModeFlagBitsKHR.html
9045 enum class VideoEncodeIntraRefreshModeFlagBitsKHR : VkVideoEncodeIntraRefreshModeFlagsKHR
9046 {
9047 eNone = VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_NONE_KHR,
9048 ePerPicturePartition = VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_PER_PICTURE_PARTITION_BIT_KHR,
9049 eBlockBased = VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_BASED_BIT_KHR,
9050 eBlockRowBased = VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_ROW_BASED_BIT_KHR,
9051 eBlockColumnBased = VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_COLUMN_BASED_BIT_KHR
9052 };
9053
9054 // wrapper using for bitmask VkVideoEncodeIntraRefreshModeFlagsKHR, see
9055 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeIntraRefreshModeFlagsKHR.html
9056 using VideoEncodeIntraRefreshModeFlagsKHR = Flags<VideoEncodeIntraRefreshModeFlagBitsKHR>;
9057
9058 template <>
9059 struct FlagTraits<VideoEncodeIntraRefreshModeFlagBitsKHR>
9060 {
9061 using WrappedType = VkVideoEncodeIntraRefreshModeFlagBitsKHR;
9062 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
9063 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeIntraRefreshModeFlagsKHR allFlags =
9064 VideoEncodeIntraRefreshModeFlagBitsKHR::eNone | VideoEncodeIntraRefreshModeFlagBitsKHR::ePerPicturePartition |
9065 VideoEncodeIntraRefreshModeFlagBitsKHR::eBlockBased | VideoEncodeIntraRefreshModeFlagBitsKHR::eBlockRowBased |
9066 VideoEncodeIntraRefreshModeFlagBitsKHR::eBlockColumnBased;
9067 };
9068
9069 //=== VK_KHR_maintenance7 ===
9070
9071 // wrapper class for enum VkPhysicalDeviceLayeredApiKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceLayeredApiKHR.html
9072 enum class PhysicalDeviceLayeredApiKHR
9073 {
9074 eVulkan = VK_PHYSICAL_DEVICE_LAYERED_API_VULKAN_KHR,
9075 eD3D12 = VK_PHYSICAL_DEVICE_LAYERED_API_D3D12_KHR,
9076 eMetal = VK_PHYSICAL_DEVICE_LAYERED_API_METAL_KHR,
9077 eOpengl = VK_PHYSICAL_DEVICE_LAYERED_API_OPENGL_KHR,
9078 eOpengles = VK_PHYSICAL_DEVICE_LAYERED_API_OPENGLES_KHR
9079 };
9080
9081 //=== VK_NV_cluster_acceleration_structure ===
9082
9083 // wrapper class for enum VkClusterAccelerationStructureClusterFlagBitsNV, see
9084 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureClusterFlagBitsNV.html
9085 enum class ClusterAccelerationStructureClusterFlagBitsNV : VkClusterAccelerationStructureClusterFlagsNV
9086 {
9087 eAllowDisableOpacityMicromaps = VK_CLUSTER_ACCELERATION_STRUCTURE_CLUSTER_ALLOW_DISABLE_OPACITY_MICROMAPS_NV
9088 };
9089
9090 // wrapper using for bitmask VkClusterAccelerationStructureClusterFlagsNV, see
9091 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureClusterFlagsNV.html
9092 using ClusterAccelerationStructureClusterFlagsNV = Flags<ClusterAccelerationStructureClusterFlagBitsNV>;
9093
9094 template <>
9095 struct FlagTraits<ClusterAccelerationStructureClusterFlagBitsNV>
9096 {
9097 using WrappedType = VkClusterAccelerationStructureClusterFlagBitsNV;
9098 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
9099 static VULKAN_HPP_CONST_OR_CONSTEXPR ClusterAccelerationStructureClusterFlagsNV allFlags =
9100 ClusterAccelerationStructureClusterFlagBitsNV::eAllowDisableOpacityMicromaps;
9101 };
9102
9103 // wrapper class for enum VkClusterAccelerationStructureGeometryFlagBitsNV, see
9104 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureGeometryFlagBitsNV.html
9105 enum class ClusterAccelerationStructureGeometryFlagBitsNV : VkClusterAccelerationStructureGeometryFlagsNV
9106 {
9107 eCullDisable = VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_CULL_DISABLE_BIT_NV,
9108 eNoDuplicateAnyhitInvocation = VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_NO_DUPLICATE_ANYHIT_INVOCATION_BIT_NV,
9109 eOpaque = VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_OPAQUE_BIT_NV
9110 };
9111
9112 // wrapper using for bitmask VkClusterAccelerationStructureGeometryFlagsNV, see
9113 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureGeometryFlagsNV.html
9114 using ClusterAccelerationStructureGeometryFlagsNV = Flags<ClusterAccelerationStructureGeometryFlagBitsNV>;
9115
9116 template <>
9117 struct FlagTraits<ClusterAccelerationStructureGeometryFlagBitsNV>
9118 {
9119 using WrappedType = VkClusterAccelerationStructureGeometryFlagBitsNV;
9120 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
9121 static VULKAN_HPP_CONST_OR_CONSTEXPR ClusterAccelerationStructureGeometryFlagsNV allFlags =
9122 ClusterAccelerationStructureGeometryFlagBitsNV::eCullDisable | ClusterAccelerationStructureGeometryFlagBitsNV::eNoDuplicateAnyhitInvocation |
9123 ClusterAccelerationStructureGeometryFlagBitsNV::eOpaque;
9124 };
9125
9126 // wrapper class for enum VkClusterAccelerationStructureAddressResolutionFlagBitsNV, see
9127 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureAddressResolutionFlagBitsNV.html
9128 enum class ClusterAccelerationStructureAddressResolutionFlagBitsNV : VkClusterAccelerationStructureAddressResolutionFlagsNV
9129 {
9130 eNone = VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_NONE_NV,
9131 eIndirectedDstImplicitData = VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_IMPLICIT_DATA_BIT_NV,
9132 eIndirectedScratchData = VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SCRATCH_DATA_BIT_NV,
9133 eIndirectedDstAddressArray = VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_ADDRESS_ARRAY_BIT_NV,
9134 eIndirectedDstSizesArray = VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_SIZES_ARRAY_BIT_NV,
9135 eIndirectedSrcInfosArray = VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SRC_INFOS_ARRAY_BIT_NV,
9136 eIndirectedSrcInfosCount = VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SRC_INFOS_COUNT_BIT_NV
9137 };
9138
9139 // wrapper using for bitmask VkClusterAccelerationStructureAddressResolutionFlagsNV, see
9140 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureAddressResolutionFlagsNV.html
9141 using ClusterAccelerationStructureAddressResolutionFlagsNV = Flags<ClusterAccelerationStructureAddressResolutionFlagBitsNV>;
9142
9143 template <>
9144 struct FlagTraits<ClusterAccelerationStructureAddressResolutionFlagBitsNV>
9145 {
9146 using WrappedType = VkClusterAccelerationStructureAddressResolutionFlagBitsNV;
9147 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
9148 static VULKAN_HPP_CONST_OR_CONSTEXPR ClusterAccelerationStructureAddressResolutionFlagsNV allFlags =
9149 ClusterAccelerationStructureAddressResolutionFlagBitsNV::eNone | ClusterAccelerationStructureAddressResolutionFlagBitsNV::eIndirectedDstImplicitData |
9150 ClusterAccelerationStructureAddressResolutionFlagBitsNV::eIndirectedScratchData |
9151 ClusterAccelerationStructureAddressResolutionFlagBitsNV::eIndirectedDstAddressArray |
9152 ClusterAccelerationStructureAddressResolutionFlagBitsNV::eIndirectedDstSizesArray |
9153 ClusterAccelerationStructureAddressResolutionFlagBitsNV::eIndirectedSrcInfosArray |
9154 ClusterAccelerationStructureAddressResolutionFlagBitsNV::eIndirectedSrcInfosCount;
9155 };
9156
9157 // wrapper class for enum VkClusterAccelerationStructureIndexFormatFlagBitsNV, see
9158 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureIndexFormatFlagBitsNV.html
9159 enum class ClusterAccelerationStructureIndexFormatFlagBitsNV : VkClusterAccelerationStructureIndexFormatFlagsNV
9160 {
9161 e8 = VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_8BIT_NV,
9162 e16 = VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_16BIT_NV,
9163 e32 = VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_32BIT_NV
9164 };
9165
9166 // wrapper using for bitmask VkClusterAccelerationStructureIndexFormatFlagsNV, see
9167 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureIndexFormatFlagsNV.html
9168 using ClusterAccelerationStructureIndexFormatFlagsNV = Flags<ClusterAccelerationStructureIndexFormatFlagBitsNV>;
9169
9170 template <>
9171 struct FlagTraits<ClusterAccelerationStructureIndexFormatFlagBitsNV>
9172 {
9173 using WrappedType = VkClusterAccelerationStructureIndexFormatFlagBitsNV;
9174 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
9175 static VULKAN_HPP_CONST_OR_CONSTEXPR ClusterAccelerationStructureIndexFormatFlagsNV allFlags = ClusterAccelerationStructureIndexFormatFlagBitsNV::e8 |
9176 ClusterAccelerationStructureIndexFormatFlagBitsNV::e16 |
9177 ClusterAccelerationStructureIndexFormatFlagBitsNV::e32;
9178 };
9179
9180 // wrapper class for enum VkClusterAccelerationStructureTypeNV, see
9181 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureTypeNV.html
9182 enum class ClusterAccelerationStructureTypeNV
9183 {
9184 eClustersBottomLevel = VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_CLUSTERS_BOTTOM_LEVEL_NV,
9185 eTriangleCluster = VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_TRIANGLE_CLUSTER_NV,
9186 eTriangleClusterTemplate = VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_TRIANGLE_CLUSTER_TEMPLATE_NV
9187 };
9188
9189 // wrapper class for enum VkClusterAccelerationStructureOpTypeNV, see
9190 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureOpTypeNV.html
9191 enum class ClusterAccelerationStructureOpTypeNV
9192 {
9193 eMoveObjects = VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_MOVE_OBJECTS_NV,
9194 eBuildClustersBottomLevel = VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_CLUSTERS_BOTTOM_LEVEL_NV,
9195 eBuildTriangleCluster = VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_NV,
9196 eBuildTriangleClusterTemplate = VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_TEMPLATE_NV,
9197 eInstantiateTriangleCluster = VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_INSTANTIATE_TRIANGLE_CLUSTER_NV,
9198 eGetClusterTemplateIndices = VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_GET_CLUSTER_TEMPLATE_INDICES_NV
9199 };
9200
9201 // wrapper class for enum VkClusterAccelerationStructureOpModeNV, see
9202 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureOpModeNV.html
9203 enum class ClusterAccelerationStructureOpModeNV
9204 {
9205 eImplicitDestinations = VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_IMPLICIT_DESTINATIONS_NV,
9206 eExplicitDestinations = VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_EXPLICIT_DESTINATIONS_NV,
9207 eComputeSizes = VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_COMPUTE_SIZES_NV
9208 };
9209
9210 //=== VK_NV_partitioned_acceleration_structure ===
9211
9212 // wrapper class for enum VkPartitionedAccelerationStructureOpTypeNV, see
9213 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPartitionedAccelerationStructureOpTypeNV.html
9214 enum class PartitionedAccelerationStructureOpTypeNV
9215 {
9216 eWriteInstance = VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_WRITE_INSTANCE_NV,
9217 eUpdateInstance = VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_UPDATE_INSTANCE_NV,
9218 eWritePartitionTranslation = VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_WRITE_PARTITION_TRANSLATION_NV
9219 };
9220
9221 // wrapper class for enum VkPartitionedAccelerationStructureInstanceFlagBitsNV, see
9222 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPartitionedAccelerationStructureInstanceFlagBitsNV.html
9223 enum class PartitionedAccelerationStructureInstanceFlagBitsNV : VkPartitionedAccelerationStructureInstanceFlagsNV
9224 {
9225 eFlagTriangleFacingCullDisable = VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_TRIANGLE_FACING_CULL_DISABLE_BIT_NV,
9226 eFlagTriangleFlipFacing = VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_TRIANGLE_FLIP_FACING_BIT_NV,
9227 eFlagForceOpaque = VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_FORCE_OPAQUE_BIT_NV,
9228 eFlagForceNoOpaque = VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_FORCE_NO_OPAQUE_BIT_NV,
9229 eFlagEnableExplicitBoundingBox = VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_ENABLE_EXPLICIT_BOUNDING_BOX_NV
9230 };
9231
9232 // wrapper using for bitmask VkPartitionedAccelerationStructureInstanceFlagsNV, see
9233 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPartitionedAccelerationStructureInstanceFlagsNV.html
9234 using PartitionedAccelerationStructureInstanceFlagsNV = Flags<PartitionedAccelerationStructureInstanceFlagBitsNV>;
9235
9236 template <>
9237 struct FlagTraits<PartitionedAccelerationStructureInstanceFlagBitsNV>
9238 {
9239 using WrappedType = VkPartitionedAccelerationStructureInstanceFlagBitsNV;
9240 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
9241 static VULKAN_HPP_CONST_OR_CONSTEXPR PartitionedAccelerationStructureInstanceFlagsNV allFlags =
9242 PartitionedAccelerationStructureInstanceFlagBitsNV::eFlagTriangleFacingCullDisable |
9243 PartitionedAccelerationStructureInstanceFlagBitsNV::eFlagTriangleFlipFacing | PartitionedAccelerationStructureInstanceFlagBitsNV::eFlagForceOpaque |
9244 PartitionedAccelerationStructureInstanceFlagBitsNV::eFlagForceNoOpaque |
9245 PartitionedAccelerationStructureInstanceFlagBitsNV::eFlagEnableExplicitBoundingBox;
9246 };
9247
9248 //=== VK_EXT_device_generated_commands ===
9249
9250 // wrapper class for enum VkIndirectCommandsTokenTypeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectCommandsTokenTypeEXT.html
9251 enum class IndirectCommandsTokenTypeEXT
9252 {
9253 eExecutionSet = VK_INDIRECT_COMMANDS_TOKEN_TYPE_EXECUTION_SET_EXT,
9254 ePushConstant = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_EXT,
9255 eSequenceIndex = VK_INDIRECT_COMMANDS_TOKEN_TYPE_SEQUENCE_INDEX_EXT,
9256 eIndexBuffer = VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_EXT,
9257 eVertexBuffer = VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_EXT,
9258 eDrawIndexed = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_EXT,
9259 eDraw = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_EXT,
9260 eDrawIndexedCount = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_COUNT_EXT,
9261 eDrawCount = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_COUNT_EXT,
9262 eDispatch = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_EXT,
9263 eDrawMeshTasksNV = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV_EXT,
9264 eDrawMeshTasksCountNV = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_NV_EXT,
9265 eDrawMeshTasks = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_EXT,
9266 eDrawMeshTasksCount = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_EXT,
9267 eTraceRays2 = VK_INDIRECT_COMMANDS_TOKEN_TYPE_TRACE_RAYS2_EXT
9268 };
9269
9270 // wrapper class for enum VkIndirectExecutionSetInfoTypeEXT, see
9271 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectExecutionSetInfoTypeEXT.html
9272 enum class IndirectExecutionSetInfoTypeEXT
9273 {
9274 ePipelines = VK_INDIRECT_EXECUTION_SET_INFO_TYPE_PIPELINES_EXT,
9275 eShaderObjects = VK_INDIRECT_EXECUTION_SET_INFO_TYPE_SHADER_OBJECTS_EXT
9276 };
9277
9278 // wrapper class for enum VkIndirectCommandsLayoutUsageFlagBitsEXT, see
9279 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectCommandsLayoutUsageFlagBitsEXT.html
9280 enum class IndirectCommandsLayoutUsageFlagBitsEXT : VkIndirectCommandsLayoutUsageFlagsEXT
9281 {
9282 eExplicitPreprocess = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_EXT,
9283 eUnorderedSequences = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_EXT
9284 };
9285
9286 // wrapper using for bitmask VkIndirectCommandsLayoutUsageFlagsEXT, see
9287 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectCommandsLayoutUsageFlagsEXT.html
9288 using IndirectCommandsLayoutUsageFlagsEXT = Flags<IndirectCommandsLayoutUsageFlagBitsEXT>;
9289
9290 template <>
9291 struct FlagTraits<IndirectCommandsLayoutUsageFlagBitsEXT>
9292 {
9293 using WrappedType = VkIndirectCommandsLayoutUsageFlagBitsEXT;
9294 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
9295 static VULKAN_HPP_CONST_OR_CONSTEXPR IndirectCommandsLayoutUsageFlagsEXT allFlags =
9296 IndirectCommandsLayoutUsageFlagBitsEXT::eExplicitPreprocess | IndirectCommandsLayoutUsageFlagBitsEXT::eUnorderedSequences;
9297 };
9298
9299 // wrapper class for enum VkIndirectCommandsInputModeFlagBitsEXT, see
9300 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectCommandsInputModeFlagBitsEXT.html
9301 enum class IndirectCommandsInputModeFlagBitsEXT : VkIndirectCommandsInputModeFlagsEXT
9302 {
9303 eVulkanIndexBuffer = VK_INDIRECT_COMMANDS_INPUT_MODE_VULKAN_INDEX_BUFFER_EXT,
9304 eDxgiIndexBuffer = VK_INDIRECT_COMMANDS_INPUT_MODE_DXGI_INDEX_BUFFER_EXT
9305 };
9306
9307 // wrapper using for bitmask VkIndirectCommandsInputModeFlagsEXT, see
9308 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectCommandsInputModeFlagsEXT.html
9309 using IndirectCommandsInputModeFlagsEXT = Flags<IndirectCommandsInputModeFlagBitsEXT>;
9310
9311 template <>
9312 struct FlagTraits<IndirectCommandsInputModeFlagBitsEXT>
9313 {
9314 using WrappedType = VkIndirectCommandsInputModeFlagBitsEXT;
9315 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
9316 static VULKAN_HPP_CONST_OR_CONSTEXPR IndirectCommandsInputModeFlagsEXT allFlags =
9317 IndirectCommandsInputModeFlagBitsEXT::eVulkanIndexBuffer | IndirectCommandsInputModeFlagBitsEXT::eDxgiIndexBuffer;
9318 };
9319
9320 //=== VK_KHR_maintenance8 ===
9321
9322 // wrapper class for enum VkAccessFlagBits3KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccessFlagBits3KHR.html
9323 enum class AccessFlagBits3KHR : VkAccessFlags3KHR
9324 {
9325 eNone = VK_ACCESS_3_NONE_KHR
9326 };
9327
9328 // wrapper using for bitmask VkAccessFlags3KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccessFlags3KHR.html
9329 using AccessFlags3KHR = Flags<AccessFlagBits3KHR>;
9330
9331 template <>
9332 struct FlagTraits<AccessFlagBits3KHR>
9333 {
9334 using WrappedType = VkAccessFlagBits3KHR;
9335 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
9336 static VULKAN_HPP_CONST_OR_CONSTEXPR AccessFlags3KHR allFlags = AccessFlagBits3KHR::eNone;
9337 };
9338
9339 //=== VK_EXT_ray_tracing_invocation_reorder ===
9340
9341 // wrapper class for enum VkRayTracingInvocationReorderModeEXT, see
9342 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkRayTracingInvocationReorderModeEXT.html
9343 enum class RayTracingInvocationReorderModeEXT
9344 {
9345 eNone = VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_EXT,
9346 eReorder = VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_EXT
9347 };
9348
9349 using RayTracingInvocationReorderModeNV = RayTracingInvocationReorderModeEXT;
9350
9351 //=== VK_EXT_depth_clamp_control ===
9352
9353 // wrapper class for enum VkDepthClampModeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDepthClampModeEXT.html
9354 enum class DepthClampModeEXT
9355 {
9356 eViewportRange = VK_DEPTH_CLAMP_MODE_VIEWPORT_RANGE_EXT,
9357 eUserDefinedRange = VK_DEPTH_CLAMP_MODE_USER_DEFINED_RANGE_EXT
9358 };
9359
9360 //=== VK_KHR_maintenance9 ===
9361
9362 // wrapper class for enum VkDefaultVertexAttributeValueKHR, see
9363 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDefaultVertexAttributeValueKHR.html
9364 enum class DefaultVertexAttributeValueKHR
9365 {
9366 eZeroZeroZeroZero = VK_DEFAULT_VERTEX_ATTRIBUTE_VALUE_ZERO_ZERO_ZERO_ZERO_KHR,
9367 eZeroZeroZeroOne = VK_DEFAULT_VERTEX_ATTRIBUTE_VALUE_ZERO_ZERO_ZERO_ONE_KHR
9368 };
9369
9370 #if defined( VK_USE_PLATFORM_OHOS )
9371 //=== VK_OHOS_surface ===
9372
9373 enum class SurfaceCreateFlagBitsOHOS : VkSurfaceCreateFlagsOHOS
9374 {
9375 };
9376
9377 // wrapper using for bitmask VkSurfaceCreateFlagsOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSurfaceCreateFlagsOHOS.html
9378 using SurfaceCreateFlagsOHOS = Flags<SurfaceCreateFlagBitsOHOS>;
9379
9380 template <>
9381 struct FlagTraits<SurfaceCreateFlagBitsOHOS>
9382 {
9383 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
9384 static VULKAN_HPP_CONST_OR_CONSTEXPR SurfaceCreateFlagsOHOS allFlags = {};
9385 };
9386 #endif /*VK_USE_PLATFORM_OHOS*/
9387
9388 #if defined( VK_USE_PLATFORM_OHOS )
9389 //=== VK_OHOS_native_buffer ===
9390
9391 // wrapper class for enum VkSwapchainImageUsageFlagBitsOHOS, see
9392 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkSwapchainImageUsageFlagBitsOHOS.html
9393 enum class SwapchainImageUsageFlagBitsOHOS : VkSwapchainImageUsageFlagsOHOS
9394 {
9395 eShared = VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_OHOS
9396 };
9397
9398 // wrapper using for bitmask VkSwapchainImageUsageFlagsOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSwapchainImageUsageFlagsOHOS.html
9399 using SwapchainImageUsageFlagsOHOS = Flags<SwapchainImageUsageFlagBitsOHOS>;
9400
9401 template <>
9402 struct FlagTraits<SwapchainImageUsageFlagBitsOHOS>
9403 {
9404 using WrappedType = VkSwapchainImageUsageFlagBitsOHOS;
9405 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
9406 static VULKAN_HPP_CONST_OR_CONSTEXPR SwapchainImageUsageFlagsOHOS allFlags = SwapchainImageUsageFlagBitsOHOS::eShared;
9407 };
9408 #endif /*VK_USE_PLATFORM_OHOS*/
9409
9410 //=== VK_ARM_performance_counters_by_region ===
9411
9412 enum class PerformanceCounterDescriptionFlagBitsARM : VkPerformanceCounterDescriptionFlagsARM
9413 {
9414 };
9415
9416 // wrapper using for bitmask VkPerformanceCounterDescriptionFlagsARM, see
9417 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceCounterDescriptionFlagsARM.html
9418 using PerformanceCounterDescriptionFlagsARM = Flags<PerformanceCounterDescriptionFlagBitsARM>;
9419
9420 template <>
9421 struct FlagTraits<PerformanceCounterDescriptionFlagBitsARM>
9422 {
9423 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
9424 static VULKAN_HPP_CONST_OR_CONSTEXPR PerformanceCounterDescriptionFlagsARM allFlags = {};
9425 };
9426
9427 //=== VK_QCOM_data_graph_model ===
9428
9429 // wrapper class for enum VkDataGraphModelCacheTypeQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphModelCacheTypeQCOM.html
9430 enum class DataGraphModelCacheTypeQCOM
9431 {
9432 eGenericBinary = VK_DATA_GRAPH_MODEL_CACHE_TYPE_GENERIC_BINARY_QCOM
9433 };
9434
9435 //=== VK_KHR_maintenance10 ===
9436
9437 // wrapper class for enum VkRenderingAttachmentFlagBitsKHR, see
9438 // https://registry.khronos.org/vulkan/specs/latest/man/html/VkRenderingAttachmentFlagBitsKHR.html
9439 enum class RenderingAttachmentFlagBitsKHR : VkRenderingAttachmentFlagsKHR
9440 {
9441 eInputAttachmentFeedback = VK_RENDERING_ATTACHMENT_INPUT_ATTACHMENT_FEEDBACK_BIT_KHR,
9442 eResolveSkipTransferFunction = VK_RENDERING_ATTACHMENT_RESOLVE_SKIP_TRANSFER_FUNCTION_BIT_KHR,
9443 eResolveEnableTransferFunction = VK_RENDERING_ATTACHMENT_RESOLVE_ENABLE_TRANSFER_FUNCTION_BIT_KHR
9444 };
9445
9446 // wrapper using for bitmask VkRenderingAttachmentFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkRenderingAttachmentFlagsKHR.html
9447 using RenderingAttachmentFlagsKHR = Flags<RenderingAttachmentFlagBitsKHR>;
9448
9449 template <>
9450 struct FlagTraits<RenderingAttachmentFlagBitsKHR>
9451 {
9452 using WrappedType = VkRenderingAttachmentFlagBitsKHR;
9453 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
9454 static VULKAN_HPP_CONST_OR_CONSTEXPR RenderingAttachmentFlagsKHR allFlags = RenderingAttachmentFlagBitsKHR::eInputAttachmentFeedback |
9455 RenderingAttachmentFlagBitsKHR::eResolveSkipTransferFunction |
9456 RenderingAttachmentFlagBitsKHR::eResolveEnableTransferFunction;
9457 };
9458
9459 // wrapper class for enum VkResolveImageFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkResolveImageFlagBitsKHR.html
9460 enum class ResolveImageFlagBitsKHR : VkResolveImageFlagsKHR
9461 {
9462 eSkipTransferFunction = VK_RESOLVE_IMAGE_SKIP_TRANSFER_FUNCTION_BIT_KHR,
9463 eEnableTransferFunction = VK_RESOLVE_IMAGE_ENABLE_TRANSFER_FUNCTION_BIT_KHR
9464 };
9465
9466 // wrapper using for bitmask VkResolveImageFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkResolveImageFlagsKHR.html
9467 using ResolveImageFlagsKHR = Flags<ResolveImageFlagBitsKHR>;
9468
9469 template <>
9470 struct FlagTraits<ResolveImageFlagBitsKHR>
9471 {
9472 using WrappedType = VkResolveImageFlagBitsKHR;
9473 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
9474 static VULKAN_HPP_CONST_OR_CONSTEXPR ResolveImageFlagsKHR allFlags =
9475 ResolveImageFlagBitsKHR::eSkipTransferFunction | ResolveImageFlagBitsKHR::eEnableTransferFunction;
9476 };
9477
9478 //===========================================================
9479 //=== Mapping from ObjectType to DebugReportObjectTypeEXT ===
9480 //===========================================================
9481
9482 VULKAN_HPP_INLINE DebugReportObjectTypeEXT debugReportObjectType( ObjectType objectType )
9483 {
9484 switch ( objectType )
9485 {
9486 //=== VK_VERSION_1_0 ===
9487 case ObjectType::eInstance : return DebugReportObjectTypeEXT::eInstance;
9488 case ObjectType::ePhysicalDevice : return DebugReportObjectTypeEXT::ePhysicalDevice;
9489 case ObjectType::eDevice : return DebugReportObjectTypeEXT::eDevice;
9490 case ObjectType::eQueue : return DebugReportObjectTypeEXT::eQueue;
9491 case ObjectType::eDeviceMemory : return DebugReportObjectTypeEXT::eDeviceMemory;
9492 case ObjectType::eFence : return DebugReportObjectTypeEXT::eFence;
9493 case ObjectType::eSemaphore : return DebugReportObjectTypeEXT::eSemaphore;
9494 case ObjectType::eQueryPool : return DebugReportObjectTypeEXT::eQueryPool;
9495 case ObjectType::eBuffer : return DebugReportObjectTypeEXT::eBuffer;
9496 case ObjectType::eImage : return DebugReportObjectTypeEXT::eImage;
9497 case ObjectType::eImageView : return DebugReportObjectTypeEXT::eImageView;
9498 case ObjectType::eCommandPool : return DebugReportObjectTypeEXT::eCommandPool;
9499 case ObjectType::eCommandBuffer : return DebugReportObjectTypeEXT::eCommandBuffer;
9500 case ObjectType::eEvent : return DebugReportObjectTypeEXT::eEvent;
9501 case ObjectType::eBufferView : return DebugReportObjectTypeEXT::eBufferView;
9502 case ObjectType::eShaderModule : return DebugReportObjectTypeEXT::eShaderModule;
9503 case ObjectType::ePipelineCache : return DebugReportObjectTypeEXT::ePipelineCache;
9504 case ObjectType::ePipeline : return DebugReportObjectTypeEXT::ePipeline;
9505 case ObjectType::ePipelineLayout : return DebugReportObjectTypeEXT::ePipelineLayout;
9506 case ObjectType::eSampler : return DebugReportObjectTypeEXT::eSampler;
9507 case ObjectType::eDescriptorPool : return DebugReportObjectTypeEXT::eDescriptorPool;
9508 case ObjectType::eDescriptorSet : return DebugReportObjectTypeEXT::eDescriptorSet;
9509 case ObjectType::eDescriptorSetLayout: return DebugReportObjectTypeEXT::eDescriptorSetLayout;
9510 case ObjectType::eFramebuffer : return DebugReportObjectTypeEXT::eFramebuffer;
9511 case ObjectType::eRenderPass:
9512 return DebugReportObjectTypeEXT::eRenderPass;
9513
9514 //=== VK_VERSION_1_1 ===
9515 case ObjectType::eDescriptorUpdateTemplate: return DebugReportObjectTypeEXT::eDescriptorUpdateTemplate;
9516 case ObjectType::eSamplerYcbcrConversion:
9517 return DebugReportObjectTypeEXT::eSamplerYcbcrConversion;
9518
9519 //=== VK_VERSION_1_3 ===
9520 case ObjectType::ePrivateDataSlot:
9521 return DebugReportObjectTypeEXT::eUnknown;
9522
9523 //=== VK_KHR_surface ===
9524 case ObjectType::eSurfaceKHR:
9525 return DebugReportObjectTypeEXT::eSurfaceKHR;
9526
9527 //=== VK_KHR_swapchain ===
9528 case ObjectType::eSwapchainKHR:
9529 return DebugReportObjectTypeEXT::eSwapchainKHR;
9530
9531 //=== VK_KHR_display ===
9532 case ObjectType::eDisplayKHR: return DebugReportObjectTypeEXT::eDisplayKHR;
9533 case ObjectType::eDisplayModeKHR:
9534 return DebugReportObjectTypeEXT::eDisplayModeKHR;
9535
9536 //=== VK_EXT_debug_report ===
9537 case ObjectType::eDebugReportCallbackEXT:
9538 return DebugReportObjectTypeEXT::eDebugReportCallbackEXT;
9539
9540 //=== VK_KHR_video_queue ===
9541 case ObjectType::eVideoSessionKHR: return DebugReportObjectTypeEXT::eUnknown;
9542 case ObjectType::eVideoSessionParametersKHR:
9543 return DebugReportObjectTypeEXT::eUnknown;
9544
9545 //=== VK_NVX_binary_import ===
9546 case ObjectType::eCuModuleNVX: return DebugReportObjectTypeEXT::eCuModuleNVX;
9547 case ObjectType::eCuFunctionNVX:
9548 return DebugReportObjectTypeEXT::eCuFunctionNVX;
9549
9550 //=== VK_EXT_debug_utils ===
9551 case ObjectType::eDebugUtilsMessengerEXT:
9552 return DebugReportObjectTypeEXT::eUnknown;
9553
9554 //=== VK_KHR_acceleration_structure ===
9555 case ObjectType::eAccelerationStructureKHR:
9556 return DebugReportObjectTypeEXT::eAccelerationStructureKHR;
9557
9558 //=== VK_EXT_validation_cache ===
9559 case ObjectType::eValidationCacheEXT:
9560 return DebugReportObjectTypeEXT::eValidationCacheEXT;
9561
9562 //=== VK_NV_ray_tracing ===
9563 case ObjectType::eAccelerationStructureNV:
9564 return DebugReportObjectTypeEXT::eAccelerationStructureNV;
9565
9566 //=== VK_INTEL_performance_query ===
9567 case ObjectType::ePerformanceConfigurationINTEL:
9568 return DebugReportObjectTypeEXT::eUnknown;
9569
9570 //=== VK_KHR_deferred_host_operations ===
9571 case ObjectType::eDeferredOperationKHR:
9572 return DebugReportObjectTypeEXT::eUnknown;
9573
9574 //=== VK_NV_device_generated_commands ===
9575 case ObjectType::eIndirectCommandsLayoutNV: return DebugReportObjectTypeEXT::eUnknown;
9576
9577 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9578 //=== VK_NV_cuda_kernel_launch ===
9579 case ObjectType::eCudaModuleNV : return DebugReportObjectTypeEXT::eCudaModuleNV;
9580 case ObjectType::eCudaFunctionNV: return DebugReportObjectTypeEXT::eCudaFunctionNV;
9581 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9582
9583 #if defined( VK_USE_PLATFORM_FUCHSIA )
9584 //=== VK_FUCHSIA_buffer_collection ===
9585 case ObjectType::eBufferCollectionFUCHSIA: return DebugReportObjectTypeEXT::eBufferCollectionFUCHSIA;
9586 #endif /*VK_USE_PLATFORM_FUCHSIA*/
9587
9588 //=== VK_EXT_opacity_micromap ===
9589 case ObjectType::eMicromapEXT:
9590 return DebugReportObjectTypeEXT::eUnknown;
9591
9592 //=== VK_ARM_tensors ===
9593 case ObjectType::eTensorARM: return DebugReportObjectTypeEXT::eUnknown;
9594 case ObjectType::eTensorViewARM:
9595 return DebugReportObjectTypeEXT::eUnknown;
9596
9597 //=== VK_NV_optical_flow ===
9598 case ObjectType::eOpticalFlowSessionNV:
9599 return DebugReportObjectTypeEXT::eUnknown;
9600
9601 //=== VK_EXT_shader_object ===
9602 case ObjectType::eShaderEXT:
9603 return DebugReportObjectTypeEXT::eUnknown;
9604
9605 //=== VK_KHR_pipeline_binary ===
9606 case ObjectType::ePipelineBinaryKHR:
9607 return DebugReportObjectTypeEXT::eUnknown;
9608
9609 //=== VK_ARM_data_graph ===
9610 case ObjectType::eDataGraphPipelineSessionARM:
9611 return DebugReportObjectTypeEXT::eUnknown;
9612
9613 //=== VK_NV_external_compute_queue ===
9614 case ObjectType::eExternalComputeQueueNV:
9615 return DebugReportObjectTypeEXT::eUnknown;
9616
9617 //=== VK_EXT_device_generated_commands ===
9618 case ObjectType::eIndirectCommandsLayoutEXT: return DebugReportObjectTypeEXT::eUnknown;
9619 case ObjectType::eIndirectExecutionSetEXT : return DebugReportObjectTypeEXT::eUnknown;
9620
9621 default: VULKAN_HPP_ASSERT( false && "unknown ObjectType" ); return DebugReportObjectTypeEXT::eUnknown;
9622 }
9623 }
9624
9625 } // namespace VULKAN_HPP_NAMESPACE
9626 #endif