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