1 // Copyright 2015-2022 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 namespace VULKAN_HPP_NAMESPACE 12 { 13 14 template <typename EnumType, EnumType value> 15 struct CppType 16 { 17 }; 18 19 //============= 20 //=== ENUMs === 21 //============= 22 23 //=== VK_VERSION_1_0 === 24 25 enum class Result 26 { 27 eSuccess = VK_SUCCESS, 28 eNotReady = VK_NOT_READY, 29 eTimeout = VK_TIMEOUT, 30 eEventSet = VK_EVENT_SET, 31 eEventReset = VK_EVENT_RESET, 32 eIncomplete = VK_INCOMPLETE, 33 eErrorOutOfHostMemory = VK_ERROR_OUT_OF_HOST_MEMORY, 34 eErrorOutOfDeviceMemory = VK_ERROR_OUT_OF_DEVICE_MEMORY, 35 eErrorInitializationFailed = VK_ERROR_INITIALIZATION_FAILED, 36 eErrorDeviceLost = VK_ERROR_DEVICE_LOST, 37 eErrorMemoryMapFailed = VK_ERROR_MEMORY_MAP_FAILED, 38 eErrorLayerNotPresent = VK_ERROR_LAYER_NOT_PRESENT, 39 eErrorExtensionNotPresent = VK_ERROR_EXTENSION_NOT_PRESENT, 40 eErrorFeatureNotPresent = VK_ERROR_FEATURE_NOT_PRESENT, 41 eErrorIncompatibleDriver = VK_ERROR_INCOMPATIBLE_DRIVER, 42 eErrorTooManyObjects = VK_ERROR_TOO_MANY_OBJECTS, 43 eErrorFormatNotSupported = VK_ERROR_FORMAT_NOT_SUPPORTED, 44 eErrorFragmentedPool = VK_ERROR_FRAGMENTED_POOL, 45 eErrorUnknown = VK_ERROR_UNKNOWN, 46 eErrorOutOfPoolMemory = VK_ERROR_OUT_OF_POOL_MEMORY, 47 eErrorInvalidExternalHandle = VK_ERROR_INVALID_EXTERNAL_HANDLE, 48 eErrorFragmentation = VK_ERROR_FRAGMENTATION, 49 eErrorInvalidOpaqueCaptureAddress = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, 50 ePipelineCompileRequired = VK_PIPELINE_COMPILE_REQUIRED, 51 eErrorSurfaceLostKHR = VK_ERROR_SURFACE_LOST_KHR, 52 eErrorNativeWindowInUseKHR = VK_ERROR_NATIVE_WINDOW_IN_USE_KHR, 53 eSuboptimalKHR = VK_SUBOPTIMAL_KHR, 54 eErrorOutOfDateKHR = VK_ERROR_OUT_OF_DATE_KHR, 55 eErrorIncompatibleDisplayKHR = VK_ERROR_INCOMPATIBLE_DISPLAY_KHR, 56 eErrorValidationFailedEXT = VK_ERROR_VALIDATION_FAILED_EXT, 57 eErrorInvalidShaderNV = VK_ERROR_INVALID_SHADER_NV, 58 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 59 eErrorImageUsageNotSupportedKHR = VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR, 60 eErrorVideoPictureLayoutNotSupportedKHR = VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR, 61 eErrorVideoProfileOperationNotSupportedKHR = VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR, 62 eErrorVideoProfileFormatNotSupportedKHR = VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR, 63 eErrorVideoProfileCodecNotSupportedKHR = VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR, 64 eErrorVideoStdVersionNotSupportedKHR = VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR, 65 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 66 eErrorInvalidDrmFormatModifierPlaneLayoutEXT = VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT, 67 eErrorNotPermittedKHR = VK_ERROR_NOT_PERMITTED_KHR, 68 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 69 eErrorFullScreenExclusiveModeLostEXT = VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT, 70 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 71 eThreadIdleKHR = VK_THREAD_IDLE_KHR, 72 eThreadDoneKHR = VK_THREAD_DONE_KHR, 73 eOperationDeferredKHR = VK_OPERATION_DEFERRED_KHR, 74 eOperationNotDeferredKHR = VK_OPERATION_NOT_DEFERRED_KHR, 75 eErrorCompressionExhaustedEXT = VK_ERROR_COMPRESSION_EXHAUSTED_EXT, 76 eErrorFragmentationEXT = VK_ERROR_FRAGMENTATION_EXT, 77 eErrorInvalidDeviceAddressEXT = VK_ERROR_INVALID_DEVICE_ADDRESS_EXT, 78 eErrorInvalidExternalHandleKHR = VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR, 79 eErrorInvalidOpaqueCaptureAddressKHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR, 80 eErrorNotPermittedEXT = VK_ERROR_NOT_PERMITTED_EXT, 81 eErrorOutOfPoolMemoryKHR = VK_ERROR_OUT_OF_POOL_MEMORY_KHR, 82 eErrorPipelineCompileRequiredEXT = VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT, 83 ePipelineCompileRequiredEXT = VK_PIPELINE_COMPILE_REQUIRED_EXT 84 }; 85 86 enum class StructureType 87 { 88 eApplicationInfo = VK_STRUCTURE_TYPE_APPLICATION_INFO, 89 eInstanceCreateInfo = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO, 90 eDeviceQueueCreateInfo = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO, 91 eDeviceCreateInfo = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO, 92 eSubmitInfo = VK_STRUCTURE_TYPE_SUBMIT_INFO, 93 eMemoryAllocateInfo = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO, 94 eMappedMemoryRange = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE, 95 eBindSparseInfo = VK_STRUCTURE_TYPE_BIND_SPARSE_INFO, 96 eFenceCreateInfo = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO, 97 eSemaphoreCreateInfo = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO, 98 eEventCreateInfo = VK_STRUCTURE_TYPE_EVENT_CREATE_INFO, 99 eQueryPoolCreateInfo = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO, 100 eBufferCreateInfo = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO, 101 eBufferViewCreateInfo = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO, 102 eImageCreateInfo = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, 103 eImageViewCreateInfo = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO, 104 eShaderModuleCreateInfo = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO, 105 ePipelineCacheCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO, 106 ePipelineShaderStageCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, 107 ePipelineVertexInputStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO, 108 ePipelineInputAssemblyStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO, 109 ePipelineTessellationStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO, 110 ePipelineViewportStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO, 111 ePipelineRasterizationStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO, 112 ePipelineMultisampleStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO, 113 ePipelineDepthStencilStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO, 114 ePipelineColorBlendStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO, 115 ePipelineDynamicStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO, 116 eGraphicsPipelineCreateInfo = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO, 117 eComputePipelineCreateInfo = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO, 118 ePipelineLayoutCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO, 119 eSamplerCreateInfo = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO, 120 eDescriptorSetLayoutCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO, 121 eDescriptorPoolCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO, 122 eDescriptorSetAllocateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO, 123 eWriteDescriptorSet = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET, 124 eCopyDescriptorSet = VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET, 125 eFramebufferCreateInfo = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO, 126 eRenderPassCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO, 127 eCommandPoolCreateInfo = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO, 128 eCommandBufferAllocateInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, 129 eCommandBufferInheritanceInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO, 130 eCommandBufferBeginInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO, 131 eRenderPassBeginInfo = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO, 132 eBufferMemoryBarrier = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER, 133 eImageMemoryBarrier = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, 134 eMemoryBarrier = VK_STRUCTURE_TYPE_MEMORY_BARRIER, 135 eLoaderInstanceCreateInfo = VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO, 136 eLoaderDeviceCreateInfo = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO, 137 ePhysicalDeviceSubgroupProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES, 138 eBindBufferMemoryInfo = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO, 139 eBindImageMemoryInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO, 140 ePhysicalDevice16BitStorageFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, 141 eMemoryDedicatedRequirements = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS, 142 eMemoryDedicatedAllocateInfo = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO, 143 eMemoryAllocateFlagsInfo = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO, 144 eDeviceGroupRenderPassBeginInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO, 145 eDeviceGroupCommandBufferBeginInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO, 146 eDeviceGroupSubmitInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO, 147 eDeviceGroupBindSparseInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO, 148 eBindBufferMemoryDeviceGroupInfo = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO, 149 eBindImageMemoryDeviceGroupInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO, 150 ePhysicalDeviceGroupProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES, 151 eDeviceGroupDeviceCreateInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO, 152 eBufferMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2, 153 eImageMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, 154 eImageSparseMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2, 155 eMemoryRequirements2 = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, 156 eSparseImageMemoryRequirements2 = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2, 157 ePhysicalDeviceFeatures2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, 158 ePhysicalDeviceProperties2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, 159 eFormatProperties2 = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, 160 eImageFormatProperties2 = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2, 161 ePhysicalDeviceImageFormatInfo2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, 162 eQueueFamilyProperties2 = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2, 163 ePhysicalDeviceMemoryProperties2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, 164 eSparseImageFormatProperties2 = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2, 165 ePhysicalDeviceSparseImageFormatInfo2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, 166 ePhysicalDevicePointClippingProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, 167 eRenderPassInputAttachmentAspectCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO, 168 eImageViewUsageCreateInfo = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO, 169 ePipelineTessellationDomainOriginStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO, 170 eRenderPassMultiviewCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO, 171 ePhysicalDeviceMultiviewFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, 172 ePhysicalDeviceMultiviewProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, 173 ePhysicalDeviceVariablePointersFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 174 eProtectedSubmitInfo = VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO, 175 ePhysicalDeviceProtectedMemoryFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, 176 ePhysicalDeviceProtectedMemoryProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES, 177 eDeviceQueueInfo2 = VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2, 178 eSamplerYcbcrConversionCreateInfo = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO, 179 eSamplerYcbcrConversionInfo = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO, 180 eBindImagePlaneMemoryInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO, 181 eImagePlaneMemoryRequirementsInfo = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO, 182 ePhysicalDeviceSamplerYcbcrConversionFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, 183 eSamplerYcbcrConversionImageFormatProperties = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES, 184 eDescriptorUpdateTemplateCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, 185 ePhysicalDeviceExternalImageFormatInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO, 186 eExternalImageFormatProperties = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES, 187 ePhysicalDeviceExternalBufferInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO, 188 eExternalBufferProperties = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES, 189 ePhysicalDeviceIdProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, 190 eExternalMemoryBufferCreateInfo = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO, 191 eExternalMemoryImageCreateInfo = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO, 192 eExportMemoryAllocateInfo = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO, 193 ePhysicalDeviceExternalFenceInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO, 194 eExternalFenceProperties = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES, 195 eExportFenceCreateInfo = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO, 196 eExportSemaphoreCreateInfo = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO, 197 ePhysicalDeviceExternalSemaphoreInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO, 198 eExternalSemaphoreProperties = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES, 199 ePhysicalDeviceMaintenance3Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, 200 eDescriptorSetLayoutSupport = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT, 201 ePhysicalDeviceShaderDrawParametersFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, 202 ePhysicalDeviceVulkan11Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES, 203 ePhysicalDeviceVulkan11Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES, 204 ePhysicalDeviceVulkan12Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES, 205 ePhysicalDeviceVulkan12Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES, 206 eImageFormatListCreateInfo = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO, 207 eAttachmentDescription2 = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, 208 eAttachmentReference2 = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, 209 eSubpassDescription2 = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, 210 eSubpassDependency2 = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, 211 eRenderPassCreateInfo2 = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2, 212 eSubpassBeginInfo = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO, 213 eSubpassEndInfo = VK_STRUCTURE_TYPE_SUBPASS_END_INFO, 214 ePhysicalDevice8BitStorageFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, 215 ePhysicalDeviceDriverProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, 216 ePhysicalDeviceShaderAtomicInt64Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, 217 ePhysicalDeviceShaderFloat16Int8Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 218 ePhysicalDeviceFloatControlsProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, 219 eDescriptorSetLayoutBindingFlagsCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO, 220 ePhysicalDeviceDescriptorIndexingFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, 221 ePhysicalDeviceDescriptorIndexingProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, 222 eDescriptorSetVariableDescriptorCountAllocateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO, 223 eDescriptorSetVariableDescriptorCountLayoutSupport = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT, 224 ePhysicalDeviceDepthStencilResolveProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, 225 eSubpassDescriptionDepthStencilResolve = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE, 226 ePhysicalDeviceScalarBlockLayoutFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, 227 eImageStencilUsageCreateInfo = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO, 228 ePhysicalDeviceSamplerFilterMinmaxProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES, 229 eSamplerReductionModeCreateInfo = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO, 230 ePhysicalDeviceVulkanMemoryModelFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES, 231 ePhysicalDeviceImagelessFramebufferFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, 232 eFramebufferAttachmentsCreateInfo = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO, 233 eFramebufferAttachmentImageInfo = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO, 234 eRenderPassAttachmentBeginInfo = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO, 235 ePhysicalDeviceUniformBufferStandardLayoutFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, 236 ePhysicalDeviceShaderSubgroupExtendedTypesFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, 237 ePhysicalDeviceSeparateDepthStencilLayoutsFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, 238 eAttachmentReferenceStencilLayout = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT, 239 eAttachmentDescriptionStencilLayout = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT, 240 ePhysicalDeviceHostQueryResetFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, 241 ePhysicalDeviceTimelineSemaphoreFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, 242 ePhysicalDeviceTimelineSemaphoreProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES, 243 eSemaphoreTypeCreateInfo = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO, 244 eTimelineSemaphoreSubmitInfo = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO, 245 eSemaphoreWaitInfo = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO, 246 eSemaphoreSignalInfo = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO, 247 ePhysicalDeviceBufferDeviceAddressFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, 248 eBufferDeviceAddressInfo = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 249 eBufferOpaqueCaptureAddressCreateInfo = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO, 250 eMemoryOpaqueCaptureAddressAllocateInfo = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO, 251 eDeviceMemoryOpaqueCaptureAddressInfo = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO, 252 ePhysicalDeviceVulkan13Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES, 253 ePhysicalDeviceVulkan13Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES, 254 ePipelineCreationFeedbackCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO, 255 ePhysicalDeviceShaderTerminateInvocationFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES, 256 ePhysicalDeviceToolProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES, 257 ePhysicalDeviceShaderDemoteToHelperInvocationFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, 258 ePhysicalDevicePrivateDataFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, 259 eDevicePrivateDataCreateInfo = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO, 260 ePrivateDataSlotCreateInfo = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO, 261 ePhysicalDevicePipelineCreationCacheControlFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, 262 eMemoryBarrier2 = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2, 263 eBufferMemoryBarrier2 = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2, 264 eImageMemoryBarrier2 = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2, 265 eDependencyInfo = VK_STRUCTURE_TYPE_DEPENDENCY_INFO, 266 eSubmitInfo2 = VK_STRUCTURE_TYPE_SUBMIT_INFO_2, 267 eSemaphoreSubmitInfo = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO, 268 eCommandBufferSubmitInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO, 269 ePhysicalDeviceSynchronization2Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES, 270 ePhysicalDeviceZeroInitializeWorkgroupMemoryFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES, 271 ePhysicalDeviceImageRobustnessFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, 272 eCopyBufferInfo2 = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2, 273 eCopyImageInfo2 = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2, 274 eCopyBufferToImageInfo2 = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2, 275 eCopyImageToBufferInfo2 = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2, 276 eBlitImageInfo2 = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2, 277 eResolveImageInfo2 = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2, 278 eBufferCopy2 = VK_STRUCTURE_TYPE_BUFFER_COPY_2, 279 eImageCopy2 = VK_STRUCTURE_TYPE_IMAGE_COPY_2, 280 eImageBlit2 = VK_STRUCTURE_TYPE_IMAGE_BLIT_2, 281 eBufferImageCopy2 = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2, 282 eImageResolve2 = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2, 283 ePhysicalDeviceSubgroupSizeControlProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES, 284 ePipelineShaderStageRequiredSubgroupSizeCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, 285 ePhysicalDeviceSubgroupSizeControlFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES, 286 ePhysicalDeviceInlineUniformBlockFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, 287 ePhysicalDeviceInlineUniformBlockProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES, 288 eWriteDescriptorSetInlineUniformBlock = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK, 289 eDescriptorPoolInlineUniformBlockCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO, 290 ePhysicalDeviceTextureCompressionAstcHdrFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES, 291 eRenderingInfo = VK_STRUCTURE_TYPE_RENDERING_INFO, 292 eRenderingAttachmentInfo = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO, 293 ePipelineRenderingCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO, 294 ePhysicalDeviceDynamicRenderingFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, 295 eCommandBufferInheritanceRenderingInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO, 296 ePhysicalDeviceShaderIntegerDotProductFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES, 297 ePhysicalDeviceShaderIntegerDotProductProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES, 298 ePhysicalDeviceTexelBufferAlignmentProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES, 299 eFormatProperties3 = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3, 300 ePhysicalDeviceMaintenance4Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, 301 ePhysicalDeviceMaintenance4Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES, 302 eDeviceBufferMemoryRequirements = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS, 303 eDeviceImageMemoryRequirements = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS, 304 eSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR, 305 ePresentInfoKHR = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR, 306 eDeviceGroupPresentCapabilitiesKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR, 307 eImageSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR, 308 eBindImageMemorySwapchainInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR, 309 eAcquireNextImageInfoKHR = VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR, 310 eDeviceGroupPresentInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR, 311 eDeviceGroupSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR, 312 eDisplayModeCreateInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR, 313 eDisplaySurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR, 314 eDisplayPresentInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR, 315 #if defined( VK_USE_PLATFORM_XLIB_KHR ) 316 eXlibSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR, 317 #endif /*VK_USE_PLATFORM_XLIB_KHR*/ 318 #if defined( VK_USE_PLATFORM_XCB_KHR ) 319 eXcbSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR, 320 #endif /*VK_USE_PLATFORM_XCB_KHR*/ 321 #if defined( VK_USE_PLATFORM_WAYLAND_KHR ) 322 eWaylandSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR, 323 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ 324 #if defined( VK_USE_PLATFORM_ANDROID_KHR ) 325 eAndroidSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR, 326 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 327 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 328 eWin32SurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR, 329 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 330 eDebugReportCallbackCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, 331 ePipelineRasterizationStateRasterizationOrderAMD = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD, 332 eDebugMarkerObjectNameInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT, 333 eDebugMarkerObjectTagInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT, 334 eDebugMarkerMarkerInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT, 335 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 336 eVideoProfileInfoKHR = VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR, 337 eVideoCapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR, 338 eVideoPictureResourceInfoKHR = VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR, 339 eVideoSessionMemoryRequirementsKHR = VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR, 340 eBindVideoSessionMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR, 341 eVideoSessionCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR, 342 eVideoSessionParametersCreateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR, 343 eVideoSessionParametersUpdateInfoKHR = VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR, 344 eVideoBeginCodingInfoKHR = VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR, 345 eVideoEndCodingInfoKHR = VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR, 346 eVideoCodingControlInfoKHR = VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR, 347 eVideoReferenceSlotInfoKHR = VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR, 348 eQueueFamilyVideoPropertiesKHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR, 349 eVideoProfileListInfoKHR = VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR, 350 ePhysicalDeviceVideoFormatInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR, 351 eVideoFormatPropertiesKHR = VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR, 352 eQueueFamilyQueryResultStatusPropertiesKHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR, 353 eVideoDecodeInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR, 354 eVideoDecodeCapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR, 355 eVideoDecodeUsageInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR, 356 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 357 eDedicatedAllocationImageCreateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV, 358 eDedicatedAllocationBufferCreateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV, 359 eDedicatedAllocationMemoryAllocateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV, 360 ePhysicalDeviceTransformFeedbackFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT, 361 ePhysicalDeviceTransformFeedbackPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT, 362 ePipelineRasterizationStateStreamCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT, 363 eCuModuleCreateInfoNVX = VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX, 364 eCuFunctionCreateInfoNVX = VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX, 365 eCuLaunchInfoNVX = VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX, 366 eImageViewHandleInfoNVX = VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX, 367 eImageViewAddressPropertiesNVX = VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX, 368 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 369 eVideoEncodeH264CapabilitiesEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT, 370 eVideoEncodeH264SessionParametersCreateInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT, 371 eVideoEncodeH264SessionParametersAddInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT, 372 eVideoEncodeH264VclFrameInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT, 373 eVideoEncodeH264DpbSlotInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT, 374 eVideoEncodeH264NaluSliceInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT, 375 eVideoEncodeH264EmitPictureParametersInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_INFO_EXT, 376 eVideoEncodeH264ProfileInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT, 377 eVideoEncodeH264RateControlInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT, 378 eVideoEncodeH264RateControlLayerInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT, 379 eVideoEncodeH264ReferenceListsInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_INFO_EXT, 380 eVideoEncodeH265CapabilitiesEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT, 381 eVideoEncodeH265SessionParametersCreateInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT, 382 eVideoEncodeH265SessionParametersAddInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT, 383 eVideoEncodeH265VclFrameInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT, 384 eVideoEncodeH265DpbSlotInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT, 385 eVideoEncodeH265NaluSliceSegmentInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT, 386 eVideoEncodeH265EmitPictureParametersInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_INFO_EXT, 387 eVideoEncodeH265ProfileInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT, 388 eVideoEncodeH265ReferenceListsInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_INFO_EXT, 389 eVideoEncodeH265RateControlInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT, 390 eVideoEncodeH265RateControlLayerInfoEXT = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT, 391 eVideoDecodeH264CapabilitiesEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT, 392 eVideoDecodeH264PictureInfoEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT, 393 eVideoDecodeH264ProfileInfoEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_EXT, 394 eVideoDecodeH264SessionParametersCreateInfoEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT, 395 eVideoDecodeH264SessionParametersAddInfoEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT, 396 eVideoDecodeH264DpbSlotInfoEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT, 397 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 398 eTextureLodGatherFormatPropertiesAMD = VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD, 399 eRenderingFragmentShadingRateAttachmentInfoKHR = VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR, 400 eRenderingFragmentDensityMapAttachmentInfoEXT = VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT, 401 eAttachmentSampleCountInfoAMD = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD, 402 eMultiviewPerViewAttributesInfoNVX = VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX, 403 #if defined( VK_USE_PLATFORM_GGP ) 404 eStreamDescriptorSurfaceCreateInfoGGP = VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP, 405 #endif /*VK_USE_PLATFORM_GGP*/ 406 ePhysicalDeviceCornerSampledImageFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV, 407 eExternalMemoryImageCreateInfoNV = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV, 408 eExportMemoryAllocateInfoNV = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV, 409 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 410 eImportMemoryWin32HandleInfoNV = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV, 411 eExportMemoryWin32HandleInfoNV = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV, 412 eWin32KeyedMutexAcquireReleaseInfoNV = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV, 413 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 414 eValidationFlagsEXT = VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT, 415 #if defined( VK_USE_PLATFORM_VI_NN ) 416 eViSurfaceCreateInfoNN = VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN, 417 #endif /*VK_USE_PLATFORM_VI_NN*/ 418 eImageViewAstcDecodeModeEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT, 419 ePhysicalDeviceAstcDecodeFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT, 420 ePipelineRobustnessCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT, 421 ePhysicalDevicePipelineRobustnessFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT, 422 ePhysicalDevicePipelineRobustnessPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT, 423 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 424 eImportMemoryWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR, 425 eExportMemoryWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR, 426 eMemoryWin32HandlePropertiesKHR = VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR, 427 eMemoryGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR, 428 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 429 eImportMemoryFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR, 430 eMemoryFdPropertiesKHR = VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR, 431 eMemoryGetFdInfoKHR = VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR, 432 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 433 eWin32KeyedMutexAcquireReleaseInfoKHR = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR, 434 eImportSemaphoreWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR, 435 eExportSemaphoreWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR, 436 eD3D12FenceSubmitInfoKHR = VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR, 437 eSemaphoreGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR, 438 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 439 eImportSemaphoreFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR, 440 eSemaphoreGetFdInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR, 441 ePhysicalDevicePushDescriptorPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR, 442 eCommandBufferInheritanceConditionalRenderingInfoEXT = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT, 443 ePhysicalDeviceConditionalRenderingFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, 444 eConditionalRenderingBeginInfoEXT = VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT, 445 ePresentRegionsKHR = VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR, 446 ePipelineViewportWScalingStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV, 447 eSurfaceCapabilities2EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT, 448 eDisplayPowerInfoEXT = VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT, 449 eDeviceEventInfoEXT = VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT, 450 eDisplayEventInfoEXT = VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT, 451 eSwapchainCounterCreateInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT, 452 ePresentTimesInfoGOOGLE = VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE, 453 ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX, 454 ePipelineViewportSwizzleStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV, 455 ePhysicalDeviceDiscardRectanglePropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT, 456 ePipelineDiscardRectangleStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT, 457 ePhysicalDeviceConservativeRasterizationPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT, 458 ePipelineRasterizationConservativeStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT, 459 ePhysicalDeviceDepthClipEnableFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT, 460 ePipelineRasterizationDepthClipStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT, 461 eHdrMetadataEXT = VK_STRUCTURE_TYPE_HDR_METADATA_EXT, 462 eSharedPresentSurfaceCapabilitiesKHR = VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR, 463 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 464 eImportFenceWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR, 465 eExportFenceWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR, 466 eFenceGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR, 467 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 468 eImportFenceFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR, 469 eFenceGetFdInfoKHR = VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR, 470 ePhysicalDevicePerformanceQueryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR, 471 ePhysicalDevicePerformanceQueryPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR, 472 eQueryPoolPerformanceCreateInfoKHR = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR, 473 ePerformanceQuerySubmitInfoKHR = VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR, 474 eAcquireProfilingLockInfoKHR = VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR, 475 ePerformanceCounterKHR = VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR, 476 ePerformanceCounterDescriptionKHR = VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR, 477 ePhysicalDeviceSurfaceInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR, 478 eSurfaceCapabilities2KHR = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR, 479 eSurfaceFormat2KHR = VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR, 480 eDisplayProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR, 481 eDisplayPlaneProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR, 482 eDisplayModeProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR, 483 eDisplayPlaneInfo2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR, 484 eDisplayPlaneCapabilities2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR, 485 #if defined( VK_USE_PLATFORM_IOS_MVK ) 486 eIosSurfaceCreateInfoMVK = VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK, 487 #endif /*VK_USE_PLATFORM_IOS_MVK*/ 488 #if defined( VK_USE_PLATFORM_MACOS_MVK ) 489 eMacosSurfaceCreateInfoMVK = VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK, 490 #endif /*VK_USE_PLATFORM_MACOS_MVK*/ 491 eDebugUtilsObjectNameInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT, 492 eDebugUtilsObjectTagInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT, 493 eDebugUtilsLabelEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT, 494 eDebugUtilsMessengerCallbackDataEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT, 495 eDebugUtilsMessengerCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT, 496 #if defined( VK_USE_PLATFORM_ANDROID_KHR ) 497 eAndroidHardwareBufferUsageANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID, 498 eAndroidHardwareBufferPropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID, 499 eAndroidHardwareBufferFormatPropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID, 500 eImportAndroidHardwareBufferInfoANDROID = VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID, 501 eMemoryGetAndroidHardwareBufferInfoANDROID = VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID, 502 eExternalFormatANDROID = VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID, 503 eAndroidHardwareBufferFormatProperties2ANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID, 504 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 505 eSampleLocationsInfoEXT = VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT, 506 eRenderPassSampleLocationsBeginInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT, 507 ePipelineSampleLocationsStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT, 508 ePhysicalDeviceSampleLocationsPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT, 509 eMultisamplePropertiesEXT = VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT, 510 ePhysicalDeviceBlendOperationAdvancedFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, 511 ePhysicalDeviceBlendOperationAdvancedPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT, 512 ePipelineColorBlendAdvancedStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT, 513 ePipelineCoverageToColorStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV, 514 eWriteDescriptorSetAccelerationStructureKHR = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR, 515 eAccelerationStructureBuildGeometryInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR, 516 eAccelerationStructureDeviceAddressInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR, 517 eAccelerationStructureGeometryAabbsDataKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR, 518 eAccelerationStructureGeometryInstancesDataKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR, 519 eAccelerationStructureGeometryTrianglesDataKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR, 520 eAccelerationStructureGeometryKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR, 521 eAccelerationStructureVersionInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR, 522 eCopyAccelerationStructureInfoKHR = VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR, 523 eCopyAccelerationStructureToMemoryInfoKHR = VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR, 524 eCopyMemoryToAccelerationStructureInfoKHR = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR, 525 ePhysicalDeviceAccelerationStructureFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR, 526 ePhysicalDeviceAccelerationStructurePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR, 527 eAccelerationStructureCreateInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR, 528 eAccelerationStructureBuildSizesInfoKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR, 529 ePhysicalDeviceRayTracingPipelineFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR, 530 ePhysicalDeviceRayTracingPipelinePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR, 531 eRayTracingPipelineCreateInfoKHR = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR, 532 eRayTracingShaderGroupCreateInfoKHR = VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR, 533 eRayTracingPipelineInterfaceCreateInfoKHR = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR, 534 ePhysicalDeviceRayQueryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR, 535 ePipelineCoverageModulationStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV, 536 ePhysicalDeviceShaderSmBuiltinsFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV, 537 ePhysicalDeviceShaderSmBuiltinsPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV, 538 eDrmFormatModifierPropertiesListEXT = VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT, 539 ePhysicalDeviceImageDrmFormatModifierInfoEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT, 540 eImageDrmFormatModifierListCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT, 541 eImageDrmFormatModifierExplicitCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT, 542 eImageDrmFormatModifierPropertiesEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT, 543 eDrmFormatModifierPropertiesList2EXT = VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT, 544 eValidationCacheCreateInfoEXT = VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT, 545 eShaderModuleValidationCacheCreateInfoEXT = VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT, 546 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 547 ePhysicalDevicePortabilitySubsetFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR, 548 ePhysicalDevicePortabilitySubsetPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR, 549 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 550 ePipelineViewportShadingRateImageStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV, 551 ePhysicalDeviceShadingRateImageFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV, 552 ePhysicalDeviceShadingRateImagePropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV, 553 ePipelineViewportCoarseSampleOrderStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV, 554 eRayTracingPipelineCreateInfoNV = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV, 555 eAccelerationStructureCreateInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV, 556 eGeometryNV = VK_STRUCTURE_TYPE_GEOMETRY_NV, 557 eGeometryTrianglesNV = VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV, 558 eGeometryAabbNV = VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV, 559 eBindAccelerationStructureMemoryInfoNV = VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV, 560 eWriteDescriptorSetAccelerationStructureNV = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV, 561 eAccelerationStructureMemoryRequirementsInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV, 562 ePhysicalDeviceRayTracingPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV, 563 eRayTracingShaderGroupCreateInfoNV = VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV, 564 eAccelerationStructureInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV, 565 ePhysicalDeviceRepresentativeFragmentTestFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV, 566 ePipelineRepresentativeFragmentTestStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV, 567 ePhysicalDeviceImageViewImageFormatInfoEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT, 568 eFilterCubicImageViewImageFormatPropertiesEXT = VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT, 569 eImportMemoryHostPointerInfoEXT = VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT, 570 eMemoryHostPointerPropertiesEXT = VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT, 571 ePhysicalDeviceExternalMemoryHostPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT, 572 ePhysicalDeviceShaderClockFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR, 573 ePipelineCompilerControlCreateInfoAMD = VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD, 574 eCalibratedTimestampInfoEXT = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT, 575 ePhysicalDeviceShaderCorePropertiesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD, 576 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 577 eVideoDecodeH265CapabilitiesEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT, 578 eVideoDecodeH265SessionParametersCreateInfoEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT, 579 eVideoDecodeH265SessionParametersAddInfoEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT, 580 eVideoDecodeH265ProfileInfoEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_EXT, 581 eVideoDecodeH265PictureInfoEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT, 582 eVideoDecodeH265DpbSlotInfoEXT = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT, 583 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 584 eDeviceQueueGlobalPriorityCreateInfoKHR = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR, 585 ePhysicalDeviceGlobalPriorityQueryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR, 586 eQueueFamilyGlobalPriorityPropertiesKHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR, 587 eDeviceMemoryOverallocationCreateInfoAMD = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD, 588 ePhysicalDeviceVertexAttributeDivisorPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT, 589 ePipelineVertexInputDivisorStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT, 590 ePhysicalDeviceVertexAttributeDivisorFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT, 591 #if defined( VK_USE_PLATFORM_GGP ) 592 ePresentFrameTokenGGP = VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP, 593 #endif /*VK_USE_PLATFORM_GGP*/ 594 ePhysicalDeviceComputeShaderDerivativesFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV, 595 ePhysicalDeviceMeshShaderFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV, 596 ePhysicalDeviceMeshShaderPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV, 597 ePhysicalDeviceShaderImageFootprintFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV, 598 ePipelineViewportExclusiveScissorStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV, 599 ePhysicalDeviceExclusiveScissorFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV, 600 eCheckpointDataNV = VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV, 601 eQueueFamilyCheckpointPropertiesNV = VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV, 602 ePhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL, 603 eQueryPoolPerformanceQueryCreateInfoINTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL, 604 eInitializePerformanceApiInfoINTEL = VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL, 605 ePerformanceMarkerInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL, 606 ePerformanceStreamMarkerInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL, 607 ePerformanceOverrideInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL, 608 ePerformanceConfigurationAcquireInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL, 609 ePhysicalDevicePciBusInfoPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT, 610 eDisplayNativeHdrSurfaceCapabilitiesAMD = VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD, 611 eSwapchainDisplayNativeHdrCreateInfoAMD = VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD, 612 #if defined( VK_USE_PLATFORM_FUCHSIA ) 613 eImagepipeSurfaceCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA, 614 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 615 #if defined( VK_USE_PLATFORM_METAL_EXT ) 616 eMetalSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT, 617 #endif /*VK_USE_PLATFORM_METAL_EXT*/ 618 ePhysicalDeviceFragmentDensityMapFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, 619 ePhysicalDeviceFragmentDensityMapPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT, 620 eRenderPassFragmentDensityMapCreateInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT, 621 eFragmentShadingRateAttachmentInfoKHR = VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR, 622 ePipelineFragmentShadingRateStateCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR, 623 ePhysicalDeviceFragmentShadingRatePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR, 624 ePhysicalDeviceFragmentShadingRateFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR, 625 ePhysicalDeviceFragmentShadingRateKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR, 626 ePhysicalDeviceShaderCoreProperties2AMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD, 627 ePhysicalDeviceCoherentMemoryFeaturesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, 628 ePhysicalDeviceShaderImageAtomicInt64FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT, 629 ePhysicalDeviceMemoryBudgetPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT, 630 ePhysicalDeviceMemoryPriorityFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT, 631 eMemoryPriorityAllocateInfoEXT = VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT, 632 eSurfaceProtectedCapabilitiesKHR = VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR, 633 ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, 634 ePhysicalDeviceBufferDeviceAddressFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, 635 eBufferDeviceAddressCreateInfoEXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT, 636 eValidationFeaturesEXT = VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT, 637 ePhysicalDevicePresentWaitFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR, 638 ePhysicalDeviceCooperativeMatrixFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV, 639 eCooperativeMatrixPropertiesNV = VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV, 640 ePhysicalDeviceCooperativeMatrixPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV, 641 ePhysicalDeviceCoverageReductionModeFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV, 642 ePipelineCoverageReductionStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV, 643 eFramebufferMixedSamplesCombinationNV = VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV, 644 ePhysicalDeviceFragmentShaderInterlockFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, 645 ePhysicalDeviceYcbcrImageArraysFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT, 646 ePhysicalDeviceProvokingVertexFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT, 647 ePipelineRasterizationProvokingVertexStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT, 648 ePhysicalDeviceProvokingVertexPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT, 649 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 650 eSurfaceFullScreenExclusiveInfoEXT = VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT, 651 eSurfaceCapabilitiesFullScreenExclusiveEXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT, 652 eSurfaceFullScreenExclusiveWin32InfoEXT = VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT, 653 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 654 eHeadlessSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT, 655 ePhysicalDeviceLineRasterizationFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT, 656 ePipelineRasterizationLineStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT, 657 ePhysicalDeviceLineRasterizationPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT, 658 ePhysicalDeviceShaderAtomicFloatFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT, 659 ePhysicalDeviceIndexTypeUint8FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT, 660 ePhysicalDeviceExtendedDynamicStateFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT, 661 ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR, 662 ePipelineInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR, 663 ePipelineExecutablePropertiesKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR, 664 ePipelineExecutableInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR, 665 ePipelineExecutableStatisticKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR, 666 ePipelineExecutableInternalRepresentationKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR, 667 ePhysicalDeviceShaderAtomicFloat2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT, 668 eSurfacePresentModeEXT = VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT, 669 eSurfacePresentScalingCapabilitiesEXT = VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT, 670 eSurfacePresentModeCompatibilityEXT = VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT, 671 ePhysicalDeviceSwapchainMaintenance1FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT, 672 eSwapchainPresentFenceInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT, 673 eSwapchainPresentModesCreateInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT, 674 eSwapchainPresentModeInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT, 675 eSwapchainPresentScalingCreateInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT, 676 eReleaseSwapchainImagesInfoEXT = VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT, 677 ePhysicalDeviceDeviceGeneratedCommandsPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV, 678 eGraphicsShaderGroupCreateInfoNV = VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV, 679 eGraphicsPipelineShaderGroupsCreateInfoNV = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV, 680 eIndirectCommandsLayoutTokenNV = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV, 681 eIndirectCommandsLayoutCreateInfoNV = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV, 682 eGeneratedCommandsInfoNV = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV, 683 eGeneratedCommandsMemoryRequirementsInfoNV = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV, 684 ePhysicalDeviceDeviceGeneratedCommandsFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV, 685 ePhysicalDeviceInheritedViewportScissorFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV, 686 eCommandBufferInheritanceViewportScissorInfoNV = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV, 687 ePhysicalDeviceTexelBufferAlignmentFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT, 688 eCommandBufferInheritanceRenderPassTransformInfoQCOM = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM, 689 eRenderPassTransformBeginInfoQCOM = VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM, 690 ePhysicalDeviceDeviceMemoryReportFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT, 691 eDeviceDeviceMemoryReportCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT, 692 eDeviceMemoryReportCallbackDataEXT = VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT, 693 ePhysicalDeviceRobustness2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT, 694 ePhysicalDeviceRobustness2PropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT, 695 eSamplerCustomBorderColorCreateInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT, 696 ePhysicalDeviceCustomBorderColorPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT, 697 ePhysicalDeviceCustomBorderColorFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT, 698 ePipelineLibraryCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR, 699 ePhysicalDevicePresentBarrierFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV, 700 eSurfaceCapabilitiesPresentBarrierNV = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV, 701 eSwapchainPresentBarrierCreateInfoNV = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV, 702 ePresentIdKHR = VK_STRUCTURE_TYPE_PRESENT_ID_KHR, 703 ePhysicalDevicePresentIdFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR, 704 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 705 eVideoEncodeInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR, 706 eVideoEncodeRateControlInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR, 707 eVideoEncodeRateControlLayerInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR, 708 eVideoEncodeCapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR, 709 eVideoEncodeUsageInfoKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR, 710 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 711 ePhysicalDeviceDiagnosticsConfigFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, 712 eDeviceDiagnosticsConfigCreateInfoNV = VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV, 713 #if defined( VK_USE_PLATFORM_METAL_EXT ) 714 eExportMetalObjectCreateInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT, 715 eExportMetalObjectsInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT, 716 eExportMetalDeviceInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT, 717 eExportMetalCommandQueueInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT, 718 eExportMetalBufferInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT, 719 eImportMetalBufferInfoEXT = VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT, 720 eExportMetalTextureInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT, 721 eImportMetalTextureInfoEXT = VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT, 722 eExportMetalIoSurfaceInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT, 723 eImportMetalIoSurfaceInfoEXT = VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT, 724 eExportMetalSharedEventInfoEXT = VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT, 725 eImportMetalSharedEventInfoEXT = VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT, 726 #endif /*VK_USE_PLATFORM_METAL_EXT*/ 727 eQueueFamilyCheckpointProperties2NV = VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV, 728 eCheckpointData2NV = VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV, 729 ePhysicalDeviceDescriptorBufferPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT, 730 ePhysicalDeviceDescriptorBufferDensityMapPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT, 731 ePhysicalDeviceDescriptorBufferFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT, 732 eDescriptorAddressInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT, 733 eDescriptorGetInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT, 734 eBufferCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT, 735 eImageCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT, 736 eImageViewCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT, 737 eSamplerCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT, 738 eOpaqueCaptureDescriptorDataCreateInfoEXT = VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT, 739 eDescriptorBufferBindingInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT, 740 eDescriptorBufferBindingPushDescriptorBufferHandleEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT, 741 eAccelerationStructureCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT, 742 ePhysicalDeviceGraphicsPipelineLibraryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT, 743 ePhysicalDeviceGraphicsPipelineLibraryPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT, 744 eGraphicsPipelineLibraryCreateInfoEXT = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT, 745 ePhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD, 746 ePhysicalDeviceFragmentShaderBarycentricFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR, 747 ePhysicalDeviceFragmentShaderBarycentricPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR, 748 ePhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR, 749 ePhysicalDeviceFragmentShadingRateEnumsPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV, 750 ePhysicalDeviceFragmentShadingRateEnumsFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV, 751 ePipelineFragmentShadingRateEnumStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV, 752 eAccelerationStructureGeometryMotionTrianglesDataNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV, 753 ePhysicalDeviceRayTracingMotionBlurFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV, 754 eAccelerationStructureMotionInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV, 755 ePhysicalDeviceMeshShaderFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT, 756 ePhysicalDeviceMeshShaderPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT, 757 ePhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT, 758 ePhysicalDeviceFragmentDensityMap2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT, 759 ePhysicalDeviceFragmentDensityMap2PropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT, 760 eCopyCommandTransformInfoQCOM = VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM, 761 ePhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR, 762 ePhysicalDeviceImageCompressionControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT, 763 eImageCompressionControlEXT = VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT, 764 eSubresourceLayout2EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT, 765 eImageSubresource2EXT = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT, 766 eImageCompressionPropertiesEXT = VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT, 767 ePhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT, 768 ePhysicalDevice4444FormatsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, 769 ePhysicalDeviceFaultFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT, 770 eDeviceFaultCountsEXT = VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT, 771 eDeviceFaultInfoEXT = VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT, 772 ePhysicalDeviceRgba10X6FormatsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT, 773 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) 774 eDirectfbSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT, 775 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ 776 ePhysicalDeviceVertexInputDynamicStateFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT, 777 eVertexInputBindingDescription2EXT = VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT, 778 eVertexInputAttributeDescription2EXT = VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT, 779 ePhysicalDeviceDrmPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT, 780 ePhysicalDeviceAddressBindingReportFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT, 781 eDeviceAddressBindingCallbackDataEXT = VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT, 782 ePhysicalDeviceDepthClipControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT, 783 ePipelineViewportDepthClipControlCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT, 784 ePhysicalDevicePrimitiveTopologyListRestartFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT, 785 #if defined( VK_USE_PLATFORM_FUCHSIA ) 786 eImportMemoryZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA, 787 eMemoryZirconHandlePropertiesFUCHSIA = VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA, 788 eMemoryGetZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA, 789 eImportSemaphoreZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA, 790 eSemaphoreGetZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA, 791 eBufferCollectionCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA, 792 eImportMemoryBufferCollectionFUCHSIA = VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA, 793 eBufferCollectionImageCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA, 794 eBufferCollectionPropertiesFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA, 795 eBufferConstraintsInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA, 796 eBufferCollectionBufferCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA, 797 eImageConstraintsInfoFUCHSIA = VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA, 798 eImageFormatConstraintsInfoFUCHSIA = VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA, 799 eSysmemColorSpaceFUCHSIA = VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA, 800 eBufferCollectionConstraintsInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA, 801 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 802 eSubpassShadingPipelineCreateInfoHUAWEI = VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI, 803 ePhysicalDeviceSubpassShadingFeaturesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI, 804 ePhysicalDeviceSubpassShadingPropertiesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI, 805 ePhysicalDeviceInvocationMaskFeaturesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI, 806 eMemoryGetRemoteAddressInfoNV = VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV, 807 ePhysicalDeviceExternalMemoryRdmaFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV, 808 ePipelinePropertiesIdentifierEXT = VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT, 809 ePhysicalDevicePipelinePropertiesFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT, 810 ePhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT, 811 eSubpassResolvePerformanceQueryEXT = VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT, 812 eMultisampledRenderToSingleSampledInfoEXT = VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT, 813 ePhysicalDeviceExtendedDynamicState2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT, 814 #if defined( VK_USE_PLATFORM_SCREEN_QNX ) 815 eScreenSurfaceCreateInfoQNX = VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX, 816 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/ 817 ePhysicalDeviceColorWriteEnableFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT, 818 ePipelineColorWriteCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT, 819 ePhysicalDevicePrimitivesGeneratedQueryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT, 820 ePhysicalDeviceRayTracingMaintenance1FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR, 821 ePhysicalDeviceImageViewMinLodFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT, 822 eImageViewMinLodCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT, 823 ePhysicalDeviceMultiDrawFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT, 824 ePhysicalDeviceMultiDrawPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT, 825 ePhysicalDeviceImage2DViewOf3DFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT, 826 eMicromapBuildInfoEXT = VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT, 827 eMicromapVersionInfoEXT = VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT, 828 eCopyMicromapInfoEXT = VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT, 829 eCopyMicromapToMemoryInfoEXT = VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT, 830 eCopyMemoryToMicromapInfoEXT = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT, 831 ePhysicalDeviceOpacityMicromapFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT, 832 ePhysicalDeviceOpacityMicromapPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT, 833 eMicromapCreateInfoEXT = VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT, 834 eMicromapBuildSizesInfoEXT = VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT, 835 eAccelerationStructureTrianglesOpacityMicromapEXT = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT, 836 ePhysicalDeviceBorderColorSwizzleFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT, 837 eSamplerBorderColorComponentMappingCreateInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT, 838 ePhysicalDevicePageableDeviceLocalMemoryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT, 839 ePhysicalDeviceDescriptorSetHostMappingFeaturesVALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE, 840 eDescriptorSetBindingReferenceVALVE = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE, 841 eDescriptorSetLayoutHostMappingInfoVALVE = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE, 842 ePhysicalDeviceDepthClampZeroOneFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT, 843 ePhysicalDeviceNonSeamlessCubeMapFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT, 844 ePhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM, 845 ePhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM, 846 eSubpassFragmentDensityMapOffsetEndInfoQCOM = VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM, 847 ePhysicalDeviceCopyMemoryIndirectFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV, 848 ePhysicalDeviceCopyMemoryIndirectPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV, 849 ePhysicalDeviceMemoryDecompressionFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV, 850 ePhysicalDeviceMemoryDecompressionPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV, 851 ePhysicalDeviceLinearColorAttachmentFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV, 852 ePhysicalDeviceImageCompressionControlSwapchainFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT, 853 ePhysicalDeviceImageProcessingFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM, 854 ePhysicalDeviceImageProcessingPropertiesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM, 855 eImageViewSampleWeightCreateInfoQCOM = VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM, 856 ePhysicalDeviceExtendedDynamicState3FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT, 857 ePhysicalDeviceExtendedDynamicState3PropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT, 858 ePhysicalDeviceSubpassMergeFeedbackFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT, 859 eRenderPassCreationControlEXT = VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT, 860 eRenderPassCreationFeedbackCreateInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT, 861 eRenderPassSubpassFeedbackCreateInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT, 862 eDirectDriverLoadingInfoLUNARG = VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG, 863 eDirectDriverLoadingListLUNARG = VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG, 864 ePhysicalDeviceShaderModuleIdentifierFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT, 865 ePhysicalDeviceShaderModuleIdentifierPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT, 866 ePipelineShaderStageModuleIdentifierCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT, 867 eShaderModuleIdentifierEXT = VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT, 868 ePhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT, 869 ePhysicalDeviceOpticalFlowFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV, 870 ePhysicalDeviceOpticalFlowPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV, 871 eOpticalFlowImageFormatInfoNV = VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV, 872 eOpticalFlowImageFormatPropertiesNV = VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV, 873 eOpticalFlowSessionCreateInfoNV = VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV, 874 eOpticalFlowExecuteInfoNV = VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV, 875 eOpticalFlowSessionCreatePrivateDataInfoNV = VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV, 876 ePhysicalDeviceLegacyDitheringFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT, 877 ePhysicalDevicePipelineProtectedAccessFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT, 878 ePhysicalDeviceTilePropertiesFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM, 879 eTilePropertiesQCOM = VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM, 880 ePhysicalDeviceAmigoProfilingFeaturesSEC = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC, 881 eAmigoProfilingSubmitInfoSEC = VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC, 882 ePhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM, 883 ePhysicalDeviceRayTracingInvocationReorderFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV, 884 ePhysicalDeviceRayTracingInvocationReorderPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV, 885 ePhysicalDeviceMutableDescriptorTypeFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT, 886 eMutableDescriptorTypeCreateInfoEXT = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT, 887 ePhysicalDeviceShaderCoreBuiltinsFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM, 888 ePhysicalDeviceShaderCoreBuiltinsPropertiesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM, 889 eAttachmentDescription2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR, 890 eAttachmentDescriptionStencilLayoutKHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR, 891 eAttachmentReference2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR, 892 eAttachmentReferenceStencilLayoutKHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR, 893 eAttachmentSampleCountInfoNV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV, 894 eBindBufferMemoryDeviceGroupInfoKHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR, 895 eBindBufferMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR, 896 eBindImageMemoryDeviceGroupInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR, 897 eBindImageMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR, 898 eBindImagePlaneMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR, 899 eBlitImageInfo2KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR, 900 eBufferCopy2KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR, 901 eBufferDeviceAddressInfoEXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT, 902 eBufferDeviceAddressInfoKHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR, 903 eBufferImageCopy2KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR, 904 eBufferMemoryBarrier2KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR, 905 eBufferMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR, 906 eBufferOpaqueCaptureAddressCreateInfoKHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR, 907 eCommandBufferInheritanceRenderingInfoKHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR, 908 eCommandBufferSubmitInfoKHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR, 909 eCopyBufferInfo2KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR, 910 eCopyBufferToImageInfo2KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR, 911 eCopyImageInfo2KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR, 912 eCopyImageToBufferInfo2KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR, 913 eDebugReportCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT, 914 eDependencyInfoKHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR, 915 eDescriptorPoolInlineUniformBlockCreateInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT, 916 eDescriptorSetLayoutBindingFlagsCreateInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT, 917 eDescriptorSetLayoutSupportKHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR, 918 eDescriptorSetVariableDescriptorCountAllocateInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT, 919 eDescriptorSetVariableDescriptorCountLayoutSupportEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT, 920 eDescriptorUpdateTemplateCreateInfoKHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR, 921 eDeviceBufferMemoryRequirementsKHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR, 922 eDeviceGroupBindSparseInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR, 923 eDeviceGroupCommandBufferBeginInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR, 924 eDeviceGroupDeviceCreateInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR, 925 eDeviceGroupRenderPassBeginInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR, 926 eDeviceGroupSubmitInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR, 927 eDeviceImageMemoryRequirementsKHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR, 928 eDeviceMemoryOpaqueCaptureAddressInfoKHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR, 929 eDevicePrivateDataCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT, 930 eDeviceQueueGlobalPriorityCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT, 931 eExportFenceCreateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR, 932 eExportMemoryAllocateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR, 933 eExportSemaphoreCreateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR, 934 eExternalBufferPropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR, 935 eExternalFencePropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR, 936 eExternalImageFormatPropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR, 937 eExternalMemoryBufferCreateInfoKHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR, 938 eExternalMemoryImageCreateInfoKHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR, 939 eExternalSemaphorePropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR, 940 eFormatProperties2KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR, 941 eFormatProperties3KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR, 942 eFramebufferAttachmentsCreateInfoKHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR, 943 eFramebufferAttachmentImageInfoKHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR, 944 eImageBlit2KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR, 945 eImageCopy2KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR, 946 eImageFormatListCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR, 947 eImageFormatProperties2KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR, 948 eImageMemoryBarrier2KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR, 949 eImageMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR, 950 eImagePlaneMemoryRequirementsInfoKHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR, 951 eImageResolve2KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR, 952 eImageSparseMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR, 953 eImageStencilUsageCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT, 954 eImageViewUsageCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR, 955 eMemoryAllocateFlagsInfoKHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR, 956 eMemoryBarrier2KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR, 957 eMemoryDedicatedAllocateInfoKHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR, 958 eMemoryDedicatedRequirementsKHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR, 959 eMemoryOpaqueCaptureAddressAllocateInfoKHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR, 960 eMemoryRequirements2KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR, 961 eMutableDescriptorTypeCreateInfoVALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE, 962 ePhysicalDevice16BitStorageFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR, 963 ePhysicalDevice8BitStorageFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR, 964 ePhysicalDeviceBufferAddressFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT, 965 ePhysicalDeviceBufferDeviceAddressFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR, 966 ePhysicalDeviceDepthStencilResolvePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR, 967 ePhysicalDeviceDescriptorIndexingFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT, 968 ePhysicalDeviceDescriptorIndexingPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT, 969 ePhysicalDeviceDriverPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR, 970 ePhysicalDeviceDynamicRenderingFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR, 971 ePhysicalDeviceExternalBufferInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR, 972 ePhysicalDeviceExternalFenceInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR, 973 ePhysicalDeviceExternalImageFormatInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR, 974 ePhysicalDeviceExternalSemaphoreInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR, 975 ePhysicalDeviceFeatures2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR, 976 ePhysicalDeviceFloat16Int8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR, 977 ePhysicalDeviceFloatControlsPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR, 978 ePhysicalDeviceFragmentShaderBarycentricFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV, 979 ePhysicalDeviceGlobalPriorityQueryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT, 980 ePhysicalDeviceGroupPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR, 981 ePhysicalDeviceHostQueryResetFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT, 982 ePhysicalDeviceIdPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR, 983 ePhysicalDeviceImagelessFramebufferFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR, 984 ePhysicalDeviceImageFormatInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR, 985 ePhysicalDeviceImageRobustnessFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT, 986 ePhysicalDeviceInlineUniformBlockFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT, 987 ePhysicalDeviceInlineUniformBlockPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT, 988 ePhysicalDeviceMaintenance3PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR, 989 ePhysicalDeviceMaintenance4FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR, 990 ePhysicalDeviceMaintenance4PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR, 991 ePhysicalDeviceMemoryProperties2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR, 992 ePhysicalDeviceMultiviewFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR, 993 ePhysicalDeviceMultiviewPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR, 994 ePhysicalDeviceMutableDescriptorTypeFeaturesVALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE, 995 ePhysicalDevicePipelineCreationCacheControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT, 996 ePhysicalDevicePointClippingPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR, 997 ePhysicalDevicePrivateDataFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT, 998 ePhysicalDeviceProperties2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR, 999 ePhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM, 1000 ePhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT, 1001 ePhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR, 1002 ePhysicalDeviceScalarBlockLayoutFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT, 1003 ePhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR, 1004 ePhysicalDeviceShaderAtomicInt64FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR, 1005 ePhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT, 1006 ePhysicalDeviceShaderDrawParameterFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES, 1007 ePhysicalDeviceShaderFloat16Int8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR, 1008 ePhysicalDeviceShaderIntegerDotProductFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR, 1009 ePhysicalDeviceShaderIntegerDotProductPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR, 1010 ePhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR, 1011 ePhysicalDeviceShaderTerminateInvocationFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR, 1012 ePhysicalDeviceSparseImageFormatInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR, 1013 ePhysicalDeviceSubgroupSizeControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT, 1014 ePhysicalDeviceSubgroupSizeControlPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT, 1015 ePhysicalDeviceSynchronization2FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR, 1016 ePhysicalDeviceTexelBufferAlignmentPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT, 1017 ePhysicalDeviceTextureCompressionAstcHdrFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT, 1018 ePhysicalDeviceTimelineSemaphoreFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR, 1019 ePhysicalDeviceTimelineSemaphorePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR, 1020 ePhysicalDeviceToolPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT, 1021 ePhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR, 1022 ePhysicalDeviceVariablePointersFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR, 1023 ePhysicalDeviceVariablePointerFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES, 1024 ePhysicalDeviceVariablePointerFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR, 1025 ePhysicalDeviceVulkanMemoryModelFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR, 1026 ePhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR, 1027 ePipelineCreationFeedbackCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT, 1028 ePipelineInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT, 1029 ePipelineRenderingCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR, 1030 ePipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT, 1031 ePipelineTessellationDomainOriginStateCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR, 1032 ePrivateDataSlotCreateInfoEXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT, 1033 eQueryPoolCreateInfoINTEL = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL, 1034 eQueueFamilyGlobalPriorityPropertiesEXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT, 1035 eQueueFamilyProperties2KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR, 1036 eRenderingAttachmentInfoKHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR, 1037 eRenderingInfoKHR = VK_STRUCTURE_TYPE_RENDERING_INFO_KHR, 1038 eRenderPassAttachmentBeginInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR, 1039 eRenderPassCreateInfo2KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR, 1040 eRenderPassInputAttachmentAspectCreateInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR, 1041 eRenderPassMultiviewCreateInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR, 1042 eResolveImageInfo2KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR, 1043 eSamplerReductionModeCreateInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT, 1044 eSamplerYcbcrConversionCreateInfoKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR, 1045 eSamplerYcbcrConversionImageFormatPropertiesKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR, 1046 eSamplerYcbcrConversionInfoKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR, 1047 eSemaphoreSignalInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR, 1048 eSemaphoreSubmitInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR, 1049 eSemaphoreTypeCreateInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR, 1050 eSemaphoreWaitInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR, 1051 eSparseImageFormatProperties2KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR, 1052 eSparseImageMemoryRequirements2KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR, 1053 eSubmitInfo2KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR, 1054 eSubpassBeginInfoKHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR, 1055 eSubpassDependency2KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR, 1056 eSubpassDescription2KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR, 1057 eSubpassDescriptionDepthStencilResolveKHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR, 1058 eSubpassEndInfoKHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR, 1059 eTimelineSemaphoreSubmitInfoKHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR, 1060 eWriteDescriptorSetInlineUniformBlockEXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT 1061 }; 1062 1063 enum class PipelineCacheHeaderVersion 1064 { 1065 eOne = VK_PIPELINE_CACHE_HEADER_VERSION_ONE 1066 }; 1067 1068 enum class ObjectType 1069 { 1070 eUnknown = VK_OBJECT_TYPE_UNKNOWN, 1071 eInstance = VK_OBJECT_TYPE_INSTANCE, 1072 ePhysicalDevice = VK_OBJECT_TYPE_PHYSICAL_DEVICE, 1073 eDevice = VK_OBJECT_TYPE_DEVICE, 1074 eQueue = VK_OBJECT_TYPE_QUEUE, 1075 eSemaphore = VK_OBJECT_TYPE_SEMAPHORE, 1076 eCommandBuffer = VK_OBJECT_TYPE_COMMAND_BUFFER, 1077 eFence = VK_OBJECT_TYPE_FENCE, 1078 eDeviceMemory = VK_OBJECT_TYPE_DEVICE_MEMORY, 1079 eBuffer = VK_OBJECT_TYPE_BUFFER, 1080 eImage = VK_OBJECT_TYPE_IMAGE, 1081 eEvent = VK_OBJECT_TYPE_EVENT, 1082 eQueryPool = VK_OBJECT_TYPE_QUERY_POOL, 1083 eBufferView = VK_OBJECT_TYPE_BUFFER_VIEW, 1084 eImageView = VK_OBJECT_TYPE_IMAGE_VIEW, 1085 eShaderModule = VK_OBJECT_TYPE_SHADER_MODULE, 1086 ePipelineCache = VK_OBJECT_TYPE_PIPELINE_CACHE, 1087 ePipelineLayout = VK_OBJECT_TYPE_PIPELINE_LAYOUT, 1088 eRenderPass = VK_OBJECT_TYPE_RENDER_PASS, 1089 ePipeline = VK_OBJECT_TYPE_PIPELINE, 1090 eDescriptorSetLayout = VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT, 1091 eSampler = VK_OBJECT_TYPE_SAMPLER, 1092 eDescriptorPool = VK_OBJECT_TYPE_DESCRIPTOR_POOL, 1093 eDescriptorSet = VK_OBJECT_TYPE_DESCRIPTOR_SET, 1094 eFramebuffer = VK_OBJECT_TYPE_FRAMEBUFFER, 1095 eCommandPool = VK_OBJECT_TYPE_COMMAND_POOL, 1096 eSamplerYcbcrConversion = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION, 1097 eDescriptorUpdateTemplate = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE, 1098 ePrivateDataSlot = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT, 1099 eSurfaceKHR = VK_OBJECT_TYPE_SURFACE_KHR, 1100 eSwapchainKHR = VK_OBJECT_TYPE_SWAPCHAIN_KHR, 1101 eDisplayKHR = VK_OBJECT_TYPE_DISPLAY_KHR, 1102 eDisplayModeKHR = VK_OBJECT_TYPE_DISPLAY_MODE_KHR, 1103 eDebugReportCallbackEXT = VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT, 1104 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 1105 eVideoSessionKHR = VK_OBJECT_TYPE_VIDEO_SESSION_KHR, 1106 eVideoSessionParametersKHR = VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR, 1107 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1108 eCuModuleNVX = VK_OBJECT_TYPE_CU_MODULE_NVX, 1109 eCuFunctionNVX = VK_OBJECT_TYPE_CU_FUNCTION_NVX, 1110 eDebugUtilsMessengerEXT = VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT, 1111 eAccelerationStructureKHR = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR, 1112 eValidationCacheEXT = VK_OBJECT_TYPE_VALIDATION_CACHE_EXT, 1113 eAccelerationStructureNV = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV, 1114 ePerformanceConfigurationINTEL = VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL, 1115 eDeferredOperationKHR = VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR, 1116 eIndirectCommandsLayoutNV = VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV, 1117 #if defined( VK_USE_PLATFORM_FUCHSIA ) 1118 eBufferCollectionFUCHSIA = VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA, 1119 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 1120 eMicromapEXT = VK_OBJECT_TYPE_MICROMAP_EXT, 1121 eOpticalFlowSessionNV = VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV, 1122 eDescriptorUpdateTemplateKHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR, 1123 ePrivateDataSlotEXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT, 1124 eSamplerYcbcrConversionKHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR 1125 }; 1126 1127 enum class VendorId 1128 { 1129 eVIV = VK_VENDOR_ID_VIV, 1130 eVSI = VK_VENDOR_ID_VSI, 1131 eKazan = VK_VENDOR_ID_KAZAN, 1132 eCodeplay = VK_VENDOR_ID_CODEPLAY, 1133 eMESA = VK_VENDOR_ID_MESA, 1134 ePocl = VK_VENDOR_ID_POCL 1135 }; 1136 1137 enum class Format 1138 { 1139 eUndefined = VK_FORMAT_UNDEFINED, 1140 eR4G4UnormPack8 = VK_FORMAT_R4G4_UNORM_PACK8, 1141 eR4G4B4A4UnormPack16 = VK_FORMAT_R4G4B4A4_UNORM_PACK16, 1142 eB4G4R4A4UnormPack16 = VK_FORMAT_B4G4R4A4_UNORM_PACK16, 1143 eR5G6B5UnormPack16 = VK_FORMAT_R5G6B5_UNORM_PACK16, 1144 eB5G6R5UnormPack16 = VK_FORMAT_B5G6R5_UNORM_PACK16, 1145 eR5G5B5A1UnormPack16 = VK_FORMAT_R5G5B5A1_UNORM_PACK16, 1146 eB5G5R5A1UnormPack16 = VK_FORMAT_B5G5R5A1_UNORM_PACK16, 1147 eA1R5G5B5UnormPack16 = VK_FORMAT_A1R5G5B5_UNORM_PACK16, 1148 eR8Unorm = VK_FORMAT_R8_UNORM, 1149 eR8Snorm = VK_FORMAT_R8_SNORM, 1150 eR8Uscaled = VK_FORMAT_R8_USCALED, 1151 eR8Sscaled = VK_FORMAT_R8_SSCALED, 1152 eR8Uint = VK_FORMAT_R8_UINT, 1153 eR8Sint = VK_FORMAT_R8_SINT, 1154 eR8Srgb = VK_FORMAT_R8_SRGB, 1155 eR8G8Unorm = VK_FORMAT_R8G8_UNORM, 1156 eR8G8Snorm = VK_FORMAT_R8G8_SNORM, 1157 eR8G8Uscaled = VK_FORMAT_R8G8_USCALED, 1158 eR8G8Sscaled = VK_FORMAT_R8G8_SSCALED, 1159 eR8G8Uint = VK_FORMAT_R8G8_UINT, 1160 eR8G8Sint = VK_FORMAT_R8G8_SINT, 1161 eR8G8Srgb = VK_FORMAT_R8G8_SRGB, 1162 eR8G8B8Unorm = VK_FORMAT_R8G8B8_UNORM, 1163 eR8G8B8Snorm = VK_FORMAT_R8G8B8_SNORM, 1164 eR8G8B8Uscaled = VK_FORMAT_R8G8B8_USCALED, 1165 eR8G8B8Sscaled = VK_FORMAT_R8G8B8_SSCALED, 1166 eR8G8B8Uint = VK_FORMAT_R8G8B8_UINT, 1167 eR8G8B8Sint = VK_FORMAT_R8G8B8_SINT, 1168 eR8G8B8Srgb = VK_FORMAT_R8G8B8_SRGB, 1169 eB8G8R8Unorm = VK_FORMAT_B8G8R8_UNORM, 1170 eB8G8R8Snorm = VK_FORMAT_B8G8R8_SNORM, 1171 eB8G8R8Uscaled = VK_FORMAT_B8G8R8_USCALED, 1172 eB8G8R8Sscaled = VK_FORMAT_B8G8R8_SSCALED, 1173 eB8G8R8Uint = VK_FORMAT_B8G8R8_UINT, 1174 eB8G8R8Sint = VK_FORMAT_B8G8R8_SINT, 1175 eB8G8R8Srgb = VK_FORMAT_B8G8R8_SRGB, 1176 eR8G8B8A8Unorm = VK_FORMAT_R8G8B8A8_UNORM, 1177 eR8G8B8A8Snorm = VK_FORMAT_R8G8B8A8_SNORM, 1178 eR8G8B8A8Uscaled = VK_FORMAT_R8G8B8A8_USCALED, 1179 eR8G8B8A8Sscaled = VK_FORMAT_R8G8B8A8_SSCALED, 1180 eR8G8B8A8Uint = VK_FORMAT_R8G8B8A8_UINT, 1181 eR8G8B8A8Sint = VK_FORMAT_R8G8B8A8_SINT, 1182 eR8G8B8A8Srgb = VK_FORMAT_R8G8B8A8_SRGB, 1183 eB8G8R8A8Unorm = VK_FORMAT_B8G8R8A8_UNORM, 1184 eB8G8R8A8Snorm = VK_FORMAT_B8G8R8A8_SNORM, 1185 eB8G8R8A8Uscaled = VK_FORMAT_B8G8R8A8_USCALED, 1186 eB8G8R8A8Sscaled = VK_FORMAT_B8G8R8A8_SSCALED, 1187 eB8G8R8A8Uint = VK_FORMAT_B8G8R8A8_UINT, 1188 eB8G8R8A8Sint = VK_FORMAT_B8G8R8A8_SINT, 1189 eB8G8R8A8Srgb = VK_FORMAT_B8G8R8A8_SRGB, 1190 eA8B8G8R8UnormPack32 = VK_FORMAT_A8B8G8R8_UNORM_PACK32, 1191 eA8B8G8R8SnormPack32 = VK_FORMAT_A8B8G8R8_SNORM_PACK32, 1192 eA8B8G8R8UscaledPack32 = VK_FORMAT_A8B8G8R8_USCALED_PACK32, 1193 eA8B8G8R8SscaledPack32 = VK_FORMAT_A8B8G8R8_SSCALED_PACK32, 1194 eA8B8G8R8UintPack32 = VK_FORMAT_A8B8G8R8_UINT_PACK32, 1195 eA8B8G8R8SintPack32 = VK_FORMAT_A8B8G8R8_SINT_PACK32, 1196 eA8B8G8R8SrgbPack32 = VK_FORMAT_A8B8G8R8_SRGB_PACK32, 1197 eA2R10G10B10UnormPack32 = VK_FORMAT_A2R10G10B10_UNORM_PACK32, 1198 eA2R10G10B10SnormPack32 = VK_FORMAT_A2R10G10B10_SNORM_PACK32, 1199 eA2R10G10B10UscaledPack32 = VK_FORMAT_A2R10G10B10_USCALED_PACK32, 1200 eA2R10G10B10SscaledPack32 = VK_FORMAT_A2R10G10B10_SSCALED_PACK32, 1201 eA2R10G10B10UintPack32 = VK_FORMAT_A2R10G10B10_UINT_PACK32, 1202 eA2R10G10B10SintPack32 = VK_FORMAT_A2R10G10B10_SINT_PACK32, 1203 eA2B10G10R10UnormPack32 = VK_FORMAT_A2B10G10R10_UNORM_PACK32, 1204 eA2B10G10R10SnormPack32 = VK_FORMAT_A2B10G10R10_SNORM_PACK32, 1205 eA2B10G10R10UscaledPack32 = VK_FORMAT_A2B10G10R10_USCALED_PACK32, 1206 eA2B10G10R10SscaledPack32 = VK_FORMAT_A2B10G10R10_SSCALED_PACK32, 1207 eA2B10G10R10UintPack32 = VK_FORMAT_A2B10G10R10_UINT_PACK32, 1208 eA2B10G10R10SintPack32 = VK_FORMAT_A2B10G10R10_SINT_PACK32, 1209 eR16Unorm = VK_FORMAT_R16_UNORM, 1210 eR16Snorm = VK_FORMAT_R16_SNORM, 1211 eR16Uscaled = VK_FORMAT_R16_USCALED, 1212 eR16Sscaled = VK_FORMAT_R16_SSCALED, 1213 eR16Uint = VK_FORMAT_R16_UINT, 1214 eR16Sint = VK_FORMAT_R16_SINT, 1215 eR16Sfloat = VK_FORMAT_R16_SFLOAT, 1216 eR16G16Unorm = VK_FORMAT_R16G16_UNORM, 1217 eR16G16Snorm = VK_FORMAT_R16G16_SNORM, 1218 eR16G16Uscaled = VK_FORMAT_R16G16_USCALED, 1219 eR16G16Sscaled = VK_FORMAT_R16G16_SSCALED, 1220 eR16G16Uint = VK_FORMAT_R16G16_UINT, 1221 eR16G16Sint = VK_FORMAT_R16G16_SINT, 1222 eR16G16Sfloat = VK_FORMAT_R16G16_SFLOAT, 1223 eR16G16B16Unorm = VK_FORMAT_R16G16B16_UNORM, 1224 eR16G16B16Snorm = VK_FORMAT_R16G16B16_SNORM, 1225 eR16G16B16Uscaled = VK_FORMAT_R16G16B16_USCALED, 1226 eR16G16B16Sscaled = VK_FORMAT_R16G16B16_SSCALED, 1227 eR16G16B16Uint = VK_FORMAT_R16G16B16_UINT, 1228 eR16G16B16Sint = VK_FORMAT_R16G16B16_SINT, 1229 eR16G16B16Sfloat = VK_FORMAT_R16G16B16_SFLOAT, 1230 eR16G16B16A16Unorm = VK_FORMAT_R16G16B16A16_UNORM, 1231 eR16G16B16A16Snorm = VK_FORMAT_R16G16B16A16_SNORM, 1232 eR16G16B16A16Uscaled = VK_FORMAT_R16G16B16A16_USCALED, 1233 eR16G16B16A16Sscaled = VK_FORMAT_R16G16B16A16_SSCALED, 1234 eR16G16B16A16Uint = VK_FORMAT_R16G16B16A16_UINT, 1235 eR16G16B16A16Sint = VK_FORMAT_R16G16B16A16_SINT, 1236 eR16G16B16A16Sfloat = VK_FORMAT_R16G16B16A16_SFLOAT, 1237 eR32Uint = VK_FORMAT_R32_UINT, 1238 eR32Sint = VK_FORMAT_R32_SINT, 1239 eR32Sfloat = VK_FORMAT_R32_SFLOAT, 1240 eR32G32Uint = VK_FORMAT_R32G32_UINT, 1241 eR32G32Sint = VK_FORMAT_R32G32_SINT, 1242 eR32G32Sfloat = VK_FORMAT_R32G32_SFLOAT, 1243 eR32G32B32Uint = VK_FORMAT_R32G32B32_UINT, 1244 eR32G32B32Sint = VK_FORMAT_R32G32B32_SINT, 1245 eR32G32B32Sfloat = VK_FORMAT_R32G32B32_SFLOAT, 1246 eR32G32B32A32Uint = VK_FORMAT_R32G32B32A32_UINT, 1247 eR32G32B32A32Sint = VK_FORMAT_R32G32B32A32_SINT, 1248 eR32G32B32A32Sfloat = VK_FORMAT_R32G32B32A32_SFLOAT, 1249 eR64Uint = VK_FORMAT_R64_UINT, 1250 eR64Sint = VK_FORMAT_R64_SINT, 1251 eR64Sfloat = VK_FORMAT_R64_SFLOAT, 1252 eR64G64Uint = VK_FORMAT_R64G64_UINT, 1253 eR64G64Sint = VK_FORMAT_R64G64_SINT, 1254 eR64G64Sfloat = VK_FORMAT_R64G64_SFLOAT, 1255 eR64G64B64Uint = VK_FORMAT_R64G64B64_UINT, 1256 eR64G64B64Sint = VK_FORMAT_R64G64B64_SINT, 1257 eR64G64B64Sfloat = VK_FORMAT_R64G64B64_SFLOAT, 1258 eR64G64B64A64Uint = VK_FORMAT_R64G64B64A64_UINT, 1259 eR64G64B64A64Sint = VK_FORMAT_R64G64B64A64_SINT, 1260 eR64G64B64A64Sfloat = VK_FORMAT_R64G64B64A64_SFLOAT, 1261 eB10G11R11UfloatPack32 = VK_FORMAT_B10G11R11_UFLOAT_PACK32, 1262 eE5B9G9R9UfloatPack32 = VK_FORMAT_E5B9G9R9_UFLOAT_PACK32, 1263 eD16Unorm = VK_FORMAT_D16_UNORM, 1264 eX8D24UnormPack32 = VK_FORMAT_X8_D24_UNORM_PACK32, 1265 eD32Sfloat = VK_FORMAT_D32_SFLOAT, 1266 eS8Uint = VK_FORMAT_S8_UINT, 1267 eD16UnormS8Uint = VK_FORMAT_D16_UNORM_S8_UINT, 1268 eD24UnormS8Uint = VK_FORMAT_D24_UNORM_S8_UINT, 1269 eD32SfloatS8Uint = VK_FORMAT_D32_SFLOAT_S8_UINT, 1270 eBc1RgbUnormBlock = VK_FORMAT_BC1_RGB_UNORM_BLOCK, 1271 eBc1RgbSrgbBlock = VK_FORMAT_BC1_RGB_SRGB_BLOCK, 1272 eBc1RgbaUnormBlock = VK_FORMAT_BC1_RGBA_UNORM_BLOCK, 1273 eBc1RgbaSrgbBlock = VK_FORMAT_BC1_RGBA_SRGB_BLOCK, 1274 eBc2UnormBlock = VK_FORMAT_BC2_UNORM_BLOCK, 1275 eBc2SrgbBlock = VK_FORMAT_BC2_SRGB_BLOCK, 1276 eBc3UnormBlock = VK_FORMAT_BC3_UNORM_BLOCK, 1277 eBc3SrgbBlock = VK_FORMAT_BC3_SRGB_BLOCK, 1278 eBc4UnormBlock = VK_FORMAT_BC4_UNORM_BLOCK, 1279 eBc4SnormBlock = VK_FORMAT_BC4_SNORM_BLOCK, 1280 eBc5UnormBlock = VK_FORMAT_BC5_UNORM_BLOCK, 1281 eBc5SnormBlock = VK_FORMAT_BC5_SNORM_BLOCK, 1282 eBc6HUfloatBlock = VK_FORMAT_BC6H_UFLOAT_BLOCK, 1283 eBc6HSfloatBlock = VK_FORMAT_BC6H_SFLOAT_BLOCK, 1284 eBc7UnormBlock = VK_FORMAT_BC7_UNORM_BLOCK, 1285 eBc7SrgbBlock = VK_FORMAT_BC7_SRGB_BLOCK, 1286 eEtc2R8G8B8UnormBlock = VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK, 1287 eEtc2R8G8B8SrgbBlock = VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK, 1288 eEtc2R8G8B8A1UnormBlock = VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK, 1289 eEtc2R8G8B8A1SrgbBlock = VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK, 1290 eEtc2R8G8B8A8UnormBlock = VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK, 1291 eEtc2R8G8B8A8SrgbBlock = VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK, 1292 eEacR11UnormBlock = VK_FORMAT_EAC_R11_UNORM_BLOCK, 1293 eEacR11SnormBlock = VK_FORMAT_EAC_R11_SNORM_BLOCK, 1294 eEacR11G11UnormBlock = VK_FORMAT_EAC_R11G11_UNORM_BLOCK, 1295 eEacR11G11SnormBlock = VK_FORMAT_EAC_R11G11_SNORM_BLOCK, 1296 eAstc4x4UnormBlock = VK_FORMAT_ASTC_4x4_UNORM_BLOCK, 1297 eAstc4x4SrgbBlock = VK_FORMAT_ASTC_4x4_SRGB_BLOCK, 1298 eAstc5x4UnormBlock = VK_FORMAT_ASTC_5x4_UNORM_BLOCK, 1299 eAstc5x4SrgbBlock = VK_FORMAT_ASTC_5x4_SRGB_BLOCK, 1300 eAstc5x5UnormBlock = VK_FORMAT_ASTC_5x5_UNORM_BLOCK, 1301 eAstc5x5SrgbBlock = VK_FORMAT_ASTC_5x5_SRGB_BLOCK, 1302 eAstc6x5UnormBlock = VK_FORMAT_ASTC_6x5_UNORM_BLOCK, 1303 eAstc6x5SrgbBlock = VK_FORMAT_ASTC_6x5_SRGB_BLOCK, 1304 eAstc6x6UnormBlock = VK_FORMAT_ASTC_6x6_UNORM_BLOCK, 1305 eAstc6x6SrgbBlock = VK_FORMAT_ASTC_6x6_SRGB_BLOCK, 1306 eAstc8x5UnormBlock = VK_FORMAT_ASTC_8x5_UNORM_BLOCK, 1307 eAstc8x5SrgbBlock = VK_FORMAT_ASTC_8x5_SRGB_BLOCK, 1308 eAstc8x6UnormBlock = VK_FORMAT_ASTC_8x6_UNORM_BLOCK, 1309 eAstc8x6SrgbBlock = VK_FORMAT_ASTC_8x6_SRGB_BLOCK, 1310 eAstc8x8UnormBlock = VK_FORMAT_ASTC_8x8_UNORM_BLOCK, 1311 eAstc8x8SrgbBlock = VK_FORMAT_ASTC_8x8_SRGB_BLOCK, 1312 eAstc10x5UnormBlock = VK_FORMAT_ASTC_10x5_UNORM_BLOCK, 1313 eAstc10x5SrgbBlock = VK_FORMAT_ASTC_10x5_SRGB_BLOCK, 1314 eAstc10x6UnormBlock = VK_FORMAT_ASTC_10x6_UNORM_BLOCK, 1315 eAstc10x6SrgbBlock = VK_FORMAT_ASTC_10x6_SRGB_BLOCK, 1316 eAstc10x8UnormBlock = VK_FORMAT_ASTC_10x8_UNORM_BLOCK, 1317 eAstc10x8SrgbBlock = VK_FORMAT_ASTC_10x8_SRGB_BLOCK, 1318 eAstc10x10UnormBlock = VK_FORMAT_ASTC_10x10_UNORM_BLOCK, 1319 eAstc10x10SrgbBlock = VK_FORMAT_ASTC_10x10_SRGB_BLOCK, 1320 eAstc12x10UnormBlock = VK_FORMAT_ASTC_12x10_UNORM_BLOCK, 1321 eAstc12x10SrgbBlock = VK_FORMAT_ASTC_12x10_SRGB_BLOCK, 1322 eAstc12x12UnormBlock = VK_FORMAT_ASTC_12x12_UNORM_BLOCK, 1323 eAstc12x12SrgbBlock = VK_FORMAT_ASTC_12x12_SRGB_BLOCK, 1324 eG8B8G8R8422Unorm = VK_FORMAT_G8B8G8R8_422_UNORM, 1325 eB8G8R8G8422Unorm = VK_FORMAT_B8G8R8G8_422_UNORM, 1326 eG8B8R83Plane420Unorm = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM, 1327 eG8B8R82Plane420Unorm = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM, 1328 eG8B8R83Plane422Unorm = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM, 1329 eG8B8R82Plane422Unorm = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM, 1330 eG8B8R83Plane444Unorm = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM, 1331 eR10X6UnormPack16 = VK_FORMAT_R10X6_UNORM_PACK16, 1332 eR10X6G10X6Unorm2Pack16 = VK_FORMAT_R10X6G10X6_UNORM_2PACK16, 1333 eR10X6G10X6B10X6A10X6Unorm4Pack16 = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16, 1334 eG10X6B10X6G10X6R10X6422Unorm4Pack16 = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16, 1335 eB10X6G10X6R10X6G10X6422Unorm4Pack16 = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16, 1336 eG10X6B10X6R10X63Plane420Unorm3Pack16 = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, 1337 eG10X6B10X6R10X62Plane420Unorm3Pack16 = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16, 1338 eG10X6B10X6R10X63Plane422Unorm3Pack16 = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16, 1339 eG10X6B10X6R10X62Plane422Unorm3Pack16 = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16, 1340 eG10X6B10X6R10X63Plane444Unorm3Pack16 = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16, 1341 eR12X4UnormPack16 = VK_FORMAT_R12X4_UNORM_PACK16, 1342 eR12X4G12X4Unorm2Pack16 = VK_FORMAT_R12X4G12X4_UNORM_2PACK16, 1343 eR12X4G12X4B12X4A12X4Unorm4Pack16 = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16, 1344 eG12X4B12X4G12X4R12X4422Unorm4Pack16 = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16, 1345 eB12X4G12X4R12X4G12X4422Unorm4Pack16 = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16, 1346 eG12X4B12X4R12X43Plane420Unorm3Pack16 = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16, 1347 eG12X4B12X4R12X42Plane420Unorm3Pack16 = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16, 1348 eG12X4B12X4R12X43Plane422Unorm3Pack16 = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16, 1349 eG12X4B12X4R12X42Plane422Unorm3Pack16 = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16, 1350 eG12X4B12X4R12X43Plane444Unorm3Pack16 = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16, 1351 eG16B16G16R16422Unorm = VK_FORMAT_G16B16G16R16_422_UNORM, 1352 eB16G16R16G16422Unorm = VK_FORMAT_B16G16R16G16_422_UNORM, 1353 eG16B16R163Plane420Unorm = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, 1354 eG16B16R162Plane420Unorm = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM, 1355 eG16B16R163Plane422Unorm = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM, 1356 eG16B16R162Plane422Unorm = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM, 1357 eG16B16R163Plane444Unorm = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM, 1358 eG8B8R82Plane444Unorm = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM, 1359 eG10X6B10X6R10X62Plane444Unorm3Pack16 = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16, 1360 eG12X4B12X4R12X42Plane444Unorm3Pack16 = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16, 1361 eG16B16R162Plane444Unorm = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM, 1362 eA4R4G4B4UnormPack16 = VK_FORMAT_A4R4G4B4_UNORM_PACK16, 1363 eA4B4G4R4UnormPack16 = VK_FORMAT_A4B4G4R4_UNORM_PACK16, 1364 eAstc4x4SfloatBlock = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK, 1365 eAstc5x4SfloatBlock = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK, 1366 eAstc5x5SfloatBlock = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK, 1367 eAstc6x5SfloatBlock = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK, 1368 eAstc6x6SfloatBlock = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK, 1369 eAstc8x5SfloatBlock = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK, 1370 eAstc8x6SfloatBlock = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK, 1371 eAstc8x8SfloatBlock = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK, 1372 eAstc10x5SfloatBlock = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK, 1373 eAstc10x6SfloatBlock = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK, 1374 eAstc10x8SfloatBlock = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK, 1375 eAstc10x10SfloatBlock = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK, 1376 eAstc12x10SfloatBlock = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK, 1377 eAstc12x12SfloatBlock = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK, 1378 ePvrtc12BppUnormBlockIMG = VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG, 1379 ePvrtc14BppUnormBlockIMG = VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG, 1380 ePvrtc22BppUnormBlockIMG = VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG, 1381 ePvrtc24BppUnormBlockIMG = VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG, 1382 ePvrtc12BppSrgbBlockIMG = VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG, 1383 ePvrtc14BppSrgbBlockIMG = VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG, 1384 ePvrtc22BppSrgbBlockIMG = VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG, 1385 ePvrtc24BppSrgbBlockIMG = VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG, 1386 eR16G16S105NV = VK_FORMAT_R16G16_S10_5_NV, 1387 eA4B4G4R4UnormPack16EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT, 1388 eA4R4G4B4UnormPack16EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT, 1389 eAstc10x10SfloatBlockEXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT, 1390 eAstc10x5SfloatBlockEXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT, 1391 eAstc10x6SfloatBlockEXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT, 1392 eAstc10x8SfloatBlockEXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT, 1393 eAstc12x10SfloatBlockEXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT, 1394 eAstc12x12SfloatBlockEXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT, 1395 eAstc4x4SfloatBlockEXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT, 1396 eAstc5x4SfloatBlockEXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT, 1397 eAstc5x5SfloatBlockEXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT, 1398 eAstc6x5SfloatBlockEXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT, 1399 eAstc6x6SfloatBlockEXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT, 1400 eAstc8x5SfloatBlockEXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT, 1401 eAstc8x6SfloatBlockEXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT, 1402 eAstc8x8SfloatBlockEXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT, 1403 eB10X6G10X6R10X6G10X6422Unorm4Pack16KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR, 1404 eB12X4G12X4R12X4G12X4422Unorm4Pack16KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR, 1405 eB16G16R16G16422UnormKHR = VK_FORMAT_B16G16R16G16_422_UNORM_KHR, 1406 eB8G8R8G8422UnormKHR = VK_FORMAT_B8G8R8G8_422_UNORM_KHR, 1407 eG10X6B10X6G10X6R10X6422Unorm4Pack16KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR, 1408 eG10X6B10X6R10X62Plane420Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR, 1409 eG10X6B10X6R10X62Plane422Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR, 1410 eG10X6B10X6R10X62Plane444Unorm3Pack16EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT, 1411 eG10X6B10X6R10X63Plane420Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR, 1412 eG10X6B10X6R10X63Plane422Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR, 1413 eG10X6B10X6R10X63Plane444Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR, 1414 eG12X4B12X4G12X4R12X4422Unorm4Pack16KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR, 1415 eG12X4B12X4R12X42Plane420Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR, 1416 eG12X4B12X4R12X42Plane422Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR, 1417 eG12X4B12X4R12X42Plane444Unorm3Pack16EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT, 1418 eG12X4B12X4R12X43Plane420Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR, 1419 eG12X4B12X4R12X43Plane422Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR, 1420 eG12X4B12X4R12X43Plane444Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR, 1421 eG16B16G16R16422UnormKHR = VK_FORMAT_G16B16G16R16_422_UNORM_KHR, 1422 eG16B16R162Plane420UnormKHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR, 1423 eG16B16R162Plane422UnormKHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR, 1424 eG16B16R162Plane444UnormEXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT, 1425 eG16B16R163Plane420UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR, 1426 eG16B16R163Plane422UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR, 1427 eG16B16R163Plane444UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR, 1428 eG8B8G8R8422UnormKHR = VK_FORMAT_G8B8G8R8_422_UNORM_KHR, 1429 eG8B8R82Plane420UnormKHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR, 1430 eG8B8R82Plane422UnormKHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR, 1431 eG8B8R82Plane444UnormEXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT, 1432 eG8B8R83Plane420UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR, 1433 eG8B8R83Plane422UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR, 1434 eG8B8R83Plane444UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR, 1435 eR10X6G10X6B10X6A10X6Unorm4Pack16KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR, 1436 eR10X6G10X6Unorm2Pack16KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR, 1437 eR10X6UnormPack16KHR = VK_FORMAT_R10X6_UNORM_PACK16_KHR, 1438 eR12X4G12X4B12X4A12X4Unorm4Pack16KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR, 1439 eR12X4G12X4Unorm2Pack16KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR, 1440 eR12X4UnormPack16KHR = VK_FORMAT_R12X4_UNORM_PACK16_KHR 1441 }; 1442 1443 enum class FormatFeatureFlagBits : VkFormatFeatureFlags 1444 { 1445 eSampledImage = VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT, 1446 eStorageImage = VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT, 1447 eStorageImageAtomic = VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT, 1448 eUniformTexelBuffer = VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT, 1449 eStorageTexelBuffer = VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT, 1450 eStorageTexelBufferAtomic = VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT, 1451 eVertexBuffer = VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT, 1452 eColorAttachment = VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT, 1453 eColorAttachmentBlend = VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, 1454 eDepthStencilAttachment = VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT, 1455 eBlitSrc = VK_FORMAT_FEATURE_BLIT_SRC_BIT, 1456 eBlitDst = VK_FORMAT_FEATURE_BLIT_DST_BIT, 1457 eSampledImageFilterLinear = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT, 1458 eTransferSrc = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, 1459 eTransferDst = VK_FORMAT_FEATURE_TRANSFER_DST_BIT, 1460 eMidpointChromaSamples = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, 1461 eSampledImageYcbcrConversionLinearFilter = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, 1462 eSampledImageYcbcrConversionSeparateReconstructionFilter = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, 1463 eSampledImageYcbcrConversionChromaReconstructionExplicit = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, 1464 eSampledImageYcbcrConversionChromaReconstructionExplicitForceable = 1465 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT, 1466 eDisjoint = VK_FORMAT_FEATURE_DISJOINT_BIT, 1467 eCositedChromaSamples = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, 1468 eSampledImageFilterMinmax = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT, 1469 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 1470 eVideoDecodeOutputKHR = VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR, 1471 eVideoDecodeDpbKHR = VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR, 1472 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1473 eAccelerationStructureVertexBufferKHR = VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR, 1474 eSampledImageFilterCubicEXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT, 1475 eFragmentDensityMapEXT = VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT, 1476 eFragmentShadingRateAttachmentKHR = VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 1477 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 1478 eVideoEncodeInputKHR = VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR, 1479 eVideoEncodeDpbKHR = VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR, 1480 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1481 eCositedChromaSamplesKHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR, 1482 eDisjointKHR = VK_FORMAT_FEATURE_DISJOINT_BIT_KHR, 1483 eMidpointChromaSamplesKHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR, 1484 eSampledImageFilterCubicIMG = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG, 1485 eSampledImageFilterMinmaxEXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT, 1486 eSampledImageYcbcrConversionChromaReconstructionExplicitKHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR, 1487 eSampledImageYcbcrConversionChromaReconstructionExplicitForceableKHR = 1488 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR, 1489 eSampledImageYcbcrConversionLinearFilterKHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR, 1490 eSampledImageYcbcrConversionSeparateReconstructionFilterKHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR, 1491 eTransferDstKHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR, 1492 eTransferSrcKHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR 1493 }; 1494 1495 using FormatFeatureFlags = Flags<FormatFeatureFlagBits>; 1496 1497 template <> 1498 struct FlagTraits<FormatFeatureFlagBits> 1499 { 1500 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 1501 static VULKAN_HPP_CONST_OR_CONSTEXPR FormatFeatureFlags allFlags = 1502 FormatFeatureFlagBits::eSampledImage | FormatFeatureFlagBits::eStorageImage | FormatFeatureFlagBits::eStorageImageAtomic | 1503 FormatFeatureFlagBits::eUniformTexelBuffer | FormatFeatureFlagBits::eStorageTexelBuffer | FormatFeatureFlagBits::eStorageTexelBufferAtomic | 1504 FormatFeatureFlagBits::eVertexBuffer | FormatFeatureFlagBits::eColorAttachment | FormatFeatureFlagBits::eColorAttachmentBlend | 1505 FormatFeatureFlagBits::eDepthStencilAttachment | FormatFeatureFlagBits::eBlitSrc | FormatFeatureFlagBits::eBlitDst | 1506 FormatFeatureFlagBits::eSampledImageFilterLinear | FormatFeatureFlagBits::eTransferSrc | FormatFeatureFlagBits::eTransferDst | 1507 FormatFeatureFlagBits::eMidpointChromaSamples | FormatFeatureFlagBits::eSampledImageYcbcrConversionLinearFilter | 1508 FormatFeatureFlagBits::eSampledImageYcbcrConversionSeparateReconstructionFilter | 1509 FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicit | 1510 FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable | FormatFeatureFlagBits::eDisjoint | 1511 FormatFeatureFlagBits::eCositedChromaSamples | FormatFeatureFlagBits::eSampledImageFilterMinmax 1512 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 1513 | FormatFeatureFlagBits::eVideoDecodeOutputKHR | FormatFeatureFlagBits::eVideoDecodeDpbKHR 1514 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1515 | FormatFeatureFlagBits::eAccelerationStructureVertexBufferKHR | FormatFeatureFlagBits::eSampledImageFilterCubicEXT | 1516 FormatFeatureFlagBits::eFragmentDensityMapEXT | FormatFeatureFlagBits::eFragmentShadingRateAttachmentKHR 1517 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 1518 | FormatFeatureFlagBits::eVideoEncodeInputKHR | FormatFeatureFlagBits::eVideoEncodeDpbKHR 1519 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1520 ; 1521 }; 1522 1523 enum class ImageCreateFlagBits : VkImageCreateFlags 1524 { 1525 eSparseBinding = VK_IMAGE_CREATE_SPARSE_BINDING_BIT, 1526 eSparseResidency = VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT, 1527 eSparseAliased = VK_IMAGE_CREATE_SPARSE_ALIASED_BIT, 1528 eMutableFormat = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT, 1529 eCubeCompatible = VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT, 1530 eAlias = VK_IMAGE_CREATE_ALIAS_BIT, 1531 eSplitInstanceBindRegions = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, 1532 e2DArrayCompatible = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, 1533 eBlockTexelViewCompatible = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, 1534 eExtendedUsage = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT, 1535 eProtected = VK_IMAGE_CREATE_PROTECTED_BIT, 1536 eDisjoint = VK_IMAGE_CREATE_DISJOINT_BIT, 1537 eCornerSampledNV = VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV, 1538 eSampleLocationsCompatibleDepthEXT = VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT, 1539 eSubsampledEXT = VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT, 1540 eDescriptorBufferCaptureReplayEXT = VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT, 1541 eMultisampledRenderToSingleSampledEXT = VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT, 1542 e2DViewCompatibleEXT = VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT, 1543 eFragmentDensityMapOffsetQCOM = VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM, 1544 e2DArrayCompatibleKHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR, 1545 eAliasKHR = VK_IMAGE_CREATE_ALIAS_BIT_KHR, 1546 eBlockTexelViewCompatibleKHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR, 1547 eDisjointKHR = VK_IMAGE_CREATE_DISJOINT_BIT_KHR, 1548 eExtendedUsageKHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR, 1549 eSplitInstanceBindRegionsKHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR 1550 }; 1551 1552 using ImageCreateFlags = Flags<ImageCreateFlagBits>; 1553 1554 template <> 1555 struct FlagTraits<ImageCreateFlagBits> 1556 { 1557 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 1558 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageCreateFlags allFlags = 1559 ImageCreateFlagBits::eSparseBinding | ImageCreateFlagBits::eSparseResidency | ImageCreateFlagBits::eSparseAliased | ImageCreateFlagBits::eMutableFormat | 1560 ImageCreateFlagBits::eCubeCompatible | ImageCreateFlagBits::eAlias | ImageCreateFlagBits::eSplitInstanceBindRegions | 1561 ImageCreateFlagBits::e2DArrayCompatible | ImageCreateFlagBits::eBlockTexelViewCompatible | ImageCreateFlagBits::eExtendedUsage | 1562 ImageCreateFlagBits::eProtected | ImageCreateFlagBits::eDisjoint | ImageCreateFlagBits::eCornerSampledNV | 1563 ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT | ImageCreateFlagBits::eSubsampledEXT | ImageCreateFlagBits::eDescriptorBufferCaptureReplayEXT | 1564 ImageCreateFlagBits::eMultisampledRenderToSingleSampledEXT | ImageCreateFlagBits::e2DViewCompatibleEXT | 1565 ImageCreateFlagBits::eFragmentDensityMapOffsetQCOM; 1566 }; 1567 1568 enum class ImageTiling 1569 { 1570 eOptimal = VK_IMAGE_TILING_OPTIMAL, 1571 eLinear = VK_IMAGE_TILING_LINEAR, 1572 eDrmFormatModifierEXT = VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT 1573 }; 1574 1575 enum class ImageType 1576 { 1577 e1D = VK_IMAGE_TYPE_1D, 1578 e2D = VK_IMAGE_TYPE_2D, 1579 e3D = VK_IMAGE_TYPE_3D 1580 }; 1581 1582 enum class ImageUsageFlagBits : VkImageUsageFlags 1583 { 1584 eTransferSrc = VK_IMAGE_USAGE_TRANSFER_SRC_BIT, 1585 eTransferDst = VK_IMAGE_USAGE_TRANSFER_DST_BIT, 1586 eSampled = VK_IMAGE_USAGE_SAMPLED_BIT, 1587 eStorage = VK_IMAGE_USAGE_STORAGE_BIT, 1588 eColorAttachment = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, 1589 eDepthStencilAttachment = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, 1590 eTransientAttachment = VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, 1591 eInputAttachment = VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT, 1592 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 1593 eVideoDecodeDstKHR = VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR, 1594 eVideoDecodeSrcKHR = VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR, 1595 eVideoDecodeDpbKHR = VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR, 1596 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1597 eFragmentDensityMapEXT = VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT, 1598 eFragmentShadingRateAttachmentKHR = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 1599 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 1600 eVideoEncodeDstKHR = VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR, 1601 eVideoEncodeSrcKHR = VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR, 1602 eVideoEncodeDpbKHR = VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR, 1603 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1604 eAttachmentFeedbackLoopEXT = VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT, 1605 eInvocationMaskHUAWEI = VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI, 1606 eSampleWeightQCOM = VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM, 1607 eSampleBlockMatchQCOM = VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM, 1608 eShadingRateImageNV = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV 1609 }; 1610 1611 using ImageUsageFlags = Flags<ImageUsageFlagBits>; 1612 1613 template <> 1614 struct FlagTraits<ImageUsageFlagBits> 1615 { 1616 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 1617 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageUsageFlags allFlags = 1618 ImageUsageFlagBits::eTransferSrc | ImageUsageFlagBits::eTransferDst | ImageUsageFlagBits::eSampled | ImageUsageFlagBits::eStorage | 1619 ImageUsageFlagBits::eColorAttachment | ImageUsageFlagBits::eDepthStencilAttachment | ImageUsageFlagBits::eTransientAttachment | 1620 ImageUsageFlagBits::eInputAttachment 1621 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 1622 | ImageUsageFlagBits::eVideoDecodeDstKHR | ImageUsageFlagBits::eVideoDecodeSrcKHR | ImageUsageFlagBits::eVideoDecodeDpbKHR 1623 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1624 | ImageUsageFlagBits::eFragmentDensityMapEXT | ImageUsageFlagBits::eFragmentShadingRateAttachmentKHR 1625 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 1626 | ImageUsageFlagBits::eVideoEncodeDstKHR | ImageUsageFlagBits::eVideoEncodeSrcKHR | ImageUsageFlagBits::eVideoEncodeDpbKHR 1627 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1628 | ImageUsageFlagBits::eAttachmentFeedbackLoopEXT | ImageUsageFlagBits::eInvocationMaskHUAWEI | ImageUsageFlagBits::eSampleWeightQCOM | 1629 ImageUsageFlagBits::eSampleBlockMatchQCOM; 1630 }; 1631 1632 enum class InstanceCreateFlagBits : VkInstanceCreateFlags 1633 { 1634 eEnumeratePortabilityKHR = VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR 1635 }; 1636 1637 using InstanceCreateFlags = Flags<InstanceCreateFlagBits>; 1638 1639 template <> 1640 struct FlagTraits<InstanceCreateFlagBits> 1641 { 1642 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 1643 static VULKAN_HPP_CONST_OR_CONSTEXPR InstanceCreateFlags allFlags = InstanceCreateFlagBits::eEnumeratePortabilityKHR; 1644 }; 1645 1646 enum class InternalAllocationType 1647 { 1648 eExecutable = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE 1649 }; 1650 1651 enum class MemoryHeapFlagBits : VkMemoryHeapFlags 1652 { 1653 eDeviceLocal = VK_MEMORY_HEAP_DEVICE_LOCAL_BIT, 1654 eMultiInstance = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT, 1655 eMultiInstanceKHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR 1656 }; 1657 1658 using MemoryHeapFlags = Flags<MemoryHeapFlagBits>; 1659 1660 template <> 1661 struct FlagTraits<MemoryHeapFlagBits> 1662 { 1663 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 1664 static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryHeapFlags allFlags = MemoryHeapFlagBits::eDeviceLocal | MemoryHeapFlagBits::eMultiInstance; 1665 }; 1666 1667 enum class MemoryPropertyFlagBits : VkMemoryPropertyFlags 1668 { 1669 eDeviceLocal = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, 1670 eHostVisible = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT, 1671 eHostCoherent = VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, 1672 eHostCached = VK_MEMORY_PROPERTY_HOST_CACHED_BIT, 1673 eLazilyAllocated = VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT, 1674 eProtected = VK_MEMORY_PROPERTY_PROTECTED_BIT, 1675 eDeviceCoherentAMD = VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD, 1676 eDeviceUncachedAMD = VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD, 1677 eRdmaCapableNV = VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV 1678 }; 1679 1680 using MemoryPropertyFlags = Flags<MemoryPropertyFlagBits>; 1681 1682 template <> 1683 struct FlagTraits<MemoryPropertyFlagBits> 1684 { 1685 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 1686 static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryPropertyFlags allFlags = 1687 MemoryPropertyFlagBits::eDeviceLocal | MemoryPropertyFlagBits::eHostVisible | MemoryPropertyFlagBits::eHostCoherent | 1688 MemoryPropertyFlagBits::eHostCached | MemoryPropertyFlagBits::eLazilyAllocated | MemoryPropertyFlagBits::eProtected | 1689 MemoryPropertyFlagBits::eDeviceCoherentAMD | MemoryPropertyFlagBits::eDeviceUncachedAMD | MemoryPropertyFlagBits::eRdmaCapableNV; 1690 }; 1691 1692 enum class PhysicalDeviceType 1693 { 1694 eOther = VK_PHYSICAL_DEVICE_TYPE_OTHER, 1695 eIntegratedGpu = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU, 1696 eDiscreteGpu = VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU, 1697 eVirtualGpu = VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU, 1698 eCpu = VK_PHYSICAL_DEVICE_TYPE_CPU 1699 }; 1700 1701 enum class QueueFlagBits : VkQueueFlags 1702 { 1703 eGraphics = VK_QUEUE_GRAPHICS_BIT, 1704 eCompute = VK_QUEUE_COMPUTE_BIT, 1705 eTransfer = VK_QUEUE_TRANSFER_BIT, 1706 eSparseBinding = VK_QUEUE_SPARSE_BINDING_BIT, 1707 eProtected = VK_QUEUE_PROTECTED_BIT, 1708 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 1709 eVideoDecodeKHR = VK_QUEUE_VIDEO_DECODE_BIT_KHR, 1710 eVideoEncodeKHR = VK_QUEUE_VIDEO_ENCODE_BIT_KHR, 1711 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1712 eOpticalFlowNV = VK_QUEUE_OPTICAL_FLOW_BIT_NV 1713 }; 1714 1715 using QueueFlags = Flags<QueueFlagBits>; 1716 1717 template <> 1718 struct FlagTraits<QueueFlagBits> 1719 { 1720 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 1721 static VULKAN_HPP_CONST_OR_CONSTEXPR QueueFlags allFlags = QueueFlagBits::eGraphics | QueueFlagBits::eCompute | QueueFlagBits::eTransfer | 1722 QueueFlagBits::eSparseBinding | QueueFlagBits::eProtected 1723 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 1724 | QueueFlagBits::eVideoDecodeKHR | QueueFlagBits::eVideoEncodeKHR 1725 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 1726 | QueueFlagBits::eOpticalFlowNV; 1727 }; 1728 1729 enum class SampleCountFlagBits : VkSampleCountFlags 1730 { 1731 e1 = VK_SAMPLE_COUNT_1_BIT, 1732 e2 = VK_SAMPLE_COUNT_2_BIT, 1733 e4 = VK_SAMPLE_COUNT_4_BIT, 1734 e8 = VK_SAMPLE_COUNT_8_BIT, 1735 e16 = VK_SAMPLE_COUNT_16_BIT, 1736 e32 = VK_SAMPLE_COUNT_32_BIT, 1737 e64 = VK_SAMPLE_COUNT_64_BIT 1738 }; 1739 1740 using SampleCountFlags = Flags<SampleCountFlagBits>; 1741 1742 template <> 1743 struct FlagTraits<SampleCountFlagBits> 1744 { 1745 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 1746 static VULKAN_HPP_CONST_OR_CONSTEXPR SampleCountFlags allFlags = SampleCountFlagBits::e1 | SampleCountFlagBits::e2 | SampleCountFlagBits::e4 | 1747 SampleCountFlagBits::e8 | SampleCountFlagBits::e16 | SampleCountFlagBits::e32 | 1748 SampleCountFlagBits::e64; 1749 }; 1750 1751 enum class SystemAllocationScope 1752 { 1753 eCommand = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND, 1754 eObject = VK_SYSTEM_ALLOCATION_SCOPE_OBJECT, 1755 eCache = VK_SYSTEM_ALLOCATION_SCOPE_CACHE, 1756 eDevice = VK_SYSTEM_ALLOCATION_SCOPE_DEVICE, 1757 eInstance = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE 1758 }; 1759 1760 enum class DeviceCreateFlagBits : VkDeviceCreateFlags 1761 { 1762 }; 1763 1764 using DeviceCreateFlags = Flags<DeviceCreateFlagBits>; 1765 1766 template <> 1767 struct FlagTraits<DeviceCreateFlagBits> 1768 { 1769 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 1770 static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceCreateFlags allFlags = {}; 1771 }; 1772 1773 enum class PipelineStageFlagBits : VkPipelineStageFlags 1774 { 1775 eTopOfPipe = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, 1776 eDrawIndirect = VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT, 1777 eVertexInput = VK_PIPELINE_STAGE_VERTEX_INPUT_BIT, 1778 eVertexShader = VK_PIPELINE_STAGE_VERTEX_SHADER_BIT, 1779 eTessellationControlShader = VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT, 1780 eTessellationEvaluationShader = VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT, 1781 eGeometryShader = VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT, 1782 eFragmentShader = VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, 1783 eEarlyFragmentTests = VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT, 1784 eLateFragmentTests = VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT, 1785 eColorAttachmentOutput = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, 1786 eComputeShader = VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 1787 eTransfer = VK_PIPELINE_STAGE_TRANSFER_BIT, 1788 eBottomOfPipe = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, 1789 eHost = VK_PIPELINE_STAGE_HOST_BIT, 1790 eAllGraphics = VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, 1791 eAllCommands = VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, 1792 eNone = VK_PIPELINE_STAGE_NONE, 1793 eTransformFeedbackEXT = VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT, 1794 eConditionalRenderingEXT = VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT, 1795 eAccelerationStructureBuildKHR = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, 1796 eRayTracingShaderKHR = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR, 1797 eFragmentDensityProcessEXT = VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT, 1798 eFragmentShadingRateAttachmentKHR = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 1799 eCommandPreprocessNV = VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV, 1800 eTaskShaderEXT = VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT, 1801 eMeshShaderEXT = VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT, 1802 eAccelerationStructureBuildNV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV, 1803 eMeshShaderNV = VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV, 1804 eNoneKHR = VK_PIPELINE_STAGE_NONE_KHR, 1805 eRayTracingShaderNV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV, 1806 eShadingRateImageNV = VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV, 1807 eTaskShaderNV = VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV 1808 }; 1809 1810 using PipelineStageFlags = Flags<PipelineStageFlagBits>; 1811 1812 template <> 1813 struct FlagTraits<PipelineStageFlagBits> 1814 { 1815 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 1816 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineStageFlags allFlags = 1817 PipelineStageFlagBits::eTopOfPipe | PipelineStageFlagBits::eDrawIndirect | PipelineStageFlagBits::eVertexInput | PipelineStageFlagBits::eVertexShader | 1818 PipelineStageFlagBits::eTessellationControlShader | PipelineStageFlagBits::eTessellationEvaluationShader | PipelineStageFlagBits::eGeometryShader | 1819 PipelineStageFlagBits::eFragmentShader | PipelineStageFlagBits::eEarlyFragmentTests | PipelineStageFlagBits::eLateFragmentTests | 1820 PipelineStageFlagBits::eColorAttachmentOutput | PipelineStageFlagBits::eComputeShader | PipelineStageFlagBits::eTransfer | 1821 PipelineStageFlagBits::eBottomOfPipe | PipelineStageFlagBits::eHost | PipelineStageFlagBits::eAllGraphics | PipelineStageFlagBits::eAllCommands | 1822 PipelineStageFlagBits::eNone | PipelineStageFlagBits::eTransformFeedbackEXT | PipelineStageFlagBits::eConditionalRenderingEXT | 1823 PipelineStageFlagBits::eAccelerationStructureBuildKHR | PipelineStageFlagBits::eRayTracingShaderKHR | PipelineStageFlagBits::eFragmentDensityProcessEXT | 1824 PipelineStageFlagBits::eFragmentShadingRateAttachmentKHR | PipelineStageFlagBits::eCommandPreprocessNV | PipelineStageFlagBits::eTaskShaderEXT | 1825 PipelineStageFlagBits::eMeshShaderEXT; 1826 }; 1827 1828 enum class MemoryMapFlagBits : VkMemoryMapFlags 1829 { 1830 }; 1831 1832 using MemoryMapFlags = Flags<MemoryMapFlagBits>; 1833 1834 template <> 1835 struct FlagTraits<MemoryMapFlagBits> 1836 { 1837 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 1838 static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryMapFlags allFlags = {}; 1839 }; 1840 1841 enum class MemoryMapFlagBits : VkMemoryMapFlags 1842 { 1843 }; 1844 to_string(MemoryMapFlagBits)1845 VULKAN_HPP_INLINE std::string to_string( MemoryMapFlagBits ) 1846 { 1847 return "(void)"; 1848 } 1849 1850 enum class ImageAspectFlagBits : VkImageAspectFlags 1851 { 1852 eColor = VK_IMAGE_ASPECT_COLOR_BIT, 1853 eDepth = VK_IMAGE_ASPECT_DEPTH_BIT, 1854 eStencil = VK_IMAGE_ASPECT_STENCIL_BIT, 1855 eMetadata = VK_IMAGE_ASPECT_METADATA_BIT, 1856 ePlane0 = VK_IMAGE_ASPECT_PLANE_0_BIT, 1857 ePlane1 = VK_IMAGE_ASPECT_PLANE_1_BIT, 1858 ePlane2 = VK_IMAGE_ASPECT_PLANE_2_BIT, 1859 eNone = VK_IMAGE_ASPECT_NONE, 1860 eMemoryPlane0EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT, 1861 eMemoryPlane1EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT, 1862 eMemoryPlane2EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT, 1863 eMemoryPlane3EXT = VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT, 1864 eNoneKHR = VK_IMAGE_ASPECT_NONE_KHR, 1865 ePlane0KHR = VK_IMAGE_ASPECT_PLANE_0_BIT_KHR, 1866 ePlane1KHR = VK_IMAGE_ASPECT_PLANE_1_BIT_KHR, 1867 ePlane2KHR = VK_IMAGE_ASPECT_PLANE_2_BIT_KHR 1868 }; 1869 1870 using ImageAspectFlags = Flags<ImageAspectFlagBits>; 1871 1872 template <> 1873 struct FlagTraits<ImageAspectFlagBits> 1874 { 1875 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 1876 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageAspectFlags allFlags = ImageAspectFlagBits::eColor | ImageAspectFlagBits::eDepth | ImageAspectFlagBits::eStencil | 1877 ImageAspectFlagBits::eMetadata | ImageAspectFlagBits::ePlane0 | 1878 ImageAspectFlagBits::ePlane1 | ImageAspectFlagBits::ePlane2 | ImageAspectFlagBits::eNone | 1879 ImageAspectFlagBits::eMemoryPlane0EXT | ImageAspectFlagBits::eMemoryPlane1EXT | 1880 ImageAspectFlagBits::eMemoryPlane2EXT | ImageAspectFlagBits::eMemoryPlane3EXT; 1881 }; 1882 1883 enum class SparseImageFormatFlagBits : VkSparseImageFormatFlags 1884 { 1885 eSingleMiptail = VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT, 1886 eAlignedMipSize = VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT, 1887 eNonstandardBlockSize = VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT 1888 }; 1889 1890 using SparseImageFormatFlags = Flags<SparseImageFormatFlagBits>; 1891 1892 template <> 1893 struct FlagTraits<SparseImageFormatFlagBits> 1894 { 1895 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 1896 static VULKAN_HPP_CONST_OR_CONSTEXPR SparseImageFormatFlags allFlags = 1897 SparseImageFormatFlagBits::eSingleMiptail | SparseImageFormatFlagBits::eAlignedMipSize | SparseImageFormatFlagBits::eNonstandardBlockSize; 1898 }; 1899 1900 enum class SparseMemoryBindFlagBits : VkSparseMemoryBindFlags 1901 { 1902 eMetadata = VK_SPARSE_MEMORY_BIND_METADATA_BIT 1903 }; 1904 1905 using SparseMemoryBindFlags = Flags<SparseMemoryBindFlagBits>; 1906 1907 template <> 1908 struct FlagTraits<SparseMemoryBindFlagBits> 1909 { 1910 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 1911 static VULKAN_HPP_CONST_OR_CONSTEXPR SparseMemoryBindFlags allFlags = SparseMemoryBindFlagBits::eMetadata; 1912 }; 1913 1914 enum class FenceCreateFlagBits : VkFenceCreateFlags 1915 { 1916 eSignaled = VK_FENCE_CREATE_SIGNALED_BIT 1917 }; 1918 1919 using FenceCreateFlags = Flags<FenceCreateFlagBits>; 1920 1921 template <> 1922 struct FlagTraits<FenceCreateFlagBits> 1923 { 1924 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 1925 static VULKAN_HPP_CONST_OR_CONSTEXPR FenceCreateFlags allFlags = FenceCreateFlagBits::eSignaled; 1926 }; 1927 1928 enum class SemaphoreCreateFlagBits : VkSemaphoreCreateFlags 1929 { 1930 }; 1931 1932 using SemaphoreCreateFlags = Flags<SemaphoreCreateFlagBits>; 1933 1934 template <> 1935 struct FlagTraits<SemaphoreCreateFlagBits> 1936 { 1937 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 1938 static VULKAN_HPP_CONST_OR_CONSTEXPR SemaphoreCreateFlags allFlags = {}; 1939 }; 1940 1941 enum class SemaphoreCreateFlagBits : VkSemaphoreCreateFlags 1942 { 1943 }; 1944 to_string(SemaphoreCreateFlagBits)1945 VULKAN_HPP_INLINE std::string to_string( SemaphoreCreateFlagBits ) 1946 { 1947 return "(void)"; 1948 } 1949 1950 enum class EventCreateFlagBits : VkEventCreateFlags 1951 { 1952 eDeviceOnly = VK_EVENT_CREATE_DEVICE_ONLY_BIT, 1953 eDeviceOnlyKHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR 1954 }; 1955 1956 using EventCreateFlags = Flags<EventCreateFlagBits>; 1957 1958 template <> 1959 struct FlagTraits<EventCreateFlagBits> 1960 { 1961 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 1962 static VULKAN_HPP_CONST_OR_CONSTEXPR EventCreateFlags allFlags = EventCreateFlagBits::eDeviceOnly; 1963 }; 1964 1965 enum class QueryPipelineStatisticFlagBits : VkQueryPipelineStatisticFlags 1966 { 1967 eInputAssemblyVertices = VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT, 1968 eInputAssemblyPrimitives = VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT, 1969 eVertexShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT, 1970 eGeometryShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT, 1971 eGeometryShaderPrimitives = VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT, 1972 eClippingInvocations = VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT, 1973 eClippingPrimitives = VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT, 1974 eFragmentShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT, 1975 eTessellationControlShaderPatches = VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT, 1976 eTessellationEvaluationShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT, 1977 eComputeShaderInvocations = VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT, 1978 eTaskShaderInvocationsEXT = VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT, 1979 eMeshShaderInvocationsEXT = VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT 1980 }; 1981 1982 using QueryPipelineStatisticFlags = Flags<QueryPipelineStatisticFlagBits>; 1983 1984 template <> 1985 struct FlagTraits<QueryPipelineStatisticFlagBits> 1986 { 1987 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 1988 static VULKAN_HPP_CONST_OR_CONSTEXPR QueryPipelineStatisticFlags allFlags = 1989 QueryPipelineStatisticFlagBits::eInputAssemblyVertices | QueryPipelineStatisticFlagBits::eInputAssemblyPrimitives | 1990 QueryPipelineStatisticFlagBits::eVertexShaderInvocations | QueryPipelineStatisticFlagBits::eGeometryShaderInvocations | 1991 QueryPipelineStatisticFlagBits::eGeometryShaderPrimitives | QueryPipelineStatisticFlagBits::eClippingInvocations | 1992 QueryPipelineStatisticFlagBits::eClippingPrimitives | QueryPipelineStatisticFlagBits::eFragmentShaderInvocations | 1993 QueryPipelineStatisticFlagBits::eTessellationControlShaderPatches | QueryPipelineStatisticFlagBits::eTessellationEvaluationShaderInvocations | 1994 QueryPipelineStatisticFlagBits::eComputeShaderInvocations | QueryPipelineStatisticFlagBits::eTaskShaderInvocationsEXT | 1995 QueryPipelineStatisticFlagBits::eMeshShaderInvocationsEXT; 1996 }; 1997 1998 enum class QueryResultFlagBits : VkQueryResultFlags 1999 { 2000 e64 = VK_QUERY_RESULT_64_BIT, 2001 eWait = VK_QUERY_RESULT_WAIT_BIT, 2002 eWithAvailability = VK_QUERY_RESULT_WITH_AVAILABILITY_BIT, 2003 ePartial = VK_QUERY_RESULT_PARTIAL_BIT, 2004 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 2005 eWithStatusKHR = VK_QUERY_RESULT_WITH_STATUS_BIT_KHR 2006 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 2007 }; 2008 2009 using QueryResultFlags = Flags<QueryResultFlagBits>; 2010 2011 template <> 2012 struct FlagTraits<QueryResultFlagBits> 2013 { 2014 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2015 static VULKAN_HPP_CONST_OR_CONSTEXPR QueryResultFlags allFlags = QueryResultFlagBits::e64 | QueryResultFlagBits::eWait | 2016 QueryResultFlagBits::eWithAvailability | QueryResultFlagBits::ePartial 2017 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 2018 | QueryResultFlagBits::eWithStatusKHR 2019 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 2020 ; 2021 }; 2022 2023 enum class QueryType 2024 { 2025 eOcclusion = VK_QUERY_TYPE_OCCLUSION, 2026 ePipelineStatistics = VK_QUERY_TYPE_PIPELINE_STATISTICS, 2027 eTimestamp = VK_QUERY_TYPE_TIMESTAMP, 2028 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 2029 eResultStatusOnlyKHR = VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR, 2030 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 2031 eTransformFeedbackStreamEXT = VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT, 2032 ePerformanceQueryKHR = VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR, 2033 eAccelerationStructureCompactedSizeKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR, 2034 eAccelerationStructureSerializationSizeKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR, 2035 eAccelerationStructureCompactedSizeNV = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV, 2036 ePerformanceQueryINTEL = VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL, 2037 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 2038 eVideoEncodeBitstreamBufferRangeKHR = VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR, 2039 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 2040 eMeshPrimitivesGeneratedEXT = VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT, 2041 ePrimitivesGeneratedEXT = VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT, 2042 eAccelerationStructureSerializationBottomLevelPointersKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR, 2043 eAccelerationStructureSizeKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR, 2044 eMicromapSerializationSizeEXT = VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT, 2045 eMicromapCompactedSizeEXT = VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT 2046 }; 2047 2048 enum class QueryPoolCreateFlagBits : VkQueryPoolCreateFlags 2049 { 2050 }; 2051 2052 using QueryPoolCreateFlags = Flags<QueryPoolCreateFlagBits>; 2053 2054 template <> 2055 struct FlagTraits<QueryPoolCreateFlagBits> 2056 { 2057 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2058 static VULKAN_HPP_CONST_OR_CONSTEXPR QueryPoolCreateFlags allFlags = {}; 2059 }; 2060 2061 enum class QueryPoolCreateFlagBits 2062 { 2063 }; 2064 to_string(QueryPoolCreateFlagBits)2065 VULKAN_HPP_INLINE std::string to_string( QueryPoolCreateFlagBits ) 2066 { 2067 return "(void)"; 2068 } 2069 2070 enum class BufferCreateFlagBits : VkBufferCreateFlags 2071 { 2072 eSparseBinding = VK_BUFFER_CREATE_SPARSE_BINDING_BIT, 2073 eSparseResidency = VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT, 2074 eSparseAliased = VK_BUFFER_CREATE_SPARSE_ALIASED_BIT, 2075 eProtected = VK_BUFFER_CREATE_PROTECTED_BIT, 2076 eDeviceAddressCaptureReplay = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 2077 eDescriptorBufferCaptureReplayEXT = VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT, 2078 eDeviceAddressCaptureReplayEXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT, 2079 eDeviceAddressCaptureReplayKHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR 2080 }; 2081 2082 using BufferCreateFlags = Flags<BufferCreateFlagBits>; 2083 2084 template <> 2085 struct FlagTraits<BufferCreateFlagBits> 2086 { 2087 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2088 static VULKAN_HPP_CONST_OR_CONSTEXPR BufferCreateFlags allFlags = 2089 BufferCreateFlagBits::eSparseBinding | BufferCreateFlagBits::eSparseResidency | BufferCreateFlagBits::eSparseAliased | BufferCreateFlagBits::eProtected | 2090 BufferCreateFlagBits::eDeviceAddressCaptureReplay | BufferCreateFlagBits::eDescriptorBufferCaptureReplayEXT; 2091 }; 2092 2093 enum class BufferUsageFlagBits : VkBufferUsageFlags 2094 { 2095 eTransferSrc = VK_BUFFER_USAGE_TRANSFER_SRC_BIT, 2096 eTransferDst = VK_BUFFER_USAGE_TRANSFER_DST_BIT, 2097 eUniformTexelBuffer = VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT, 2098 eStorageTexelBuffer = VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT, 2099 eUniformBuffer = VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, 2100 eStorageBuffer = VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, 2101 eIndexBuffer = VK_BUFFER_USAGE_INDEX_BUFFER_BIT, 2102 eVertexBuffer = VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, 2103 eIndirectBuffer = VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT, 2104 eShaderDeviceAddress = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 2105 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 2106 eVideoDecodeSrcKHR = VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR, 2107 eVideoDecodeDstKHR = VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR, 2108 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 2109 eTransformFeedbackBufferEXT = VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT, 2110 eTransformFeedbackCounterBufferEXT = VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT, 2111 eConditionalRenderingEXT = VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT, 2112 eAccelerationStructureBuildInputReadOnlyKHR = VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR, 2113 eAccelerationStructureStorageKHR = VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR, 2114 eShaderBindingTableKHR = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR, 2115 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 2116 eVideoEncodeDstKHR = VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR, 2117 eVideoEncodeSrcKHR = VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR, 2118 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 2119 eSamplerDescriptorBufferEXT = VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT, 2120 eResourceDescriptorBufferEXT = VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT, 2121 ePushDescriptorsDescriptorBufferEXT = VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT, 2122 eMicromapBuildInputReadOnlyEXT = VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT, 2123 eMicromapStorageEXT = VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT, 2124 eRayTracingNV = VK_BUFFER_USAGE_RAY_TRACING_BIT_NV, 2125 eShaderDeviceAddressEXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT, 2126 eShaderDeviceAddressKHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR 2127 }; 2128 2129 using BufferUsageFlags = Flags<BufferUsageFlagBits>; 2130 2131 template <> 2132 struct FlagTraits<BufferUsageFlagBits> 2133 { 2134 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2135 static VULKAN_HPP_CONST_OR_CONSTEXPR BufferUsageFlags allFlags = 2136 BufferUsageFlagBits::eTransferSrc | BufferUsageFlagBits::eTransferDst | BufferUsageFlagBits::eUniformTexelBuffer | 2137 BufferUsageFlagBits::eStorageTexelBuffer | BufferUsageFlagBits::eUniformBuffer | BufferUsageFlagBits::eStorageBuffer | BufferUsageFlagBits::eIndexBuffer | 2138 BufferUsageFlagBits::eVertexBuffer | BufferUsageFlagBits::eIndirectBuffer | BufferUsageFlagBits::eShaderDeviceAddress 2139 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 2140 | BufferUsageFlagBits::eVideoDecodeSrcKHR | BufferUsageFlagBits::eVideoDecodeDstKHR 2141 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 2142 | BufferUsageFlagBits::eTransformFeedbackBufferEXT | BufferUsageFlagBits::eTransformFeedbackCounterBufferEXT | 2143 BufferUsageFlagBits::eConditionalRenderingEXT | BufferUsageFlagBits::eAccelerationStructureBuildInputReadOnlyKHR | 2144 BufferUsageFlagBits::eAccelerationStructureStorageKHR | BufferUsageFlagBits::eShaderBindingTableKHR 2145 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 2146 | BufferUsageFlagBits::eVideoEncodeDstKHR | BufferUsageFlagBits::eVideoEncodeSrcKHR 2147 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 2148 | BufferUsageFlagBits::eSamplerDescriptorBufferEXT | BufferUsageFlagBits::eResourceDescriptorBufferEXT | 2149 BufferUsageFlagBits::ePushDescriptorsDescriptorBufferEXT | BufferUsageFlagBits::eMicromapBuildInputReadOnlyEXT | BufferUsageFlagBits::eMicromapStorageEXT; 2150 }; 2151 2152 enum class SharingMode 2153 { 2154 eExclusive = VK_SHARING_MODE_EXCLUSIVE, 2155 eConcurrent = VK_SHARING_MODE_CONCURRENT 2156 }; 2157 2158 enum class BufferViewCreateFlagBits : VkBufferViewCreateFlags 2159 { 2160 }; 2161 2162 using BufferViewCreateFlags = Flags<BufferViewCreateFlagBits>; 2163 2164 template <> 2165 struct FlagTraits<BufferViewCreateFlagBits> 2166 { 2167 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2168 static VULKAN_HPP_CONST_OR_CONSTEXPR BufferViewCreateFlags allFlags = {}; 2169 }; 2170 2171 enum class BufferViewCreateFlagBits : VkBufferViewCreateFlags 2172 { 2173 }; 2174 to_string(BufferViewCreateFlagBits)2175 VULKAN_HPP_INLINE std::string to_string( BufferViewCreateFlagBits ) 2176 { 2177 return "(void)"; 2178 } 2179 2180 enum class ImageLayout 2181 { 2182 eUndefined = VK_IMAGE_LAYOUT_UNDEFINED, 2183 eGeneral = VK_IMAGE_LAYOUT_GENERAL, 2184 eColorAttachmentOptimal = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, 2185 eDepthStencilAttachmentOptimal = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, 2186 eDepthStencilReadOnlyOptimal = VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, 2187 eShaderReadOnlyOptimal = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, 2188 eTransferSrcOptimal = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, 2189 eTransferDstOptimal = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 2190 ePreinitialized = VK_IMAGE_LAYOUT_PREINITIALIZED, 2191 eDepthReadOnlyStencilAttachmentOptimal = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, 2192 eDepthAttachmentStencilReadOnlyOptimal = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, 2193 eDepthAttachmentOptimal = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, 2194 eDepthReadOnlyOptimal = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, 2195 eStencilAttachmentOptimal = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, 2196 eStencilReadOnlyOptimal = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, 2197 eReadOnlyOptimal = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL, 2198 eAttachmentOptimal = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL, 2199 ePresentSrcKHR = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, 2200 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 2201 eVideoDecodeDstKHR = VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR, 2202 eVideoDecodeSrcKHR = VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR, 2203 eVideoDecodeDpbKHR = VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR, 2204 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 2205 eSharedPresentKHR = VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR, 2206 eFragmentDensityMapOptimalEXT = VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT, 2207 eFragmentShadingRateAttachmentOptimalKHR = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR, 2208 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 2209 eVideoEncodeDstKHR = VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR, 2210 eVideoEncodeSrcKHR = VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR, 2211 eVideoEncodeDpbKHR = VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR, 2212 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 2213 eAttachmentFeedbackLoopOptimalEXT = VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT, 2214 eAttachmentOptimalKHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR, 2215 eDepthAttachmentOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR, 2216 eDepthAttachmentStencilReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR, 2217 eDepthReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR, 2218 eDepthReadOnlyStencilAttachmentOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR, 2219 eReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR, 2220 eShadingRateOptimalNV = VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV, 2221 eStencilAttachmentOptimalKHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR, 2222 eStencilReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR 2223 }; 2224 2225 enum class ComponentSwizzle 2226 { 2227 eIdentity = VK_COMPONENT_SWIZZLE_IDENTITY, 2228 eZero = VK_COMPONENT_SWIZZLE_ZERO, 2229 eOne = VK_COMPONENT_SWIZZLE_ONE, 2230 eR = VK_COMPONENT_SWIZZLE_R, 2231 eG = VK_COMPONENT_SWIZZLE_G, 2232 eB = VK_COMPONENT_SWIZZLE_B, 2233 eA = VK_COMPONENT_SWIZZLE_A 2234 }; 2235 2236 enum class ImageViewCreateFlagBits : VkImageViewCreateFlags 2237 { 2238 eFragmentDensityMapDynamicEXT = VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT, 2239 eDescriptorBufferCaptureReplayEXT = VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT, 2240 eFragmentDensityMapDeferredEXT = VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT 2241 }; 2242 2243 using ImageViewCreateFlags = Flags<ImageViewCreateFlagBits>; 2244 2245 template <> 2246 struct FlagTraits<ImageViewCreateFlagBits> 2247 { 2248 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2249 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageViewCreateFlags allFlags = ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT | 2250 ImageViewCreateFlagBits::eDescriptorBufferCaptureReplayEXT | 2251 ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT; 2252 }; 2253 2254 enum class ImageViewType 2255 { 2256 e1D = VK_IMAGE_VIEW_TYPE_1D, 2257 e2D = VK_IMAGE_VIEW_TYPE_2D, 2258 e3D = VK_IMAGE_VIEW_TYPE_3D, 2259 eCube = VK_IMAGE_VIEW_TYPE_CUBE, 2260 e1DArray = VK_IMAGE_VIEW_TYPE_1D_ARRAY, 2261 e2DArray = VK_IMAGE_VIEW_TYPE_2D_ARRAY, 2262 eCubeArray = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY 2263 }; 2264 2265 enum class ShaderModuleCreateFlagBits : VkShaderModuleCreateFlags 2266 { 2267 }; 2268 2269 using ShaderModuleCreateFlags = Flags<ShaderModuleCreateFlagBits>; 2270 2271 template <> 2272 struct FlagTraits<ShaderModuleCreateFlagBits> 2273 { 2274 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2275 static VULKAN_HPP_CONST_OR_CONSTEXPR ShaderModuleCreateFlags allFlags = {}; 2276 }; 2277 2278 enum class BlendFactor 2279 { 2280 eZero = VK_BLEND_FACTOR_ZERO, 2281 eOne = VK_BLEND_FACTOR_ONE, 2282 eSrcColor = VK_BLEND_FACTOR_SRC_COLOR, 2283 eOneMinusSrcColor = VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR, 2284 eDstColor = VK_BLEND_FACTOR_DST_COLOR, 2285 eOneMinusDstColor = VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR, 2286 eSrcAlpha = VK_BLEND_FACTOR_SRC_ALPHA, 2287 eOneMinusSrcAlpha = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA, 2288 eDstAlpha = VK_BLEND_FACTOR_DST_ALPHA, 2289 eOneMinusDstAlpha = VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA, 2290 eConstantColor = VK_BLEND_FACTOR_CONSTANT_COLOR, 2291 eOneMinusConstantColor = VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR, 2292 eConstantAlpha = VK_BLEND_FACTOR_CONSTANT_ALPHA, 2293 eOneMinusConstantAlpha = VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA, 2294 eSrcAlphaSaturate = VK_BLEND_FACTOR_SRC_ALPHA_SATURATE, 2295 eSrc1Color = VK_BLEND_FACTOR_SRC1_COLOR, 2296 eOneMinusSrc1Color = VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR, 2297 eSrc1Alpha = VK_BLEND_FACTOR_SRC1_ALPHA, 2298 eOneMinusSrc1Alpha = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA 2299 }; 2300 2301 enum class BlendOp 2302 { 2303 eAdd = VK_BLEND_OP_ADD, 2304 eSubtract = VK_BLEND_OP_SUBTRACT, 2305 eReverseSubtract = VK_BLEND_OP_REVERSE_SUBTRACT, 2306 eMin = VK_BLEND_OP_MIN, 2307 eMax = VK_BLEND_OP_MAX, 2308 eZeroEXT = VK_BLEND_OP_ZERO_EXT, 2309 eSrcEXT = VK_BLEND_OP_SRC_EXT, 2310 eDstEXT = VK_BLEND_OP_DST_EXT, 2311 eSrcOverEXT = VK_BLEND_OP_SRC_OVER_EXT, 2312 eDstOverEXT = VK_BLEND_OP_DST_OVER_EXT, 2313 eSrcInEXT = VK_BLEND_OP_SRC_IN_EXT, 2314 eDstInEXT = VK_BLEND_OP_DST_IN_EXT, 2315 eSrcOutEXT = VK_BLEND_OP_SRC_OUT_EXT, 2316 eDstOutEXT = VK_BLEND_OP_DST_OUT_EXT, 2317 eSrcAtopEXT = VK_BLEND_OP_SRC_ATOP_EXT, 2318 eDstAtopEXT = VK_BLEND_OP_DST_ATOP_EXT, 2319 eXorEXT = VK_BLEND_OP_XOR_EXT, 2320 eMultiplyEXT = VK_BLEND_OP_MULTIPLY_EXT, 2321 eScreenEXT = VK_BLEND_OP_SCREEN_EXT, 2322 eOverlayEXT = VK_BLEND_OP_OVERLAY_EXT, 2323 eDarkenEXT = VK_BLEND_OP_DARKEN_EXT, 2324 eLightenEXT = VK_BLEND_OP_LIGHTEN_EXT, 2325 eColordodgeEXT = VK_BLEND_OP_COLORDODGE_EXT, 2326 eColorburnEXT = VK_BLEND_OP_COLORBURN_EXT, 2327 eHardlightEXT = VK_BLEND_OP_HARDLIGHT_EXT, 2328 eSoftlightEXT = VK_BLEND_OP_SOFTLIGHT_EXT, 2329 eDifferenceEXT = VK_BLEND_OP_DIFFERENCE_EXT, 2330 eExclusionEXT = VK_BLEND_OP_EXCLUSION_EXT, 2331 eInvertEXT = VK_BLEND_OP_INVERT_EXT, 2332 eInvertRgbEXT = VK_BLEND_OP_INVERT_RGB_EXT, 2333 eLineardodgeEXT = VK_BLEND_OP_LINEARDODGE_EXT, 2334 eLinearburnEXT = VK_BLEND_OP_LINEARBURN_EXT, 2335 eVividlightEXT = VK_BLEND_OP_VIVIDLIGHT_EXT, 2336 eLinearlightEXT = VK_BLEND_OP_LINEARLIGHT_EXT, 2337 ePinlightEXT = VK_BLEND_OP_PINLIGHT_EXT, 2338 eHardmixEXT = VK_BLEND_OP_HARDMIX_EXT, 2339 eHslHueEXT = VK_BLEND_OP_HSL_HUE_EXT, 2340 eHslSaturationEXT = VK_BLEND_OP_HSL_SATURATION_EXT, 2341 eHslColorEXT = VK_BLEND_OP_HSL_COLOR_EXT, 2342 eHslLuminosityEXT = VK_BLEND_OP_HSL_LUMINOSITY_EXT, 2343 ePlusEXT = VK_BLEND_OP_PLUS_EXT, 2344 ePlusClampedEXT = VK_BLEND_OP_PLUS_CLAMPED_EXT, 2345 ePlusClampedAlphaEXT = VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT, 2346 ePlusDarkerEXT = VK_BLEND_OP_PLUS_DARKER_EXT, 2347 eMinusEXT = VK_BLEND_OP_MINUS_EXT, 2348 eMinusClampedEXT = VK_BLEND_OP_MINUS_CLAMPED_EXT, 2349 eContrastEXT = VK_BLEND_OP_CONTRAST_EXT, 2350 eInvertOvgEXT = VK_BLEND_OP_INVERT_OVG_EXT, 2351 eRedEXT = VK_BLEND_OP_RED_EXT, 2352 eGreenEXT = VK_BLEND_OP_GREEN_EXT, 2353 eBlueEXT = VK_BLEND_OP_BLUE_EXT 2354 }; 2355 2356 enum class ColorComponentFlagBits : VkColorComponentFlags 2357 { 2358 eR = VK_COLOR_COMPONENT_R_BIT, 2359 eG = VK_COLOR_COMPONENT_G_BIT, 2360 eB = VK_COLOR_COMPONENT_B_BIT, 2361 eA = VK_COLOR_COMPONENT_A_BIT 2362 }; 2363 2364 using ColorComponentFlags = Flags<ColorComponentFlagBits>; 2365 2366 template <> 2367 struct FlagTraits<ColorComponentFlagBits> 2368 { 2369 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2370 static VULKAN_HPP_CONST_OR_CONSTEXPR ColorComponentFlags allFlags = 2371 ColorComponentFlagBits::eR | ColorComponentFlagBits::eG | ColorComponentFlagBits::eB | ColorComponentFlagBits::eA; 2372 }; 2373 2374 enum class CompareOp 2375 { 2376 eNever = VK_COMPARE_OP_NEVER, 2377 eLess = VK_COMPARE_OP_LESS, 2378 eEqual = VK_COMPARE_OP_EQUAL, 2379 eLessOrEqual = VK_COMPARE_OP_LESS_OR_EQUAL, 2380 eGreater = VK_COMPARE_OP_GREATER, 2381 eNotEqual = VK_COMPARE_OP_NOT_EQUAL, 2382 eGreaterOrEqual = VK_COMPARE_OP_GREATER_OR_EQUAL, 2383 eAlways = VK_COMPARE_OP_ALWAYS 2384 }; 2385 2386 enum class CullModeFlagBits : VkCullModeFlags 2387 { 2388 eNone = VK_CULL_MODE_NONE, 2389 eFront = VK_CULL_MODE_FRONT_BIT, 2390 eBack = VK_CULL_MODE_BACK_BIT, 2391 eFrontAndBack = VK_CULL_MODE_FRONT_AND_BACK 2392 }; 2393 2394 using CullModeFlags = Flags<CullModeFlagBits>; 2395 2396 template <> 2397 struct FlagTraits<CullModeFlagBits> 2398 { 2399 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2400 static VULKAN_HPP_CONST_OR_CONSTEXPR CullModeFlags allFlags = 2401 CullModeFlagBits::eNone | CullModeFlagBits::eFront | CullModeFlagBits::eBack | CullModeFlagBits::eFrontAndBack; 2402 }; 2403 2404 enum class DynamicState 2405 { 2406 eViewport = VK_DYNAMIC_STATE_VIEWPORT, 2407 eScissor = VK_DYNAMIC_STATE_SCISSOR, 2408 eLineWidth = VK_DYNAMIC_STATE_LINE_WIDTH, 2409 eDepthBias = VK_DYNAMIC_STATE_DEPTH_BIAS, 2410 eBlendConstants = VK_DYNAMIC_STATE_BLEND_CONSTANTS, 2411 eDepthBounds = VK_DYNAMIC_STATE_DEPTH_BOUNDS, 2412 eStencilCompareMask = VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK, 2413 eStencilWriteMask = VK_DYNAMIC_STATE_STENCIL_WRITE_MASK, 2414 eStencilReference = VK_DYNAMIC_STATE_STENCIL_REFERENCE, 2415 eCullMode = VK_DYNAMIC_STATE_CULL_MODE, 2416 eFrontFace = VK_DYNAMIC_STATE_FRONT_FACE, 2417 ePrimitiveTopology = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, 2418 eViewportWithCount = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT, 2419 eScissorWithCount = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT, 2420 eVertexInputBindingStride = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE, 2421 eDepthTestEnable = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, 2422 eDepthWriteEnable = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, 2423 eDepthCompareOp = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, 2424 eDepthBoundsTestEnable = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, 2425 eStencilTestEnable = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, 2426 eStencilOp = VK_DYNAMIC_STATE_STENCIL_OP, 2427 eRasterizerDiscardEnable = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE, 2428 eDepthBiasEnable = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, 2429 ePrimitiveRestartEnable = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, 2430 eViewportWScalingNV = VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV, 2431 eDiscardRectangleEXT = VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT, 2432 eSampleLocationsEXT = VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT, 2433 eRayTracingPipelineStackSizeKHR = VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR, 2434 eViewportShadingRatePaletteNV = VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV, 2435 eViewportCoarseSampleOrderNV = VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV, 2436 eExclusiveScissorNV = VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV, 2437 eFragmentShadingRateKHR = VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR, 2438 eLineStippleEXT = VK_DYNAMIC_STATE_LINE_STIPPLE_EXT, 2439 eVertexInputEXT = VK_DYNAMIC_STATE_VERTEX_INPUT_EXT, 2440 ePatchControlPointsEXT = VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT, 2441 eLogicOpEXT = VK_DYNAMIC_STATE_LOGIC_OP_EXT, 2442 eColorWriteEnableEXT = VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT, 2443 eTessellationDomainOriginEXT = VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT, 2444 eDepthClampEnableEXT = VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT, 2445 ePolygonModeEXT = VK_DYNAMIC_STATE_POLYGON_MODE_EXT, 2446 eRasterizationSamplesEXT = VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT, 2447 eSampleMaskEXT = VK_DYNAMIC_STATE_SAMPLE_MASK_EXT, 2448 eAlphaToCoverageEnableEXT = VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT, 2449 eAlphaToOneEnableEXT = VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT, 2450 eLogicOpEnableEXT = VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT, 2451 eColorBlendEnableEXT = VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT, 2452 eColorBlendEquationEXT = VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT, 2453 eColorWriteMaskEXT = VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT, 2454 eRasterizationStreamEXT = VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT, 2455 eConservativeRasterizationModeEXT = VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT, 2456 eExtraPrimitiveOverestimationSizeEXT = VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT, 2457 eDepthClipEnableEXT = VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT, 2458 eSampleLocationsEnableEXT = VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT, 2459 eColorBlendAdvancedEXT = VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT, 2460 eProvokingVertexModeEXT = VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT, 2461 eLineRasterizationModeEXT = VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT, 2462 eLineStippleEnableEXT = VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT, 2463 eDepthClipNegativeOneToOneEXT = VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT, 2464 eViewportWScalingEnableNV = VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV, 2465 eViewportSwizzleNV = VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV, 2466 eCoverageToColorEnableNV = VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV, 2467 eCoverageToColorLocationNV = VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV, 2468 eCoverageModulationModeNV = VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV, 2469 eCoverageModulationTableEnableNV = VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV, 2470 eCoverageModulationTableNV = VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV, 2471 eShadingRateImageEnableNV = VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV, 2472 eRepresentativeFragmentTestEnableNV = VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV, 2473 eCoverageReductionModeNV = VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV, 2474 eCullModeEXT = VK_DYNAMIC_STATE_CULL_MODE_EXT, 2475 eDepthBiasEnableEXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT, 2476 eDepthBoundsTestEnableEXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT, 2477 eDepthCompareOpEXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT, 2478 eDepthTestEnableEXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT, 2479 eDepthWriteEnableEXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT, 2480 eFrontFaceEXT = VK_DYNAMIC_STATE_FRONT_FACE_EXT, 2481 ePrimitiveRestartEnableEXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT, 2482 ePrimitiveTopologyEXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT, 2483 eRasterizerDiscardEnableEXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT, 2484 eScissorWithCountEXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT, 2485 eStencilOpEXT = VK_DYNAMIC_STATE_STENCIL_OP_EXT, 2486 eStencilTestEnableEXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT, 2487 eVertexInputBindingStrideEXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT, 2488 eViewportWithCountEXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT 2489 }; 2490 2491 enum class FrontFace 2492 { 2493 eCounterClockwise = VK_FRONT_FACE_COUNTER_CLOCKWISE, 2494 eClockwise = VK_FRONT_FACE_CLOCKWISE 2495 }; 2496 2497 enum class LogicOp 2498 { 2499 eClear = VK_LOGIC_OP_CLEAR, 2500 eAnd = VK_LOGIC_OP_AND, 2501 eAndReverse = VK_LOGIC_OP_AND_REVERSE, 2502 eCopy = VK_LOGIC_OP_COPY, 2503 eAndInverted = VK_LOGIC_OP_AND_INVERTED, 2504 eNoOp = VK_LOGIC_OP_NO_OP, 2505 eXor = VK_LOGIC_OP_XOR, 2506 eOr = VK_LOGIC_OP_OR, 2507 eNor = VK_LOGIC_OP_NOR, 2508 eEquivalent = VK_LOGIC_OP_EQUIVALENT, 2509 eInvert = VK_LOGIC_OP_INVERT, 2510 eOrReverse = VK_LOGIC_OP_OR_REVERSE, 2511 eCopyInverted = VK_LOGIC_OP_COPY_INVERTED, 2512 eOrInverted = VK_LOGIC_OP_OR_INVERTED, 2513 eNand = VK_LOGIC_OP_NAND, 2514 eSet = VK_LOGIC_OP_SET 2515 }; 2516 2517 enum class PipelineCreateFlagBits : VkPipelineCreateFlags 2518 { 2519 eDisableOptimization = VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT, 2520 eAllowDerivatives = VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT, 2521 eDerivative = VK_PIPELINE_CREATE_DERIVATIVE_BIT, 2522 eViewIndexFromDeviceIndex = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, 2523 eDispatchBase = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, 2524 eFailOnPipelineCompileRequired = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT, 2525 eEarlyReturnOnFailure = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT, 2526 eRenderingFragmentShadingRateAttachmentKHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2527 eRenderingFragmentDensityMapAttachmentEXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, 2528 eRayTracingNoNullAnyHitShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR, 2529 eRayTracingNoNullClosestHitShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR, 2530 eRayTracingNoNullMissShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR, 2531 eRayTracingNoNullIntersectionShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR, 2532 eRayTracingSkipTrianglesKHR = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR, 2533 eRayTracingSkipAabbsKHR = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR, 2534 eRayTracingShaderGroupHandleCaptureReplayKHR = VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR, 2535 eDeferCompileNV = VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV, 2536 eCaptureStatisticsKHR = VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR, 2537 eCaptureInternalRepresentationsKHR = VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR, 2538 eIndirectBindableNV = VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV, 2539 eLibraryKHR = VK_PIPELINE_CREATE_LIBRARY_BIT_KHR, 2540 eDescriptorBufferEXT = VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, 2541 eRetainLinkTimeOptimizationInfoEXT = VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT, 2542 eLinkTimeOptimizationEXT = VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT, 2543 eRayTracingAllowMotionNV = VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV, 2544 eColorAttachmentFeedbackLoopEXT = VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT, 2545 eDepthStencilAttachmentFeedbackLoopEXT = VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT, 2546 eRayTracingOpacityMicromapEXT = VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT, 2547 eNoProtectedAccessEXT = VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT, 2548 eProtectedAccessOnlyEXT = VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT, 2549 eDispatchBaseKHR = VK_PIPELINE_CREATE_DISPATCH_BASE_KHR, 2550 eEarlyReturnOnFailureEXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT, 2551 eFailOnPipelineCompileRequiredEXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT, 2552 eViewIndexFromDeviceIndexKHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR, 2553 eVkPipelineRasterizationStateCreateFragmentDensityMapAttachmentEXT = VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, 2554 eVkPipelineRasterizationStateCreateFragmentShadingRateAttachmentKHR = VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR 2555 }; 2556 2557 using PipelineCreateFlags = Flags<PipelineCreateFlagBits>; 2558 2559 template <> 2560 struct FlagTraits<PipelineCreateFlagBits> 2561 { 2562 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2563 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCreateFlags allFlags = 2564 PipelineCreateFlagBits::eDisableOptimization | PipelineCreateFlagBits::eAllowDerivatives | PipelineCreateFlagBits::eDerivative | 2565 PipelineCreateFlagBits::eViewIndexFromDeviceIndex | PipelineCreateFlagBits::eDispatchBase | PipelineCreateFlagBits::eFailOnPipelineCompileRequired | 2566 PipelineCreateFlagBits::eEarlyReturnOnFailure | PipelineCreateFlagBits::eRenderingFragmentShadingRateAttachmentKHR | 2567 PipelineCreateFlagBits::eRenderingFragmentDensityMapAttachmentEXT | PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR | 2568 PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR | PipelineCreateFlagBits::eRayTracingNoNullMissShadersKHR | 2569 PipelineCreateFlagBits::eRayTracingNoNullIntersectionShadersKHR | PipelineCreateFlagBits::eRayTracingSkipTrianglesKHR | 2570 PipelineCreateFlagBits::eRayTracingSkipAabbsKHR | PipelineCreateFlagBits::eRayTracingShaderGroupHandleCaptureReplayKHR | 2571 PipelineCreateFlagBits::eDeferCompileNV | PipelineCreateFlagBits::eCaptureStatisticsKHR | PipelineCreateFlagBits::eCaptureInternalRepresentationsKHR | 2572 PipelineCreateFlagBits::eIndirectBindableNV | PipelineCreateFlagBits::eLibraryKHR | PipelineCreateFlagBits::eDescriptorBufferEXT | 2573 PipelineCreateFlagBits::eRetainLinkTimeOptimizationInfoEXT | PipelineCreateFlagBits::eLinkTimeOptimizationEXT | 2574 PipelineCreateFlagBits::eRayTracingAllowMotionNV | PipelineCreateFlagBits::eColorAttachmentFeedbackLoopEXT | 2575 PipelineCreateFlagBits::eDepthStencilAttachmentFeedbackLoopEXT | PipelineCreateFlagBits::eRayTracingOpacityMicromapEXT | 2576 PipelineCreateFlagBits::eNoProtectedAccessEXT | PipelineCreateFlagBits::eProtectedAccessOnlyEXT; 2577 }; 2578 2579 enum class PipelineShaderStageCreateFlagBits : VkPipelineShaderStageCreateFlags 2580 { 2581 eAllowVaryingSubgroupSize = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT, 2582 eRequireFullSubgroups = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT, 2583 eAllowVaryingSubgroupSizeEXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT, 2584 eRequireFullSubgroupsEXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT 2585 }; 2586 2587 using PipelineShaderStageCreateFlags = Flags<PipelineShaderStageCreateFlagBits>; 2588 2589 template <> 2590 struct FlagTraits<PipelineShaderStageCreateFlagBits> 2591 { 2592 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2593 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineShaderStageCreateFlags allFlags = 2594 PipelineShaderStageCreateFlagBits::eAllowVaryingSubgroupSize | PipelineShaderStageCreateFlagBits::eRequireFullSubgroups; 2595 }; 2596 2597 enum class PolygonMode 2598 { 2599 eFill = VK_POLYGON_MODE_FILL, 2600 eLine = VK_POLYGON_MODE_LINE, 2601 ePoint = VK_POLYGON_MODE_POINT, 2602 eFillRectangleNV = VK_POLYGON_MODE_FILL_RECTANGLE_NV 2603 }; 2604 2605 enum class PrimitiveTopology 2606 { 2607 ePointList = VK_PRIMITIVE_TOPOLOGY_POINT_LIST, 2608 eLineList = VK_PRIMITIVE_TOPOLOGY_LINE_LIST, 2609 eLineStrip = VK_PRIMITIVE_TOPOLOGY_LINE_STRIP, 2610 eTriangleList = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, 2611 eTriangleStrip = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP, 2612 eTriangleFan = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN, 2613 eLineListWithAdjacency = VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY, 2614 eLineStripWithAdjacency = VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY, 2615 eTriangleListWithAdjacency = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY, 2616 eTriangleStripWithAdjacency = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY, 2617 ePatchList = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST 2618 }; 2619 2620 enum class ShaderStageFlagBits : VkShaderStageFlags 2621 { 2622 eVertex = VK_SHADER_STAGE_VERTEX_BIT, 2623 eTessellationControl = VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, 2624 eTessellationEvaluation = VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT, 2625 eGeometry = VK_SHADER_STAGE_GEOMETRY_BIT, 2626 eFragment = VK_SHADER_STAGE_FRAGMENT_BIT, 2627 eCompute = VK_SHADER_STAGE_COMPUTE_BIT, 2628 eAllGraphics = VK_SHADER_STAGE_ALL_GRAPHICS, 2629 eAll = VK_SHADER_STAGE_ALL, 2630 eRaygenKHR = VK_SHADER_STAGE_RAYGEN_BIT_KHR, 2631 eAnyHitKHR = VK_SHADER_STAGE_ANY_HIT_BIT_KHR, 2632 eClosestHitKHR = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, 2633 eMissKHR = VK_SHADER_STAGE_MISS_BIT_KHR, 2634 eIntersectionKHR = VK_SHADER_STAGE_INTERSECTION_BIT_KHR, 2635 eCallableKHR = VK_SHADER_STAGE_CALLABLE_BIT_KHR, 2636 eTaskEXT = VK_SHADER_STAGE_TASK_BIT_EXT, 2637 eMeshEXT = VK_SHADER_STAGE_MESH_BIT_EXT, 2638 eSubpassShadingHUAWEI = VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI, 2639 eAnyHitNV = VK_SHADER_STAGE_ANY_HIT_BIT_NV, 2640 eCallableNV = VK_SHADER_STAGE_CALLABLE_BIT_NV, 2641 eClosestHitNV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV, 2642 eIntersectionNV = VK_SHADER_STAGE_INTERSECTION_BIT_NV, 2643 eMeshNV = VK_SHADER_STAGE_MESH_BIT_NV, 2644 eMissNV = VK_SHADER_STAGE_MISS_BIT_NV, 2645 eRaygenNV = VK_SHADER_STAGE_RAYGEN_BIT_NV, 2646 eTaskNV = VK_SHADER_STAGE_TASK_BIT_NV 2647 }; 2648 2649 using ShaderStageFlags = Flags<ShaderStageFlagBits>; 2650 2651 template <> 2652 struct FlagTraits<ShaderStageFlagBits> 2653 { 2654 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2655 static VULKAN_HPP_CONST_OR_CONSTEXPR ShaderStageFlags allFlags = 2656 ShaderStageFlagBits::eVertex | ShaderStageFlagBits::eTessellationControl | ShaderStageFlagBits::eTessellationEvaluation | ShaderStageFlagBits::eGeometry | 2657 ShaderStageFlagBits::eFragment | ShaderStageFlagBits::eCompute | ShaderStageFlagBits::eAllGraphics | ShaderStageFlagBits::eAll | 2658 ShaderStageFlagBits::eRaygenKHR | ShaderStageFlagBits::eAnyHitKHR | ShaderStageFlagBits::eClosestHitKHR | ShaderStageFlagBits::eMissKHR | 2659 ShaderStageFlagBits::eIntersectionKHR | ShaderStageFlagBits::eCallableKHR | ShaderStageFlagBits::eTaskEXT | ShaderStageFlagBits::eMeshEXT | 2660 ShaderStageFlagBits::eSubpassShadingHUAWEI; 2661 }; 2662 2663 enum class StencilOp 2664 { 2665 eKeep = VK_STENCIL_OP_KEEP, 2666 eZero = VK_STENCIL_OP_ZERO, 2667 eReplace = VK_STENCIL_OP_REPLACE, 2668 eIncrementAndClamp = VK_STENCIL_OP_INCREMENT_AND_CLAMP, 2669 eDecrementAndClamp = VK_STENCIL_OP_DECREMENT_AND_CLAMP, 2670 eInvert = VK_STENCIL_OP_INVERT, 2671 eIncrementAndWrap = VK_STENCIL_OP_INCREMENT_AND_WRAP, 2672 eDecrementAndWrap = VK_STENCIL_OP_DECREMENT_AND_WRAP 2673 }; 2674 2675 enum class VertexInputRate 2676 { 2677 eVertex = VK_VERTEX_INPUT_RATE_VERTEX, 2678 eInstance = VK_VERTEX_INPUT_RATE_INSTANCE 2679 }; 2680 2681 enum class PipelineDynamicStateCreateFlagBits : VkPipelineDynamicStateCreateFlags 2682 { 2683 }; 2684 2685 using PipelineDynamicStateCreateFlags = Flags<PipelineDynamicStateCreateFlagBits>; 2686 2687 template <> 2688 struct FlagTraits<PipelineDynamicStateCreateFlagBits> 2689 { 2690 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2691 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineDynamicStateCreateFlags allFlags = {}; 2692 }; 2693 2694 enum class PipelineInputAssemblyStateCreateFlagBits : VkPipelineInputAssemblyStateCreateFlags 2695 { 2696 }; 2697 2698 using PipelineInputAssemblyStateCreateFlags = Flags<PipelineInputAssemblyStateCreateFlagBits>; 2699 2700 template <> 2701 struct FlagTraits<PipelineInputAssemblyStateCreateFlagBits> 2702 { 2703 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2704 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineInputAssemblyStateCreateFlags allFlags = {}; 2705 }; 2706 2707 enum class PipelineMultisampleStateCreateFlagBits : VkPipelineMultisampleStateCreateFlags 2708 { 2709 }; 2710 2711 using PipelineMultisampleStateCreateFlags = Flags<PipelineMultisampleStateCreateFlagBits>; 2712 2713 template <> 2714 struct FlagTraits<PipelineMultisampleStateCreateFlagBits> 2715 { 2716 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2717 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineMultisampleStateCreateFlags allFlags = {}; 2718 }; 2719 2720 enum class PipelineRasterizationStateCreateFlagBits : VkPipelineRasterizationStateCreateFlags 2721 { 2722 }; 2723 2724 using PipelineRasterizationStateCreateFlags = Flags<PipelineRasterizationStateCreateFlagBits>; 2725 2726 template <> 2727 struct FlagTraits<PipelineRasterizationStateCreateFlagBits> 2728 { 2729 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2730 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineRasterizationStateCreateFlags allFlags = {}; 2731 }; 2732 2733 enum class PipelineTessellationStateCreateFlagBits : VkPipelineTessellationStateCreateFlags 2734 { 2735 }; 2736 2737 using PipelineTessellationStateCreateFlags = Flags<PipelineTessellationStateCreateFlagBits>; 2738 2739 template <> 2740 struct FlagTraits<PipelineTessellationStateCreateFlagBits> 2741 { 2742 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2743 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineTessellationStateCreateFlags allFlags = {}; 2744 }; 2745 2746 enum class PipelineVertexInputStateCreateFlagBits : VkPipelineVertexInputStateCreateFlags 2747 { 2748 }; 2749 2750 using PipelineVertexInputStateCreateFlags = Flags<PipelineVertexInputStateCreateFlagBits>; 2751 2752 template <> 2753 struct FlagTraits<PipelineVertexInputStateCreateFlagBits> 2754 { 2755 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2756 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineVertexInputStateCreateFlags allFlags = {}; 2757 }; 2758 2759 enum class PipelineViewportStateCreateFlagBits : VkPipelineViewportStateCreateFlags 2760 { 2761 }; 2762 2763 using PipelineViewportStateCreateFlags = Flags<PipelineViewportStateCreateFlagBits>; 2764 2765 template <> 2766 struct FlagTraits<PipelineViewportStateCreateFlagBits> 2767 { 2768 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2769 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineViewportStateCreateFlags allFlags = {}; 2770 }; 2771 2772 enum class PipelineDynamicStateCreateFlagBits : VkPipelineDynamicStateCreateFlags 2773 { 2774 }; 2775 to_string(PipelineDynamicStateCreateFlagBits)2776 VULKAN_HPP_INLINE std::string to_string( PipelineDynamicStateCreateFlagBits ) 2777 { 2778 return "(void)"; 2779 } 2780 2781 enum class PipelineInputAssemblyStateCreateFlagBits : VkPipelineInputAssemblyStateCreateFlags 2782 { 2783 }; 2784 to_string(PipelineInputAssemblyStateCreateFlagBits)2785 VULKAN_HPP_INLINE std::string to_string( PipelineInputAssemblyStateCreateFlagBits ) 2786 { 2787 return "(void)"; 2788 } 2789 2790 enum class PipelineLayoutCreateFlagBits : VkPipelineLayoutCreateFlags 2791 { 2792 }; 2793 to_string(PipelineLayoutCreateFlagBits)2794 VULKAN_HPP_INLINE std::string to_string( PipelineLayoutCreateFlagBits ) 2795 { 2796 return "(void)"; 2797 } 2798 2799 enum class PipelineMultisampleStateCreateFlagBits : VkPipelineMultisampleStateCreateFlags 2800 { 2801 }; 2802 to_string(PipelineMultisampleStateCreateFlagBits)2803 VULKAN_HPP_INLINE std::string to_string( PipelineMultisampleStateCreateFlagBits ) 2804 { 2805 return "(void)"; 2806 } 2807 2808 enum class PipelineRasterizationStateCreateFlagBits : VkPipelineRasterizationStateCreateFlags 2809 { 2810 }; 2811 to_string(PipelineRasterizationStateCreateFlagBits)2812 VULKAN_HPP_INLINE std::string to_string( PipelineRasterizationStateCreateFlagBits ) 2813 { 2814 return "(void)"; 2815 } 2816 2817 enum class PipelineTessellationStateCreateFlagBits : VkPipelineTessellationStateCreateFlags 2818 { 2819 }; 2820 to_string(PipelineTessellationStateCreateFlagBits)2821 VULKAN_HPP_INLINE std::string to_string( PipelineTessellationStateCreateFlagBits ) 2822 { 2823 return "(void)"; 2824 } 2825 2826 enum class PipelineVertexInputStateCreateFlagBits : VkPipelineVertexInputStateCreateFlags 2827 { 2828 }; 2829 to_string(PipelineVertexInputStateCreateFlagBits)2830 VULKAN_HPP_INLINE std::string to_string( PipelineVertexInputStateCreateFlagBits ) 2831 { 2832 return "(void)"; 2833 } 2834 2835 enum class PipelineViewportStateCreateFlagBits : VkPipelineViewportStateCreateFlags 2836 { 2837 }; 2838 to_string(PipelineViewportStateCreateFlagBits)2839 VULKAN_HPP_INLINE std::string to_string( PipelineViewportStateCreateFlagBits ) 2840 { 2841 return "(void)"; 2842 } 2843 2844 enum class BorderColor 2845 { 2846 eFloatTransparentBlack = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK, 2847 eIntTransparentBlack = VK_BORDER_COLOR_INT_TRANSPARENT_BLACK, 2848 eFloatOpaqueBlack = VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK, 2849 eIntOpaqueBlack = VK_BORDER_COLOR_INT_OPAQUE_BLACK, 2850 eFloatOpaqueWhite = VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE, 2851 eIntOpaqueWhite = VK_BORDER_COLOR_INT_OPAQUE_WHITE, 2852 eFloatCustomEXT = VK_BORDER_COLOR_FLOAT_CUSTOM_EXT, 2853 eIntCustomEXT = VK_BORDER_COLOR_INT_CUSTOM_EXT 2854 }; 2855 2856 enum class Filter 2857 { 2858 eNearest = VK_FILTER_NEAREST, 2859 eLinear = VK_FILTER_LINEAR, 2860 eCubicEXT = VK_FILTER_CUBIC_EXT, 2861 eCubicIMG = VK_FILTER_CUBIC_IMG 2862 }; 2863 2864 enum class SamplerAddressMode 2865 { 2866 eRepeat = VK_SAMPLER_ADDRESS_MODE_REPEAT, 2867 eMirroredRepeat = VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT, 2868 eClampToEdge = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE, 2869 eClampToBorder = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER, 2870 eMirrorClampToEdge = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, 2871 eMirrorClampToEdgeKHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR 2872 }; 2873 2874 enum class SamplerCreateFlagBits : VkSamplerCreateFlags 2875 { 2876 eSubsampledEXT = VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT, 2877 eSubsampledCoarseReconstructionEXT = VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT, 2878 eDescriptorBufferCaptureReplayEXT = VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT, 2879 eNonSeamlessCubeMapEXT = VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT, 2880 eImageProcessingQCOM = VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM 2881 }; 2882 2883 using SamplerCreateFlags = Flags<SamplerCreateFlagBits>; 2884 2885 template <> 2886 struct FlagTraits<SamplerCreateFlagBits> 2887 { 2888 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2889 static VULKAN_HPP_CONST_OR_CONSTEXPR SamplerCreateFlags allFlags = 2890 SamplerCreateFlagBits::eSubsampledEXT | SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT | 2891 SamplerCreateFlagBits::eDescriptorBufferCaptureReplayEXT | SamplerCreateFlagBits::eNonSeamlessCubeMapEXT | SamplerCreateFlagBits::eImageProcessingQCOM; 2892 }; 2893 2894 enum class SamplerMipmapMode 2895 { 2896 eNearest = VK_SAMPLER_MIPMAP_MODE_NEAREST, 2897 eLinear = VK_SAMPLER_MIPMAP_MODE_LINEAR 2898 }; 2899 2900 enum class DescriptorPoolCreateFlagBits : VkDescriptorPoolCreateFlags 2901 { 2902 eFreeDescriptorSet = VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, 2903 eUpdateAfterBind = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT, 2904 eHostOnlyEXT = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT, 2905 eHostOnlyVALVE = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE, 2906 eUpdateAfterBindEXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT 2907 }; 2908 2909 using DescriptorPoolCreateFlags = Flags<DescriptorPoolCreateFlagBits>; 2910 2911 template <> 2912 struct FlagTraits<DescriptorPoolCreateFlagBits> 2913 { 2914 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2915 static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorPoolCreateFlags allFlags = 2916 DescriptorPoolCreateFlagBits::eFreeDescriptorSet | DescriptorPoolCreateFlagBits::eUpdateAfterBind | DescriptorPoolCreateFlagBits::eHostOnlyEXT; 2917 }; 2918 2919 enum class DescriptorSetLayoutCreateFlagBits : VkDescriptorSetLayoutCreateFlags 2920 { 2921 eUpdateAfterBindPool = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT, 2922 ePushDescriptorKHR = VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR, 2923 eDescriptorBufferEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, 2924 eEmbeddedImmutableSamplersEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT, 2925 eHostOnlyPoolEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT, 2926 eHostOnlyPoolVALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE, 2927 eUpdateAfterBindPoolEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT 2928 }; 2929 2930 using DescriptorSetLayoutCreateFlags = Flags<DescriptorSetLayoutCreateFlagBits>; 2931 2932 template <> 2933 struct FlagTraits<DescriptorSetLayoutCreateFlagBits> 2934 { 2935 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2936 static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorSetLayoutCreateFlags allFlags = 2937 DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPool | DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR | 2938 DescriptorSetLayoutCreateFlagBits::eDescriptorBufferEXT | DescriptorSetLayoutCreateFlagBits::eEmbeddedImmutableSamplersEXT | 2939 DescriptorSetLayoutCreateFlagBits::eHostOnlyPoolEXT; 2940 }; 2941 2942 enum class DescriptorType 2943 { 2944 eSampler = VK_DESCRIPTOR_TYPE_SAMPLER, 2945 eCombinedImageSampler = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 2946 eSampledImage = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, 2947 eStorageImage = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, 2948 eUniformTexelBuffer = VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, 2949 eStorageTexelBuffer = VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, 2950 eUniformBuffer = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 2951 eStorageBuffer = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, 2952 eUniformBufferDynamic = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, 2953 eStorageBufferDynamic = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, 2954 eInputAttachment = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, 2955 eInlineUniformBlock = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK, 2956 eAccelerationStructureKHR = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR, 2957 eAccelerationStructureNV = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV, 2958 eSampleWeightImageQCOM = VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, 2959 eBlockMatchImageQCOM = VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, 2960 eMutableEXT = VK_DESCRIPTOR_TYPE_MUTABLE_EXT, 2961 eInlineUniformBlockEXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT, 2962 eMutableVALVE = VK_DESCRIPTOR_TYPE_MUTABLE_VALVE 2963 }; 2964 2965 enum class DescriptorPoolResetFlagBits : VkDescriptorPoolResetFlags 2966 { 2967 }; 2968 2969 using DescriptorPoolResetFlags = Flags<DescriptorPoolResetFlagBits>; 2970 2971 template <> 2972 struct FlagTraits<DescriptorPoolResetFlagBits> 2973 { 2974 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 2975 static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorPoolResetFlags allFlags = {}; 2976 }; 2977 2978 enum class DescriptorPoolResetFlagBits : VkDescriptorPoolResetFlags 2979 { 2980 }; 2981 to_string(DescriptorPoolResetFlagBits)2982 VULKAN_HPP_INLINE std::string to_string( DescriptorPoolResetFlagBits ) 2983 { 2984 return "(void)"; 2985 } 2986 2987 enum class AccessFlagBits : VkAccessFlags 2988 { 2989 eIndirectCommandRead = VK_ACCESS_INDIRECT_COMMAND_READ_BIT, 2990 eIndexRead = VK_ACCESS_INDEX_READ_BIT, 2991 eVertexAttributeRead = VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT, 2992 eUniformRead = VK_ACCESS_UNIFORM_READ_BIT, 2993 eInputAttachmentRead = VK_ACCESS_INPUT_ATTACHMENT_READ_BIT, 2994 eShaderRead = VK_ACCESS_SHADER_READ_BIT, 2995 eShaderWrite = VK_ACCESS_SHADER_WRITE_BIT, 2996 eColorAttachmentRead = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT, 2997 eColorAttachmentWrite = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, 2998 eDepthStencilAttachmentRead = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT, 2999 eDepthStencilAttachmentWrite = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, 3000 eTransferRead = VK_ACCESS_TRANSFER_READ_BIT, 3001 eTransferWrite = VK_ACCESS_TRANSFER_WRITE_BIT, 3002 eHostRead = VK_ACCESS_HOST_READ_BIT, 3003 eHostWrite = VK_ACCESS_HOST_WRITE_BIT, 3004 eMemoryRead = VK_ACCESS_MEMORY_READ_BIT, 3005 eMemoryWrite = VK_ACCESS_MEMORY_WRITE_BIT, 3006 eNone = VK_ACCESS_NONE, 3007 eTransformFeedbackWriteEXT = VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT, 3008 eTransformFeedbackCounterReadEXT = VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT, 3009 eTransformFeedbackCounterWriteEXT = VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT, 3010 eConditionalRenderingReadEXT = VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT, 3011 eColorAttachmentReadNoncoherentEXT = VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT, 3012 eAccelerationStructureReadKHR = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR, 3013 eAccelerationStructureWriteKHR = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR, 3014 eFragmentDensityMapReadEXT = VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT, 3015 eFragmentShadingRateAttachmentReadKHR = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, 3016 eCommandPreprocessReadNV = VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV, 3017 eCommandPreprocessWriteNV = VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV, 3018 eAccelerationStructureReadNV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV, 3019 eAccelerationStructureWriteNV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV, 3020 eNoneKHR = VK_ACCESS_NONE_KHR, 3021 eShadingRateImageReadNV = VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV 3022 }; 3023 3024 using AccessFlags = Flags<AccessFlagBits>; 3025 3026 template <> 3027 struct FlagTraits<AccessFlagBits> 3028 { 3029 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3030 static VULKAN_HPP_CONST_OR_CONSTEXPR AccessFlags allFlags = 3031 AccessFlagBits::eIndirectCommandRead | AccessFlagBits::eIndexRead | AccessFlagBits::eVertexAttributeRead | AccessFlagBits::eUniformRead | 3032 AccessFlagBits::eInputAttachmentRead | AccessFlagBits::eShaderRead | AccessFlagBits::eShaderWrite | AccessFlagBits::eColorAttachmentRead | 3033 AccessFlagBits::eColorAttachmentWrite | AccessFlagBits::eDepthStencilAttachmentRead | AccessFlagBits::eDepthStencilAttachmentWrite | 3034 AccessFlagBits::eTransferRead | AccessFlagBits::eTransferWrite | AccessFlagBits::eHostRead | AccessFlagBits::eHostWrite | AccessFlagBits::eMemoryRead | 3035 AccessFlagBits::eMemoryWrite | AccessFlagBits::eNone | AccessFlagBits::eTransformFeedbackWriteEXT | AccessFlagBits::eTransformFeedbackCounterReadEXT | 3036 AccessFlagBits::eTransformFeedbackCounterWriteEXT | AccessFlagBits::eConditionalRenderingReadEXT | AccessFlagBits::eColorAttachmentReadNoncoherentEXT | 3037 AccessFlagBits::eAccelerationStructureReadKHR | AccessFlagBits::eAccelerationStructureWriteKHR | AccessFlagBits::eFragmentDensityMapReadEXT | 3038 AccessFlagBits::eFragmentShadingRateAttachmentReadKHR | AccessFlagBits::eCommandPreprocessReadNV | AccessFlagBits::eCommandPreprocessWriteNV; 3039 }; 3040 3041 enum class AttachmentDescriptionFlagBits : VkAttachmentDescriptionFlags 3042 { 3043 eMayAlias = VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT 3044 }; 3045 3046 using AttachmentDescriptionFlags = Flags<AttachmentDescriptionFlagBits>; 3047 3048 template <> 3049 struct FlagTraits<AttachmentDescriptionFlagBits> 3050 { 3051 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3052 static VULKAN_HPP_CONST_OR_CONSTEXPR AttachmentDescriptionFlags allFlags = AttachmentDescriptionFlagBits::eMayAlias; 3053 }; 3054 3055 enum class AttachmentLoadOp 3056 { 3057 eLoad = VK_ATTACHMENT_LOAD_OP_LOAD, 3058 eClear = VK_ATTACHMENT_LOAD_OP_CLEAR, 3059 eDontCare = VK_ATTACHMENT_LOAD_OP_DONT_CARE, 3060 eNoneEXT = VK_ATTACHMENT_LOAD_OP_NONE_EXT 3061 }; 3062 3063 enum class AttachmentStoreOp 3064 { 3065 eStore = VK_ATTACHMENT_STORE_OP_STORE, 3066 eDontCare = VK_ATTACHMENT_STORE_OP_DONT_CARE, 3067 eNone = VK_ATTACHMENT_STORE_OP_NONE, 3068 eNoneEXT = VK_ATTACHMENT_STORE_OP_NONE_EXT, 3069 eNoneKHR = VK_ATTACHMENT_STORE_OP_NONE_KHR, 3070 eNoneQCOM = VK_ATTACHMENT_STORE_OP_NONE_QCOM 3071 }; 3072 3073 enum class DependencyFlagBits : VkDependencyFlags 3074 { 3075 eByRegion = VK_DEPENDENCY_BY_REGION_BIT, 3076 eDeviceGroup = VK_DEPENDENCY_DEVICE_GROUP_BIT, 3077 eViewLocal = VK_DEPENDENCY_VIEW_LOCAL_BIT, 3078 eFeedbackLoopEXT = VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT, 3079 eDeviceGroupKHR = VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR, 3080 eViewLocalKHR = VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR 3081 }; 3082 3083 using DependencyFlags = Flags<DependencyFlagBits>; 3084 3085 template <> 3086 struct FlagTraits<DependencyFlagBits> 3087 { 3088 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3089 static VULKAN_HPP_CONST_OR_CONSTEXPR DependencyFlags allFlags = 3090 DependencyFlagBits::eByRegion | DependencyFlagBits::eDeviceGroup | DependencyFlagBits::eViewLocal | DependencyFlagBits::eFeedbackLoopEXT; 3091 }; 3092 3093 enum class FramebufferCreateFlagBits : VkFramebufferCreateFlags 3094 { 3095 eImageless = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, 3096 eImagelessKHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR 3097 }; 3098 3099 using FramebufferCreateFlags = Flags<FramebufferCreateFlagBits>; 3100 3101 template <> 3102 struct FlagTraits<FramebufferCreateFlagBits> 3103 { 3104 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3105 static VULKAN_HPP_CONST_OR_CONSTEXPR FramebufferCreateFlags allFlags = FramebufferCreateFlagBits::eImageless; 3106 }; 3107 3108 enum class PipelineBindPoint 3109 { 3110 eGraphics = VK_PIPELINE_BIND_POINT_GRAPHICS, 3111 eCompute = VK_PIPELINE_BIND_POINT_COMPUTE, 3112 eRayTracingKHR = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR, 3113 eSubpassShadingHUAWEI = VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI, 3114 eRayTracingNV = VK_PIPELINE_BIND_POINT_RAY_TRACING_NV 3115 }; 3116 3117 enum class RenderPassCreateFlagBits : VkRenderPassCreateFlags 3118 { 3119 eTransformQCOM = VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM 3120 }; 3121 3122 using RenderPassCreateFlags = Flags<RenderPassCreateFlagBits>; 3123 3124 template <> 3125 struct FlagTraits<RenderPassCreateFlagBits> 3126 { 3127 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3128 static VULKAN_HPP_CONST_OR_CONSTEXPR RenderPassCreateFlags allFlags = RenderPassCreateFlagBits::eTransformQCOM; 3129 }; 3130 3131 enum class SubpassDescriptionFlagBits : VkSubpassDescriptionFlags 3132 { 3133 ePerViewAttributesNVX = VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX, 3134 ePerViewPositionXOnlyNVX = VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX, 3135 eFragmentRegionQCOM = VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM, 3136 eShaderResolveQCOM = VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, 3137 eRasterizationOrderAttachmentColorAccessEXT = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT, 3138 eRasterizationOrderAttachmentDepthAccessEXT = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT, 3139 eRasterizationOrderAttachmentStencilAccessEXT = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT, 3140 eEnableLegacyDitheringEXT = VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT, 3141 eRasterizationOrderAttachmentColorAccessARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM, 3142 eRasterizationOrderAttachmentDepthAccessARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM, 3143 eRasterizationOrderAttachmentStencilAccessARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM 3144 }; 3145 3146 using SubpassDescriptionFlags = Flags<SubpassDescriptionFlagBits>; 3147 3148 template <> 3149 struct FlagTraits<SubpassDescriptionFlagBits> 3150 { 3151 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3152 static VULKAN_HPP_CONST_OR_CONSTEXPR SubpassDescriptionFlags allFlags = 3153 SubpassDescriptionFlagBits::ePerViewAttributesNVX | SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX | 3154 SubpassDescriptionFlagBits::eFragmentRegionQCOM | SubpassDescriptionFlagBits::eShaderResolveQCOM | 3155 SubpassDescriptionFlagBits::eRasterizationOrderAttachmentColorAccessEXT | SubpassDescriptionFlagBits::eRasterizationOrderAttachmentDepthAccessEXT | 3156 SubpassDescriptionFlagBits::eRasterizationOrderAttachmentStencilAccessEXT | SubpassDescriptionFlagBits::eEnableLegacyDitheringEXT; 3157 }; 3158 3159 enum class CommandPoolCreateFlagBits : VkCommandPoolCreateFlags 3160 { 3161 eTransient = VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, 3162 eResetCommandBuffer = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, 3163 eProtected = VK_COMMAND_POOL_CREATE_PROTECTED_BIT 3164 }; 3165 3166 using CommandPoolCreateFlags = Flags<CommandPoolCreateFlagBits>; 3167 3168 template <> 3169 struct FlagTraits<CommandPoolCreateFlagBits> 3170 { 3171 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3172 static VULKAN_HPP_CONST_OR_CONSTEXPR CommandPoolCreateFlags allFlags = 3173 CommandPoolCreateFlagBits::eTransient | CommandPoolCreateFlagBits::eResetCommandBuffer | CommandPoolCreateFlagBits::eProtected; 3174 }; 3175 3176 enum class CommandPoolResetFlagBits : VkCommandPoolResetFlags 3177 { 3178 eReleaseResources = VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT 3179 }; 3180 3181 using CommandPoolResetFlags = Flags<CommandPoolResetFlagBits>; 3182 3183 template <> 3184 struct FlagTraits<CommandPoolResetFlagBits> 3185 { 3186 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3187 static VULKAN_HPP_CONST_OR_CONSTEXPR CommandPoolResetFlags allFlags = CommandPoolResetFlagBits::eReleaseResources; 3188 }; 3189 3190 enum class CommandBufferLevel 3191 { 3192 ePrimary = VK_COMMAND_BUFFER_LEVEL_PRIMARY, 3193 eSecondary = VK_COMMAND_BUFFER_LEVEL_SECONDARY 3194 }; 3195 3196 enum class CommandBufferResetFlagBits : VkCommandBufferResetFlags 3197 { 3198 eReleaseResources = VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT 3199 }; 3200 3201 using CommandBufferResetFlags = Flags<CommandBufferResetFlagBits>; 3202 3203 template <> 3204 struct FlagTraits<CommandBufferResetFlagBits> 3205 { 3206 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3207 static VULKAN_HPP_CONST_OR_CONSTEXPR CommandBufferResetFlags allFlags = CommandBufferResetFlagBits::eReleaseResources; 3208 }; 3209 3210 enum class CommandBufferUsageFlagBits : VkCommandBufferUsageFlags 3211 { 3212 eOneTimeSubmit = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT, 3213 eRenderPassContinue = VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT, 3214 eSimultaneousUse = VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT 3215 }; 3216 3217 using CommandBufferUsageFlags = Flags<CommandBufferUsageFlagBits>; 3218 3219 template <> 3220 struct FlagTraits<CommandBufferUsageFlagBits> 3221 { 3222 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3223 static VULKAN_HPP_CONST_OR_CONSTEXPR CommandBufferUsageFlags allFlags = 3224 CommandBufferUsageFlagBits::eOneTimeSubmit | CommandBufferUsageFlagBits::eRenderPassContinue | CommandBufferUsageFlagBits::eSimultaneousUse; 3225 }; 3226 3227 enum class QueryControlFlagBits : VkQueryControlFlags 3228 { 3229 ePrecise = VK_QUERY_CONTROL_PRECISE_BIT 3230 }; 3231 3232 using QueryControlFlags = Flags<QueryControlFlagBits>; 3233 3234 template <> 3235 struct FlagTraits<QueryControlFlagBits> 3236 { 3237 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3238 static VULKAN_HPP_CONST_OR_CONSTEXPR QueryControlFlags allFlags = QueryControlFlagBits::ePrecise; 3239 }; 3240 3241 enum class IndexType 3242 { 3243 eUint16 = VK_INDEX_TYPE_UINT16, 3244 eUint32 = VK_INDEX_TYPE_UINT32, 3245 eNoneKHR = VK_INDEX_TYPE_NONE_KHR, 3246 eUint8EXT = VK_INDEX_TYPE_UINT8_EXT, 3247 eNoneNV = VK_INDEX_TYPE_NONE_NV 3248 }; 3249 3250 enum class StencilFaceFlagBits : VkStencilFaceFlags 3251 { 3252 eFront = VK_STENCIL_FACE_FRONT_BIT, 3253 eBack = VK_STENCIL_FACE_BACK_BIT, 3254 eFrontAndBack = VK_STENCIL_FACE_FRONT_AND_BACK, 3255 eVkStencilFrontAndBack = VK_STENCIL_FRONT_AND_BACK 3256 }; 3257 3258 using StencilFaceFlags = Flags<StencilFaceFlagBits>; 3259 3260 template <> 3261 struct FlagTraits<StencilFaceFlagBits> 3262 { 3263 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3264 static VULKAN_HPP_CONST_OR_CONSTEXPR StencilFaceFlags allFlags = 3265 StencilFaceFlagBits::eFront | StencilFaceFlagBits::eBack | StencilFaceFlagBits::eFrontAndBack; 3266 }; 3267 3268 enum class SubpassContents 3269 { 3270 eInline = VK_SUBPASS_CONTENTS_INLINE, 3271 eSecondaryCommandBuffers = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS 3272 }; 3273 3274 //=== VK_VERSION_1_1 === 3275 3276 enum class SubgroupFeatureFlagBits : VkSubgroupFeatureFlags 3277 { 3278 eBasic = VK_SUBGROUP_FEATURE_BASIC_BIT, 3279 eVote = VK_SUBGROUP_FEATURE_VOTE_BIT, 3280 eArithmetic = VK_SUBGROUP_FEATURE_ARITHMETIC_BIT, 3281 eBallot = VK_SUBGROUP_FEATURE_BALLOT_BIT, 3282 eShuffle = VK_SUBGROUP_FEATURE_SHUFFLE_BIT, 3283 eShuffleRelative = VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT, 3284 eClustered = VK_SUBGROUP_FEATURE_CLUSTERED_BIT, 3285 eQuad = VK_SUBGROUP_FEATURE_QUAD_BIT, 3286 ePartitionedNV = VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV 3287 }; 3288 3289 using SubgroupFeatureFlags = Flags<SubgroupFeatureFlagBits>; 3290 3291 template <> 3292 struct FlagTraits<SubgroupFeatureFlagBits> 3293 { 3294 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3295 static VULKAN_HPP_CONST_OR_CONSTEXPR SubgroupFeatureFlags allFlags = 3296 SubgroupFeatureFlagBits::eBasic | SubgroupFeatureFlagBits::eVote | SubgroupFeatureFlagBits::eArithmetic | SubgroupFeatureFlagBits::eBallot | 3297 SubgroupFeatureFlagBits::eShuffle | SubgroupFeatureFlagBits::eShuffleRelative | SubgroupFeatureFlagBits::eClustered | SubgroupFeatureFlagBits::eQuad | 3298 SubgroupFeatureFlagBits::ePartitionedNV; 3299 }; 3300 3301 enum class PeerMemoryFeatureFlagBits : VkPeerMemoryFeatureFlags 3302 { 3303 eCopySrc = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT, 3304 eCopyDst = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT, 3305 eGenericSrc = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT, 3306 eGenericDst = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT 3307 }; 3308 using PeerMemoryFeatureFlagBitsKHR = PeerMemoryFeatureFlagBits; 3309 3310 using PeerMemoryFeatureFlags = Flags<PeerMemoryFeatureFlagBits>; 3311 using PeerMemoryFeatureFlagsKHR = PeerMemoryFeatureFlags; 3312 3313 template <> 3314 struct FlagTraits<PeerMemoryFeatureFlagBits> 3315 { 3316 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3317 static VULKAN_HPP_CONST_OR_CONSTEXPR PeerMemoryFeatureFlags allFlags = PeerMemoryFeatureFlagBits::eCopySrc | PeerMemoryFeatureFlagBits::eCopyDst | 3318 PeerMemoryFeatureFlagBits::eGenericSrc | PeerMemoryFeatureFlagBits::eGenericDst; 3319 }; 3320 3321 enum class MemoryAllocateFlagBits : VkMemoryAllocateFlags 3322 { 3323 eDeviceMask = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT, 3324 eDeviceAddress = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT, 3325 eDeviceAddressCaptureReplay = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT 3326 }; 3327 using MemoryAllocateFlagBitsKHR = MemoryAllocateFlagBits; 3328 3329 using MemoryAllocateFlags = Flags<MemoryAllocateFlagBits>; 3330 using MemoryAllocateFlagsKHR = MemoryAllocateFlags; 3331 3332 template <> 3333 struct FlagTraits<MemoryAllocateFlagBits> 3334 { 3335 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3336 static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryAllocateFlags allFlags = 3337 MemoryAllocateFlagBits::eDeviceMask | MemoryAllocateFlagBits::eDeviceAddress | MemoryAllocateFlagBits::eDeviceAddressCaptureReplay; 3338 }; 3339 3340 enum class CommandPoolTrimFlagBits : VkCommandPoolTrimFlags 3341 { 3342 }; 3343 3344 using CommandPoolTrimFlags = Flags<CommandPoolTrimFlagBits>; 3345 using CommandPoolTrimFlagsKHR = CommandPoolTrimFlags; 3346 3347 template <> 3348 struct FlagTraits<CommandPoolTrimFlagBits> 3349 { 3350 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3351 static VULKAN_HPP_CONST_OR_CONSTEXPR CommandPoolTrimFlags allFlags = {}; 3352 }; 3353 3354 enum class CommandPoolTrimFlagBits : VkCommandPoolTrimFlags 3355 { 3356 }; 3357 to_string(CommandPoolTrimFlagBits)3358 VULKAN_HPP_INLINE std::string to_string( CommandPoolTrimFlagBits ) 3359 { 3360 return "(void)"; 3361 } 3362 3363 enum class PointClippingBehavior 3364 { 3365 eAllClipPlanes = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES, 3366 eUserClipPlanesOnly = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY 3367 }; 3368 using PointClippingBehaviorKHR = PointClippingBehavior; 3369 3370 enum class TessellationDomainOrigin 3371 { 3372 eUpperLeft = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT, 3373 eLowerLeft = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT 3374 }; 3375 using TessellationDomainOriginKHR = TessellationDomainOrigin; 3376 3377 enum class DeviceQueueCreateFlagBits : VkDeviceQueueCreateFlags 3378 { 3379 eProtected = VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT 3380 }; 3381 3382 using DeviceQueueCreateFlags = Flags<DeviceQueueCreateFlagBits>; 3383 3384 template <> 3385 struct FlagTraits<DeviceQueueCreateFlagBits> 3386 { 3387 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3388 static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceQueueCreateFlags allFlags = DeviceQueueCreateFlagBits::eProtected; 3389 }; 3390 3391 enum class DeviceQueueCreateFlagBits : VkDeviceQueueCreateFlags 3392 { 3393 eProtected = VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT 3394 }; 3395 to_string(DeviceQueueCreateFlagBits value)3396 VULKAN_HPP_INLINE std::string to_string( DeviceQueueCreateFlagBits value ) 3397 { 3398 switch ( value ) 3399 { 3400 case DeviceQueueCreateFlagBits::eProtected: return "Protected"; 3401 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )"; 3402 } 3403 } 3404 3405 enum class SamplerYcbcrModelConversion 3406 { 3407 eRgbIdentity = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, 3408 eYcbcrIdentity = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY, 3409 eYcbcr709 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709, 3410 eYcbcr601 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601, 3411 eYcbcr2020 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 3412 }; 3413 using SamplerYcbcrModelConversionKHR = SamplerYcbcrModelConversion; 3414 3415 enum class SamplerYcbcrRange 3416 { 3417 eItuFull = VK_SAMPLER_YCBCR_RANGE_ITU_FULL, 3418 eItuNarrow = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW 3419 }; 3420 using SamplerYcbcrRangeKHR = SamplerYcbcrRange; 3421 3422 enum class ChromaLocation 3423 { 3424 eCositedEven = VK_CHROMA_LOCATION_COSITED_EVEN, 3425 eMidpoint = VK_CHROMA_LOCATION_MIDPOINT 3426 }; 3427 using ChromaLocationKHR = ChromaLocation; 3428 3429 enum class DescriptorUpdateTemplateType 3430 { 3431 eDescriptorSet = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET, 3432 ePushDescriptorsKHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR 3433 }; 3434 using DescriptorUpdateTemplateTypeKHR = DescriptorUpdateTemplateType; 3435 3436 enum class DescriptorUpdateTemplateCreateFlagBits : VkDescriptorUpdateTemplateCreateFlags 3437 { 3438 }; 3439 3440 using DescriptorUpdateTemplateCreateFlags = Flags<DescriptorUpdateTemplateCreateFlagBits>; 3441 using DescriptorUpdateTemplateCreateFlagsKHR = DescriptorUpdateTemplateCreateFlags; 3442 3443 template <> 3444 struct FlagTraits<DescriptorUpdateTemplateCreateFlagBits> 3445 { 3446 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3447 static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorUpdateTemplateCreateFlags allFlags = {}; 3448 }; 3449 3450 enum class DescriptorUpdateTemplateCreateFlagBits : VkDescriptorUpdateTemplateCreateFlags 3451 { 3452 }; 3453 to_string(DescriptorUpdateTemplateCreateFlagBits)3454 VULKAN_HPP_INLINE std::string to_string( DescriptorUpdateTemplateCreateFlagBits ) 3455 { 3456 return "(void)"; 3457 } 3458 3459 enum class ExternalMemoryHandleTypeFlagBits : VkExternalMemoryHandleTypeFlags 3460 { 3461 eOpaqueFd = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, 3462 eOpaqueWin32 = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, 3463 eOpaqueWin32Kmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 3464 eD3D11Texture = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, 3465 eD3D11TextureKmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, 3466 eD3D12Heap = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, 3467 eD3D12Resource = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, 3468 eDmaBufEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT, 3469 #if defined( VK_USE_PLATFORM_ANDROID_KHR ) 3470 eAndroidHardwareBufferANDROID = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID, 3471 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 3472 eHostAllocationEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT, 3473 eHostMappedForeignMemoryEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT, 3474 #if defined( VK_USE_PLATFORM_FUCHSIA ) 3475 eZirconVmoFUCHSIA = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA, 3476 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 3477 eRdmaAddressNV = VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV 3478 }; 3479 using ExternalMemoryHandleTypeFlagBitsKHR = ExternalMemoryHandleTypeFlagBits; 3480 3481 using ExternalMemoryHandleTypeFlags = Flags<ExternalMemoryHandleTypeFlagBits>; 3482 using ExternalMemoryHandleTypeFlagsKHR = ExternalMemoryHandleTypeFlags; 3483 3484 template <> 3485 struct FlagTraits<ExternalMemoryHandleTypeFlagBits> 3486 { 3487 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3488 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalMemoryHandleTypeFlags allFlags = 3489 ExternalMemoryHandleTypeFlagBits::eOpaqueFd | ExternalMemoryHandleTypeFlagBits::eOpaqueWin32 | ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt | 3490 ExternalMemoryHandleTypeFlagBits::eD3D11Texture | ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt | ExternalMemoryHandleTypeFlagBits::eD3D12Heap | 3491 ExternalMemoryHandleTypeFlagBits::eD3D12Resource | ExternalMemoryHandleTypeFlagBits::eDmaBufEXT 3492 #if defined( VK_USE_PLATFORM_ANDROID_KHR ) 3493 | ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID 3494 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 3495 | ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT | ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT 3496 #if defined( VK_USE_PLATFORM_FUCHSIA ) 3497 | ExternalMemoryHandleTypeFlagBits::eZirconVmoFUCHSIA 3498 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 3499 | ExternalMemoryHandleTypeFlagBits::eRdmaAddressNV; 3500 }; 3501 3502 enum class ExternalMemoryFeatureFlagBits : VkExternalMemoryFeatureFlags 3503 { 3504 eDedicatedOnly = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT, 3505 eExportable = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT, 3506 eImportable = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT 3507 }; 3508 using ExternalMemoryFeatureFlagBitsKHR = ExternalMemoryFeatureFlagBits; 3509 3510 using ExternalMemoryFeatureFlags = Flags<ExternalMemoryFeatureFlagBits>; 3511 using ExternalMemoryFeatureFlagsKHR = ExternalMemoryFeatureFlags; 3512 3513 template <> 3514 struct FlagTraits<ExternalMemoryFeatureFlagBits> 3515 { 3516 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3517 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalMemoryFeatureFlags allFlags = 3518 ExternalMemoryFeatureFlagBits::eDedicatedOnly | ExternalMemoryFeatureFlagBits::eExportable | ExternalMemoryFeatureFlagBits::eImportable; 3519 }; 3520 3521 enum class ExternalFenceHandleTypeFlagBits : VkExternalFenceHandleTypeFlags 3522 { 3523 eOpaqueFd = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT, 3524 eOpaqueWin32 = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 3525 eOpaqueWin32Kmt = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 3526 eSyncFd = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT 3527 }; 3528 using ExternalFenceHandleTypeFlagBitsKHR = ExternalFenceHandleTypeFlagBits; 3529 3530 using ExternalFenceHandleTypeFlags = Flags<ExternalFenceHandleTypeFlagBits>; 3531 using ExternalFenceHandleTypeFlagsKHR = ExternalFenceHandleTypeFlags; 3532 3533 template <> 3534 struct FlagTraits<ExternalFenceHandleTypeFlagBits> 3535 { 3536 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3537 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalFenceHandleTypeFlags allFlags = 3538 ExternalFenceHandleTypeFlagBits::eOpaqueFd | ExternalFenceHandleTypeFlagBits::eOpaqueWin32 | ExternalFenceHandleTypeFlagBits::eOpaqueWin32Kmt | 3539 ExternalFenceHandleTypeFlagBits::eSyncFd; 3540 }; 3541 3542 enum class ExternalFenceFeatureFlagBits : VkExternalFenceFeatureFlags 3543 { 3544 eExportable = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT, 3545 eImportable = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT 3546 }; 3547 using ExternalFenceFeatureFlagBitsKHR = ExternalFenceFeatureFlagBits; 3548 3549 using ExternalFenceFeatureFlags = Flags<ExternalFenceFeatureFlagBits>; 3550 using ExternalFenceFeatureFlagsKHR = ExternalFenceFeatureFlags; 3551 3552 template <> 3553 struct FlagTraits<ExternalFenceFeatureFlagBits> 3554 { 3555 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3556 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalFenceFeatureFlags allFlags = 3557 ExternalFenceFeatureFlagBits::eExportable | ExternalFenceFeatureFlagBits::eImportable; 3558 }; 3559 3560 enum class FenceImportFlagBits : VkFenceImportFlags 3561 { 3562 eTemporary = VK_FENCE_IMPORT_TEMPORARY_BIT 3563 }; 3564 using FenceImportFlagBitsKHR = FenceImportFlagBits; 3565 3566 using FenceImportFlags = Flags<FenceImportFlagBits>; 3567 using FenceImportFlagsKHR = FenceImportFlags; 3568 3569 template <> 3570 struct FlagTraits<FenceImportFlagBits> 3571 { 3572 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3573 static VULKAN_HPP_CONST_OR_CONSTEXPR FenceImportFlags allFlags = FenceImportFlagBits::eTemporary; 3574 }; 3575 3576 enum class SemaphoreImportFlagBits : VkSemaphoreImportFlags 3577 { 3578 eTemporary = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT 3579 }; 3580 using SemaphoreImportFlagBitsKHR = SemaphoreImportFlagBits; 3581 3582 using SemaphoreImportFlags = Flags<SemaphoreImportFlagBits>; 3583 using SemaphoreImportFlagsKHR = SemaphoreImportFlags; 3584 3585 template <> 3586 struct FlagTraits<SemaphoreImportFlagBits> 3587 { 3588 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3589 static VULKAN_HPP_CONST_OR_CONSTEXPR SemaphoreImportFlags allFlags = SemaphoreImportFlagBits::eTemporary; 3590 }; 3591 3592 enum class ExternalSemaphoreHandleTypeFlagBits : VkExternalSemaphoreHandleTypeFlags 3593 { 3594 eOpaqueFd = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT, 3595 eOpaqueWin32 = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 3596 eOpaqueWin32Kmt = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 3597 eD3D12Fence = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 3598 eSyncFd = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, 3599 #if defined( VK_USE_PLATFORM_FUCHSIA ) 3600 eZirconEventFUCHSIA = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA, 3601 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 3602 eD3D11Fence = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT 3603 }; 3604 using ExternalSemaphoreHandleTypeFlagBitsKHR = ExternalSemaphoreHandleTypeFlagBits; 3605 3606 using ExternalSemaphoreHandleTypeFlags = Flags<ExternalSemaphoreHandleTypeFlagBits>; 3607 using ExternalSemaphoreHandleTypeFlagsKHR = ExternalSemaphoreHandleTypeFlags; 3608 3609 template <> 3610 struct FlagTraits<ExternalSemaphoreHandleTypeFlagBits> 3611 { 3612 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3613 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalSemaphoreHandleTypeFlags allFlags = 3614 ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd | ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32 | 3615 ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32Kmt | ExternalSemaphoreHandleTypeFlagBits::eD3D12Fence | ExternalSemaphoreHandleTypeFlagBits::eSyncFd 3616 #if defined( VK_USE_PLATFORM_FUCHSIA ) 3617 | ExternalSemaphoreHandleTypeFlagBits::eZirconEventFUCHSIA 3618 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 3619 ; 3620 }; 3621 3622 enum class ExternalSemaphoreFeatureFlagBits : VkExternalSemaphoreFeatureFlags 3623 { 3624 eExportable = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT, 3625 eImportable = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT 3626 }; 3627 using ExternalSemaphoreFeatureFlagBitsKHR = ExternalSemaphoreFeatureFlagBits; 3628 3629 using ExternalSemaphoreFeatureFlags = Flags<ExternalSemaphoreFeatureFlagBits>; 3630 using ExternalSemaphoreFeatureFlagsKHR = ExternalSemaphoreFeatureFlags; 3631 3632 template <> 3633 struct FlagTraits<ExternalSemaphoreFeatureFlagBits> 3634 { 3635 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3636 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalSemaphoreFeatureFlags allFlags = 3637 ExternalSemaphoreFeatureFlagBits::eExportable | ExternalSemaphoreFeatureFlagBits::eImportable; 3638 }; 3639 3640 //=== VK_VERSION_1_2 === 3641 3642 enum class DriverId 3643 { 3644 eAmdProprietary = VK_DRIVER_ID_AMD_PROPRIETARY, 3645 eAmdOpenSource = VK_DRIVER_ID_AMD_OPEN_SOURCE, 3646 eMesaRadv = VK_DRIVER_ID_MESA_RADV, 3647 eNvidiaProprietary = VK_DRIVER_ID_NVIDIA_PROPRIETARY, 3648 eIntelProprietaryWindows = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS, 3649 eIntelOpenSourceMESA = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA, 3650 eImaginationProprietary = VK_DRIVER_ID_IMAGINATION_PROPRIETARY, 3651 eQualcommProprietary = VK_DRIVER_ID_QUALCOMM_PROPRIETARY, 3652 eArmProprietary = VK_DRIVER_ID_ARM_PROPRIETARY, 3653 eGoogleSwiftshader = VK_DRIVER_ID_GOOGLE_SWIFTSHADER, 3654 eGgpProprietary = VK_DRIVER_ID_GGP_PROPRIETARY, 3655 eBroadcomProprietary = VK_DRIVER_ID_BROADCOM_PROPRIETARY, 3656 eMesaLlvmpipe = VK_DRIVER_ID_MESA_LLVMPIPE, 3657 eMoltenvk = VK_DRIVER_ID_MOLTENVK, 3658 eCoreaviProprietary = VK_DRIVER_ID_COREAVI_PROPRIETARY, 3659 eJuiceProprietary = VK_DRIVER_ID_JUICE_PROPRIETARY, 3660 eVerisiliconProprietary = VK_DRIVER_ID_VERISILICON_PROPRIETARY, 3661 eMesaTurnip = VK_DRIVER_ID_MESA_TURNIP, 3662 eMesaV3Dv = VK_DRIVER_ID_MESA_V3DV, 3663 eMesaPanvk = VK_DRIVER_ID_MESA_PANVK, 3664 eSamsungProprietary = VK_DRIVER_ID_SAMSUNG_PROPRIETARY, 3665 eMesaVenus = VK_DRIVER_ID_MESA_VENUS, 3666 eMesaDozen = VK_DRIVER_ID_MESA_DOZEN, 3667 eMesaNvk = VK_DRIVER_ID_MESA_NVK 3668 }; 3669 using DriverIdKHR = DriverId; 3670 3671 enum class ShaderFloatControlsIndependence 3672 { 3673 e32BitOnly = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY, 3674 eAll = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL, 3675 eNone = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE 3676 }; 3677 using ShaderFloatControlsIndependenceKHR = ShaderFloatControlsIndependence; 3678 3679 enum class DescriptorBindingFlagBits : VkDescriptorBindingFlags 3680 { 3681 eUpdateAfterBind = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT, 3682 eUpdateUnusedWhilePending = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT, 3683 ePartiallyBound = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT, 3684 eVariableDescriptorCount = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT 3685 }; 3686 using DescriptorBindingFlagBitsEXT = DescriptorBindingFlagBits; 3687 3688 using DescriptorBindingFlags = Flags<DescriptorBindingFlagBits>; 3689 using DescriptorBindingFlagsEXT = DescriptorBindingFlags; 3690 3691 template <> 3692 struct FlagTraits<DescriptorBindingFlagBits> 3693 { 3694 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3695 static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorBindingFlags allFlags = 3696 DescriptorBindingFlagBits::eUpdateAfterBind | DescriptorBindingFlagBits::eUpdateUnusedWhilePending | DescriptorBindingFlagBits::ePartiallyBound | 3697 DescriptorBindingFlagBits::eVariableDescriptorCount; 3698 }; 3699 3700 enum class ResolveModeFlagBits : VkResolveModeFlags 3701 { 3702 eNone = VK_RESOLVE_MODE_NONE, 3703 eSampleZero = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT, 3704 eAverage = VK_RESOLVE_MODE_AVERAGE_BIT, 3705 eMin = VK_RESOLVE_MODE_MIN_BIT, 3706 eMax = VK_RESOLVE_MODE_MAX_BIT 3707 }; 3708 using ResolveModeFlagBitsKHR = ResolveModeFlagBits; 3709 3710 using ResolveModeFlags = Flags<ResolveModeFlagBits>; 3711 using ResolveModeFlagsKHR = ResolveModeFlags; 3712 3713 template <> 3714 struct FlagTraits<ResolveModeFlagBits> 3715 { 3716 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3717 static VULKAN_HPP_CONST_OR_CONSTEXPR ResolveModeFlags allFlags = 3718 ResolveModeFlagBits::eNone | ResolveModeFlagBits::eSampleZero | ResolveModeFlagBits::eAverage | ResolveModeFlagBits::eMin | ResolveModeFlagBits::eMax; 3719 }; 3720 3721 enum class SamplerReductionMode 3722 { 3723 eWeightedAverage = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, 3724 eMin = VK_SAMPLER_REDUCTION_MODE_MIN, 3725 eMax = VK_SAMPLER_REDUCTION_MODE_MAX 3726 }; 3727 using SamplerReductionModeEXT = SamplerReductionMode; 3728 3729 enum class SemaphoreType 3730 { 3731 eBinary = VK_SEMAPHORE_TYPE_BINARY, 3732 eTimeline = VK_SEMAPHORE_TYPE_TIMELINE 3733 }; 3734 using SemaphoreTypeKHR = SemaphoreType; 3735 3736 enum class SemaphoreWaitFlagBits : VkSemaphoreWaitFlags 3737 { 3738 eAny = VK_SEMAPHORE_WAIT_ANY_BIT 3739 }; 3740 using SemaphoreWaitFlagBitsKHR = SemaphoreWaitFlagBits; 3741 3742 using SemaphoreWaitFlags = Flags<SemaphoreWaitFlagBits>; 3743 using SemaphoreWaitFlagsKHR = SemaphoreWaitFlags; 3744 3745 template <> 3746 struct FlagTraits<SemaphoreWaitFlagBits> 3747 { 3748 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3749 static VULKAN_HPP_CONST_OR_CONSTEXPR SemaphoreWaitFlags allFlags = SemaphoreWaitFlagBits::eAny; 3750 }; 3751 3752 //=== VK_VERSION_1_3 === 3753 3754 enum class PipelineCreationFeedbackFlagBits : VkPipelineCreationFeedbackFlags 3755 { 3756 eValid = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT, 3757 eApplicationPipelineCacheHit = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT, 3758 eBasePipelineAcceleration = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT 3759 }; 3760 using PipelineCreationFeedbackFlagBitsEXT = PipelineCreationFeedbackFlagBits; 3761 3762 using PipelineCreationFeedbackFlags = Flags<PipelineCreationFeedbackFlagBits>; 3763 using PipelineCreationFeedbackFlagsEXT = PipelineCreationFeedbackFlags; 3764 3765 template <> 3766 struct FlagTraits<PipelineCreationFeedbackFlagBits> 3767 { 3768 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3769 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCreationFeedbackFlags allFlags = PipelineCreationFeedbackFlagBits::eValid | 3770 PipelineCreationFeedbackFlagBits::eApplicationPipelineCacheHit | 3771 PipelineCreationFeedbackFlagBits::eBasePipelineAcceleration; 3772 }; 3773 3774 enum class ToolPurposeFlagBits : VkToolPurposeFlags 3775 { 3776 eValidation = VK_TOOL_PURPOSE_VALIDATION_BIT, 3777 eProfiling = VK_TOOL_PURPOSE_PROFILING_BIT, 3778 eTracing = VK_TOOL_PURPOSE_TRACING_BIT, 3779 eAdditionalFeatures = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT, 3780 eModifyingFeatures = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT, 3781 eDebugReportingEXT = VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT, 3782 eDebugMarkersEXT = VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT 3783 }; 3784 using ToolPurposeFlagBitsEXT = ToolPurposeFlagBits; 3785 3786 using ToolPurposeFlags = Flags<ToolPurposeFlagBits>; 3787 using ToolPurposeFlagsEXT = ToolPurposeFlags; 3788 3789 template <> 3790 struct FlagTraits<ToolPurposeFlagBits> 3791 { 3792 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3793 static VULKAN_HPP_CONST_OR_CONSTEXPR ToolPurposeFlags allFlags = 3794 ToolPurposeFlagBits::eValidation | ToolPurposeFlagBits::eProfiling | ToolPurposeFlagBits::eTracing | ToolPurposeFlagBits::eAdditionalFeatures | 3795 ToolPurposeFlagBits::eModifyingFeatures | ToolPurposeFlagBits::eDebugReportingEXT | ToolPurposeFlagBits::eDebugMarkersEXT; 3796 }; 3797 3798 enum class PrivateDataSlotCreateFlagBits : VkPrivateDataSlotCreateFlags 3799 { 3800 }; 3801 using PrivateDataSlotCreateFlagBitsEXT = PrivateDataSlotCreateFlagBits; 3802 3803 using PrivateDataSlotCreateFlags = Flags<PrivateDataSlotCreateFlagBits>; 3804 using PrivateDataSlotCreateFlagsEXT = PrivateDataSlotCreateFlags; 3805 3806 template <> 3807 struct FlagTraits<PrivateDataSlotCreateFlagBits> 3808 { 3809 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3810 static VULKAN_HPP_CONST_OR_CONSTEXPR PrivateDataSlotCreateFlags allFlags = {}; 3811 }; 3812 3813 enum class PipelineStageFlagBits2 : VkPipelineStageFlags2 3814 { 3815 eNone = VK_PIPELINE_STAGE_2_NONE, 3816 eTopOfPipe = VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT, 3817 eDrawIndirect = VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT, 3818 eVertexInput = VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT, 3819 eVertexShader = VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT, 3820 eTessellationControlShader = VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT, 3821 eTessellationEvaluationShader = VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT, 3822 eGeometryShader = VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT, 3823 eFragmentShader = VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, 3824 eEarlyFragmentTests = VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT, 3825 eLateFragmentTests = VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT, 3826 eColorAttachmentOutput = VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT, 3827 eComputeShader = VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, 3828 eAllTransfer = VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT, 3829 eBottomOfPipe = VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT, 3830 eHost = VK_PIPELINE_STAGE_2_HOST_BIT, 3831 eAllGraphics = VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, 3832 eAllCommands = VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT, 3833 eCopy = VK_PIPELINE_STAGE_2_COPY_BIT, 3834 eResolve = VK_PIPELINE_STAGE_2_RESOLVE_BIT, 3835 eBlit = VK_PIPELINE_STAGE_2_BLIT_BIT, 3836 eClear = VK_PIPELINE_STAGE_2_CLEAR_BIT, 3837 eIndexInput = VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT, 3838 eVertexAttributeInput = VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT, 3839 ePreRasterizationShaders = VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT, 3840 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 3841 eVideoDecodeKHR = VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR, 3842 eVideoEncodeKHR = VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR, 3843 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 3844 eTransformFeedbackEXT = VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT, 3845 eConditionalRenderingEXT = VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT, 3846 eCommandPreprocessNV = VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV, 3847 eFragmentShadingRateAttachmentKHR = VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 3848 eAccelerationStructureBuildKHR = VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, 3849 eRayTracingShaderKHR = VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR, 3850 eFragmentDensityProcessEXT = VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT, 3851 eTaskShaderEXT = VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT, 3852 eMeshShaderEXT = VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT, 3853 eSubpassShadingHUAWEI = VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI, 3854 eInvocationMaskHUAWEI = VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI, 3855 eAccelerationStructureCopyKHR = VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR, 3856 eMicromapBuildEXT = VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT, 3857 eOpticalFlowNV = VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV, 3858 eAccelerationStructureBuildNV = VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV, 3859 eMeshShaderNV = VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV, 3860 eRayTracingShaderNV = VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV, 3861 eShadingRateImageNV = VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV, 3862 eTaskShaderNV = VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV, 3863 eTransfer = VK_PIPELINE_STAGE_2_TRANSFER_BIT 3864 }; 3865 using PipelineStageFlagBits2KHR = PipelineStageFlagBits2; 3866 3867 using PipelineStageFlags2 = Flags<PipelineStageFlagBits2>; 3868 using PipelineStageFlags2KHR = PipelineStageFlags2; 3869 3870 template <> 3871 struct FlagTraits<PipelineStageFlagBits2> 3872 { 3873 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3874 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineStageFlags2 allFlags = 3875 PipelineStageFlagBits2::eNone | PipelineStageFlagBits2::eTopOfPipe | PipelineStageFlagBits2::eDrawIndirect | PipelineStageFlagBits2::eVertexInput | 3876 PipelineStageFlagBits2::eVertexShader | PipelineStageFlagBits2::eTessellationControlShader | PipelineStageFlagBits2::eTessellationEvaluationShader | 3877 PipelineStageFlagBits2::eGeometryShader | PipelineStageFlagBits2::eFragmentShader | PipelineStageFlagBits2::eEarlyFragmentTests | 3878 PipelineStageFlagBits2::eLateFragmentTests | PipelineStageFlagBits2::eColorAttachmentOutput | PipelineStageFlagBits2::eComputeShader | 3879 PipelineStageFlagBits2::eAllTransfer | PipelineStageFlagBits2::eBottomOfPipe | PipelineStageFlagBits2::eHost | PipelineStageFlagBits2::eAllGraphics | 3880 PipelineStageFlagBits2::eAllCommands | PipelineStageFlagBits2::eCopy | PipelineStageFlagBits2::eResolve | PipelineStageFlagBits2::eBlit | 3881 PipelineStageFlagBits2::eClear | PipelineStageFlagBits2::eIndexInput | PipelineStageFlagBits2::eVertexAttributeInput | 3882 PipelineStageFlagBits2::ePreRasterizationShaders 3883 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 3884 | PipelineStageFlagBits2::eVideoDecodeKHR | PipelineStageFlagBits2::eVideoEncodeKHR 3885 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 3886 | PipelineStageFlagBits2::eTransformFeedbackEXT | PipelineStageFlagBits2::eConditionalRenderingEXT | PipelineStageFlagBits2::eCommandPreprocessNV | 3887 PipelineStageFlagBits2::eFragmentShadingRateAttachmentKHR | PipelineStageFlagBits2::eAccelerationStructureBuildKHR | 3888 PipelineStageFlagBits2::eRayTracingShaderKHR | PipelineStageFlagBits2::eFragmentDensityProcessEXT | PipelineStageFlagBits2::eTaskShaderEXT | 3889 PipelineStageFlagBits2::eMeshShaderEXT | PipelineStageFlagBits2::eSubpassShadingHUAWEI | PipelineStageFlagBits2::eInvocationMaskHUAWEI | 3890 PipelineStageFlagBits2::eAccelerationStructureCopyKHR | PipelineStageFlagBits2::eMicromapBuildEXT | PipelineStageFlagBits2::eOpticalFlowNV; 3891 }; 3892 3893 enum class AccessFlagBits2 : VkAccessFlags2 3894 { 3895 eNone = VK_ACCESS_2_NONE, 3896 eIndirectCommandRead = VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT, 3897 eIndexRead = VK_ACCESS_2_INDEX_READ_BIT, 3898 eVertexAttributeRead = VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT, 3899 eUniformRead = VK_ACCESS_2_UNIFORM_READ_BIT, 3900 eInputAttachmentRead = VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT, 3901 eShaderRead = VK_ACCESS_2_SHADER_READ_BIT, 3902 eShaderWrite = VK_ACCESS_2_SHADER_WRITE_BIT, 3903 eColorAttachmentRead = VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT, 3904 eColorAttachmentWrite = VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT, 3905 eDepthStencilAttachmentRead = VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT, 3906 eDepthStencilAttachmentWrite = VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, 3907 eTransferRead = VK_ACCESS_2_TRANSFER_READ_BIT, 3908 eTransferWrite = VK_ACCESS_2_TRANSFER_WRITE_BIT, 3909 eHostRead = VK_ACCESS_2_HOST_READ_BIT, 3910 eHostWrite = VK_ACCESS_2_HOST_WRITE_BIT, 3911 eMemoryRead = VK_ACCESS_2_MEMORY_READ_BIT, 3912 eMemoryWrite = VK_ACCESS_2_MEMORY_WRITE_BIT, 3913 eShaderSampledRead = VK_ACCESS_2_SHADER_SAMPLED_READ_BIT, 3914 eShaderStorageRead = VK_ACCESS_2_SHADER_STORAGE_READ_BIT, 3915 eShaderStorageWrite = VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT, 3916 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 3917 eVideoDecodeReadKHR = VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR, 3918 eVideoDecodeWriteKHR = VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR, 3919 eVideoEncodeReadKHR = VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR, 3920 eVideoEncodeWriteKHR = VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR, 3921 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 3922 eTransformFeedbackWriteEXT = VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT, 3923 eTransformFeedbackCounterReadEXT = VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT, 3924 eTransformFeedbackCounterWriteEXT = VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT, 3925 eConditionalRenderingReadEXT = VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT, 3926 eCommandPreprocessReadNV = VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV, 3927 eCommandPreprocessWriteNV = VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV, 3928 eFragmentShadingRateAttachmentReadKHR = VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, 3929 eAccelerationStructureReadKHR = VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR, 3930 eAccelerationStructureWriteKHR = VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR, 3931 eFragmentDensityMapReadEXT = VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT, 3932 eColorAttachmentReadNoncoherentEXT = VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT, 3933 eDescriptorBufferReadEXT = VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT, 3934 eInvocationMaskReadHUAWEI = VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI, 3935 eShaderBindingTableReadKHR = VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR, 3936 eMicromapReadEXT = VK_ACCESS_2_MICROMAP_READ_BIT_EXT, 3937 eMicromapWriteEXT = VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT, 3938 eOpticalFlowReadNV = VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV, 3939 eOpticalFlowWriteNV = VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV, 3940 eAccelerationStructureReadNV = VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV, 3941 eAccelerationStructureWriteNV = VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV, 3942 eShadingRateImageReadNV = VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV 3943 }; 3944 using AccessFlagBits2KHR = AccessFlagBits2; 3945 3946 using AccessFlags2 = Flags<AccessFlagBits2>; 3947 using AccessFlags2KHR = AccessFlags2; 3948 3949 template <> 3950 struct FlagTraits<AccessFlagBits2> 3951 { 3952 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3953 static VULKAN_HPP_CONST_OR_CONSTEXPR AccessFlags2 allFlags = 3954 AccessFlagBits2::eNone | AccessFlagBits2::eIndirectCommandRead | AccessFlagBits2::eIndexRead | AccessFlagBits2::eVertexAttributeRead | 3955 AccessFlagBits2::eUniformRead | AccessFlagBits2::eInputAttachmentRead | AccessFlagBits2::eShaderRead | AccessFlagBits2::eShaderWrite | 3956 AccessFlagBits2::eColorAttachmentRead | AccessFlagBits2::eColorAttachmentWrite | AccessFlagBits2::eDepthStencilAttachmentRead | 3957 AccessFlagBits2::eDepthStencilAttachmentWrite | AccessFlagBits2::eTransferRead | AccessFlagBits2::eTransferWrite | AccessFlagBits2::eHostRead | 3958 AccessFlagBits2::eHostWrite | AccessFlagBits2::eMemoryRead | AccessFlagBits2::eMemoryWrite | AccessFlagBits2::eShaderSampledRead | 3959 AccessFlagBits2::eShaderStorageRead | AccessFlagBits2::eShaderStorageWrite 3960 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 3961 | AccessFlagBits2::eVideoDecodeReadKHR | AccessFlagBits2::eVideoDecodeWriteKHR | AccessFlagBits2::eVideoEncodeReadKHR | 3962 AccessFlagBits2::eVideoEncodeWriteKHR 3963 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 3964 | AccessFlagBits2::eTransformFeedbackWriteEXT | AccessFlagBits2::eTransformFeedbackCounterReadEXT | AccessFlagBits2::eTransformFeedbackCounterWriteEXT | 3965 AccessFlagBits2::eConditionalRenderingReadEXT | AccessFlagBits2::eCommandPreprocessReadNV | AccessFlagBits2::eCommandPreprocessWriteNV | 3966 AccessFlagBits2::eFragmentShadingRateAttachmentReadKHR | AccessFlagBits2::eAccelerationStructureReadKHR | 3967 AccessFlagBits2::eAccelerationStructureWriteKHR | AccessFlagBits2::eFragmentDensityMapReadEXT | AccessFlagBits2::eColorAttachmentReadNoncoherentEXT | 3968 AccessFlagBits2::eDescriptorBufferReadEXT | AccessFlagBits2::eInvocationMaskReadHUAWEI | AccessFlagBits2::eShaderBindingTableReadKHR | 3969 AccessFlagBits2::eMicromapReadEXT | AccessFlagBits2::eMicromapWriteEXT | AccessFlagBits2::eOpticalFlowReadNV | AccessFlagBits2::eOpticalFlowWriteNV; 3970 }; 3971 3972 enum class SubmitFlagBits : VkSubmitFlags 3973 { 3974 eProtected = VK_SUBMIT_PROTECTED_BIT 3975 }; 3976 using SubmitFlagBitsKHR = SubmitFlagBits; 3977 3978 using SubmitFlags = Flags<SubmitFlagBits>; 3979 using SubmitFlagsKHR = SubmitFlags; 3980 3981 template <> 3982 struct FlagTraits<SubmitFlagBits> 3983 { 3984 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 3985 static VULKAN_HPP_CONST_OR_CONSTEXPR SubmitFlags allFlags = SubmitFlagBits::eProtected; 3986 }; 3987 3988 enum class RenderingFlagBits : VkRenderingFlags 3989 { 3990 eContentsSecondaryCommandBuffers = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT, 3991 eSuspending = VK_RENDERING_SUSPENDING_BIT, 3992 eResuming = VK_RENDERING_RESUMING_BIT, 3993 eEnableLegacyDitheringEXT = VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT 3994 }; 3995 using RenderingFlagBitsKHR = RenderingFlagBits; 3996 3997 using RenderingFlags = Flags<RenderingFlagBits>; 3998 using RenderingFlagsKHR = RenderingFlags; 3999 4000 template <> 4001 struct FlagTraits<RenderingFlagBits> 4002 { 4003 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4004 static VULKAN_HPP_CONST_OR_CONSTEXPR RenderingFlags allFlags = RenderingFlagBits::eContentsSecondaryCommandBuffers | RenderingFlagBits::eSuspending | 4005 RenderingFlagBits::eResuming | RenderingFlagBits::eEnableLegacyDitheringEXT; 4006 }; 4007 4008 enum class FormatFeatureFlagBits2 : VkFormatFeatureFlags2 4009 { 4010 eSampledImage = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT, 4011 eStorageImage = VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT, 4012 eStorageImageAtomic = VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT, 4013 eUniformTexelBuffer = VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT, 4014 eStorageTexelBuffer = VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT, 4015 eStorageTexelBufferAtomic = VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT, 4016 eVertexBuffer = VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT, 4017 eColorAttachment = VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT, 4018 eColorAttachmentBlend = VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT, 4019 eDepthStencilAttachment = VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT, 4020 eBlitSrc = VK_FORMAT_FEATURE_2_BLIT_SRC_BIT, 4021 eBlitDst = VK_FORMAT_FEATURE_2_BLIT_DST_BIT, 4022 eSampledImageFilterLinear = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT, 4023 eSampledImageFilterCubic = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT, 4024 eTransferSrc = VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT, 4025 eTransferDst = VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT, 4026 eSampledImageFilterMinmax = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT, 4027 eMidpointChromaSamples = VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT, 4028 eSampledImageYcbcrConversionLinearFilter = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, 4029 eSampledImageYcbcrConversionSeparateReconstructionFilter = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, 4030 eSampledImageYcbcrConversionChromaReconstructionExplicit = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, 4031 eSampledImageYcbcrConversionChromaReconstructionExplicitForceable = 4032 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT, 4033 eDisjoint = VK_FORMAT_FEATURE_2_DISJOINT_BIT, 4034 eCositedChromaSamples = VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT, 4035 eStorageReadWithoutFormat = VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT, 4036 eStorageWriteWithoutFormat = VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT, 4037 eSampledImageDepthComparison = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT, 4038 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 4039 eVideoDecodeOutputKHR = VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR, 4040 eVideoDecodeDpbKHR = VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR, 4041 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 4042 eAccelerationStructureVertexBufferKHR = VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR, 4043 eFragmentDensityMapEXT = VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT, 4044 eFragmentShadingRateAttachmentKHR = VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 4045 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 4046 eVideoEncodeInputKHR = VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR, 4047 eVideoEncodeDpbKHR = VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR, 4048 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 4049 eLinearColorAttachmentNV = VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV, 4050 eWeightImageQCOM = VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM, 4051 eWeightSampledImageQCOM = VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM, 4052 eBlockMatchingQCOM = VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM, 4053 eBoxFilterSampledQCOM = VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM, 4054 eOpticalFlowImageNV = VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV, 4055 eOpticalFlowVectorNV = VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV, 4056 eOpticalFlowCostNV = VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV, 4057 eSampledImageFilterCubicEXT = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT 4058 }; 4059 using FormatFeatureFlagBits2KHR = FormatFeatureFlagBits2; 4060 4061 using FormatFeatureFlags2 = Flags<FormatFeatureFlagBits2>; 4062 using FormatFeatureFlags2KHR = FormatFeatureFlags2; 4063 4064 template <> 4065 struct FlagTraits<FormatFeatureFlagBits2> 4066 { 4067 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4068 static VULKAN_HPP_CONST_OR_CONSTEXPR FormatFeatureFlags2 allFlags = 4069 FormatFeatureFlagBits2::eSampledImage | FormatFeatureFlagBits2::eStorageImage | FormatFeatureFlagBits2::eStorageImageAtomic | 4070 FormatFeatureFlagBits2::eUniformTexelBuffer | FormatFeatureFlagBits2::eStorageTexelBuffer | FormatFeatureFlagBits2::eStorageTexelBufferAtomic | 4071 FormatFeatureFlagBits2::eVertexBuffer | FormatFeatureFlagBits2::eColorAttachment | FormatFeatureFlagBits2::eColorAttachmentBlend | 4072 FormatFeatureFlagBits2::eDepthStencilAttachment | FormatFeatureFlagBits2::eBlitSrc | FormatFeatureFlagBits2::eBlitDst | 4073 FormatFeatureFlagBits2::eSampledImageFilterLinear | FormatFeatureFlagBits2::eSampledImageFilterCubic | FormatFeatureFlagBits2::eTransferSrc | 4074 FormatFeatureFlagBits2::eTransferDst | FormatFeatureFlagBits2::eSampledImageFilterMinmax | FormatFeatureFlagBits2::eMidpointChromaSamples | 4075 FormatFeatureFlagBits2::eSampledImageYcbcrConversionLinearFilter | FormatFeatureFlagBits2::eSampledImageYcbcrConversionSeparateReconstructionFilter | 4076 FormatFeatureFlagBits2::eSampledImageYcbcrConversionChromaReconstructionExplicit | 4077 FormatFeatureFlagBits2::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable | FormatFeatureFlagBits2::eDisjoint | 4078 FormatFeatureFlagBits2::eCositedChromaSamples | FormatFeatureFlagBits2::eStorageReadWithoutFormat | FormatFeatureFlagBits2::eStorageWriteWithoutFormat | 4079 FormatFeatureFlagBits2::eSampledImageDepthComparison 4080 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 4081 | FormatFeatureFlagBits2::eVideoDecodeOutputKHR | FormatFeatureFlagBits2::eVideoDecodeDpbKHR 4082 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 4083 | FormatFeatureFlagBits2::eAccelerationStructureVertexBufferKHR | FormatFeatureFlagBits2::eFragmentDensityMapEXT | 4084 FormatFeatureFlagBits2::eFragmentShadingRateAttachmentKHR 4085 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 4086 | FormatFeatureFlagBits2::eVideoEncodeInputKHR | FormatFeatureFlagBits2::eVideoEncodeDpbKHR 4087 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 4088 | FormatFeatureFlagBits2::eLinearColorAttachmentNV | FormatFeatureFlagBits2::eWeightImageQCOM | FormatFeatureFlagBits2::eWeightSampledImageQCOM | 4089 FormatFeatureFlagBits2::eBlockMatchingQCOM | FormatFeatureFlagBits2::eBoxFilterSampledQCOM | FormatFeatureFlagBits2::eOpticalFlowImageNV | 4090 FormatFeatureFlagBits2::eOpticalFlowVectorNV | FormatFeatureFlagBits2::eOpticalFlowCostNV; 4091 }; 4092 4093 //=== VK_VERSION_1_3 === 4094 4095 enum class PipelineCreationFeedbackFlagBits : VkPipelineCreationFeedbackFlags 4096 { 4097 eValid = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT, 4098 eApplicationPipelineCacheHit = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT, 4099 eBasePipelineAcceleration = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT 4100 }; 4101 using PipelineCreationFeedbackFlagBitsEXT = PipelineCreationFeedbackFlagBits; 4102 to_string(PipelineCreationFeedbackFlagBits value)4103 VULKAN_HPP_INLINE std::string to_string( PipelineCreationFeedbackFlagBits value ) 4104 { 4105 switch ( value ) 4106 { 4107 case PipelineCreationFeedbackFlagBits::eValid: return "Valid"; 4108 case PipelineCreationFeedbackFlagBits::eApplicationPipelineCacheHit: return "ApplicationPipelineCacheHit"; 4109 case PipelineCreationFeedbackFlagBits::eBasePipelineAcceleration: return "BasePipelineAcceleration"; 4110 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )"; 4111 } 4112 } 4113 4114 enum class ToolPurposeFlagBits : VkToolPurposeFlags 4115 { 4116 eValidation = VK_TOOL_PURPOSE_VALIDATION_BIT, 4117 eProfiling = VK_TOOL_PURPOSE_PROFILING_BIT, 4118 eTracing = VK_TOOL_PURPOSE_TRACING_BIT, 4119 eAdditionalFeatures = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT, 4120 eModifyingFeatures = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT, 4121 eDebugReportingEXT = VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT, 4122 eDebugMarkersEXT = VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT 4123 }; 4124 using ToolPurposeFlagBitsEXT = ToolPurposeFlagBits; 4125 to_string(ToolPurposeFlagBits value)4126 VULKAN_HPP_INLINE std::string to_string( ToolPurposeFlagBits value ) 4127 { 4128 switch ( value ) 4129 { 4130 case ToolPurposeFlagBits::eValidation: return "Validation"; 4131 case ToolPurposeFlagBits::eProfiling: return "Profiling"; 4132 case ToolPurposeFlagBits::eTracing: return "Tracing"; 4133 case ToolPurposeFlagBits::eAdditionalFeatures: return "AdditionalFeatures"; 4134 case ToolPurposeFlagBits::eModifyingFeatures: return "ModifyingFeatures"; 4135 case ToolPurposeFlagBits::eDebugReportingEXT: return "DebugReportingEXT"; 4136 case ToolPurposeFlagBits::eDebugMarkersEXT: return "DebugMarkersEXT"; 4137 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )"; 4138 } 4139 } 4140 4141 enum class PrivateDataSlotCreateFlagBits : VkPrivateDataSlotCreateFlags 4142 { 4143 }; 4144 using PrivateDataSlotCreateFlagBitsEXT = PrivateDataSlotCreateFlagBits; 4145 to_string(PrivateDataSlotCreateFlagBits)4146 VULKAN_HPP_INLINE std::string to_string( PrivateDataSlotCreateFlagBits ) 4147 { 4148 return "(void)"; 4149 } 4150 4151 enum class PipelineStageFlagBits2 : VkPipelineStageFlags2 4152 { 4153 eNone = VK_PIPELINE_STAGE_2_NONE, 4154 eTopOfPipe = VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT, 4155 eDrawIndirect = VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT, 4156 eVertexInput = VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT, 4157 eVertexShader = VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT, 4158 eTessellationControlShader = VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT, 4159 eTessellationEvaluationShader = VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT, 4160 eGeometryShader = VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT, 4161 eFragmentShader = VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, 4162 eEarlyFragmentTests = VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT, 4163 eLateFragmentTests = VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT, 4164 eColorAttachmentOutput = VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT, 4165 eComputeShader = VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, 4166 eAllTransfer = VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT, 4167 eBottomOfPipe = VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT, 4168 eHost = VK_PIPELINE_STAGE_2_HOST_BIT, 4169 eAllGraphics = VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, 4170 eAllCommands = VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT, 4171 eCopy = VK_PIPELINE_STAGE_2_COPY_BIT, 4172 eResolve = VK_PIPELINE_STAGE_2_RESOLVE_BIT, 4173 eBlit = VK_PIPELINE_STAGE_2_BLIT_BIT, 4174 eClear = VK_PIPELINE_STAGE_2_CLEAR_BIT, 4175 eIndexInput = VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT, 4176 eVertexAttributeInput = VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT, 4177 ePreRasterizationShaders = VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT, 4178 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 4179 eVideoDecodeKHR = VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR, 4180 eVideoEncodeKHR = VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR, 4181 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 4182 eTransformFeedbackEXT = VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT, 4183 eConditionalRenderingEXT = VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT, 4184 eCommandPreprocessNV = VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV, 4185 eFragmentShadingRateAttachmentKHR = VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 4186 eAccelerationStructureBuildKHR = VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, 4187 eRayTracingShaderKHR = VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR, 4188 eFragmentDensityProcessEXT = VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT, 4189 eTaskShaderNV = VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV, 4190 eMeshShaderNV = VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV, 4191 eSubpassShadingHUAWEI = VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI, 4192 eInvocationMaskHUAWEI = VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI, 4193 eAccelerationStructureBuildNV = VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV, 4194 eRayTracingShaderNV = VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV, 4195 eShadingRateImageNV = VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV, 4196 eTransfer = VK_PIPELINE_STAGE_2_TRANSFER_BIT 4197 }; 4198 using PipelineStageFlagBits2KHR = PipelineStageFlagBits2; 4199 to_string(PipelineStageFlagBits2 value)4200 VULKAN_HPP_INLINE std::string to_string( PipelineStageFlagBits2 value ) 4201 { 4202 switch ( value ) 4203 { 4204 case PipelineStageFlagBits2::eNone: return "None"; 4205 case PipelineStageFlagBits2::eTopOfPipe: return "TopOfPipe"; 4206 case PipelineStageFlagBits2::eDrawIndirect: return "DrawIndirect"; 4207 case PipelineStageFlagBits2::eVertexInput: return "VertexInput"; 4208 case PipelineStageFlagBits2::eVertexShader: return "VertexShader"; 4209 case PipelineStageFlagBits2::eTessellationControlShader: return "TessellationControlShader"; 4210 case PipelineStageFlagBits2::eTessellationEvaluationShader: return "TessellationEvaluationShader"; 4211 case PipelineStageFlagBits2::eGeometryShader: return "GeometryShader"; 4212 case PipelineStageFlagBits2::eFragmentShader: return "FragmentShader"; 4213 case PipelineStageFlagBits2::eEarlyFragmentTests: return "EarlyFragmentTests"; 4214 case PipelineStageFlagBits2::eLateFragmentTests: return "LateFragmentTests"; 4215 case PipelineStageFlagBits2::eColorAttachmentOutput: return "ColorAttachmentOutput"; 4216 case PipelineStageFlagBits2::eComputeShader: return "ComputeShader"; 4217 case PipelineStageFlagBits2::eAllTransfer: return "AllTransfer"; 4218 case PipelineStageFlagBits2::eBottomOfPipe: return "BottomOfPipe"; 4219 case PipelineStageFlagBits2::eHost: return "Host"; 4220 case PipelineStageFlagBits2::eAllGraphics: return "AllGraphics"; 4221 case PipelineStageFlagBits2::eAllCommands: return "AllCommands"; 4222 case PipelineStageFlagBits2::eCopy: return "Copy"; 4223 case PipelineStageFlagBits2::eResolve: return "Resolve"; 4224 case PipelineStageFlagBits2::eBlit: return "Blit"; 4225 case PipelineStageFlagBits2::eClear: return "Clear"; 4226 case PipelineStageFlagBits2::eIndexInput: return "IndexInput"; 4227 case PipelineStageFlagBits2::eVertexAttributeInput: return "VertexAttributeInput"; 4228 case PipelineStageFlagBits2::ePreRasterizationShaders: return "PreRasterizationShaders"; 4229 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 4230 case PipelineStageFlagBits2::eVideoDecodeKHR: return "VideoDecodeKHR"; 4231 case PipelineStageFlagBits2::eVideoEncodeKHR: return "VideoEncodeKHR"; 4232 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 4233 case PipelineStageFlagBits2::eTransformFeedbackEXT: return "TransformFeedbackEXT"; 4234 case PipelineStageFlagBits2::eConditionalRenderingEXT: return "ConditionalRenderingEXT"; 4235 case PipelineStageFlagBits2::eCommandPreprocessNV: return "CommandPreprocessNV"; 4236 case PipelineStageFlagBits2::eFragmentShadingRateAttachmentKHR: return "FragmentShadingRateAttachmentKHR"; 4237 case PipelineStageFlagBits2::eAccelerationStructureBuildKHR: return "AccelerationStructureBuildKHR"; 4238 case PipelineStageFlagBits2::eRayTracingShaderKHR: return "RayTracingShaderKHR"; 4239 case PipelineStageFlagBits2::eFragmentDensityProcessEXT: return "FragmentDensityProcessEXT"; 4240 case PipelineStageFlagBits2::eTaskShaderNV: return "TaskShaderNV"; 4241 case PipelineStageFlagBits2::eMeshShaderNV: return "MeshShaderNV"; 4242 case PipelineStageFlagBits2::eSubpassShadingHUAWEI: return "SubpassShadingHUAWEI"; 4243 case PipelineStageFlagBits2::eInvocationMaskHUAWEI: return "InvocationMaskHUAWEI"; 4244 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )"; 4245 } 4246 } 4247 4248 enum class AccessFlagBits2 : VkAccessFlags2 4249 { 4250 eNone = VK_ACCESS_2_NONE, 4251 eIndirectCommandRead = VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT, 4252 eIndexRead = VK_ACCESS_2_INDEX_READ_BIT, 4253 eVertexAttributeRead = VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT, 4254 eUniformRead = VK_ACCESS_2_UNIFORM_READ_BIT, 4255 eInputAttachmentRead = VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT, 4256 eShaderRead = VK_ACCESS_2_SHADER_READ_BIT, 4257 eShaderWrite = VK_ACCESS_2_SHADER_WRITE_BIT, 4258 eColorAttachmentRead = VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT, 4259 eColorAttachmentWrite = VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT, 4260 eDepthStencilAttachmentRead = VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT, 4261 eDepthStencilAttachmentWrite = VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, 4262 eTransferRead = VK_ACCESS_2_TRANSFER_READ_BIT, 4263 eTransferWrite = VK_ACCESS_2_TRANSFER_WRITE_BIT, 4264 eHostRead = VK_ACCESS_2_HOST_READ_BIT, 4265 eHostWrite = VK_ACCESS_2_HOST_WRITE_BIT, 4266 eMemoryRead = VK_ACCESS_2_MEMORY_READ_BIT, 4267 eMemoryWrite = VK_ACCESS_2_MEMORY_WRITE_BIT, 4268 eShaderSampledRead = VK_ACCESS_2_SHADER_SAMPLED_READ_BIT, 4269 eShaderStorageRead = VK_ACCESS_2_SHADER_STORAGE_READ_BIT, 4270 eShaderStorageWrite = VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT, 4271 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 4272 eVideoDecodeReadKHR = VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR, 4273 eVideoDecodeWriteKHR = VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR, 4274 eVideoEncodeReadKHR = VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR, 4275 eVideoEncodeWriteKHR = VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR, 4276 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 4277 eTransformFeedbackWriteEXT = VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT, 4278 eTransformFeedbackCounterReadEXT = VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT, 4279 eTransformFeedbackCounterWriteEXT = VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT, 4280 eConditionalRenderingReadEXT = VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT, 4281 eCommandPreprocessReadNV = VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV, 4282 eCommandPreprocessWriteNV = VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV, 4283 eFragmentShadingRateAttachmentReadKHR = VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, 4284 eAccelerationStructureReadKHR = VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR, 4285 eAccelerationStructureWriteKHR = VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR, 4286 eFragmentDensityMapReadEXT = VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT, 4287 eColorAttachmentReadNoncoherentEXT = VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT, 4288 eInvocationMaskReadHUAWEI = VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI, 4289 eAccelerationStructureReadNV = VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV, 4290 eAccelerationStructureWriteNV = VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV, 4291 eShadingRateImageReadNV = VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV 4292 }; 4293 using AccessFlagBits2KHR = AccessFlagBits2; 4294 to_string(AccessFlagBits2 value)4295 VULKAN_HPP_INLINE std::string to_string( AccessFlagBits2 value ) 4296 { 4297 switch ( value ) 4298 { 4299 case AccessFlagBits2::eNone: return "None"; 4300 case AccessFlagBits2::eIndirectCommandRead: return "IndirectCommandRead"; 4301 case AccessFlagBits2::eIndexRead: return "IndexRead"; 4302 case AccessFlagBits2::eVertexAttributeRead: return "VertexAttributeRead"; 4303 case AccessFlagBits2::eUniformRead: return "UniformRead"; 4304 case AccessFlagBits2::eInputAttachmentRead: return "InputAttachmentRead"; 4305 case AccessFlagBits2::eShaderRead: return "ShaderRead"; 4306 case AccessFlagBits2::eShaderWrite: return "ShaderWrite"; 4307 case AccessFlagBits2::eColorAttachmentRead: return "ColorAttachmentRead"; 4308 case AccessFlagBits2::eColorAttachmentWrite: return "ColorAttachmentWrite"; 4309 case AccessFlagBits2::eDepthStencilAttachmentRead: return "DepthStencilAttachmentRead"; 4310 case AccessFlagBits2::eDepthStencilAttachmentWrite: return "DepthStencilAttachmentWrite"; 4311 case AccessFlagBits2::eTransferRead: return "TransferRead"; 4312 case AccessFlagBits2::eTransferWrite: return "TransferWrite"; 4313 case AccessFlagBits2::eHostRead: return "HostRead"; 4314 case AccessFlagBits2::eHostWrite: return "HostWrite"; 4315 case AccessFlagBits2::eMemoryRead: return "MemoryRead"; 4316 case AccessFlagBits2::eMemoryWrite: return "MemoryWrite"; 4317 case AccessFlagBits2::eShaderSampledRead: return "ShaderSampledRead"; 4318 case AccessFlagBits2::eShaderStorageRead: return "ShaderStorageRead"; 4319 case AccessFlagBits2::eShaderStorageWrite: return "ShaderStorageWrite"; 4320 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 4321 case AccessFlagBits2::eVideoDecodeReadKHR: return "VideoDecodeReadKHR"; 4322 case AccessFlagBits2::eVideoDecodeWriteKHR: return "VideoDecodeWriteKHR"; 4323 case AccessFlagBits2::eVideoEncodeReadKHR: return "VideoEncodeReadKHR"; 4324 case AccessFlagBits2::eVideoEncodeWriteKHR: return "VideoEncodeWriteKHR"; 4325 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 4326 case AccessFlagBits2::eTransformFeedbackWriteEXT: return "TransformFeedbackWriteEXT"; 4327 case AccessFlagBits2::eTransformFeedbackCounterReadEXT: return "TransformFeedbackCounterReadEXT"; 4328 case AccessFlagBits2::eTransformFeedbackCounterWriteEXT: return "TransformFeedbackCounterWriteEXT"; 4329 case AccessFlagBits2::eConditionalRenderingReadEXT: return "ConditionalRenderingReadEXT"; 4330 case AccessFlagBits2::eCommandPreprocessReadNV: return "CommandPreprocessReadNV"; 4331 case AccessFlagBits2::eCommandPreprocessWriteNV: return "CommandPreprocessWriteNV"; 4332 case AccessFlagBits2::eFragmentShadingRateAttachmentReadKHR: return "FragmentShadingRateAttachmentReadKHR"; 4333 case AccessFlagBits2::eAccelerationStructureReadKHR: return "AccelerationStructureReadKHR"; 4334 case AccessFlagBits2::eAccelerationStructureWriteKHR: return "AccelerationStructureWriteKHR"; 4335 case AccessFlagBits2::eFragmentDensityMapReadEXT: return "FragmentDensityMapReadEXT"; 4336 case AccessFlagBits2::eColorAttachmentReadNoncoherentEXT: return "ColorAttachmentReadNoncoherentEXT"; 4337 case AccessFlagBits2::eInvocationMaskReadHUAWEI: return "InvocationMaskReadHUAWEI"; 4338 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )"; 4339 } 4340 } 4341 4342 enum class SubmitFlagBits : VkSubmitFlags 4343 { 4344 eProtected = VK_SUBMIT_PROTECTED_BIT 4345 }; 4346 using SubmitFlagBitsKHR = SubmitFlagBits; 4347 to_string(SubmitFlagBits value)4348 VULKAN_HPP_INLINE std::string to_string( SubmitFlagBits value ) 4349 { 4350 switch ( value ) 4351 { 4352 case SubmitFlagBits::eProtected: return "Protected"; 4353 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )"; 4354 } 4355 } 4356 4357 enum class RenderingFlagBits : VkRenderingFlags 4358 { 4359 eContentsSecondaryCommandBuffers = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT, 4360 eSuspending = VK_RENDERING_SUSPENDING_BIT, 4361 eResuming = VK_RENDERING_RESUMING_BIT 4362 }; 4363 using RenderingFlagBitsKHR = RenderingFlagBits; 4364 to_string(RenderingFlagBits value)4365 VULKAN_HPP_INLINE std::string to_string( RenderingFlagBits value ) 4366 { 4367 switch ( value ) 4368 { 4369 case RenderingFlagBits::eContentsSecondaryCommandBuffers: return "ContentsSecondaryCommandBuffers"; 4370 case RenderingFlagBits::eSuspending: return "Suspending"; 4371 case RenderingFlagBits::eResuming: return "Resuming"; 4372 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )"; 4373 } 4374 } 4375 4376 enum class FormatFeatureFlagBits2 : VkFormatFeatureFlags2 4377 { 4378 eSampledImage = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT, 4379 eStorageImage = VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT, 4380 eStorageImageAtomic = VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT, 4381 eUniformTexelBuffer = VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT, 4382 eStorageTexelBuffer = VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT, 4383 eStorageTexelBufferAtomic = VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT, 4384 eVertexBuffer = VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT, 4385 eColorAttachment = VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT, 4386 eColorAttachmentBlend = VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT, 4387 eDepthStencilAttachment = VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT, 4388 eBlitSrc = VK_FORMAT_FEATURE_2_BLIT_SRC_BIT, 4389 eBlitDst = VK_FORMAT_FEATURE_2_BLIT_DST_BIT, 4390 eSampledImageFilterLinear = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT, 4391 eSampledImageFilterCubic = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT, 4392 eTransferSrc = VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT, 4393 eTransferDst = VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT, 4394 eSampledImageFilterMinmax = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT, 4395 eMidpointChromaSamples = VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT, 4396 eSampledImageYcbcrConversionLinearFilter = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, 4397 eSampledImageYcbcrConversionSeparateReconstructionFilter = 4398 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, 4399 eSampledImageYcbcrConversionChromaReconstructionExplicit = 4400 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, 4401 eSampledImageYcbcrConversionChromaReconstructionExplicitForceable = 4402 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT, 4403 eDisjoint = VK_FORMAT_FEATURE_2_DISJOINT_BIT, 4404 eCositedChromaSamples = VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT, 4405 eStorageReadWithoutFormat = VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT, 4406 eStorageWriteWithoutFormat = VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT, 4407 eSampledImageDepthComparison = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT, 4408 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 4409 eVideoDecodeOutputKHR = VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR, 4410 eVideoDecodeDpbKHR = VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR, 4411 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 4412 eAccelerationStructureVertexBufferKHR = VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR, 4413 eFragmentDensityMapEXT = VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT, 4414 eFragmentShadingRateAttachmentKHR = VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 4415 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 4416 eVideoEncodeInputKHR = VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR, 4417 eVideoEncodeDpbKHR = VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR, 4418 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 4419 eLinearColorAttachmentNV = VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV, 4420 eSampledImageFilterCubicEXT = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT 4421 }; 4422 using FormatFeatureFlagBits2KHR = FormatFeatureFlagBits2; 4423 to_string(FormatFeatureFlagBits2 value)4424 VULKAN_HPP_INLINE std::string to_string( FormatFeatureFlagBits2 value ) 4425 { 4426 switch ( value ) 4427 { 4428 case FormatFeatureFlagBits2::eSampledImage: return "SampledImage"; 4429 case FormatFeatureFlagBits2::eStorageImage: return "StorageImage"; 4430 case FormatFeatureFlagBits2::eStorageImageAtomic: return "StorageImageAtomic"; 4431 case FormatFeatureFlagBits2::eUniformTexelBuffer: return "UniformTexelBuffer"; 4432 case FormatFeatureFlagBits2::eStorageTexelBuffer: return "StorageTexelBuffer"; 4433 case FormatFeatureFlagBits2::eStorageTexelBufferAtomic: return "StorageTexelBufferAtomic"; 4434 case FormatFeatureFlagBits2::eVertexBuffer: return "VertexBuffer"; 4435 case FormatFeatureFlagBits2::eColorAttachment: return "ColorAttachment"; 4436 case FormatFeatureFlagBits2::eColorAttachmentBlend: return "ColorAttachmentBlend"; 4437 case FormatFeatureFlagBits2::eDepthStencilAttachment: return "DepthStencilAttachment"; 4438 case FormatFeatureFlagBits2::eBlitSrc: return "BlitSrc"; 4439 case FormatFeatureFlagBits2::eBlitDst: return "BlitDst"; 4440 case FormatFeatureFlagBits2::eSampledImageFilterLinear: return "SampledImageFilterLinear"; 4441 case FormatFeatureFlagBits2::eSampledImageFilterCubic: return "SampledImageFilterCubic"; 4442 case FormatFeatureFlagBits2::eTransferSrc: return "TransferSrc"; 4443 case FormatFeatureFlagBits2::eTransferDst: return "TransferDst"; 4444 case FormatFeatureFlagBits2::eSampledImageFilterMinmax: return "SampledImageFilterMinmax"; 4445 case FormatFeatureFlagBits2::eMidpointChromaSamples: return "MidpointChromaSamples"; 4446 case FormatFeatureFlagBits2::eSampledImageYcbcrConversionLinearFilter: 4447 return "SampledImageYcbcrConversionLinearFilter"; 4448 case FormatFeatureFlagBits2::eSampledImageYcbcrConversionSeparateReconstructionFilter: 4449 return "SampledImageYcbcrConversionSeparateReconstructionFilter"; 4450 case FormatFeatureFlagBits2::eSampledImageYcbcrConversionChromaReconstructionExplicit: 4451 return "SampledImageYcbcrConversionChromaReconstructionExplicit"; 4452 case FormatFeatureFlagBits2::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable: 4453 return "SampledImageYcbcrConversionChromaReconstructionExplicitForceable"; 4454 case FormatFeatureFlagBits2::eDisjoint: return "Disjoint"; 4455 case FormatFeatureFlagBits2::eCositedChromaSamples: return "CositedChromaSamples"; 4456 case FormatFeatureFlagBits2::eStorageReadWithoutFormat: return "StorageReadWithoutFormat"; 4457 case FormatFeatureFlagBits2::eStorageWriteWithoutFormat: return "StorageWriteWithoutFormat"; 4458 case FormatFeatureFlagBits2::eSampledImageDepthComparison: return "SampledImageDepthComparison"; 4459 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 4460 case FormatFeatureFlagBits2::eVideoDecodeOutputKHR: return "VideoDecodeOutputKHR"; 4461 case FormatFeatureFlagBits2::eVideoDecodeDpbKHR: return "VideoDecodeDpbKHR"; 4462 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 4463 case FormatFeatureFlagBits2::eAccelerationStructureVertexBufferKHR: return "AccelerationStructureVertexBufferKHR"; 4464 case FormatFeatureFlagBits2::eFragmentDensityMapEXT: return "FragmentDensityMapEXT"; 4465 case FormatFeatureFlagBits2::eFragmentShadingRateAttachmentKHR: return "FragmentShadingRateAttachmentKHR"; 4466 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 4467 case FormatFeatureFlagBits2::eVideoEncodeInputKHR: return "VideoEncodeInputKHR"; 4468 case FormatFeatureFlagBits2::eVideoEncodeDpbKHR: return "VideoEncodeDpbKHR"; 4469 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 4470 case FormatFeatureFlagBits2::eLinearColorAttachmentNV: return "LinearColorAttachmentNV"; 4471 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )"; 4472 } 4473 } 4474 4475 //=== VK_KHR_surface === 4476 4477 enum class SurfaceTransformFlagBitsKHR : VkSurfaceTransformFlagsKHR 4478 { 4479 eIdentity = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR, 4480 eRotate90 = VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR, 4481 eRotate180 = VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR, 4482 eRotate270 = VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR, 4483 eHorizontalMirror = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR, 4484 eHorizontalMirrorRotate90 = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR, 4485 eHorizontalMirrorRotate180 = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR, 4486 eHorizontalMirrorRotate270 = VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR, 4487 eInherit = VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR 4488 }; 4489 4490 using SurfaceTransformFlagsKHR = Flags<SurfaceTransformFlagBitsKHR>; 4491 4492 template <> 4493 struct FlagTraits<SurfaceTransformFlagBitsKHR> 4494 { 4495 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4496 static VULKAN_HPP_CONST_OR_CONSTEXPR SurfaceTransformFlagsKHR allFlags = 4497 SurfaceTransformFlagBitsKHR::eIdentity | SurfaceTransformFlagBitsKHR::eRotate90 | SurfaceTransformFlagBitsKHR::eRotate180 | 4498 SurfaceTransformFlagBitsKHR::eRotate270 | SurfaceTransformFlagBitsKHR::eHorizontalMirror | SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate90 | 4499 SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate180 | SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate270 | SurfaceTransformFlagBitsKHR::eInherit; 4500 }; 4501 4502 enum class PresentModeKHR 4503 { 4504 eImmediate = VK_PRESENT_MODE_IMMEDIATE_KHR, 4505 eMailbox = VK_PRESENT_MODE_MAILBOX_KHR, 4506 eFifo = VK_PRESENT_MODE_FIFO_KHR, 4507 eFifoRelaxed = VK_PRESENT_MODE_FIFO_RELAXED_KHR, 4508 eSharedDemandRefresh = VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR, 4509 eSharedContinuousRefresh = VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR 4510 }; 4511 4512 enum class ColorSpaceKHR 4513 { 4514 eSrgbNonlinear = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, 4515 eDisplayP3NonlinearEXT = VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT, 4516 eExtendedSrgbLinearEXT = VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT, 4517 eDisplayP3LinearEXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT, 4518 eDciP3NonlinearEXT = VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT, 4519 eBt709LinearEXT = VK_COLOR_SPACE_BT709_LINEAR_EXT, 4520 eBt709NonlinearEXT = VK_COLOR_SPACE_BT709_NONLINEAR_EXT, 4521 eBt2020LinearEXT = VK_COLOR_SPACE_BT2020_LINEAR_EXT, 4522 eHdr10St2084EXT = VK_COLOR_SPACE_HDR10_ST2084_EXT, 4523 eDolbyvisionEXT = VK_COLOR_SPACE_DOLBYVISION_EXT, 4524 eHdr10HlgEXT = VK_COLOR_SPACE_HDR10_HLG_EXT, 4525 eAdobergbLinearEXT = VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT, 4526 eAdobergbNonlinearEXT = VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT, 4527 ePassThroughEXT = VK_COLOR_SPACE_PASS_THROUGH_EXT, 4528 eExtendedSrgbNonlinearEXT = VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT, 4529 eDisplayNativeAMD = VK_COLOR_SPACE_DISPLAY_NATIVE_AMD, 4530 eVkColorspaceSrgbNonlinear = VK_COLORSPACE_SRGB_NONLINEAR_KHR, 4531 eDciP3LinearEXT = VK_COLOR_SPACE_DCI_P3_LINEAR_EXT 4532 }; 4533 4534 enum class CompositeAlphaFlagBitsKHR : VkCompositeAlphaFlagsKHR 4535 { 4536 eOpaque = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR, 4537 ePreMultiplied = VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR, 4538 ePostMultiplied = VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR, 4539 eInherit = VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR 4540 }; 4541 4542 using CompositeAlphaFlagsKHR = Flags<CompositeAlphaFlagBitsKHR>; 4543 4544 template <> 4545 struct FlagTraits<CompositeAlphaFlagBitsKHR> 4546 { 4547 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4548 static VULKAN_HPP_CONST_OR_CONSTEXPR CompositeAlphaFlagsKHR allFlags = CompositeAlphaFlagBitsKHR::eOpaque | CompositeAlphaFlagBitsKHR::ePreMultiplied | 4549 CompositeAlphaFlagBitsKHR::ePostMultiplied | CompositeAlphaFlagBitsKHR::eInherit; 4550 }; 4551 4552 //=== VK_KHR_swapchain === 4553 4554 enum class SwapchainCreateFlagBitsKHR : VkSwapchainCreateFlagsKHR 4555 { 4556 eSplitInstanceBindRegions = VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR, 4557 eProtected = VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR, 4558 eMutableFormat = VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR, 4559 eDeferredMemoryAllocationEXT = VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT 4560 }; 4561 4562 using SwapchainCreateFlagsKHR = Flags<SwapchainCreateFlagBitsKHR>; 4563 4564 template <> 4565 struct FlagTraits<SwapchainCreateFlagBitsKHR> 4566 { 4567 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4568 static VULKAN_HPP_CONST_OR_CONSTEXPR SwapchainCreateFlagsKHR allFlags = 4569 SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions | SwapchainCreateFlagBitsKHR::eProtected | SwapchainCreateFlagBitsKHR::eMutableFormat | 4570 SwapchainCreateFlagBitsKHR::eDeferredMemoryAllocationEXT; 4571 }; 4572 4573 enum class DeviceGroupPresentModeFlagBitsKHR : VkDeviceGroupPresentModeFlagsKHR 4574 { 4575 eLocal = VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR, 4576 eRemote = VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR, 4577 eSum = VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR, 4578 eLocalMultiDevice = VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR 4579 }; 4580 4581 using DeviceGroupPresentModeFlagsKHR = Flags<DeviceGroupPresentModeFlagBitsKHR>; 4582 4583 template <> 4584 struct FlagTraits<DeviceGroupPresentModeFlagBitsKHR> 4585 { 4586 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4587 static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceGroupPresentModeFlagsKHR allFlags = 4588 DeviceGroupPresentModeFlagBitsKHR::eLocal | DeviceGroupPresentModeFlagBitsKHR::eRemote | DeviceGroupPresentModeFlagBitsKHR::eSum | 4589 DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice; 4590 }; 4591 4592 //=== VK_KHR_display === 4593 4594 enum class DisplayPlaneAlphaFlagBitsKHR : VkDisplayPlaneAlphaFlagsKHR 4595 { 4596 eOpaque = VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR, 4597 eGlobal = VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR, 4598 ePerPixel = VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR, 4599 ePerPixelPremultiplied = VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR 4600 }; 4601 4602 using DisplayPlaneAlphaFlagsKHR = Flags<DisplayPlaneAlphaFlagBitsKHR>; 4603 4604 template <> 4605 struct FlagTraits<DisplayPlaneAlphaFlagBitsKHR> 4606 { 4607 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4608 static VULKAN_HPP_CONST_OR_CONSTEXPR DisplayPlaneAlphaFlagsKHR allFlags = DisplayPlaneAlphaFlagBitsKHR::eOpaque | DisplayPlaneAlphaFlagBitsKHR::eGlobal | 4609 DisplayPlaneAlphaFlagBitsKHR::ePerPixel | 4610 DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied; 4611 }; 4612 4613 enum class DisplayModeCreateFlagBitsKHR : VkDisplayModeCreateFlagsKHR 4614 { 4615 }; 4616 4617 using DisplayModeCreateFlagsKHR = Flags<DisplayModeCreateFlagBitsKHR>; 4618 4619 template <> 4620 struct FlagTraits<DisplayModeCreateFlagBitsKHR> 4621 { 4622 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4623 static VULKAN_HPP_CONST_OR_CONSTEXPR DisplayModeCreateFlagsKHR allFlags = {}; 4624 }; 4625 4626 enum class DisplaySurfaceCreateFlagBitsKHR : VkDisplaySurfaceCreateFlagsKHR 4627 { 4628 }; 4629 4630 using DisplaySurfaceCreateFlagsKHR = Flags<DisplaySurfaceCreateFlagBitsKHR>; 4631 4632 template <> 4633 struct FlagTraits<DisplaySurfaceCreateFlagBitsKHR> 4634 { 4635 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4636 static VULKAN_HPP_CONST_OR_CONSTEXPR DisplaySurfaceCreateFlagsKHR allFlags = {}; 4637 }; 4638 4639 #if defined( VK_USE_PLATFORM_XLIB_KHR ) 4640 //=== VK_KHR_xlib_surface === 4641 4642 enum class XlibSurfaceCreateFlagBitsKHR : VkXlibSurfaceCreateFlagsKHR 4643 { 4644 }; 4645 4646 using XlibSurfaceCreateFlagsKHR = Flags<XlibSurfaceCreateFlagBitsKHR>; 4647 4648 template <> 4649 struct FlagTraits<XlibSurfaceCreateFlagBitsKHR> 4650 { 4651 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4652 static VULKAN_HPP_CONST_OR_CONSTEXPR XlibSurfaceCreateFlagsKHR allFlags = {}; 4653 }; 4654 #endif /*VK_USE_PLATFORM_XLIB_KHR*/ 4655 4656 #if defined( VK_USE_PLATFORM_XCB_KHR ) 4657 //=== VK_KHR_xcb_surface === 4658 4659 enum class XcbSurfaceCreateFlagBitsKHR : VkXcbSurfaceCreateFlagsKHR 4660 { 4661 }; 4662 4663 using XcbSurfaceCreateFlagsKHR = Flags<XcbSurfaceCreateFlagBitsKHR>; 4664 4665 template <> 4666 struct FlagTraits<XcbSurfaceCreateFlagBitsKHR> 4667 { 4668 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4669 static VULKAN_HPP_CONST_OR_CONSTEXPR XcbSurfaceCreateFlagsKHR allFlags = {}; 4670 }; 4671 #endif /*VK_USE_PLATFORM_XCB_KHR*/ 4672 4673 #if defined( VK_USE_PLATFORM_WAYLAND_KHR ) 4674 //=== VK_KHR_wayland_surface === 4675 4676 enum class WaylandSurfaceCreateFlagBitsKHR : VkWaylandSurfaceCreateFlagsKHR 4677 { 4678 }; 4679 4680 using WaylandSurfaceCreateFlagsKHR = Flags<WaylandSurfaceCreateFlagBitsKHR>; 4681 4682 template <> 4683 struct FlagTraits<WaylandSurfaceCreateFlagBitsKHR> 4684 { 4685 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4686 static VULKAN_HPP_CONST_OR_CONSTEXPR WaylandSurfaceCreateFlagsKHR allFlags = {}; 4687 }; 4688 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ 4689 4690 #if defined( VK_USE_PLATFORM_ANDROID_KHR ) 4691 //=== VK_KHR_android_surface === 4692 4693 enum class AndroidSurfaceCreateFlagBitsKHR : VkAndroidSurfaceCreateFlagsKHR 4694 { 4695 }; 4696 4697 using AndroidSurfaceCreateFlagsKHR = Flags<AndroidSurfaceCreateFlagBitsKHR>; 4698 4699 template <> 4700 struct FlagTraits<AndroidSurfaceCreateFlagBitsKHR> 4701 { 4702 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4703 static VULKAN_HPP_CONST_OR_CONSTEXPR AndroidSurfaceCreateFlagsKHR allFlags = {}; 4704 }; 4705 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ 4706 4707 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 4708 //=== VK_KHR_win32_surface === 4709 4710 enum class Win32SurfaceCreateFlagBitsKHR : VkWin32SurfaceCreateFlagsKHR 4711 { 4712 }; 4713 4714 using Win32SurfaceCreateFlagsKHR = Flags<Win32SurfaceCreateFlagBitsKHR>; 4715 4716 template <> 4717 struct FlagTraits<Win32SurfaceCreateFlagBitsKHR> 4718 { 4719 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4720 static VULKAN_HPP_CONST_OR_CONSTEXPR Win32SurfaceCreateFlagsKHR allFlags = {}; 4721 }; 4722 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 4723 4724 //=== VK_EXT_debug_report === 4725 4726 enum class DebugReportFlagBitsEXT : VkDebugReportFlagsEXT 4727 { 4728 eInformation = VK_DEBUG_REPORT_INFORMATION_BIT_EXT, 4729 eWarning = VK_DEBUG_REPORT_WARNING_BIT_EXT, 4730 ePerformanceWarning = VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT, 4731 eError = VK_DEBUG_REPORT_ERROR_BIT_EXT, 4732 eDebug = VK_DEBUG_REPORT_DEBUG_BIT_EXT 4733 }; 4734 4735 using DebugReportFlagsEXT = Flags<DebugReportFlagBitsEXT>; 4736 4737 template <> 4738 struct FlagTraits<DebugReportFlagBitsEXT> 4739 { 4740 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4741 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportFlagsEXT allFlags = DebugReportFlagBitsEXT::eInformation | DebugReportFlagBitsEXT::eWarning | 4742 DebugReportFlagBitsEXT::ePerformanceWarning | DebugReportFlagBitsEXT::eError | 4743 DebugReportFlagBitsEXT::eDebug; 4744 }; 4745 4746 enum class DebugReportObjectTypeEXT 4747 { 4748 eUnknown = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 4749 eInstance = VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, 4750 ePhysicalDevice = VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, 4751 eDevice = VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, 4752 eQueue = VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT, 4753 eSemaphore = VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT, 4754 eCommandBuffer = VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, 4755 eFence = VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, 4756 eDeviceMemory = VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, 4757 eBuffer = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, 4758 eImage = VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, 4759 eEvent = VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT, 4760 eQueryPool = VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT, 4761 eBufferView = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT, 4762 eImageView = VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT, 4763 eShaderModule = VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT, 4764 ePipelineCache = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT, 4765 ePipelineLayout = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT, 4766 eRenderPass = VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT, 4767 ePipeline = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT, 4768 eDescriptorSetLayout = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT, 4769 eSampler = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT, 4770 eDescriptorPool = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT, 4771 eDescriptorSet = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT, 4772 eFramebuffer = VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT, 4773 eCommandPool = VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT, 4774 eSurfaceKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT, 4775 eSwapchainKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT, 4776 eDebugReportCallbackEXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT, 4777 eDisplayKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT, 4778 eDisplayModeKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT, 4779 eValidationCacheEXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT, 4780 eSamplerYcbcrConversion = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT, 4781 eDescriptorUpdateTemplate = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT, 4782 eCuModuleNVX = VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT, 4783 eCuFunctionNVX = VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT, 4784 eAccelerationStructureKHR = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT, 4785 eAccelerationStructureNV = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT, 4786 #if defined( VK_USE_PLATFORM_FUCHSIA ) 4787 eBufferCollectionFUCHSIA = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT, 4788 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 4789 eDebugReport = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT, 4790 eDescriptorUpdateTemplateKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT, 4791 eSamplerYcbcrConversionKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT, 4792 eValidationCache = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT 4793 }; 4794 4795 //=== VK_AMD_rasterization_order === 4796 4797 enum class RasterizationOrderAMD 4798 { 4799 eStrict = VK_RASTERIZATION_ORDER_STRICT_AMD, 4800 eRelaxed = VK_RASTERIZATION_ORDER_RELAXED_AMD 4801 }; 4802 4803 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 4804 //=== VK_KHR_video_queue === 4805 4806 enum class VideoCodecOperationFlagBitsKHR : VkVideoCodecOperationFlagsKHR 4807 { 4808 eNone = VK_VIDEO_CODEC_OPERATION_NONE_KHR, 4809 eEncodeH264EXT = VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT, 4810 eEncodeH265EXT = VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT, 4811 eDecodeH264EXT = VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_EXT, 4812 eDecodeH265EXT = VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_EXT 4813 }; 4814 4815 using VideoCodecOperationFlagsKHR = Flags<VideoCodecOperationFlagBitsKHR>; 4816 4817 template <> 4818 struct FlagTraits<VideoCodecOperationFlagBitsKHR> 4819 { 4820 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4821 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoCodecOperationFlagsKHR allFlags = 4822 VideoCodecOperationFlagBitsKHR::eNone | VideoCodecOperationFlagBitsKHR::eEncodeH264EXT | VideoCodecOperationFlagBitsKHR::eEncodeH265EXT | 4823 VideoCodecOperationFlagBitsKHR::eDecodeH264EXT | VideoCodecOperationFlagBitsKHR::eDecodeH265EXT; 4824 }; 4825 4826 enum class VideoChromaSubsamplingFlagBitsKHR : VkVideoChromaSubsamplingFlagsKHR 4827 { 4828 eInvalid = VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR, 4829 eMonochrome = VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR, 4830 e420 = VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR, 4831 e422 = VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR, 4832 e444 = VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR 4833 }; 4834 4835 using VideoChromaSubsamplingFlagsKHR = Flags<VideoChromaSubsamplingFlagBitsKHR>; 4836 4837 template <> 4838 struct FlagTraits<VideoChromaSubsamplingFlagBitsKHR> 4839 { 4840 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4841 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoChromaSubsamplingFlagsKHR allFlags = 4842 VideoChromaSubsamplingFlagBitsKHR::eInvalid | VideoChromaSubsamplingFlagBitsKHR::eMonochrome | VideoChromaSubsamplingFlagBitsKHR::e420 | 4843 VideoChromaSubsamplingFlagBitsKHR::e422 | VideoChromaSubsamplingFlagBitsKHR::e444; 4844 }; 4845 4846 enum class VideoComponentBitDepthFlagBitsKHR : VkVideoComponentBitDepthFlagsKHR 4847 { 4848 eInvalid = VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR, 4849 e8 = VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR, 4850 e10 = VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR, 4851 e12 = VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR 4852 }; 4853 4854 using VideoComponentBitDepthFlagsKHR = Flags<VideoComponentBitDepthFlagBitsKHR>; 4855 4856 template <> 4857 struct FlagTraits<VideoComponentBitDepthFlagBitsKHR> 4858 { 4859 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4860 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoComponentBitDepthFlagsKHR allFlags = 4861 VideoComponentBitDepthFlagBitsKHR::eInvalid | VideoComponentBitDepthFlagBitsKHR::e8 | VideoComponentBitDepthFlagBitsKHR::e10 | 4862 VideoComponentBitDepthFlagBitsKHR::e12; 4863 }; 4864 4865 enum class VideoCapabilityFlagBitsKHR : VkVideoCapabilityFlagsKHR 4866 { 4867 eProtectedContent = VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR, 4868 eSeparateReferenceImages = VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR 4869 }; 4870 4871 using VideoCapabilityFlagsKHR = Flags<VideoCapabilityFlagBitsKHR>; 4872 4873 template <> 4874 struct FlagTraits<VideoCapabilityFlagBitsKHR> 4875 { 4876 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4877 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoCapabilityFlagsKHR allFlags = 4878 VideoCapabilityFlagBitsKHR::eProtectedContent | VideoCapabilityFlagBitsKHR::eSeparateReferenceImages; 4879 }; 4880 4881 enum class VideoSessionCreateFlagBitsKHR : VkVideoSessionCreateFlagsKHR 4882 { 4883 eProtectedContent = VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR 4884 }; 4885 4886 using VideoSessionCreateFlagsKHR = Flags<VideoSessionCreateFlagBitsKHR>; 4887 4888 template <> 4889 struct FlagTraits<VideoSessionCreateFlagBitsKHR> 4890 { 4891 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4892 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoSessionCreateFlagsKHR allFlags = VideoSessionCreateFlagBitsKHR::eProtectedContent; 4893 }; 4894 4895 enum class VideoCodingControlFlagBitsKHR : VkVideoCodingControlFlagsKHR 4896 { 4897 eReset = VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR, 4898 eEncodeRateControl = VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR, 4899 eEncodeRateControlLayer = VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_LAYER_BIT_KHR 4900 }; 4901 4902 using VideoCodingControlFlagsKHR = Flags<VideoCodingControlFlagBitsKHR>; 4903 4904 template <> 4905 struct FlagTraits<VideoCodingControlFlagBitsKHR> 4906 { 4907 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4908 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoCodingControlFlagsKHR allFlags = 4909 VideoCodingControlFlagBitsKHR::eReset | VideoCodingControlFlagBitsKHR::eEncodeRateControl | VideoCodingControlFlagBitsKHR::eEncodeRateControlLayer; 4910 }; 4911 4912 enum class QueryResultStatusKHR 4913 { 4914 eError = VK_QUERY_RESULT_STATUS_ERROR_KHR, 4915 eNotReady = VK_QUERY_RESULT_STATUS_NOT_READY_KHR, 4916 eComplete = VK_QUERY_RESULT_STATUS_COMPLETE_KHR 4917 }; 4918 4919 enum class VideoSessionParametersCreateFlagBitsKHR : VkVideoSessionParametersCreateFlagsKHR 4920 { 4921 }; 4922 4923 using VideoSessionParametersCreateFlagsKHR = Flags<VideoSessionParametersCreateFlagBitsKHR>; 4924 4925 template <> 4926 struct FlagTraits<VideoSessionParametersCreateFlagBitsKHR> 4927 { 4928 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4929 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoSessionParametersCreateFlagsKHR allFlags = {}; 4930 }; 4931 4932 enum class VideoBeginCodingFlagBitsKHR : VkVideoBeginCodingFlagsKHR 4933 { 4934 }; 4935 4936 using VideoBeginCodingFlagsKHR = Flags<VideoBeginCodingFlagBitsKHR>; 4937 4938 template <> 4939 struct FlagTraits<VideoBeginCodingFlagBitsKHR> 4940 { 4941 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4942 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoBeginCodingFlagsKHR allFlags = {}; 4943 }; 4944 4945 enum class VideoEndCodingFlagBitsKHR : VkVideoEndCodingFlagsKHR 4946 { 4947 }; 4948 4949 using VideoEndCodingFlagsKHR = Flags<VideoEndCodingFlagBitsKHR>; 4950 4951 template <> 4952 struct FlagTraits<VideoEndCodingFlagBitsKHR> 4953 { 4954 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4955 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEndCodingFlagsKHR allFlags = {}; 4956 }; 4957 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 4958 4959 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 4960 //=== VK_KHR_video_decode_queue === 4961 4962 enum class VideoDecodeCapabilityFlagBitsKHR : VkVideoDecodeCapabilityFlagsKHR 4963 { 4964 eDpbAndOutputCoincide = VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR, 4965 eDpbAndOutputDistinct = VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR 4966 }; 4967 4968 using VideoDecodeCapabilityFlagsKHR = Flags<VideoDecodeCapabilityFlagBitsKHR>; 4969 4970 template <> 4971 struct FlagTraits<VideoDecodeCapabilityFlagBitsKHR> 4972 { 4973 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4974 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoDecodeCapabilityFlagsKHR allFlags = 4975 VideoDecodeCapabilityFlagBitsKHR::eDpbAndOutputCoincide | VideoDecodeCapabilityFlagBitsKHR::eDpbAndOutputDistinct; 4976 }; 4977 4978 enum class VideoDecodeUsageFlagBitsKHR : VkVideoDecodeUsageFlagsKHR 4979 { 4980 eDefault = VK_VIDEO_DECODE_USAGE_DEFAULT_KHR, 4981 eTranscoding = VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR, 4982 eOffline = VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR, 4983 eStreaming = VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR 4984 }; 4985 4986 using VideoDecodeUsageFlagsKHR = Flags<VideoDecodeUsageFlagBitsKHR>; 4987 4988 template <> 4989 struct FlagTraits<VideoDecodeUsageFlagBitsKHR> 4990 { 4991 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 4992 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoDecodeUsageFlagsKHR allFlags = VideoDecodeUsageFlagBitsKHR::eDefault | VideoDecodeUsageFlagBitsKHR::eTranscoding | 4993 VideoDecodeUsageFlagBitsKHR::eOffline | VideoDecodeUsageFlagBitsKHR::eStreaming; 4994 }; 4995 4996 enum class VideoDecodeFlagBitsKHR : VkVideoDecodeFlagsKHR 4997 { 4998 }; 4999 5000 using VideoDecodeFlagsKHR = Flags<VideoDecodeFlagBitsKHR>; 5001 5002 template <> 5003 struct FlagTraits<VideoDecodeFlagBitsKHR> 5004 { 5005 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5006 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoDecodeFlagsKHR allFlags = {}; 5007 }; 5008 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 5009 5010 //=== VK_EXT_transform_feedback === 5011 5012 enum class PipelineRasterizationStateStreamCreateFlagBitsEXT : VkPipelineRasterizationStateStreamCreateFlagsEXT 5013 { 5014 }; 5015 5016 using PipelineRasterizationStateStreamCreateFlagsEXT = Flags<PipelineRasterizationStateStreamCreateFlagBitsEXT>; 5017 5018 template <> 5019 struct FlagTraits<PipelineRasterizationStateStreamCreateFlagBitsEXT> 5020 { 5021 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5022 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineRasterizationStateStreamCreateFlagsEXT allFlags = {}; 5023 }; 5024 5025 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 5026 //=== VK_EXT_video_encode_h264 === 5027 5028 enum class VideoEncodeH264CapabilityFlagBitsEXT : VkVideoEncodeH264CapabilityFlagsEXT 5029 { 5030 eDirect8X8InferenceEnabled = VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_ENABLED_BIT_EXT, 5031 eDirect8X8InferenceDisabled = VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_DISABLED_BIT_EXT, 5032 eSeparateColourPlane = VK_VIDEO_ENCODE_H264_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT, 5033 eQpprimeYZeroTransformBypass = VK_VIDEO_ENCODE_H264_CAPABILITY_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_BIT_EXT, 5034 eScalingLists = VK_VIDEO_ENCODE_H264_CAPABILITY_SCALING_LISTS_BIT_EXT, 5035 eHrdCompliance = VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_EXT, 5036 eChromaQpOffset = VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT, 5037 eSecondChromaQpOffset = VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT, 5038 ePicInitQpMinus26 = VK_VIDEO_ENCODE_H264_CAPABILITY_PIC_INIT_QP_MINUS26_BIT_EXT, 5039 eWeightedPred = VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_BIT_EXT, 5040 eWeightedBipredExplicit = VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_EXPLICIT_BIT_EXT, 5041 eWeightedBipredImplicit = VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_IMPLICIT_BIT_EXT, 5042 eWeightedPredNoTable = VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT, 5043 eTransform8X8 = VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT, 5044 eCabac = VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT, 5045 eCavlc = VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT, 5046 eDeblockingFilterDisabled = VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT, 5047 eDeblockingFilterEnabled = VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT, 5048 eDeblockingFilterPartial = VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT, 5049 eDisableDirectSpatialMvPred = VK_VIDEO_ENCODE_H264_CAPABILITY_DISABLE_DIRECT_SPATIAL_MV_PRED_BIT_EXT, 5050 eMultipleSlicePerFrame = VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT, 5051 eSliceMbCount = VK_VIDEO_ENCODE_H264_CAPABILITY_SLICE_MB_COUNT_BIT_EXT, 5052 eRowUnalignedSlice = VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT, 5053 eDifferentSliceType = VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT, 5054 eBFrameInL1List = VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT 5055 }; 5056 5057 using VideoEncodeH264CapabilityFlagsEXT = Flags<VideoEncodeH264CapabilityFlagBitsEXT>; 5058 5059 template <> 5060 struct FlagTraits<VideoEncodeH264CapabilityFlagBitsEXT> 5061 { 5062 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5063 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH264CapabilityFlagsEXT allFlags = 5064 VideoEncodeH264CapabilityFlagBitsEXT::eDirect8X8InferenceEnabled | VideoEncodeH264CapabilityFlagBitsEXT::eDirect8X8InferenceDisabled | 5065 VideoEncodeH264CapabilityFlagBitsEXT::eSeparateColourPlane | VideoEncodeH264CapabilityFlagBitsEXT::eQpprimeYZeroTransformBypass | 5066 VideoEncodeH264CapabilityFlagBitsEXT::eScalingLists | VideoEncodeH264CapabilityFlagBitsEXT::eHrdCompliance | 5067 VideoEncodeH264CapabilityFlagBitsEXT::eChromaQpOffset | VideoEncodeH264CapabilityFlagBitsEXT::eSecondChromaQpOffset | 5068 VideoEncodeH264CapabilityFlagBitsEXT::ePicInitQpMinus26 | VideoEncodeH264CapabilityFlagBitsEXT::eWeightedPred | 5069 VideoEncodeH264CapabilityFlagBitsEXT::eWeightedBipredExplicit | VideoEncodeH264CapabilityFlagBitsEXT::eWeightedBipredImplicit | 5070 VideoEncodeH264CapabilityFlagBitsEXT::eWeightedPredNoTable | VideoEncodeH264CapabilityFlagBitsEXT::eTransform8X8 | 5071 VideoEncodeH264CapabilityFlagBitsEXT::eCabac | VideoEncodeH264CapabilityFlagBitsEXT::eCavlc | 5072 VideoEncodeH264CapabilityFlagBitsEXT::eDeblockingFilterDisabled | VideoEncodeH264CapabilityFlagBitsEXT::eDeblockingFilterEnabled | 5073 VideoEncodeH264CapabilityFlagBitsEXT::eDeblockingFilterPartial | VideoEncodeH264CapabilityFlagBitsEXT::eDisableDirectSpatialMvPred | 5074 VideoEncodeH264CapabilityFlagBitsEXT::eMultipleSlicePerFrame | VideoEncodeH264CapabilityFlagBitsEXT::eSliceMbCount | 5075 VideoEncodeH264CapabilityFlagBitsEXT::eRowUnalignedSlice | VideoEncodeH264CapabilityFlagBitsEXT::eDifferentSliceType | 5076 VideoEncodeH264CapabilityFlagBitsEXT::eBFrameInL1List; 5077 }; 5078 5079 enum class VideoEncodeH264InputModeFlagBitsEXT : VkVideoEncodeH264InputModeFlagsEXT 5080 { 5081 eFrame = VK_VIDEO_ENCODE_H264_INPUT_MODE_FRAME_BIT_EXT, 5082 eSlice = VK_VIDEO_ENCODE_H264_INPUT_MODE_SLICE_BIT_EXT, 5083 eNonVcl = VK_VIDEO_ENCODE_H264_INPUT_MODE_NON_VCL_BIT_EXT 5084 }; 5085 5086 using VideoEncodeH264InputModeFlagsEXT = Flags<VideoEncodeH264InputModeFlagBitsEXT>; 5087 5088 template <> 5089 struct FlagTraits<VideoEncodeH264InputModeFlagBitsEXT> 5090 { 5091 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5092 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH264InputModeFlagsEXT allFlags = 5093 VideoEncodeH264InputModeFlagBitsEXT::eFrame | VideoEncodeH264InputModeFlagBitsEXT::eSlice | VideoEncodeH264InputModeFlagBitsEXT::eNonVcl; 5094 }; 5095 5096 enum class VideoEncodeH264OutputModeFlagBitsEXT : VkVideoEncodeH264OutputModeFlagsEXT 5097 { 5098 eFrame = VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FRAME_BIT_EXT, 5099 eSlice = VK_VIDEO_ENCODE_H264_OUTPUT_MODE_SLICE_BIT_EXT, 5100 eNonVcl = VK_VIDEO_ENCODE_H264_OUTPUT_MODE_NON_VCL_BIT_EXT 5101 }; 5102 5103 using VideoEncodeH264OutputModeFlagsEXT = Flags<VideoEncodeH264OutputModeFlagBitsEXT>; 5104 5105 template <> 5106 struct FlagTraits<VideoEncodeH264OutputModeFlagBitsEXT> 5107 { 5108 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5109 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH264OutputModeFlagsEXT allFlags = 5110 VideoEncodeH264OutputModeFlagBitsEXT::eFrame | VideoEncodeH264OutputModeFlagBitsEXT::eSlice | VideoEncodeH264OutputModeFlagBitsEXT::eNonVcl; 5111 }; 5112 5113 enum class VideoEncodeH264RateControlStructureEXT 5114 { 5115 eUnknown = VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT, 5116 eFlat = VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_FLAT_EXT, 5117 eDyadic = VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_DYADIC_EXT 5118 }; 5119 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 5120 5121 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 5122 //=== VK_EXT_video_encode_h265 === 5123 5124 enum class VideoEncodeH265CapabilityFlagBitsEXT : VkVideoEncodeH265CapabilityFlagsEXT 5125 { 5126 eSeparateColourPlane = VK_VIDEO_ENCODE_H265_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT, 5127 eScalingLists = VK_VIDEO_ENCODE_H265_CAPABILITY_SCALING_LISTS_BIT_EXT, 5128 eSampleAdaptiveOffsetEnabled = VK_VIDEO_ENCODE_H265_CAPABILITY_SAMPLE_ADAPTIVE_OFFSET_ENABLED_BIT_EXT, 5129 ePcmEnable = VK_VIDEO_ENCODE_H265_CAPABILITY_PCM_ENABLE_BIT_EXT, 5130 eSpsTemporalMvpEnabled = VK_VIDEO_ENCODE_H265_CAPABILITY_SPS_TEMPORAL_MVP_ENABLED_BIT_EXT, 5131 eHrdCompliance = VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_EXT, 5132 eInitQpMinus26 = VK_VIDEO_ENCODE_H265_CAPABILITY_INIT_QP_MINUS26_BIT_EXT, 5133 eLog2ParallelMergeLevelMinus2 = VK_VIDEO_ENCODE_H265_CAPABILITY_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_EXT, 5134 eSignDataHidingEnabled = VK_VIDEO_ENCODE_H265_CAPABILITY_SIGN_DATA_HIDING_ENABLED_BIT_EXT, 5135 eTransformSkipEnabled = VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_ENABLED_BIT_EXT, 5136 eTransformSkipDisabled = VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_DISABLED_BIT_EXT, 5137 ePpsSliceChromaQpOffsetsPresent = VK_VIDEO_ENCODE_H265_CAPABILITY_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_BIT_EXT, 5138 eWeightedPred = VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_BIT_EXT, 5139 eWeightedBipred = VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_BIPRED_BIT_EXT, 5140 eWeightedPredNoTable = VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT, 5141 eTransquantBypassEnabled = VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSQUANT_BYPASS_ENABLED_BIT_EXT, 5142 eEntropyCodingSyncEnabled = VK_VIDEO_ENCODE_H265_CAPABILITY_ENTROPY_CODING_SYNC_ENABLED_BIT_EXT, 5143 eDeblockingFilterOverrideEnabled = VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_OVERRIDE_ENABLED_BIT_EXT, 5144 eMultipleTilePerFrame = VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_FRAME_BIT_EXT, 5145 eMultipleSlicePerTile = VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_PER_TILE_BIT_EXT, 5146 eMultipleTilePerSlice = VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_SLICE_BIT_EXT, 5147 eSliceSegmentCtbCount = VK_VIDEO_ENCODE_H265_CAPABILITY_SLICE_SEGMENT_CTB_COUNT_BIT_EXT, 5148 eRowUnalignedSliceSegment = VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_EXT, 5149 eDependentSliceSegment = VK_VIDEO_ENCODE_H265_CAPABILITY_DEPENDENT_SLICE_SEGMENT_BIT_EXT, 5150 eDifferentSliceType = VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT, 5151 eBFrameInL1List = VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT 5152 }; 5153 5154 using VideoEncodeH265CapabilityFlagsEXT = Flags<VideoEncodeH265CapabilityFlagBitsEXT>; 5155 5156 template <> 5157 struct FlagTraits<VideoEncodeH265CapabilityFlagBitsEXT> 5158 { 5159 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5160 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH265CapabilityFlagsEXT allFlags = 5161 VideoEncodeH265CapabilityFlagBitsEXT::eSeparateColourPlane | VideoEncodeH265CapabilityFlagBitsEXT::eScalingLists | 5162 VideoEncodeH265CapabilityFlagBitsEXT::eSampleAdaptiveOffsetEnabled | VideoEncodeH265CapabilityFlagBitsEXT::ePcmEnable | 5163 VideoEncodeH265CapabilityFlagBitsEXT::eSpsTemporalMvpEnabled | VideoEncodeH265CapabilityFlagBitsEXT::eHrdCompliance | 5164 VideoEncodeH265CapabilityFlagBitsEXT::eInitQpMinus26 | VideoEncodeH265CapabilityFlagBitsEXT::eLog2ParallelMergeLevelMinus2 | 5165 VideoEncodeH265CapabilityFlagBitsEXT::eSignDataHidingEnabled | VideoEncodeH265CapabilityFlagBitsEXT::eTransformSkipEnabled | 5166 VideoEncodeH265CapabilityFlagBitsEXT::eTransformSkipDisabled | VideoEncodeH265CapabilityFlagBitsEXT::ePpsSliceChromaQpOffsetsPresent | 5167 VideoEncodeH265CapabilityFlagBitsEXT::eWeightedPred | VideoEncodeH265CapabilityFlagBitsEXT::eWeightedBipred | 5168 VideoEncodeH265CapabilityFlagBitsEXT::eWeightedPredNoTable | VideoEncodeH265CapabilityFlagBitsEXT::eTransquantBypassEnabled | 5169 VideoEncodeH265CapabilityFlagBitsEXT::eEntropyCodingSyncEnabled | VideoEncodeH265CapabilityFlagBitsEXT::eDeblockingFilterOverrideEnabled | 5170 VideoEncodeH265CapabilityFlagBitsEXT::eMultipleTilePerFrame | VideoEncodeH265CapabilityFlagBitsEXT::eMultipleSlicePerTile | 5171 VideoEncodeH265CapabilityFlagBitsEXT::eMultipleTilePerSlice | VideoEncodeH265CapabilityFlagBitsEXT::eSliceSegmentCtbCount | 5172 VideoEncodeH265CapabilityFlagBitsEXT::eRowUnalignedSliceSegment | VideoEncodeH265CapabilityFlagBitsEXT::eDependentSliceSegment | 5173 VideoEncodeH265CapabilityFlagBitsEXT::eDifferentSliceType | VideoEncodeH265CapabilityFlagBitsEXT::eBFrameInL1List; 5174 }; 5175 5176 enum class VideoEncodeH265InputModeFlagBitsEXT : VkVideoEncodeH265InputModeFlagsEXT 5177 { 5178 eFrame = VK_VIDEO_ENCODE_H265_INPUT_MODE_FRAME_BIT_EXT, 5179 eSliceSegment = VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_SEGMENT_BIT_EXT, 5180 eNonVcl = VK_VIDEO_ENCODE_H265_INPUT_MODE_NON_VCL_BIT_EXT 5181 }; 5182 5183 using VideoEncodeH265InputModeFlagsEXT = Flags<VideoEncodeH265InputModeFlagBitsEXT>; 5184 5185 template <> 5186 struct FlagTraits<VideoEncodeH265InputModeFlagBitsEXT> 5187 { 5188 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5189 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH265InputModeFlagsEXT allFlags = 5190 VideoEncodeH265InputModeFlagBitsEXT::eFrame | VideoEncodeH265InputModeFlagBitsEXT::eSliceSegment | VideoEncodeH265InputModeFlagBitsEXT::eNonVcl; 5191 }; 5192 5193 enum class VideoEncodeH265OutputModeFlagBitsEXT : VkVideoEncodeH265OutputModeFlagsEXT 5194 { 5195 eFrame = VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FRAME_BIT_EXT, 5196 eSliceSegment = VK_VIDEO_ENCODE_H265_OUTPUT_MODE_SLICE_SEGMENT_BIT_EXT, 5197 eNonVcl = VK_VIDEO_ENCODE_H265_OUTPUT_MODE_NON_VCL_BIT_EXT 5198 }; 5199 5200 using VideoEncodeH265OutputModeFlagsEXT = Flags<VideoEncodeH265OutputModeFlagBitsEXT>; 5201 5202 template <> 5203 struct FlagTraits<VideoEncodeH265OutputModeFlagBitsEXT> 5204 { 5205 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5206 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH265OutputModeFlagsEXT allFlags = 5207 VideoEncodeH265OutputModeFlagBitsEXT::eFrame | VideoEncodeH265OutputModeFlagBitsEXT::eSliceSegment | VideoEncodeH265OutputModeFlagBitsEXT::eNonVcl; 5208 }; 5209 5210 enum class VideoEncodeH265CtbSizeFlagBitsEXT : VkVideoEncodeH265CtbSizeFlagsEXT 5211 { 5212 e16 = VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT, 5213 e32 = VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT, 5214 e64 = VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT 5215 }; 5216 5217 using VideoEncodeH265CtbSizeFlagsEXT = Flags<VideoEncodeH265CtbSizeFlagBitsEXT>; 5218 5219 template <> 5220 struct FlagTraits<VideoEncodeH265CtbSizeFlagBitsEXT> 5221 { 5222 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5223 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH265CtbSizeFlagsEXT allFlags = 5224 VideoEncodeH265CtbSizeFlagBitsEXT::e16 | VideoEncodeH265CtbSizeFlagBitsEXT::e32 | VideoEncodeH265CtbSizeFlagBitsEXT::e64; 5225 }; 5226 5227 enum class VideoEncodeH265TransformBlockSizeFlagBitsEXT : VkVideoEncodeH265TransformBlockSizeFlagsEXT 5228 { 5229 e4 = VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_EXT, 5230 e8 = VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_EXT, 5231 e16 = VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_EXT, 5232 e32 = VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_EXT 5233 }; 5234 5235 using VideoEncodeH265TransformBlockSizeFlagsEXT = Flags<VideoEncodeH265TransformBlockSizeFlagBitsEXT>; 5236 5237 template <> 5238 struct FlagTraits<VideoEncodeH265TransformBlockSizeFlagBitsEXT> 5239 { 5240 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5241 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeH265TransformBlockSizeFlagsEXT allFlags = 5242 VideoEncodeH265TransformBlockSizeFlagBitsEXT::e4 | VideoEncodeH265TransformBlockSizeFlagBitsEXT::e8 | VideoEncodeH265TransformBlockSizeFlagBitsEXT::e16 | 5243 VideoEncodeH265TransformBlockSizeFlagBitsEXT::e32; 5244 }; 5245 5246 enum class VideoEncodeH265RateControlStructureEXT 5247 { 5248 eUnknown = VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT, 5249 eFlat = VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_FLAT_EXT, 5250 eDyadic = VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_DYADIC_EXT 5251 }; 5252 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 5253 5254 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 5255 //=== VK_EXT_video_decode_h264 === 5256 5257 enum class VideoDecodeH264PictureLayoutFlagBitsEXT : VkVideoDecodeH264PictureLayoutFlagsEXT 5258 { 5259 eProgressive = VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_EXT, 5260 eInterlacedInterleavedLines = VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_EXT, 5261 eInterlacedSeparatePlanes = VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_EXT 5262 }; 5263 5264 using VideoDecodeH264PictureLayoutFlagsEXT = Flags<VideoDecodeH264PictureLayoutFlagBitsEXT>; 5265 5266 template <> 5267 struct FlagTraits<VideoDecodeH264PictureLayoutFlagBitsEXT> 5268 { 5269 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5270 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoDecodeH264PictureLayoutFlagsEXT allFlags = VideoDecodeH264PictureLayoutFlagBitsEXT::eProgressive | 5271 VideoDecodeH264PictureLayoutFlagBitsEXT::eInterlacedInterleavedLines | 5272 VideoDecodeH264PictureLayoutFlagBitsEXT::eInterlacedSeparatePlanes; 5273 }; 5274 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 5275 5276 //=== VK_AMD_shader_info === 5277 5278 enum class ShaderInfoTypeAMD 5279 { 5280 eStatistics = VK_SHADER_INFO_TYPE_STATISTICS_AMD, 5281 eBinary = VK_SHADER_INFO_TYPE_BINARY_AMD, 5282 eDisassembly = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD 5283 }; 5284 5285 #if defined( VK_USE_PLATFORM_GGP ) 5286 //=== VK_GGP_stream_descriptor_surface === 5287 5288 enum class StreamDescriptorSurfaceCreateFlagBitsGGP : VkStreamDescriptorSurfaceCreateFlagsGGP 5289 { 5290 }; 5291 5292 using StreamDescriptorSurfaceCreateFlagsGGP = Flags<StreamDescriptorSurfaceCreateFlagBitsGGP>; 5293 5294 template <> 5295 struct FlagTraits<StreamDescriptorSurfaceCreateFlagBitsGGP> 5296 { 5297 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5298 static VULKAN_HPP_CONST_OR_CONSTEXPR StreamDescriptorSurfaceCreateFlagsGGP allFlags = {}; 5299 }; 5300 #endif /*VK_USE_PLATFORM_GGP*/ 5301 5302 //=== VK_NV_external_memory_capabilities === 5303 5304 enum class ExternalMemoryHandleTypeFlagBitsNV : VkExternalMemoryHandleTypeFlagsNV 5305 { 5306 eOpaqueWin32 = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV, 5307 eOpaqueWin32Kmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV, 5308 eD3D11Image = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV, 5309 eD3D11ImageKmt = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV 5310 }; 5311 5312 using ExternalMemoryHandleTypeFlagsNV = Flags<ExternalMemoryHandleTypeFlagBitsNV>; 5313 5314 template <> 5315 struct FlagTraits<ExternalMemoryHandleTypeFlagBitsNV> 5316 { 5317 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5318 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalMemoryHandleTypeFlagsNV allFlags = 5319 ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32 | ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32Kmt | ExternalMemoryHandleTypeFlagBitsNV::eD3D11Image | 5320 ExternalMemoryHandleTypeFlagBitsNV::eD3D11ImageKmt; 5321 }; 5322 5323 enum class ExternalMemoryFeatureFlagBitsNV : VkExternalMemoryFeatureFlagsNV 5324 { 5325 eDedicatedOnly = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV, 5326 eExportable = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV, 5327 eImportable = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV 5328 }; 5329 5330 using ExternalMemoryFeatureFlagsNV = Flags<ExternalMemoryFeatureFlagBitsNV>; 5331 5332 template <> 5333 struct FlagTraits<ExternalMemoryFeatureFlagBitsNV> 5334 { 5335 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5336 static VULKAN_HPP_CONST_OR_CONSTEXPR ExternalMemoryFeatureFlagsNV allFlags = 5337 ExternalMemoryFeatureFlagBitsNV::eDedicatedOnly | ExternalMemoryFeatureFlagBitsNV::eExportable | ExternalMemoryFeatureFlagBitsNV::eImportable; 5338 }; 5339 5340 //=== VK_EXT_validation_flags === 5341 5342 enum class ValidationCheckEXT 5343 { 5344 eAll = VK_VALIDATION_CHECK_ALL_EXT, 5345 eShaders = VK_VALIDATION_CHECK_SHADERS_EXT 5346 }; 5347 5348 #if defined( VK_USE_PLATFORM_VI_NN ) 5349 //=== VK_NN_vi_surface === 5350 5351 enum class ViSurfaceCreateFlagBitsNN : VkViSurfaceCreateFlagsNN 5352 { 5353 }; 5354 5355 using ViSurfaceCreateFlagsNN = Flags<ViSurfaceCreateFlagBitsNN>; 5356 5357 template <> 5358 struct FlagTraits<ViSurfaceCreateFlagBitsNN> 5359 { 5360 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5361 static VULKAN_HPP_CONST_OR_CONSTEXPR ViSurfaceCreateFlagsNN allFlags = {}; 5362 }; 5363 #endif /*VK_USE_PLATFORM_VI_NN*/ 5364 5365 //=== VK_EXT_pipeline_robustness === 5366 5367 enum class PipelineRobustnessBufferBehaviorEXT 5368 { 5369 eDeviceDefault = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT, 5370 eDisabled = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT, 5371 eRobustBufferAccess = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT, 5372 eRobustBufferAccess2 = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT 5373 }; 5374 5375 enum class PipelineRobustnessImageBehaviorEXT 5376 { 5377 eDeviceDefault = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT, 5378 eDisabled = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT, 5379 eRobustImageAccess = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT, 5380 eRobustImageAccess2 = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT 5381 }; 5382 5383 //=== VK_EXT_conditional_rendering === 5384 5385 enum class ConditionalRenderingFlagBitsEXT : VkConditionalRenderingFlagsEXT 5386 { 5387 eInverted = VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT 5388 }; 5389 5390 using ConditionalRenderingFlagsEXT = Flags<ConditionalRenderingFlagBitsEXT>; 5391 5392 template <> 5393 struct FlagTraits<ConditionalRenderingFlagBitsEXT> 5394 { 5395 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5396 static VULKAN_HPP_CONST_OR_CONSTEXPR ConditionalRenderingFlagsEXT allFlags = ConditionalRenderingFlagBitsEXT::eInverted; 5397 }; 5398 5399 //=== VK_EXT_display_surface_counter === 5400 5401 enum class SurfaceCounterFlagBitsEXT : VkSurfaceCounterFlagsEXT 5402 { 5403 eVblank = VK_SURFACE_COUNTER_VBLANK_BIT_EXT 5404 }; 5405 5406 using SurfaceCounterFlagsEXT = Flags<SurfaceCounterFlagBitsEXT>; 5407 5408 template <> 5409 struct FlagTraits<SurfaceCounterFlagBitsEXT> 5410 { 5411 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5412 static VULKAN_HPP_CONST_OR_CONSTEXPR SurfaceCounterFlagsEXT allFlags = SurfaceCounterFlagBitsEXT::eVblank; 5413 }; 5414 5415 //=== VK_EXT_display_control === 5416 5417 enum class DisplayPowerStateEXT 5418 { 5419 eOff = VK_DISPLAY_POWER_STATE_OFF_EXT, 5420 eSuspend = VK_DISPLAY_POWER_STATE_SUSPEND_EXT, 5421 eOn = VK_DISPLAY_POWER_STATE_ON_EXT 5422 }; 5423 5424 enum class DeviceEventTypeEXT 5425 { 5426 eDisplayHotplug = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT 5427 }; 5428 5429 enum class DisplayEventTypeEXT 5430 { 5431 eFirstPixelOut = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT 5432 }; 5433 5434 //=== VK_NV_viewport_swizzle === 5435 5436 enum class ViewportCoordinateSwizzleNV 5437 { 5438 ePositiveX = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV, 5439 eNegativeX = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV, 5440 ePositiveY = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV, 5441 eNegativeY = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV, 5442 ePositiveZ = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV, 5443 eNegativeZ = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV, 5444 ePositiveW = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV, 5445 eNegativeW = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV 5446 }; 5447 5448 enum class PipelineViewportSwizzleStateCreateFlagBitsNV : VkPipelineViewportSwizzleStateCreateFlagsNV 5449 { 5450 }; 5451 5452 using PipelineViewportSwizzleStateCreateFlagsNV = Flags<PipelineViewportSwizzleStateCreateFlagBitsNV>; 5453 5454 template <> 5455 struct FlagTraits<PipelineViewportSwizzleStateCreateFlagBitsNV> 5456 { 5457 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5458 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineViewportSwizzleStateCreateFlagsNV allFlags = {}; 5459 }; 5460 5461 //=== VK_EXT_discard_rectangles === 5462 5463 enum class DiscardRectangleModeEXT 5464 { 5465 eInclusive = VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT, 5466 eExclusive = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT 5467 }; 5468 5469 enum class PipelineDiscardRectangleStateCreateFlagBitsEXT : VkPipelineDiscardRectangleStateCreateFlagsEXT 5470 { 5471 }; 5472 5473 using PipelineDiscardRectangleStateCreateFlagsEXT = Flags<PipelineDiscardRectangleStateCreateFlagBitsEXT>; 5474 5475 template <> 5476 struct FlagTraits<PipelineDiscardRectangleStateCreateFlagBitsEXT> 5477 { 5478 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5479 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineDiscardRectangleStateCreateFlagsEXT allFlags = {}; 5480 }; 5481 5482 //=== VK_EXT_conservative_rasterization === 5483 5484 enum class ConservativeRasterizationModeEXT 5485 { 5486 eDisabled = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT, 5487 eOverestimate = VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT, 5488 eUnderestimate = VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT 5489 }; 5490 5491 enum class PipelineRasterizationConservativeStateCreateFlagBitsEXT : VkPipelineRasterizationConservativeStateCreateFlagsEXT 5492 { 5493 }; 5494 5495 using PipelineRasterizationConservativeStateCreateFlagsEXT = Flags<PipelineRasterizationConservativeStateCreateFlagBitsEXT>; 5496 5497 template <> 5498 struct FlagTraits<PipelineRasterizationConservativeStateCreateFlagBitsEXT> 5499 { 5500 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5501 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineRasterizationConservativeStateCreateFlagsEXT allFlags = {}; 5502 }; 5503 5504 //=== VK_EXT_depth_clip_enable === 5505 5506 enum class PipelineRasterizationDepthClipStateCreateFlagBitsEXT : VkPipelineRasterizationDepthClipStateCreateFlagsEXT 5507 { 5508 }; 5509 5510 using PipelineRasterizationDepthClipStateCreateFlagsEXT = Flags<PipelineRasterizationDepthClipStateCreateFlagBitsEXT>; 5511 5512 template <> 5513 struct FlagTraits<PipelineRasterizationDepthClipStateCreateFlagBitsEXT> 5514 { 5515 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5516 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineRasterizationDepthClipStateCreateFlagsEXT allFlags = {}; 5517 }; 5518 5519 //=== VK_KHR_performance_query === 5520 5521 enum class PerformanceCounterDescriptionFlagBitsKHR : VkPerformanceCounterDescriptionFlagsKHR 5522 { 5523 ePerformanceImpacting = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR, 5524 eConcurrentlyImpacted = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR 5525 }; 5526 5527 using PerformanceCounterDescriptionFlagsKHR = Flags<PerformanceCounterDescriptionFlagBitsKHR>; 5528 5529 template <> 5530 struct FlagTraits<PerformanceCounterDescriptionFlagBitsKHR> 5531 { 5532 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5533 static VULKAN_HPP_CONST_OR_CONSTEXPR PerformanceCounterDescriptionFlagsKHR allFlags = 5534 PerformanceCounterDescriptionFlagBitsKHR::ePerformanceImpacting | PerformanceCounterDescriptionFlagBitsKHR::eConcurrentlyImpacted; 5535 }; 5536 5537 enum class PerformanceCounterScopeKHR 5538 { 5539 eCommandBuffer = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR, 5540 eRenderPass = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR, 5541 eCommand = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR, 5542 eVkQueryScopeCommandBuffer = VK_QUERY_SCOPE_COMMAND_BUFFER_KHR, 5543 eVkQueryScopeCommand = VK_QUERY_SCOPE_COMMAND_KHR, 5544 eVkQueryScopeRenderPass = VK_QUERY_SCOPE_RENDER_PASS_KHR 5545 }; 5546 5547 enum class PerformanceCounterStorageKHR 5548 { 5549 eInt32 = VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR, 5550 eInt64 = VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR, 5551 eUint32 = VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR, 5552 eUint64 = VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR, 5553 eFloat32 = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR, 5554 eFloat64 = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR 5555 }; 5556 5557 enum class PerformanceCounterUnitKHR 5558 { 5559 eGeneric = VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR, 5560 ePercentage = VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR, 5561 eNanoseconds = VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR, 5562 eBytes = VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR, 5563 eBytesPerSecond = VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR, 5564 eKelvin = VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR, 5565 eWatts = VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR, 5566 eVolts = VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR, 5567 eAmps = VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR, 5568 eHertz = VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR, 5569 eCycles = VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR 5570 }; 5571 5572 enum class AcquireProfilingLockFlagBitsKHR : VkAcquireProfilingLockFlagsKHR 5573 { 5574 }; 5575 5576 using AcquireProfilingLockFlagsKHR = Flags<AcquireProfilingLockFlagBitsKHR>; 5577 5578 template <> 5579 struct FlagTraits<AcquireProfilingLockFlagBitsKHR> 5580 { 5581 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5582 static VULKAN_HPP_CONST_OR_CONSTEXPR AcquireProfilingLockFlagsKHR allFlags = {}; 5583 }; 5584 5585 #if defined( VK_USE_PLATFORM_IOS_MVK ) 5586 //=== VK_MVK_ios_surface === 5587 5588 enum class IOSSurfaceCreateFlagBitsMVK : VkIOSSurfaceCreateFlagsMVK 5589 { 5590 }; 5591 5592 using IOSSurfaceCreateFlagsMVK = Flags<IOSSurfaceCreateFlagBitsMVK>; 5593 5594 template <> 5595 struct FlagTraits<IOSSurfaceCreateFlagBitsMVK> 5596 { 5597 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5598 static VULKAN_HPP_CONST_OR_CONSTEXPR IOSSurfaceCreateFlagsMVK allFlags = {}; 5599 }; 5600 #endif /*VK_USE_PLATFORM_IOS_MVK*/ 5601 5602 #if defined( VK_USE_PLATFORM_MACOS_MVK ) 5603 //=== VK_MVK_macos_surface === 5604 5605 enum class MacOSSurfaceCreateFlagBitsMVK : VkMacOSSurfaceCreateFlagsMVK 5606 { 5607 }; 5608 5609 using MacOSSurfaceCreateFlagsMVK = Flags<MacOSSurfaceCreateFlagBitsMVK>; 5610 5611 template <> 5612 struct FlagTraits<MacOSSurfaceCreateFlagBitsMVK> 5613 { 5614 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5615 static VULKAN_HPP_CONST_OR_CONSTEXPR MacOSSurfaceCreateFlagsMVK allFlags = {}; 5616 }; 5617 #endif /*VK_USE_PLATFORM_MACOS_MVK*/ 5618 5619 //=== VK_EXT_debug_utils === 5620 5621 enum class DebugUtilsMessageSeverityFlagBitsEXT : VkDebugUtilsMessageSeverityFlagsEXT 5622 { 5623 eVerbose = VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT, 5624 eInfo = VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT, 5625 eWarning = VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT, 5626 eError = VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT 5627 }; 5628 5629 using DebugUtilsMessageSeverityFlagsEXT = Flags<DebugUtilsMessageSeverityFlagBitsEXT>; 5630 5631 template <> 5632 struct FlagTraits<DebugUtilsMessageSeverityFlagBitsEXT> 5633 { 5634 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5635 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugUtilsMessageSeverityFlagsEXT allFlags = 5636 DebugUtilsMessageSeverityFlagBitsEXT::eVerbose | DebugUtilsMessageSeverityFlagBitsEXT::eInfo | DebugUtilsMessageSeverityFlagBitsEXT::eWarning | 5637 DebugUtilsMessageSeverityFlagBitsEXT::eError; 5638 }; 5639 5640 enum class DebugUtilsMessageTypeFlagBitsEXT : VkDebugUtilsMessageTypeFlagsEXT 5641 { 5642 eGeneral = VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT, 5643 eValidation = VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT, 5644 ePerformance = VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT, 5645 eDeviceAddressBinding = VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT 5646 }; 5647 5648 using DebugUtilsMessageTypeFlagsEXT = Flags<DebugUtilsMessageTypeFlagBitsEXT>; 5649 5650 template <> 5651 struct FlagTraits<DebugUtilsMessageTypeFlagBitsEXT> 5652 { 5653 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5654 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugUtilsMessageTypeFlagsEXT allFlags = 5655 DebugUtilsMessageTypeFlagBitsEXT::eGeneral | DebugUtilsMessageTypeFlagBitsEXT::eValidation | DebugUtilsMessageTypeFlagBitsEXT::ePerformance | 5656 DebugUtilsMessageTypeFlagBitsEXT::eDeviceAddressBinding; 5657 }; 5658 5659 enum class DebugUtilsMessengerCallbackDataFlagBitsEXT : VkDebugUtilsMessengerCallbackDataFlagsEXT 5660 { 5661 }; 5662 5663 using DebugUtilsMessengerCallbackDataFlagsEXT = Flags<DebugUtilsMessengerCallbackDataFlagBitsEXT>; 5664 5665 template <> 5666 struct FlagTraits<DebugUtilsMessengerCallbackDataFlagBitsEXT> 5667 { 5668 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5669 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugUtilsMessengerCallbackDataFlagsEXT allFlags = {}; 5670 }; 5671 5672 enum class DebugUtilsMessengerCreateFlagBitsEXT : VkDebugUtilsMessengerCreateFlagsEXT 5673 { 5674 }; 5675 5676 using DebugUtilsMessengerCreateFlagsEXT = Flags<DebugUtilsMessengerCreateFlagBitsEXT>; 5677 5678 template <> 5679 struct FlagTraits<DebugUtilsMessengerCreateFlagBitsEXT> 5680 { 5681 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5682 static VULKAN_HPP_CONST_OR_CONSTEXPR DebugUtilsMessengerCreateFlagsEXT allFlags = {}; 5683 }; 5684 5685 //=== VK_EXT_blend_operation_advanced === 5686 5687 enum class BlendOverlapEXT 5688 { 5689 eUncorrelated = VK_BLEND_OVERLAP_UNCORRELATED_EXT, 5690 eDisjoint = VK_BLEND_OVERLAP_DISJOINT_EXT, 5691 eConjoint = VK_BLEND_OVERLAP_CONJOINT_EXT 5692 }; 5693 5694 //=== VK_NV_fragment_coverage_to_color === 5695 5696 enum class PipelineCoverageToColorStateCreateFlagBitsNV : VkPipelineCoverageToColorStateCreateFlagsNV 5697 { 5698 }; 5699 5700 using PipelineCoverageToColorStateCreateFlagsNV = Flags<PipelineCoverageToColorStateCreateFlagBitsNV>; 5701 5702 template <> 5703 struct FlagTraits<PipelineCoverageToColorStateCreateFlagBitsNV> 5704 { 5705 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5706 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCoverageToColorStateCreateFlagsNV allFlags = {}; 5707 }; 5708 5709 //=== VK_KHR_acceleration_structure === 5710 5711 enum class AccelerationStructureTypeKHR 5712 { 5713 eTopLevel = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR, 5714 eBottomLevel = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR, 5715 eGeneric = VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR 5716 }; 5717 using AccelerationStructureTypeNV = AccelerationStructureTypeKHR; 5718 5719 enum class AccelerationStructureBuildTypeKHR 5720 { 5721 eHost = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR, 5722 eDevice = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR, 5723 eHostOrDevice = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR 5724 }; 5725 5726 enum class GeometryFlagBitsKHR : VkGeometryFlagsKHR 5727 { 5728 eOpaque = VK_GEOMETRY_OPAQUE_BIT_KHR, 5729 eNoDuplicateAnyHitInvocation = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR 5730 }; 5731 using GeometryFlagBitsNV = GeometryFlagBitsKHR; 5732 5733 using GeometryFlagsKHR = Flags<GeometryFlagBitsKHR>; 5734 using GeometryFlagsNV = GeometryFlagsKHR; 5735 5736 template <> 5737 struct FlagTraits<GeometryFlagBitsKHR> 5738 { 5739 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5740 static VULKAN_HPP_CONST_OR_CONSTEXPR GeometryFlagsKHR allFlags = GeometryFlagBitsKHR::eOpaque | GeometryFlagBitsKHR::eNoDuplicateAnyHitInvocation; 5741 }; 5742 5743 enum class GeometryInstanceFlagBitsKHR : VkGeometryInstanceFlagsKHR 5744 { 5745 eTriangleFacingCullDisable = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR, 5746 eTriangleFlipFacing = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, 5747 eForceOpaque = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR, 5748 eForceNoOpaque = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR, 5749 eForceOpacityMicromap2StateEXT = VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT, 5750 eDisableOpacityMicromapsEXT = VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT, 5751 eTriangleCullDisable = VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV, 5752 eTriangleFrontCounterclockwiseKHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR, 5753 eTriangleFrontCounterclockwise = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV 5754 }; 5755 using GeometryInstanceFlagBitsNV = GeometryInstanceFlagBitsKHR; 5756 5757 using GeometryInstanceFlagsKHR = Flags<GeometryInstanceFlagBitsKHR>; 5758 using GeometryInstanceFlagsNV = GeometryInstanceFlagsKHR; 5759 5760 template <> 5761 struct FlagTraits<GeometryInstanceFlagBitsKHR> 5762 { 5763 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5764 static VULKAN_HPP_CONST_OR_CONSTEXPR GeometryInstanceFlagsKHR allFlags = 5765 GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable | GeometryInstanceFlagBitsKHR::eTriangleFlipFacing | GeometryInstanceFlagBitsKHR::eForceOpaque | 5766 GeometryInstanceFlagBitsKHR::eForceNoOpaque | GeometryInstanceFlagBitsKHR::eForceOpacityMicromap2StateEXT | 5767 GeometryInstanceFlagBitsKHR::eDisableOpacityMicromapsEXT; 5768 }; 5769 5770 enum class BuildAccelerationStructureFlagBitsKHR : VkBuildAccelerationStructureFlagsKHR 5771 { 5772 eAllowUpdate = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR, 5773 eAllowCompaction = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR, 5774 ePreferFastTrace = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR, 5775 ePreferFastBuild = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR, 5776 eLowMemory = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR, 5777 eMotionNV = VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV, 5778 eAllowOpacityMicromapUpdateEXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT, 5779 eAllowDisableOpacityMicromapsEXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT, 5780 eAllowOpacityMicromapDataUpdateEXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT 5781 }; 5782 using BuildAccelerationStructureFlagBitsNV = BuildAccelerationStructureFlagBitsKHR; 5783 5784 using BuildAccelerationStructureFlagsKHR = Flags<BuildAccelerationStructureFlagBitsKHR>; 5785 using BuildAccelerationStructureFlagsNV = BuildAccelerationStructureFlagsKHR; 5786 5787 template <> 5788 struct FlagTraits<BuildAccelerationStructureFlagBitsKHR> 5789 { 5790 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5791 static VULKAN_HPP_CONST_OR_CONSTEXPR BuildAccelerationStructureFlagsKHR allFlags = 5792 BuildAccelerationStructureFlagBitsKHR::eAllowUpdate | BuildAccelerationStructureFlagBitsKHR::eAllowCompaction | 5793 BuildAccelerationStructureFlagBitsKHR::ePreferFastTrace | BuildAccelerationStructureFlagBitsKHR::ePreferFastBuild | 5794 BuildAccelerationStructureFlagBitsKHR::eLowMemory | BuildAccelerationStructureFlagBitsKHR::eMotionNV | 5795 BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapUpdateEXT | BuildAccelerationStructureFlagBitsKHR::eAllowDisableOpacityMicromapsEXT | 5796 BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapDataUpdateEXT; 5797 }; 5798 5799 enum class CopyAccelerationStructureModeKHR 5800 { 5801 eClone = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR, 5802 eCompact = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR, 5803 eSerialize = VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR, 5804 eDeserialize = VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR 5805 }; 5806 using CopyAccelerationStructureModeNV = CopyAccelerationStructureModeKHR; 5807 5808 enum class GeometryTypeKHR 5809 { 5810 eTriangles = VK_GEOMETRY_TYPE_TRIANGLES_KHR, 5811 eAabbs = VK_GEOMETRY_TYPE_AABBS_KHR, 5812 eInstances = VK_GEOMETRY_TYPE_INSTANCES_KHR 5813 }; 5814 using GeometryTypeNV = GeometryTypeKHR; 5815 5816 enum class AccelerationStructureCompatibilityKHR 5817 { 5818 eCompatible = VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR, 5819 eIncompatible = VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR 5820 }; 5821 5822 enum class AccelerationStructureCreateFlagBitsKHR : VkAccelerationStructureCreateFlagsKHR 5823 { 5824 eDeviceAddressCaptureReplay = VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR, 5825 eDescriptorBufferCaptureReplayEXT = VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT, 5826 eMotionNV = VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV 5827 }; 5828 5829 using AccelerationStructureCreateFlagsKHR = Flags<AccelerationStructureCreateFlagBitsKHR>; 5830 5831 template <> 5832 struct FlagTraits<AccelerationStructureCreateFlagBitsKHR> 5833 { 5834 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5835 static VULKAN_HPP_CONST_OR_CONSTEXPR AccelerationStructureCreateFlagsKHR allFlags = 5836 AccelerationStructureCreateFlagBitsKHR::eDeviceAddressCaptureReplay | AccelerationStructureCreateFlagBitsKHR::eDescriptorBufferCaptureReplayEXT | 5837 AccelerationStructureCreateFlagBitsKHR::eMotionNV; 5838 }; 5839 5840 enum class BuildAccelerationStructureModeKHR 5841 { 5842 eBuild = VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR, 5843 eUpdate = VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR 5844 }; 5845 5846 //=== VK_NV_framebuffer_mixed_samples === 5847 5848 enum class CoverageModulationModeNV 5849 { 5850 eNone = VK_COVERAGE_MODULATION_MODE_NONE_NV, 5851 eRgb = VK_COVERAGE_MODULATION_MODE_RGB_NV, 5852 eAlpha = VK_COVERAGE_MODULATION_MODE_ALPHA_NV, 5853 eRgba = VK_COVERAGE_MODULATION_MODE_RGBA_NV 5854 }; 5855 5856 enum class PipelineCoverageModulationStateCreateFlagBitsNV : VkPipelineCoverageModulationStateCreateFlagsNV 5857 { 5858 }; 5859 5860 using PipelineCoverageModulationStateCreateFlagsNV = Flags<PipelineCoverageModulationStateCreateFlagBitsNV>; 5861 5862 template <> 5863 struct FlagTraits<PipelineCoverageModulationStateCreateFlagBitsNV> 5864 { 5865 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5866 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCoverageModulationStateCreateFlagsNV allFlags = {}; 5867 }; 5868 5869 //=== VK_EXT_validation_cache === 5870 5871 enum class ValidationCacheHeaderVersionEXT 5872 { 5873 eOne = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT 5874 }; 5875 5876 enum class ValidationCacheCreateFlagBitsEXT : VkValidationCacheCreateFlagsEXT 5877 { 5878 }; 5879 5880 using ValidationCacheCreateFlagsEXT = Flags<ValidationCacheCreateFlagBitsEXT>; 5881 5882 template <> 5883 struct FlagTraits<ValidationCacheCreateFlagBitsEXT> 5884 { 5885 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5886 static VULKAN_HPP_CONST_OR_CONSTEXPR ValidationCacheCreateFlagsEXT allFlags = {}; 5887 }; 5888 5889 //=== VK_NV_shading_rate_image === 5890 5891 enum class ShadingRatePaletteEntryNV 5892 { 5893 eNoInvocations = VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV, 5894 e16InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV, 5895 e8InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV, 5896 e4InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV, 5897 e2InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV, 5898 e1InvocationPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV, 5899 e1InvocationPer2X1Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV, 5900 e1InvocationPer1X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV, 5901 e1InvocationPer2X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV, 5902 e1InvocationPer4X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV, 5903 e1InvocationPer2X4Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV, 5904 e1InvocationPer4X4Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV 5905 }; 5906 5907 enum class CoarseSampleOrderTypeNV 5908 { 5909 eDefault = VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV, 5910 eCustom = VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV, 5911 ePixelMajor = VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV, 5912 eSampleMajor = VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV 5913 }; 5914 5915 //=== VK_NV_ray_tracing === 5916 5917 enum class AccelerationStructureMemoryRequirementsTypeNV 5918 { 5919 eObject = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV, 5920 eBuildScratch = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV, 5921 eUpdateScratch = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV 5922 }; 5923 5924 //=== VK_AMD_pipeline_compiler_control === 5925 5926 enum class PipelineCompilerControlFlagBitsAMD : VkPipelineCompilerControlFlagsAMD 5927 { 5928 }; 5929 5930 using PipelineCompilerControlFlagsAMD = Flags<PipelineCompilerControlFlagBitsAMD>; 5931 5932 template <> 5933 struct FlagTraits<PipelineCompilerControlFlagBitsAMD> 5934 { 5935 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 5936 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCompilerControlFlagsAMD allFlags = {}; 5937 }; 5938 5939 //=== VK_EXT_calibrated_timestamps === 5940 5941 enum class TimeDomainEXT 5942 { 5943 eDevice = VK_TIME_DOMAIN_DEVICE_EXT, 5944 eClockMonotonic = VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT, 5945 eClockMonotonicRaw = VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT, 5946 eQueryPerformanceCounter = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT 5947 }; 5948 5949 //=== VK_KHR_global_priority === 5950 5951 enum class QueueGlobalPriorityKHR 5952 { 5953 eLow = VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR, 5954 eMedium = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR, 5955 eHigh = VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR, 5956 eRealtime = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR 5957 }; 5958 using QueueGlobalPriorityEXT = QueueGlobalPriorityKHR; 5959 5960 //=== VK_KHR_global_priority === 5961 5962 enum class QueueGlobalPriorityKHR 5963 { 5964 eLow = VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR, 5965 eMedium = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR, 5966 eHigh = VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR, 5967 eRealtime = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR 5968 }; 5969 using QueueGlobalPriorityEXT = QueueGlobalPriorityKHR; 5970 to_string(QueueGlobalPriorityKHR value)5971 VULKAN_HPP_INLINE std::string to_string( QueueGlobalPriorityKHR value ) 5972 { 5973 switch ( value ) 5974 { 5975 case QueueGlobalPriorityKHR::eLow: return "Low"; 5976 case QueueGlobalPriorityKHR::eMedium: return "Medium"; 5977 case QueueGlobalPriorityKHR::eHigh: return "High"; 5978 case QueueGlobalPriorityKHR::eRealtime: return "Realtime"; 5979 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )"; 5980 } 5981 } 5982 5983 //=== VK_AMD_memory_overallocation_behavior === 5984 5985 enum class MemoryOverallocationBehaviorAMD 5986 { 5987 eDefault = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD, 5988 eAllowed = VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD, 5989 eDisallowed = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD 5990 }; 5991 5992 //=== VK_INTEL_performance_query === 5993 5994 enum class PerformanceConfigurationTypeINTEL 5995 { 5996 eCommandQueueMetricsDiscoveryActivated = VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL 5997 }; 5998 5999 enum class QueryPoolSamplingModeINTEL 6000 { 6001 eManual = VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL 6002 }; 6003 6004 enum class PerformanceOverrideTypeINTEL 6005 { 6006 eNullHardware = VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL, 6007 eFlushGpuCaches = VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL 6008 }; 6009 6010 enum class PerformanceParameterTypeINTEL 6011 { 6012 eHwCountersSupported = VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL, 6013 eStreamMarkerValidBits = VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL 6014 }; 6015 6016 enum class PerformanceValueTypeINTEL 6017 { 6018 eUint32 = VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL, 6019 eUint64 = VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL, 6020 eFloat = VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL, 6021 eBool = VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL, 6022 eString = VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL 6023 }; 6024 6025 #if defined( VK_USE_PLATFORM_FUCHSIA ) 6026 //=== VK_FUCHSIA_imagepipe_surface === 6027 6028 enum class ImagePipeSurfaceCreateFlagBitsFUCHSIA : VkImagePipeSurfaceCreateFlagsFUCHSIA 6029 { 6030 }; 6031 6032 using ImagePipeSurfaceCreateFlagsFUCHSIA = Flags<ImagePipeSurfaceCreateFlagBitsFUCHSIA>; 6033 6034 template <> 6035 struct FlagTraits<ImagePipeSurfaceCreateFlagBitsFUCHSIA> 6036 { 6037 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6038 static VULKAN_HPP_CONST_OR_CONSTEXPR ImagePipeSurfaceCreateFlagsFUCHSIA allFlags = {}; 6039 }; 6040 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 6041 6042 #if defined( VK_USE_PLATFORM_METAL_EXT ) 6043 //=== VK_EXT_metal_surface === 6044 6045 enum class MetalSurfaceCreateFlagBitsEXT : VkMetalSurfaceCreateFlagsEXT 6046 { 6047 }; 6048 6049 using MetalSurfaceCreateFlagsEXT = Flags<MetalSurfaceCreateFlagBitsEXT>; 6050 6051 template <> 6052 struct FlagTraits<MetalSurfaceCreateFlagBitsEXT> 6053 { 6054 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6055 static VULKAN_HPP_CONST_OR_CONSTEXPR MetalSurfaceCreateFlagsEXT allFlags = {}; 6056 }; 6057 #endif /*VK_USE_PLATFORM_METAL_EXT*/ 6058 6059 //=== VK_KHR_fragment_shading_rate === 6060 6061 enum class FragmentShadingRateCombinerOpKHR 6062 { 6063 eKeep = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR, 6064 eReplace = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR, 6065 eMin = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR, 6066 eMax = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR, 6067 eMul = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR 6068 }; 6069 6070 //=== VK_AMD_shader_core_properties2 === 6071 6072 enum class ShaderCorePropertiesFlagBitsAMD : VkShaderCorePropertiesFlagsAMD 6073 { 6074 }; 6075 6076 using ShaderCorePropertiesFlagsAMD = Flags<ShaderCorePropertiesFlagBitsAMD>; 6077 6078 template <> 6079 struct FlagTraits<ShaderCorePropertiesFlagBitsAMD> 6080 { 6081 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6082 static VULKAN_HPP_CONST_OR_CONSTEXPR ShaderCorePropertiesFlagsAMD allFlags = {}; 6083 }; 6084 6085 //=== VK_EXT_validation_features === 6086 6087 enum class ValidationFeatureEnableEXT 6088 { 6089 eGpuAssisted = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT, 6090 eGpuAssistedReserveBindingSlot = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT, 6091 eBestPractices = VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT, 6092 eDebugPrintf = VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT, 6093 eSynchronizationValidation = VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT 6094 }; 6095 6096 enum class ValidationFeatureDisableEXT 6097 { 6098 eAll = VK_VALIDATION_FEATURE_DISABLE_ALL_EXT, 6099 eShaders = VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT, 6100 eThreadSafety = VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT, 6101 eApiParameters = VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT, 6102 eObjectLifetimes = VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT, 6103 eCoreChecks = VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT, 6104 eUniqueHandles = VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT, 6105 eShaderValidationCache = VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT 6106 }; 6107 6108 //=== VK_NV_cooperative_matrix === 6109 6110 enum class ScopeNV 6111 { 6112 eDevice = VK_SCOPE_DEVICE_NV, 6113 eWorkgroup = VK_SCOPE_WORKGROUP_NV, 6114 eSubgroup = VK_SCOPE_SUBGROUP_NV, 6115 eQueueFamily = VK_SCOPE_QUEUE_FAMILY_NV 6116 }; 6117 6118 enum class ComponentTypeNV 6119 { 6120 eFloat16 = VK_COMPONENT_TYPE_FLOAT16_NV, 6121 eFloat32 = VK_COMPONENT_TYPE_FLOAT32_NV, 6122 eFloat64 = VK_COMPONENT_TYPE_FLOAT64_NV, 6123 eSint8 = VK_COMPONENT_TYPE_SINT8_NV, 6124 eSint16 = VK_COMPONENT_TYPE_SINT16_NV, 6125 eSint32 = VK_COMPONENT_TYPE_SINT32_NV, 6126 eSint64 = VK_COMPONENT_TYPE_SINT64_NV, 6127 eUint8 = VK_COMPONENT_TYPE_UINT8_NV, 6128 eUint16 = VK_COMPONENT_TYPE_UINT16_NV, 6129 eUint32 = VK_COMPONENT_TYPE_UINT32_NV, 6130 eUint64 = VK_COMPONENT_TYPE_UINT64_NV 6131 }; 6132 6133 //=== VK_NV_coverage_reduction_mode === 6134 6135 enum class CoverageReductionModeNV 6136 { 6137 eMerge = VK_COVERAGE_REDUCTION_MODE_MERGE_NV, 6138 eTruncate = VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV 6139 }; 6140 6141 enum class PipelineCoverageReductionStateCreateFlagBitsNV : VkPipelineCoverageReductionStateCreateFlagsNV 6142 { 6143 }; 6144 6145 using PipelineCoverageReductionStateCreateFlagsNV = Flags<PipelineCoverageReductionStateCreateFlagBitsNV>; 6146 6147 template <> 6148 struct FlagTraits<PipelineCoverageReductionStateCreateFlagBitsNV> 6149 { 6150 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6151 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCoverageReductionStateCreateFlagsNV allFlags = {}; 6152 }; 6153 6154 //=== VK_EXT_provoking_vertex === 6155 6156 enum class ProvokingVertexModeEXT 6157 { 6158 eFirstVertex = VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT, 6159 eLastVertex = VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT 6160 }; 6161 6162 #if defined( VK_USE_PLATFORM_WIN32_KHR ) 6163 //=== VK_EXT_full_screen_exclusive === 6164 6165 enum class FullScreenExclusiveEXT 6166 { 6167 eDefault = VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT, 6168 eAllowed = VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT, 6169 eDisallowed = VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT, 6170 eApplicationControlled = VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT 6171 }; 6172 #endif /*VK_USE_PLATFORM_WIN32_KHR*/ 6173 6174 //=== VK_EXT_headless_surface === 6175 6176 enum class HeadlessSurfaceCreateFlagBitsEXT : VkHeadlessSurfaceCreateFlagsEXT 6177 { 6178 }; 6179 6180 using HeadlessSurfaceCreateFlagsEXT = Flags<HeadlessSurfaceCreateFlagBitsEXT>; 6181 6182 template <> 6183 struct FlagTraits<HeadlessSurfaceCreateFlagBitsEXT> 6184 { 6185 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6186 static VULKAN_HPP_CONST_OR_CONSTEXPR HeadlessSurfaceCreateFlagsEXT allFlags = {}; 6187 }; 6188 6189 //=== VK_EXT_line_rasterization === 6190 6191 enum class LineRasterizationModeEXT 6192 { 6193 eDefault = VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, 6194 eRectangular = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, 6195 eBresenham = VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, 6196 eRectangularSmooth = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT 6197 }; 6198 6199 //=== VK_KHR_pipeline_executable_properties === 6200 6201 enum class PipelineExecutableStatisticFormatKHR 6202 { 6203 eBool32 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR, 6204 eInt64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR, 6205 eUint64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR, 6206 eFloat64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR 6207 }; 6208 6209 //=== VK_EXT_surface_maintenance1 === 6210 6211 enum class PresentScalingFlagBitsEXT : VkPresentScalingFlagsEXT 6212 { 6213 eOneToOne = VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT, 6214 eAspectRatioStretch = VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT, 6215 eStretch = VK_PRESENT_SCALING_STRETCH_BIT_EXT 6216 }; 6217 6218 using PresentScalingFlagsEXT = Flags<PresentScalingFlagBitsEXT>; 6219 6220 template <> 6221 struct FlagTraits<PresentScalingFlagBitsEXT> 6222 { 6223 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6224 static VULKAN_HPP_CONST_OR_CONSTEXPR PresentScalingFlagsEXT allFlags = 6225 PresentScalingFlagBitsEXT::eOneToOne | PresentScalingFlagBitsEXT::eAspectRatioStretch | PresentScalingFlagBitsEXT::eStretch; 6226 }; 6227 6228 enum class PresentGravityFlagBitsEXT : VkPresentGravityFlagsEXT 6229 { 6230 eMin = VK_PRESENT_GRAVITY_MIN_BIT_EXT, 6231 eMax = VK_PRESENT_GRAVITY_MAX_BIT_EXT, 6232 eCentered = VK_PRESENT_GRAVITY_CENTERED_BIT_EXT 6233 }; 6234 6235 using PresentGravityFlagsEXT = Flags<PresentGravityFlagBitsEXT>; 6236 6237 template <> 6238 struct FlagTraits<PresentGravityFlagBitsEXT> 6239 { 6240 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6241 static VULKAN_HPP_CONST_OR_CONSTEXPR PresentGravityFlagsEXT allFlags = 6242 PresentGravityFlagBitsEXT::eMin | PresentGravityFlagBitsEXT::eMax | PresentGravityFlagBitsEXT::eCentered; 6243 }; 6244 6245 //=== VK_NV_device_generated_commands === 6246 6247 enum class IndirectStateFlagBitsNV : VkIndirectStateFlagsNV 6248 { 6249 eFlagFrontface = VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV 6250 }; 6251 6252 using IndirectStateFlagsNV = Flags<IndirectStateFlagBitsNV>; 6253 6254 template <> 6255 struct FlagTraits<IndirectStateFlagBitsNV> 6256 { 6257 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6258 static VULKAN_HPP_CONST_OR_CONSTEXPR IndirectStateFlagsNV allFlags = IndirectStateFlagBitsNV::eFlagFrontface; 6259 }; 6260 6261 enum class IndirectCommandsTokenTypeNV 6262 { 6263 eShaderGroup = VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV, 6264 eStateFlags = VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV, 6265 eIndexBuffer = VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV, 6266 eVertexBuffer = VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV, 6267 ePushConstant = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, 6268 eDrawIndexed = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV, 6269 eDraw = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV, 6270 eDrawTasks = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV, 6271 eDrawMeshTasks = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV 6272 }; 6273 6274 enum class IndirectCommandsLayoutUsageFlagBitsNV : VkIndirectCommandsLayoutUsageFlagsNV 6275 { 6276 eExplicitPreprocess = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV, 6277 eIndexedSequences = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV, 6278 eUnorderedSequences = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV 6279 }; 6280 6281 using IndirectCommandsLayoutUsageFlagsNV = Flags<IndirectCommandsLayoutUsageFlagBitsNV>; 6282 6283 template <> 6284 struct FlagTraits<IndirectCommandsLayoutUsageFlagBitsNV> 6285 { 6286 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6287 static VULKAN_HPP_CONST_OR_CONSTEXPR IndirectCommandsLayoutUsageFlagsNV allFlags = IndirectCommandsLayoutUsageFlagBitsNV::eExplicitPreprocess | 6288 IndirectCommandsLayoutUsageFlagBitsNV::eIndexedSequences | 6289 IndirectCommandsLayoutUsageFlagBitsNV::eUnorderedSequences; 6290 }; 6291 6292 //=== VK_EXT_device_memory_report === 6293 6294 enum class DeviceMemoryReportEventTypeEXT 6295 { 6296 eAllocate = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT, 6297 eFree = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT, 6298 eImport = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT, 6299 eUnimport = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT, 6300 eAllocationFailed = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT 6301 }; 6302 6303 enum class DeviceMemoryReportFlagBitsEXT : VkDeviceMemoryReportFlagsEXT 6304 { 6305 }; 6306 6307 using DeviceMemoryReportFlagsEXT = Flags<DeviceMemoryReportFlagBitsEXT>; 6308 6309 template <> 6310 struct FlagTraits<DeviceMemoryReportFlagBitsEXT> 6311 { 6312 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6313 static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceMemoryReportFlagsEXT allFlags = {}; 6314 }; 6315 6316 //=== VK_EXT_pipeline_creation_cache_control === 6317 6318 enum class PipelineCacheCreateFlagBits : VkPipelineCacheCreateFlags 6319 { 6320 eExternallySynchronized = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, 6321 eExternallySynchronizedEXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT 6322 }; 6323 6324 using PipelineCacheCreateFlags = Flags<PipelineCacheCreateFlagBits>; 6325 6326 template <> 6327 struct FlagTraits<PipelineCacheCreateFlagBits> 6328 { 6329 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6330 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineCacheCreateFlags allFlags = PipelineCacheCreateFlagBits::eExternallySynchronized; 6331 }; 6332 6333 #if defined( VK_ENABLE_BETA_EXTENSIONS ) 6334 //=== VK_KHR_video_encode_queue === 6335 6336 enum class VideoEncodeCapabilityFlagBitsKHR : VkVideoEncodeCapabilityFlagsKHR 6337 { 6338 ePrecedingExternallyEncodedBytes = VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR 6339 }; 6340 6341 using VideoEncodeCapabilityFlagsKHR = Flags<VideoEncodeCapabilityFlagBitsKHR>; 6342 6343 template <> 6344 struct FlagTraits<VideoEncodeCapabilityFlagBitsKHR> 6345 { 6346 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6347 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeCapabilityFlagsKHR allFlags = VideoEncodeCapabilityFlagBitsKHR::ePrecedingExternallyEncodedBytes; 6348 }; 6349 6350 enum class VideoEncodeUsageFlagBitsKHR : VkVideoEncodeUsageFlagsKHR 6351 { 6352 eDefault = VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR, 6353 eTranscoding = VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR, 6354 eStreaming = VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR, 6355 eRecording = VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR, 6356 eConferencing = VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR 6357 }; 6358 6359 using VideoEncodeUsageFlagsKHR = Flags<VideoEncodeUsageFlagBitsKHR>; 6360 6361 template <> 6362 struct FlagTraits<VideoEncodeUsageFlagBitsKHR> 6363 { 6364 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6365 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeUsageFlagsKHR allFlags = VideoEncodeUsageFlagBitsKHR::eDefault | VideoEncodeUsageFlagBitsKHR::eTranscoding | 6366 VideoEncodeUsageFlagBitsKHR::eStreaming | VideoEncodeUsageFlagBitsKHR::eRecording | 6367 VideoEncodeUsageFlagBitsKHR::eConferencing; 6368 }; 6369 6370 enum class VideoEncodeContentFlagBitsKHR : VkVideoEncodeContentFlagsKHR 6371 { 6372 eDefault = VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR, 6373 eCamera = VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR, 6374 eDesktop = VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR, 6375 eRendered = VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR 6376 }; 6377 6378 using VideoEncodeContentFlagsKHR = Flags<VideoEncodeContentFlagBitsKHR>; 6379 6380 template <> 6381 struct FlagTraits<VideoEncodeContentFlagBitsKHR> 6382 { 6383 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6384 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeContentFlagsKHR allFlags = 6385 VideoEncodeContentFlagBitsKHR::eDefault | VideoEncodeContentFlagBitsKHR::eCamera | VideoEncodeContentFlagBitsKHR::eDesktop | 6386 VideoEncodeContentFlagBitsKHR::eRendered; 6387 }; 6388 6389 enum class VideoEncodeTuningModeKHR 6390 { 6391 eDefault = VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR, 6392 eHighQuality = VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR, 6393 eLowLatency = VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR, 6394 eUltraLowLatency = VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR, 6395 eLossless = VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR 6396 }; 6397 6398 enum class VideoEncodeRateControlModeFlagBitsKHR : VkVideoEncodeRateControlModeFlagsKHR 6399 { 6400 eNone = VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR, 6401 eCbr = VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR, 6402 eVbr = VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR 6403 }; 6404 6405 using VideoEncodeRateControlModeFlagsKHR = Flags<VideoEncodeRateControlModeFlagBitsKHR>; 6406 6407 template <> 6408 struct FlagTraits<VideoEncodeRateControlModeFlagBitsKHR> 6409 { 6410 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6411 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeRateControlModeFlagsKHR allFlags = 6412 VideoEncodeRateControlModeFlagBitsKHR::eNone | VideoEncodeRateControlModeFlagBitsKHR::eCbr | VideoEncodeRateControlModeFlagBitsKHR::eVbr; 6413 }; 6414 6415 enum class VideoEncodeFlagBitsKHR : VkVideoEncodeFlagsKHR 6416 { 6417 }; 6418 6419 using VideoEncodeFlagsKHR = Flags<VideoEncodeFlagBitsKHR>; 6420 6421 template <> 6422 struct FlagTraits<VideoEncodeFlagBitsKHR> 6423 { 6424 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6425 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeFlagsKHR allFlags = {}; 6426 }; 6427 6428 enum class VideoEncodeRateControlFlagBitsKHR : VkVideoEncodeRateControlFlagsKHR 6429 { 6430 }; 6431 6432 using VideoEncodeRateControlFlagsKHR = Flags<VideoEncodeRateControlFlagBitsKHR>; 6433 6434 template <> 6435 struct FlagTraits<VideoEncodeRateControlFlagBitsKHR> 6436 { 6437 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6438 static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeRateControlFlagsKHR allFlags = {}; 6439 }; 6440 #endif /*VK_ENABLE_BETA_EXTENSIONS*/ 6441 6442 //=== VK_NV_device_diagnostics_config === 6443 6444 enum class DeviceDiagnosticsConfigFlagBitsNV : VkDeviceDiagnosticsConfigFlagsNV 6445 { 6446 eEnableShaderDebugInfo = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV, 6447 eEnableResourceTracking = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV, 6448 eEnableAutomaticCheckpoints = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV, 6449 eEnableShaderErrorReporting = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV 6450 }; 6451 6452 using DeviceDiagnosticsConfigFlagsNV = Flags<DeviceDiagnosticsConfigFlagBitsNV>; 6453 6454 template <> 6455 struct FlagTraits<DeviceDiagnosticsConfigFlagBitsNV> 6456 { 6457 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6458 static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceDiagnosticsConfigFlagsNV allFlags = 6459 DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderDebugInfo | DeviceDiagnosticsConfigFlagBitsNV::eEnableResourceTracking | 6460 DeviceDiagnosticsConfigFlagBitsNV::eEnableAutomaticCheckpoints | DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderErrorReporting; 6461 }; 6462 6463 #if defined( VK_USE_PLATFORM_METAL_EXT ) 6464 //=== VK_EXT_metal_objects === 6465 6466 enum class ExportMetalObjectTypeFlagBitsEXT : VkExportMetalObjectTypeFlagsEXT 6467 { 6468 eMetalDevice = VK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT, 6469 eMetalCommandQueue = VK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT, 6470 eMetalBuffer = VK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT, 6471 eMetalTexture = VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT, 6472 eMetalIosurface = VK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT, 6473 eMetalSharedEvent = VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT 6474 }; 6475 6476 using ExportMetalObjectTypeFlagsEXT = Flags<ExportMetalObjectTypeFlagBitsEXT>; 6477 6478 template <> 6479 struct FlagTraits<ExportMetalObjectTypeFlagBitsEXT> 6480 { 6481 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6482 static VULKAN_HPP_CONST_OR_CONSTEXPR ExportMetalObjectTypeFlagsEXT allFlags = 6483 ExportMetalObjectTypeFlagBitsEXT::eMetalDevice | ExportMetalObjectTypeFlagBitsEXT::eMetalCommandQueue | ExportMetalObjectTypeFlagBitsEXT::eMetalBuffer | 6484 ExportMetalObjectTypeFlagBitsEXT::eMetalTexture | ExportMetalObjectTypeFlagBitsEXT::eMetalIosurface | ExportMetalObjectTypeFlagBitsEXT::eMetalSharedEvent; 6485 }; 6486 #endif /*VK_USE_PLATFORM_METAL_EXT*/ 6487 6488 //=== VK_EXT_graphics_pipeline_library === 6489 6490 enum class GraphicsPipelineLibraryFlagBitsEXT : VkGraphicsPipelineLibraryFlagsEXT 6491 { 6492 eVertexInputInterface = VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT, 6493 ePreRasterizationShaders = VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT, 6494 eFragmentShader = VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT, 6495 eFragmentOutputInterface = VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT 6496 }; 6497 6498 using GraphicsPipelineLibraryFlagsEXT = Flags<GraphicsPipelineLibraryFlagBitsEXT>; 6499 6500 template <> 6501 struct FlagTraits<GraphicsPipelineLibraryFlagBitsEXT> 6502 { 6503 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6504 static VULKAN_HPP_CONST_OR_CONSTEXPR GraphicsPipelineLibraryFlagsEXT allFlags = 6505 GraphicsPipelineLibraryFlagBitsEXT::eVertexInputInterface | GraphicsPipelineLibraryFlagBitsEXT::ePreRasterizationShaders | 6506 GraphicsPipelineLibraryFlagBitsEXT::eFragmentShader | GraphicsPipelineLibraryFlagBitsEXT::eFragmentOutputInterface; 6507 }; 6508 6509 enum class PipelineLayoutCreateFlagBits : VkPipelineLayoutCreateFlags 6510 { 6511 eIndependentSetsEXT = VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT 6512 }; 6513 6514 using PipelineLayoutCreateFlags = Flags<PipelineLayoutCreateFlagBits>; 6515 6516 template <> 6517 struct FlagTraits<PipelineLayoutCreateFlagBits> 6518 { 6519 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6520 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineLayoutCreateFlags allFlags = PipelineLayoutCreateFlagBits::eIndependentSetsEXT; 6521 }; 6522 6523 //=== VK_NV_fragment_shading_rate_enums === 6524 6525 enum class FragmentShadingRateNV 6526 { 6527 e1InvocationPerPixel = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV, 6528 e1InvocationPer1X2Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV, 6529 e1InvocationPer2X1Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV, 6530 e1InvocationPer2X2Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV, 6531 e1InvocationPer2X4Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV, 6532 e1InvocationPer4X2Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV, 6533 e1InvocationPer4X4Pixels = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV, 6534 e2InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV, 6535 e4InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV, 6536 e8InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV, 6537 e16InvocationsPerPixel = VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV, 6538 eNoInvocations = VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV 6539 }; 6540 6541 enum class FragmentShadingRateTypeNV 6542 { 6543 eFragmentSize = VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV, 6544 eEnums = VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV 6545 }; 6546 6547 //=== VK_NV_ray_tracing_motion_blur === 6548 6549 enum class AccelerationStructureMotionInstanceTypeNV 6550 { 6551 eStatic = VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV, 6552 eMatrixMotion = VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV, 6553 eSrtMotion = VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV 6554 }; 6555 6556 enum class AccelerationStructureMotionInfoFlagBitsNV : VkAccelerationStructureMotionInfoFlagsNV 6557 { 6558 }; 6559 6560 using AccelerationStructureMotionInfoFlagsNV = Flags<AccelerationStructureMotionInfoFlagBitsNV>; 6561 6562 template <> 6563 struct FlagTraits<AccelerationStructureMotionInfoFlagBitsNV> 6564 { 6565 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6566 static VULKAN_HPP_CONST_OR_CONSTEXPR AccelerationStructureMotionInfoFlagsNV allFlags = {}; 6567 }; 6568 6569 enum class AccelerationStructureMotionInstanceFlagBitsNV : VkAccelerationStructureMotionInstanceFlagsNV 6570 { 6571 }; 6572 6573 using AccelerationStructureMotionInstanceFlagsNV = Flags<AccelerationStructureMotionInstanceFlagBitsNV>; 6574 6575 template <> 6576 struct FlagTraits<AccelerationStructureMotionInstanceFlagBitsNV> 6577 { 6578 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6579 static VULKAN_HPP_CONST_OR_CONSTEXPR AccelerationStructureMotionInstanceFlagsNV allFlags = {}; 6580 }; 6581 6582 //=== VK_EXT_image_compression_control === 6583 6584 enum class ImageCompressionFlagBitsEXT : VkImageCompressionFlagsEXT 6585 { 6586 eDefault = VK_IMAGE_COMPRESSION_DEFAULT_EXT, 6587 eFixedRateDefault = VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT, 6588 eFixedRateExplicit = VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT, 6589 eDisabled = VK_IMAGE_COMPRESSION_DISABLED_EXT 6590 }; 6591 6592 using ImageCompressionFlagsEXT = Flags<ImageCompressionFlagBitsEXT>; 6593 6594 template <> 6595 struct FlagTraits<ImageCompressionFlagBitsEXT> 6596 { 6597 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6598 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageCompressionFlagsEXT allFlags = 6599 ImageCompressionFlagBitsEXT::eDefault | ImageCompressionFlagBitsEXT::eFixedRateDefault | ImageCompressionFlagBitsEXT::eFixedRateExplicit | 6600 ImageCompressionFlagBitsEXT::eDisabled; 6601 }; 6602 6603 enum class ImageCompressionFixedRateFlagBitsEXT : VkImageCompressionFixedRateFlagsEXT 6604 { 6605 eNone = VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT, 6606 e1Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT, 6607 e2Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT, 6608 e3Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT, 6609 e4Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT, 6610 e5Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT, 6611 e6Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT, 6612 e7Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT, 6613 e8Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT, 6614 e9Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT, 6615 e10Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT, 6616 e11Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT, 6617 e12Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT, 6618 e13Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT, 6619 e14Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT, 6620 e15Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT, 6621 e16Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT, 6622 e17Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT, 6623 e18Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT, 6624 e19Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT, 6625 e20Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT, 6626 e21Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT, 6627 e22Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT, 6628 e23Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT, 6629 e24Bpc = VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT 6630 }; 6631 6632 using ImageCompressionFixedRateFlagsEXT = Flags<ImageCompressionFixedRateFlagBitsEXT>; 6633 6634 template <> 6635 struct FlagTraits<ImageCompressionFixedRateFlagBitsEXT> 6636 { 6637 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6638 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageCompressionFixedRateFlagsEXT allFlags = 6639 ImageCompressionFixedRateFlagBitsEXT::eNone | ImageCompressionFixedRateFlagBitsEXT::e1Bpc | ImageCompressionFixedRateFlagBitsEXT::e2Bpc | 6640 ImageCompressionFixedRateFlagBitsEXT::e3Bpc | ImageCompressionFixedRateFlagBitsEXT::e4Bpc | ImageCompressionFixedRateFlagBitsEXT::e5Bpc | 6641 ImageCompressionFixedRateFlagBitsEXT::e6Bpc | ImageCompressionFixedRateFlagBitsEXT::e7Bpc | ImageCompressionFixedRateFlagBitsEXT::e8Bpc | 6642 ImageCompressionFixedRateFlagBitsEXT::e9Bpc | ImageCompressionFixedRateFlagBitsEXT::e10Bpc | ImageCompressionFixedRateFlagBitsEXT::e11Bpc | 6643 ImageCompressionFixedRateFlagBitsEXT::e12Bpc | ImageCompressionFixedRateFlagBitsEXT::e13Bpc | ImageCompressionFixedRateFlagBitsEXT::e14Bpc | 6644 ImageCompressionFixedRateFlagBitsEXT::e15Bpc | ImageCompressionFixedRateFlagBitsEXT::e16Bpc | ImageCompressionFixedRateFlagBitsEXT::e17Bpc | 6645 ImageCompressionFixedRateFlagBitsEXT::e18Bpc | ImageCompressionFixedRateFlagBitsEXT::e19Bpc | ImageCompressionFixedRateFlagBitsEXT::e20Bpc | 6646 ImageCompressionFixedRateFlagBitsEXT::e21Bpc | ImageCompressionFixedRateFlagBitsEXT::e22Bpc | ImageCompressionFixedRateFlagBitsEXT::e23Bpc | 6647 ImageCompressionFixedRateFlagBitsEXT::e24Bpc; 6648 }; 6649 6650 //=== VK_EXT_device_fault === 6651 6652 enum class DeviceFaultAddressTypeEXT 6653 { 6654 eNone = VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT, 6655 eReadInvalid = VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT, 6656 eWriteInvalid = VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT, 6657 eExecuteInvalid = VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT, 6658 eInstructionPointerUnknown = VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT, 6659 eInstructionPointerInvalid = VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT, 6660 eInstructionPointerFault = VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT 6661 }; 6662 6663 enum class DeviceFaultVendorBinaryHeaderVersionEXT 6664 { 6665 eOne = VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT 6666 }; 6667 6668 //=== VK_ARM_rasterization_order_attachment_access === 6669 6670 enum class PipelineColorBlendStateCreateFlagBits : VkPipelineColorBlendStateCreateFlags 6671 { 6672 eRasterizationOrderAttachmentAccessARM = 6673 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM 6674 }; 6675 to_string(PipelineColorBlendStateCreateFlagBits value)6676 VULKAN_HPP_INLINE std::string to_string( PipelineColorBlendStateCreateFlagBits value ) 6677 { 6678 switch ( value ) 6679 { 6680 case PipelineColorBlendStateCreateFlagBits::eRasterizationOrderAttachmentAccessARM: 6681 return "RasterizationOrderAttachmentAccessARM"; 6682 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )"; 6683 } 6684 } 6685 6686 enum class PipelineDepthStencilStateCreateFlagBits : VkPipelineDepthStencilStateCreateFlags 6687 { 6688 eRasterizationOrderAttachmentDepthAccessARM = 6689 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM, 6690 eRasterizationOrderAttachmentStencilAccessARM = 6691 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM 6692 }; 6693 to_string(PipelineDepthStencilStateCreateFlagBits value)6694 VULKAN_HPP_INLINE std::string to_string( PipelineDepthStencilStateCreateFlagBits value ) 6695 { 6696 switch ( value ) 6697 { 6698 case PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentDepthAccessARM: 6699 return "RasterizationOrderAttachmentDepthAccessARM"; 6700 case PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentStencilAccessARM: 6701 return "RasterizationOrderAttachmentStencilAccessARM"; 6702 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )"; 6703 } 6704 } 6705 6706 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) 6707 //=== VK_EXT_directfb_surface === 6708 6709 enum class DirectFBSurfaceCreateFlagBitsEXT : VkDirectFBSurfaceCreateFlagsEXT 6710 { 6711 }; 6712 6713 using DirectFBSurfaceCreateFlagsEXT = Flags<DirectFBSurfaceCreateFlagBitsEXT>; 6714 6715 template <> 6716 struct FlagTraits<DirectFBSurfaceCreateFlagBitsEXT> 6717 { 6718 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6719 static VULKAN_HPP_CONST_OR_CONSTEXPR DirectFBSurfaceCreateFlagsEXT allFlags = {}; 6720 }; 6721 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ 6722 6723 //=== VK_KHR_ray_tracing_pipeline === 6724 6725 enum class RayTracingShaderGroupTypeKHR 6726 { 6727 eGeneral = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR, 6728 eTrianglesHitGroup = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR, 6729 eProceduralHitGroup = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR 6730 }; 6731 using RayTracingShaderGroupTypeNV = RayTracingShaderGroupTypeKHR; 6732 6733 enum class ShaderGroupShaderKHR 6734 { 6735 eGeneral = VK_SHADER_GROUP_SHADER_GENERAL_KHR, 6736 eClosestHit = VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR, 6737 eAnyHit = VK_SHADER_GROUP_SHADER_ANY_HIT_KHR, 6738 eIntersection = VK_SHADER_GROUP_SHADER_INTERSECTION_KHR 6739 }; 6740 6741 //=== VK_EXT_device_address_binding_report === 6742 6743 enum class DeviceAddressBindingFlagBitsEXT : VkDeviceAddressBindingFlagsEXT 6744 { 6745 eInternalObject = VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT 6746 }; 6747 6748 using DeviceAddressBindingFlagsEXT = Flags<DeviceAddressBindingFlagBitsEXT>; 6749 6750 template <> 6751 struct FlagTraits<DeviceAddressBindingFlagBitsEXT> 6752 { 6753 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6754 static VULKAN_HPP_CONST_OR_CONSTEXPR DeviceAddressBindingFlagsEXT allFlags = DeviceAddressBindingFlagBitsEXT::eInternalObject; 6755 }; 6756 6757 enum class DeviceAddressBindingTypeEXT 6758 { 6759 eBind = VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT, 6760 eUnbind = VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT 6761 }; 6762 6763 #if defined( VK_USE_PLATFORM_FUCHSIA ) 6764 //=== VK_FUCHSIA_buffer_collection === 6765 6766 enum class ImageConstraintsInfoFlagBitsFUCHSIA : VkImageConstraintsInfoFlagsFUCHSIA 6767 { 6768 eCpuReadRarely = VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA, 6769 eCpuReadOften = VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA, 6770 eCpuWriteRarely = VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA, 6771 eCpuWriteOften = VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA, 6772 eProtectedOptional = VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA 6773 }; 6774 6775 using ImageConstraintsInfoFlagsFUCHSIA = Flags<ImageConstraintsInfoFlagBitsFUCHSIA>; 6776 6777 template <> 6778 struct FlagTraits<ImageConstraintsInfoFlagBitsFUCHSIA> 6779 { 6780 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6781 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageConstraintsInfoFlagsFUCHSIA allFlags = 6782 ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadRarely | ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadOften | 6783 ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteRarely | ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteOften | 6784 ImageConstraintsInfoFlagBitsFUCHSIA::eProtectedOptional; 6785 }; 6786 6787 enum class ImageFormatConstraintsFlagBitsFUCHSIA : VkImageFormatConstraintsFlagsFUCHSIA 6788 { 6789 }; 6790 6791 using ImageFormatConstraintsFlagsFUCHSIA = Flags<ImageFormatConstraintsFlagBitsFUCHSIA>; 6792 6793 template <> 6794 struct FlagTraits<ImageFormatConstraintsFlagBitsFUCHSIA> 6795 { 6796 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6797 static VULKAN_HPP_CONST_OR_CONSTEXPR ImageFormatConstraintsFlagsFUCHSIA allFlags = {}; 6798 }; 6799 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 6800 6801 #if defined( VK_USE_PLATFORM_FUCHSIA ) 6802 //=== VK_FUCHSIA_buffer_collection === 6803 6804 enum class ImageConstraintsInfoFlagBitsFUCHSIA : VkImageConstraintsInfoFlagsFUCHSIA 6805 { 6806 eCpuReadRarely = VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA, 6807 eCpuReadOften = VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA, 6808 eCpuWriteRarely = VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA, 6809 eCpuWriteOften = VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA, 6810 eProtectedOptional = VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA 6811 }; 6812 to_string(ImageConstraintsInfoFlagBitsFUCHSIA value)6813 VULKAN_HPP_INLINE std::string to_string( ImageConstraintsInfoFlagBitsFUCHSIA value ) 6814 { 6815 switch ( value ) 6816 { 6817 case ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadRarely: return "CpuReadRarely"; 6818 case ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadOften: return "CpuReadOften"; 6819 case ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteRarely: return "CpuWriteRarely"; 6820 case ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteOften: return "CpuWriteOften"; 6821 case ImageConstraintsInfoFlagBitsFUCHSIA::eProtectedOptional: return "ProtectedOptional"; 6822 default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )"; 6823 } 6824 } 6825 6826 enum class ImageFormatConstraintsFlagBitsFUCHSIA : VkImageFormatConstraintsFlagsFUCHSIA 6827 { 6828 }; 6829 to_string(ImageFormatConstraintsFlagBitsFUCHSIA)6830 VULKAN_HPP_INLINE std::string to_string( ImageFormatConstraintsFlagBitsFUCHSIA ) 6831 { 6832 return "(void)"; 6833 } 6834 #endif /*VK_USE_PLATFORM_FUCHSIA*/ 6835 6836 #if defined( VK_USE_PLATFORM_SCREEN_QNX ) 6837 //=== VK_QNX_screen_surface === 6838 6839 enum class ScreenSurfaceCreateFlagBitsQNX : VkScreenSurfaceCreateFlagsQNX 6840 { 6841 }; 6842 6843 using ScreenSurfaceCreateFlagsQNX = Flags<ScreenSurfaceCreateFlagBitsQNX>; 6844 6845 template <> 6846 struct FlagTraits<ScreenSurfaceCreateFlagBitsQNX> 6847 { 6848 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6849 static VULKAN_HPP_CONST_OR_CONSTEXPR ScreenSurfaceCreateFlagsQNX allFlags = {}; 6850 }; 6851 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/ 6852 6853 //=== VK_EXT_opacity_micromap === 6854 6855 enum class MicromapTypeEXT 6856 { 6857 eOpacityMicromap = VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT 6858 }; 6859 6860 enum class BuildMicromapFlagBitsEXT : VkBuildMicromapFlagsEXT 6861 { 6862 ePreferFastTrace = VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT, 6863 ePreferFastBuild = VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT, 6864 eAllowCompaction = VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT 6865 }; 6866 6867 using BuildMicromapFlagsEXT = Flags<BuildMicromapFlagBitsEXT>; 6868 6869 template <> 6870 struct FlagTraits<BuildMicromapFlagBitsEXT> 6871 { 6872 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6873 static VULKAN_HPP_CONST_OR_CONSTEXPR BuildMicromapFlagsEXT allFlags = 6874 BuildMicromapFlagBitsEXT::ePreferFastTrace | BuildMicromapFlagBitsEXT::ePreferFastBuild | BuildMicromapFlagBitsEXT::eAllowCompaction; 6875 }; 6876 6877 enum class CopyMicromapModeEXT 6878 { 6879 eClone = VK_COPY_MICROMAP_MODE_CLONE_EXT, 6880 eSerialize = VK_COPY_MICROMAP_MODE_SERIALIZE_EXT, 6881 eDeserialize = VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT, 6882 eCompact = VK_COPY_MICROMAP_MODE_COMPACT_EXT 6883 }; 6884 6885 enum class MicromapCreateFlagBitsEXT : VkMicromapCreateFlagsEXT 6886 { 6887 eDeviceAddressCaptureReplay = VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT 6888 }; 6889 6890 using MicromapCreateFlagsEXT = Flags<MicromapCreateFlagBitsEXT>; 6891 6892 template <> 6893 struct FlagTraits<MicromapCreateFlagBitsEXT> 6894 { 6895 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6896 static VULKAN_HPP_CONST_OR_CONSTEXPR MicromapCreateFlagsEXT allFlags = MicromapCreateFlagBitsEXT::eDeviceAddressCaptureReplay; 6897 }; 6898 6899 enum class BuildMicromapModeEXT 6900 { 6901 eBuild = VK_BUILD_MICROMAP_MODE_BUILD_EXT 6902 }; 6903 6904 enum class OpacityMicromapFormatEXT 6905 { 6906 e2State = VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT, 6907 e4State = VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT 6908 }; 6909 6910 enum class OpacityMicromapSpecialIndexEXT 6911 { 6912 eFullyTransparent = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT, 6913 eFullyOpaque = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT, 6914 eFullyUnknownTransparent = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT, 6915 eFullyUnknownOpaque = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT 6916 }; 6917 6918 //=== VK_NV_memory_decompression === 6919 6920 enum class MemoryDecompressionMethodFlagBitsNV : VkMemoryDecompressionMethodFlagsNV 6921 { 6922 eGdeflate10 = VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV 6923 }; 6924 6925 using MemoryDecompressionMethodFlagsNV = Flags<MemoryDecompressionMethodFlagBitsNV>; 6926 6927 template <> 6928 struct FlagTraits<MemoryDecompressionMethodFlagBitsNV> 6929 { 6930 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6931 static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryDecompressionMethodFlagsNV allFlags = MemoryDecompressionMethodFlagBitsNV::eGdeflate10; 6932 }; 6933 6934 //=== VK_EXT_subpass_merge_feedback === 6935 6936 enum class SubpassMergeStatusEXT 6937 { 6938 eMerged = VK_SUBPASS_MERGE_STATUS_MERGED_EXT, 6939 eDisallowed = VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT, 6940 eNotMergedSideEffects = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT, 6941 eNotMergedSamplesMismatch = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT, 6942 eNotMergedViewsMismatch = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT, 6943 eNotMergedAliasing = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT, 6944 eNotMergedDependencies = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT, 6945 eNotMergedIncompatibleInputAttachment = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT, 6946 eNotMergedTooManyAttachments = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT, 6947 eNotMergedInsufficientStorage = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT, 6948 eNotMergedDepthStencilCount = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT, 6949 eNotMergedResolveAttachmentReuse = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT, 6950 eNotMergedSingleSubpass = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT, 6951 eNotMergedUnspecified = VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT 6952 }; 6953 6954 //=== VK_LUNARG_direct_driver_loading === 6955 6956 enum class DirectDriverLoadingModeLUNARG 6957 { 6958 eExclusive = VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG, 6959 eInclusive = VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG 6960 }; 6961 6962 enum class DirectDriverLoadingFlagBitsLUNARG : VkDirectDriverLoadingFlagsLUNARG 6963 { 6964 }; 6965 6966 using DirectDriverLoadingFlagsLUNARG = Flags<DirectDriverLoadingFlagBitsLUNARG>; 6967 6968 template <> 6969 struct FlagTraits<DirectDriverLoadingFlagBitsLUNARG> 6970 { 6971 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6972 static VULKAN_HPP_CONST_OR_CONSTEXPR DirectDriverLoadingFlagsLUNARG allFlags = {}; 6973 }; 6974 6975 //=== VK_EXT_rasterization_order_attachment_access === 6976 6977 enum class PipelineColorBlendStateCreateFlagBits : VkPipelineColorBlendStateCreateFlags 6978 { 6979 eRasterizationOrderAttachmentAccessEXT = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT, 6980 eRasterizationOrderAttachmentAccessARM = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM 6981 }; 6982 6983 using PipelineColorBlendStateCreateFlags = Flags<PipelineColorBlendStateCreateFlagBits>; 6984 6985 template <> 6986 struct FlagTraits<PipelineColorBlendStateCreateFlagBits> 6987 { 6988 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 6989 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineColorBlendStateCreateFlags allFlags = 6990 PipelineColorBlendStateCreateFlagBits::eRasterizationOrderAttachmentAccessEXT; 6991 }; 6992 6993 enum class PipelineDepthStencilStateCreateFlagBits : VkPipelineDepthStencilStateCreateFlags 6994 { 6995 eRasterizationOrderAttachmentDepthAccessEXT = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT, 6996 eRasterizationOrderAttachmentStencilAccessEXT = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT, 6997 eRasterizationOrderAttachmentDepthAccessARM = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM, 6998 eRasterizationOrderAttachmentStencilAccessARM = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM 6999 }; 7000 7001 using PipelineDepthStencilStateCreateFlags = Flags<PipelineDepthStencilStateCreateFlagBits>; 7002 7003 template <> 7004 struct FlagTraits<PipelineDepthStencilStateCreateFlagBits> 7005 { 7006 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 7007 static VULKAN_HPP_CONST_OR_CONSTEXPR PipelineDepthStencilStateCreateFlags allFlags = 7008 PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentDepthAccessEXT | 7009 PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentStencilAccessEXT; 7010 }; 7011 7012 //=== VK_NV_optical_flow === 7013 7014 enum class OpticalFlowUsageFlagBitsNV : VkOpticalFlowUsageFlagsNV 7015 { 7016 eUnknown = VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV, 7017 eInput = VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV, 7018 eOutput = VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV, 7019 eHint = VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV, 7020 eCost = VK_OPTICAL_FLOW_USAGE_COST_BIT_NV, 7021 eGlobalFlow = VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV 7022 }; 7023 7024 using OpticalFlowUsageFlagsNV = Flags<OpticalFlowUsageFlagBitsNV>; 7025 7026 template <> 7027 struct FlagTraits<OpticalFlowUsageFlagBitsNV> 7028 { 7029 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 7030 static VULKAN_HPP_CONST_OR_CONSTEXPR OpticalFlowUsageFlagsNV allFlags = OpticalFlowUsageFlagBitsNV::eUnknown | OpticalFlowUsageFlagBitsNV::eInput | 7031 OpticalFlowUsageFlagBitsNV::eOutput | OpticalFlowUsageFlagBitsNV::eHint | 7032 OpticalFlowUsageFlagBitsNV::eCost | OpticalFlowUsageFlagBitsNV::eGlobalFlow; 7033 }; 7034 7035 enum class OpticalFlowGridSizeFlagBitsNV : VkOpticalFlowGridSizeFlagsNV 7036 { 7037 eUnknown = VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV, 7038 e1X1 = VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV, 7039 e2X2 = VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV, 7040 e4X4 = VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV, 7041 e8X8 = VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV 7042 }; 7043 7044 using OpticalFlowGridSizeFlagsNV = Flags<OpticalFlowGridSizeFlagBitsNV>; 7045 7046 template <> 7047 struct FlagTraits<OpticalFlowGridSizeFlagBitsNV> 7048 { 7049 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 7050 static VULKAN_HPP_CONST_OR_CONSTEXPR OpticalFlowGridSizeFlagsNV allFlags = OpticalFlowGridSizeFlagBitsNV::eUnknown | OpticalFlowGridSizeFlagBitsNV::e1X1 | 7051 OpticalFlowGridSizeFlagBitsNV::e2X2 | OpticalFlowGridSizeFlagBitsNV::e4X4 | 7052 OpticalFlowGridSizeFlagBitsNV::e8X8; 7053 }; 7054 7055 enum class OpticalFlowPerformanceLevelNV 7056 { 7057 eUnknown = VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV, 7058 eSlow = VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV, 7059 eMedium = VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV, 7060 eFast = VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV 7061 }; 7062 7063 enum class OpticalFlowSessionBindingPointNV 7064 { 7065 eUnknown = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV, 7066 eInput = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV, 7067 eReference = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV, 7068 eHint = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV, 7069 eFlowVector = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV, 7070 eBackwardFlowVector = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV, 7071 eCost = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV, 7072 eBackwardCost = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV, 7073 eGlobalFlow = VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV 7074 }; 7075 7076 enum class OpticalFlowSessionCreateFlagBitsNV : VkOpticalFlowSessionCreateFlagsNV 7077 { 7078 eEnableHint = VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV, 7079 eEnableCost = VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV, 7080 eEnableGlobalFlow = VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV, 7081 eAllowRegions = VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV, 7082 eBothDirections = VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV 7083 }; 7084 7085 using OpticalFlowSessionCreateFlagsNV = Flags<OpticalFlowSessionCreateFlagBitsNV>; 7086 7087 template <> 7088 struct FlagTraits<OpticalFlowSessionCreateFlagBitsNV> 7089 { 7090 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 7091 static VULKAN_HPP_CONST_OR_CONSTEXPR OpticalFlowSessionCreateFlagsNV allFlags = 7092 OpticalFlowSessionCreateFlagBitsNV::eEnableHint | OpticalFlowSessionCreateFlagBitsNV::eEnableCost | 7093 OpticalFlowSessionCreateFlagBitsNV::eEnableGlobalFlow | OpticalFlowSessionCreateFlagBitsNV::eAllowRegions | 7094 OpticalFlowSessionCreateFlagBitsNV::eBothDirections; 7095 }; 7096 7097 enum class OpticalFlowExecuteFlagBitsNV : VkOpticalFlowExecuteFlagsNV 7098 { 7099 eDisableTemporalHints = VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV 7100 }; 7101 7102 using OpticalFlowExecuteFlagsNV = Flags<OpticalFlowExecuteFlagBitsNV>; 7103 7104 template <> 7105 struct FlagTraits<OpticalFlowExecuteFlagBitsNV> 7106 { 7107 static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; 7108 static VULKAN_HPP_CONST_OR_CONSTEXPR OpticalFlowExecuteFlagsNV allFlags = OpticalFlowExecuteFlagBitsNV::eDisableTemporalHints; 7109 }; 7110 7111 //=== VK_NV_ray_tracing_invocation_reorder === 7112 7113 enum class RayTracingInvocationReorderModeNV 7114 { 7115 eNone = VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV, 7116 eReorder = VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV 7117 }; 7118 7119 //========================= 7120 //=== Index Type Traits === 7121 //========================= 7122 7123 //===================== 7124 //=== Format Traits === 7125 //===================== 7126 7127 // The texel block size in bytes. blockSize(VULKAN_HPP_NAMESPACE::Format format)7128 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_14 uint8_t blockSize( VULKAN_HPP_NAMESPACE::Format format ) 7129 { 7130 switch ( format ) 7131 { 7132 case VULKAN_HPP_NAMESPACE::Format::eR4G4UnormPack8: return 1; 7133 case VULKAN_HPP_NAMESPACE::Format::eR4G4B4A4UnormPack16: return 2; 7134 case VULKAN_HPP_NAMESPACE::Format::eB4G4R4A4UnormPack16: return 2; 7135 case VULKAN_HPP_NAMESPACE::Format::eR5G6B5UnormPack16: return 2; 7136 case VULKAN_HPP_NAMESPACE::Format::eB5G6R5UnormPack16: return 2; 7137 case VULKAN_HPP_NAMESPACE::Format::eR5G5B5A1UnormPack16: return 2; 7138 case VULKAN_HPP_NAMESPACE::Format::eB5G5R5A1UnormPack16: return 2; 7139 case VULKAN_HPP_NAMESPACE::Format::eA1R5G5B5UnormPack16: return 2; 7140 case VULKAN_HPP_NAMESPACE::Format::eR8Unorm: return 1; 7141 case VULKAN_HPP_NAMESPACE::Format::eR8Snorm: return 1; 7142 case VULKAN_HPP_NAMESPACE::Format::eR8Uscaled: return 1; 7143 case VULKAN_HPP_NAMESPACE::Format::eR8Sscaled: return 1; 7144 case VULKAN_HPP_NAMESPACE::Format::eR8Uint: return 1; 7145 case VULKAN_HPP_NAMESPACE::Format::eR8Sint: return 1; 7146 case VULKAN_HPP_NAMESPACE::Format::eR8Srgb: return 1; 7147 case VULKAN_HPP_NAMESPACE::Format::eR8G8Unorm: return 2; 7148 case VULKAN_HPP_NAMESPACE::Format::eR8G8Snorm: return 2; 7149 case VULKAN_HPP_NAMESPACE::Format::eR8G8Uscaled: return 2; 7150 case VULKAN_HPP_NAMESPACE::Format::eR8G8Sscaled: return 2; 7151 case VULKAN_HPP_NAMESPACE::Format::eR8G8Uint: return 2; 7152 case VULKAN_HPP_NAMESPACE::Format::eR8G8Sint: return 2; 7153 case VULKAN_HPP_NAMESPACE::Format::eR8G8Srgb: return 2; 7154 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Unorm: return 3; 7155 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Snorm: return 3; 7156 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Uscaled: return 3; 7157 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Sscaled: return 3; 7158 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Uint: return 3; 7159 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Sint: return 3; 7160 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Srgb: return 3; 7161 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Unorm: return 3; 7162 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Snorm: return 3; 7163 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Uscaled: return 3; 7164 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Sscaled: return 3; 7165 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Uint: return 3; 7166 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Sint: return 3; 7167 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Srgb: return 3; 7168 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Unorm: return 4; 7169 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Snorm: return 4; 7170 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Uscaled: return 4; 7171 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Sscaled: return 4; 7172 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Uint: return 4; 7173 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Sint: return 4; 7174 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Srgb: return 4; 7175 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Unorm: return 4; 7176 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Snorm: return 4; 7177 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Uscaled: return 4; 7178 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Sscaled: return 4; 7179 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Uint: return 4; 7180 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Sint: return 4; 7181 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Srgb: return 4; 7182 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8UnormPack32: return 4; 7183 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8SnormPack32: return 4; 7184 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8UscaledPack32: return 4; 7185 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8SscaledPack32: return 4; 7186 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8UintPack32: return 4; 7187 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8SintPack32: return 4; 7188 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8SrgbPack32: return 4; 7189 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10UnormPack32: return 4; 7190 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10SnormPack32: return 4; 7191 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10UscaledPack32: return 4; 7192 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10SscaledPack32: return 4; 7193 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10UintPack32: return 4; 7194 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10SintPack32: return 4; 7195 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10UnormPack32: return 4; 7196 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10SnormPack32: return 4; 7197 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10UscaledPack32: return 4; 7198 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10SscaledPack32: return 4; 7199 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10UintPack32: return 4; 7200 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10SintPack32: return 4; 7201 case VULKAN_HPP_NAMESPACE::Format::eR16Unorm: return 2; 7202 case VULKAN_HPP_NAMESPACE::Format::eR16Snorm: return 2; 7203 case VULKAN_HPP_NAMESPACE::Format::eR16Uscaled: return 2; 7204 case VULKAN_HPP_NAMESPACE::Format::eR16Sscaled: return 2; 7205 case VULKAN_HPP_NAMESPACE::Format::eR16Uint: return 2; 7206 case VULKAN_HPP_NAMESPACE::Format::eR16Sint: return 2; 7207 case VULKAN_HPP_NAMESPACE::Format::eR16Sfloat: return 2; 7208 case VULKAN_HPP_NAMESPACE::Format::eR16G16Unorm: return 4; 7209 case VULKAN_HPP_NAMESPACE::Format::eR16G16Snorm: return 4; 7210 case VULKAN_HPP_NAMESPACE::Format::eR16G16Uscaled: return 4; 7211 case VULKAN_HPP_NAMESPACE::Format::eR16G16Sscaled: return 4; 7212 case VULKAN_HPP_NAMESPACE::Format::eR16G16Uint: return 4; 7213 case VULKAN_HPP_NAMESPACE::Format::eR16G16Sint: return 4; 7214 case VULKAN_HPP_NAMESPACE::Format::eR16G16Sfloat: return 4; 7215 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Unorm: return 6; 7216 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Snorm: return 6; 7217 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Uscaled: return 6; 7218 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Sscaled: return 6; 7219 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Uint: return 6; 7220 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Sint: return 6; 7221 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Sfloat: return 6; 7222 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Unorm: return 8; 7223 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Snorm: return 8; 7224 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Uscaled: return 8; 7225 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Sscaled: return 8; 7226 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Uint: return 8; 7227 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Sint: return 8; 7228 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Sfloat: return 8; 7229 case VULKAN_HPP_NAMESPACE::Format::eR32Uint: return 4; 7230 case VULKAN_HPP_NAMESPACE::Format::eR32Sint: return 4; 7231 case VULKAN_HPP_NAMESPACE::Format::eR32Sfloat: return 4; 7232 case VULKAN_HPP_NAMESPACE::Format::eR32G32Uint: return 8; 7233 case VULKAN_HPP_NAMESPACE::Format::eR32G32Sint: return 8; 7234 case VULKAN_HPP_NAMESPACE::Format::eR32G32Sfloat: return 8; 7235 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32Uint: return 12; 7236 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32Sint: return 12; 7237 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32Sfloat: return 12; 7238 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32A32Uint: return 16; 7239 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32A32Sint: return 16; 7240 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32A32Sfloat: return 16; 7241 case VULKAN_HPP_NAMESPACE::Format::eR64Uint: return 8; 7242 case VULKAN_HPP_NAMESPACE::Format::eR64Sint: return 8; 7243 case VULKAN_HPP_NAMESPACE::Format::eR64Sfloat: return 8; 7244 case VULKAN_HPP_NAMESPACE::Format::eR64G64Uint: return 16; 7245 case VULKAN_HPP_NAMESPACE::Format::eR64G64Sint: return 16; 7246 case VULKAN_HPP_NAMESPACE::Format::eR64G64Sfloat: return 16; 7247 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64Uint: return 24; 7248 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64Sint: return 24; 7249 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64Sfloat: return 24; 7250 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64A64Uint: return 32; 7251 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64A64Sint: return 32; 7252 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64A64Sfloat: return 32; 7253 case VULKAN_HPP_NAMESPACE::Format::eB10G11R11UfloatPack32: return 4; 7254 case VULKAN_HPP_NAMESPACE::Format::eE5B9G9R9UfloatPack32: return 4; 7255 case VULKAN_HPP_NAMESPACE::Format::eD16Unorm: return 2; 7256 case VULKAN_HPP_NAMESPACE::Format::eX8D24UnormPack32: return 4; 7257 case VULKAN_HPP_NAMESPACE::Format::eD32Sfloat: return 4; 7258 case VULKAN_HPP_NAMESPACE::Format::eS8Uint: return 1; 7259 case VULKAN_HPP_NAMESPACE::Format::eD16UnormS8Uint: return 3; 7260 case VULKAN_HPP_NAMESPACE::Format::eD24UnormS8Uint: return 4; 7261 case VULKAN_HPP_NAMESPACE::Format::eD32SfloatS8Uint: return 5; 7262 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbUnormBlock: return 8; 7263 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbSrgbBlock: return 8; 7264 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbaUnormBlock: return 8; 7265 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbaSrgbBlock: return 8; 7266 case VULKAN_HPP_NAMESPACE::Format::eBc2UnormBlock: return 16; 7267 case VULKAN_HPP_NAMESPACE::Format::eBc2SrgbBlock: return 16; 7268 case VULKAN_HPP_NAMESPACE::Format::eBc3UnormBlock: return 16; 7269 case VULKAN_HPP_NAMESPACE::Format::eBc3SrgbBlock: return 16; 7270 case VULKAN_HPP_NAMESPACE::Format::eBc4UnormBlock: return 8; 7271 case VULKAN_HPP_NAMESPACE::Format::eBc4SnormBlock: return 8; 7272 case VULKAN_HPP_NAMESPACE::Format::eBc5UnormBlock: return 16; 7273 case VULKAN_HPP_NAMESPACE::Format::eBc5SnormBlock: return 16; 7274 case VULKAN_HPP_NAMESPACE::Format::eBc6HUfloatBlock: return 16; 7275 case VULKAN_HPP_NAMESPACE::Format::eBc6HSfloatBlock: return 16; 7276 case VULKAN_HPP_NAMESPACE::Format::eBc7UnormBlock: return 16; 7277 case VULKAN_HPP_NAMESPACE::Format::eBc7SrgbBlock: return 16; 7278 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8UnormBlock: return 8; 7279 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8SrgbBlock: return 8; 7280 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A1UnormBlock: return 8; 7281 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A1SrgbBlock: return 8; 7282 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A8UnormBlock: return 16; 7283 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A8SrgbBlock: return 16; 7284 case VULKAN_HPP_NAMESPACE::Format::eEacR11UnormBlock: return 8; 7285 case VULKAN_HPP_NAMESPACE::Format::eEacR11SnormBlock: return 8; 7286 case VULKAN_HPP_NAMESPACE::Format::eEacR11G11UnormBlock: return 16; 7287 case VULKAN_HPP_NAMESPACE::Format::eEacR11G11SnormBlock: return 16; 7288 case VULKAN_HPP_NAMESPACE::Format::eAstc4x4UnormBlock: return 16; 7289 case VULKAN_HPP_NAMESPACE::Format::eAstc4x4SrgbBlock: return 16; 7290 case VULKAN_HPP_NAMESPACE::Format::eAstc5x4UnormBlock: return 16; 7291 case VULKAN_HPP_NAMESPACE::Format::eAstc5x4SrgbBlock: return 16; 7292 case VULKAN_HPP_NAMESPACE::Format::eAstc5x5UnormBlock: return 16; 7293 case VULKAN_HPP_NAMESPACE::Format::eAstc5x5SrgbBlock: return 16; 7294 case VULKAN_HPP_NAMESPACE::Format::eAstc6x5UnormBlock: return 16; 7295 case VULKAN_HPP_NAMESPACE::Format::eAstc6x5SrgbBlock: return 16; 7296 case VULKAN_HPP_NAMESPACE::Format::eAstc6x6UnormBlock: return 16; 7297 case VULKAN_HPP_NAMESPACE::Format::eAstc6x6SrgbBlock: return 16; 7298 case VULKAN_HPP_NAMESPACE::Format::eAstc8x5UnormBlock: return 16; 7299 case VULKAN_HPP_NAMESPACE::Format::eAstc8x5SrgbBlock: return 16; 7300 case VULKAN_HPP_NAMESPACE::Format::eAstc8x6UnormBlock: return 16; 7301 case VULKAN_HPP_NAMESPACE::Format::eAstc8x6SrgbBlock: return 16; 7302 case VULKAN_HPP_NAMESPACE::Format::eAstc8x8UnormBlock: return 16; 7303 case VULKAN_HPP_NAMESPACE::Format::eAstc8x8SrgbBlock: return 16; 7304 case VULKAN_HPP_NAMESPACE::Format::eAstc10x5UnormBlock: return 16; 7305 case VULKAN_HPP_NAMESPACE::Format::eAstc10x5SrgbBlock: return 16; 7306 case VULKAN_HPP_NAMESPACE::Format::eAstc10x6UnormBlock: return 16; 7307 case VULKAN_HPP_NAMESPACE::Format::eAstc10x6SrgbBlock: return 16; 7308 case VULKAN_HPP_NAMESPACE::Format::eAstc10x8UnormBlock: return 16; 7309 case VULKAN_HPP_NAMESPACE::Format::eAstc10x8SrgbBlock: return 16; 7310 case VULKAN_HPP_NAMESPACE::Format::eAstc10x10UnormBlock: return 16; 7311 case VULKAN_HPP_NAMESPACE::Format::eAstc10x10SrgbBlock: return 16; 7312 case VULKAN_HPP_NAMESPACE::Format::eAstc12x10UnormBlock: return 16; 7313 case VULKAN_HPP_NAMESPACE::Format::eAstc12x10SrgbBlock: return 16; 7314 case VULKAN_HPP_NAMESPACE::Format::eAstc12x12UnormBlock: return 16; 7315 case VULKAN_HPP_NAMESPACE::Format::eAstc12x12SrgbBlock: return 16; 7316 case VULKAN_HPP_NAMESPACE::Format::eG8B8G8R8422Unorm: return 4; 7317 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8G8422Unorm: return 4; 7318 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane420Unorm: return 3; 7319 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane420Unorm: return 3; 7320 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane422Unorm: return 3; 7321 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane422Unorm: return 3; 7322 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane444Unorm: return 3; 7323 case VULKAN_HPP_NAMESPACE::Format::eR10X6UnormPack16: return 2; 7324 case VULKAN_HPP_NAMESPACE::Format::eR10X6G10X6Unorm2Pack16: return 4; 7325 case VULKAN_HPP_NAMESPACE::Format::eR10X6G10X6B10X6A10X6Unorm4Pack16: return 8; 7326 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6G10X6R10X6422Unorm4Pack16: return 8; 7327 case VULKAN_HPP_NAMESPACE::Format::eB10X6G10X6R10X6G10X6422Unorm4Pack16: return 8; 7328 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane420Unorm3Pack16: return 6; 7329 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane420Unorm3Pack16: return 6; 7330 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane422Unorm3Pack16: return 6; 7331 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane422Unorm3Pack16: return 6; 7332 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane444Unorm3Pack16: return 6; 7333 case VULKAN_HPP_NAMESPACE::Format::eR12X4UnormPack16: return 2; 7334 case VULKAN_HPP_NAMESPACE::Format::eR12X4G12X4Unorm2Pack16: return 4; 7335 case VULKAN_HPP_NAMESPACE::Format::eR12X4G12X4B12X4A12X4Unorm4Pack16: return 8; 7336 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4G12X4R12X4422Unorm4Pack16: return 8; 7337 case VULKAN_HPP_NAMESPACE::Format::eB12X4G12X4R12X4G12X4422Unorm4Pack16: return 8; 7338 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane420Unorm3Pack16: return 6; 7339 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane420Unorm3Pack16: return 6; 7340 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane422Unorm3Pack16: return 6; 7341 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane422Unorm3Pack16: return 6; 7342 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane444Unorm3Pack16: return 6; 7343 case VULKAN_HPP_NAMESPACE::Format::eG16B16G16R16422Unorm: return 8; 7344 case VULKAN_HPP_NAMESPACE::Format::eB16G16R16G16422Unorm: return 8; 7345 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane420Unorm: return 6; 7346 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane420Unorm: return 6; 7347 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane422Unorm: return 6; 7348 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane422Unorm: return 6; 7349 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane444Unorm: return 6; 7350 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane444Unorm: return 3; 7351 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane444Unorm3Pack16: return 6; 7352 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane444Unorm3Pack16: return 6; 7353 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane444Unorm: return 6; 7354 case VULKAN_HPP_NAMESPACE::Format::eA4R4G4B4UnormPack16: return 2; 7355 case VULKAN_HPP_NAMESPACE::Format::eA4B4G4R4UnormPack16: return 2; 7356 case VULKAN_HPP_NAMESPACE::Format::eAstc4x4SfloatBlock: return 16; 7357 case VULKAN_HPP_NAMESPACE::Format::eAstc5x4SfloatBlock: return 16; 7358 case VULKAN_HPP_NAMESPACE::Format::eAstc5x5SfloatBlock: return 16; 7359 case VULKAN_HPP_NAMESPACE::Format::eAstc6x5SfloatBlock: return 16; 7360 case VULKAN_HPP_NAMESPACE::Format::eAstc6x6SfloatBlock: return 16; 7361 case VULKAN_HPP_NAMESPACE::Format::eAstc8x5SfloatBlock: return 16; 7362 case VULKAN_HPP_NAMESPACE::Format::eAstc8x6SfloatBlock: return 16; 7363 case VULKAN_HPP_NAMESPACE::Format::eAstc8x8SfloatBlock: return 16; 7364 case VULKAN_HPP_NAMESPACE::Format::eAstc10x5SfloatBlock: return 16; 7365 case VULKAN_HPP_NAMESPACE::Format::eAstc10x6SfloatBlock: return 16; 7366 case VULKAN_HPP_NAMESPACE::Format::eAstc10x8SfloatBlock: return 16; 7367 case VULKAN_HPP_NAMESPACE::Format::eAstc10x10SfloatBlock: return 16; 7368 case VULKAN_HPP_NAMESPACE::Format::eAstc12x10SfloatBlock: return 16; 7369 case VULKAN_HPP_NAMESPACE::Format::eAstc12x12SfloatBlock: return 16; 7370 case VULKAN_HPP_NAMESPACE::Format::ePvrtc12BppUnormBlockIMG: return 8; 7371 case VULKAN_HPP_NAMESPACE::Format::ePvrtc14BppUnormBlockIMG: return 8; 7372 case VULKAN_HPP_NAMESPACE::Format::ePvrtc22BppUnormBlockIMG: return 8; 7373 case VULKAN_HPP_NAMESPACE::Format::ePvrtc24BppUnormBlockIMG: return 8; 7374 case VULKAN_HPP_NAMESPACE::Format::ePvrtc12BppSrgbBlockIMG: return 8; 7375 case VULKAN_HPP_NAMESPACE::Format::ePvrtc14BppSrgbBlockIMG: return 8; 7376 case VULKAN_HPP_NAMESPACE::Format::ePvrtc22BppSrgbBlockIMG: return 8; 7377 case VULKAN_HPP_NAMESPACE::Format::ePvrtc24BppSrgbBlockIMG: return 8; 7378 7379 default: VULKAN_HPP_ASSERT( false ); return 0; 7380 } 7381 } 7382 7383 // The number of texels in a texel block. texelsPerBlock(VULKAN_HPP_NAMESPACE::Format format)7384 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_14 uint8_t texelsPerBlock( VULKAN_HPP_NAMESPACE::Format format ) 7385 { 7386 switch ( format ) 7387 { 7388 case VULKAN_HPP_NAMESPACE::Format::eR4G4UnormPack8: return 1; 7389 case VULKAN_HPP_NAMESPACE::Format::eR4G4B4A4UnormPack16: return 1; 7390 case VULKAN_HPP_NAMESPACE::Format::eB4G4R4A4UnormPack16: return 1; 7391 case VULKAN_HPP_NAMESPACE::Format::eR5G6B5UnormPack16: return 1; 7392 case VULKAN_HPP_NAMESPACE::Format::eB5G6R5UnormPack16: return 1; 7393 case VULKAN_HPP_NAMESPACE::Format::eR5G5B5A1UnormPack16: return 1; 7394 case VULKAN_HPP_NAMESPACE::Format::eB5G5R5A1UnormPack16: return 1; 7395 case VULKAN_HPP_NAMESPACE::Format::eA1R5G5B5UnormPack16: return 1; 7396 case VULKAN_HPP_NAMESPACE::Format::eR8Unorm: return 1; 7397 case VULKAN_HPP_NAMESPACE::Format::eR8Snorm: return 1; 7398 case VULKAN_HPP_NAMESPACE::Format::eR8Uscaled: return 1; 7399 case VULKAN_HPP_NAMESPACE::Format::eR8Sscaled: return 1; 7400 case VULKAN_HPP_NAMESPACE::Format::eR8Uint: return 1; 7401 case VULKAN_HPP_NAMESPACE::Format::eR8Sint: return 1; 7402 case VULKAN_HPP_NAMESPACE::Format::eR8Srgb: return 1; 7403 case VULKAN_HPP_NAMESPACE::Format::eR8G8Unorm: return 1; 7404 case VULKAN_HPP_NAMESPACE::Format::eR8G8Snorm: return 1; 7405 case VULKAN_HPP_NAMESPACE::Format::eR8G8Uscaled: return 1; 7406 case VULKAN_HPP_NAMESPACE::Format::eR8G8Sscaled: return 1; 7407 case VULKAN_HPP_NAMESPACE::Format::eR8G8Uint: return 1; 7408 case VULKAN_HPP_NAMESPACE::Format::eR8G8Sint: return 1; 7409 case VULKAN_HPP_NAMESPACE::Format::eR8G8Srgb: return 1; 7410 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Unorm: return 1; 7411 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Snorm: return 1; 7412 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Uscaled: return 1; 7413 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Sscaled: return 1; 7414 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Uint: return 1; 7415 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Sint: return 1; 7416 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Srgb: return 1; 7417 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Unorm: return 1; 7418 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Snorm: return 1; 7419 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Uscaled: return 1; 7420 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Sscaled: return 1; 7421 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Uint: return 1; 7422 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Sint: return 1; 7423 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Srgb: return 1; 7424 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Unorm: return 1; 7425 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Snorm: return 1; 7426 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Uscaled: return 1; 7427 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Sscaled: return 1; 7428 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Uint: return 1; 7429 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Sint: return 1; 7430 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Srgb: return 1; 7431 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Unorm: return 1; 7432 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Snorm: return 1; 7433 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Uscaled: return 1; 7434 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Sscaled: return 1; 7435 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Uint: return 1; 7436 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Sint: return 1; 7437 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Srgb: return 1; 7438 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8UnormPack32: return 1; 7439 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8SnormPack32: return 1; 7440 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8UscaledPack32: return 1; 7441 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8SscaledPack32: return 1; 7442 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8UintPack32: return 1; 7443 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8SintPack32: return 1; 7444 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8SrgbPack32: return 1; 7445 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10UnormPack32: return 1; 7446 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10SnormPack32: return 1; 7447 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10UscaledPack32: return 1; 7448 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10SscaledPack32: return 1; 7449 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10UintPack32: return 1; 7450 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10SintPack32: return 1; 7451 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10UnormPack32: return 1; 7452 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10SnormPack32: return 1; 7453 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10UscaledPack32: return 1; 7454 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10SscaledPack32: return 1; 7455 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10UintPack32: return 1; 7456 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10SintPack32: return 1; 7457 case VULKAN_HPP_NAMESPACE::Format::eR16Unorm: return 1; 7458 case VULKAN_HPP_NAMESPACE::Format::eR16Snorm: return 1; 7459 case VULKAN_HPP_NAMESPACE::Format::eR16Uscaled: return 1; 7460 case VULKAN_HPP_NAMESPACE::Format::eR16Sscaled: return 1; 7461 case VULKAN_HPP_NAMESPACE::Format::eR16Uint: return 1; 7462 case VULKAN_HPP_NAMESPACE::Format::eR16Sint: return 1; 7463 case VULKAN_HPP_NAMESPACE::Format::eR16Sfloat: return 1; 7464 case VULKAN_HPP_NAMESPACE::Format::eR16G16Unorm: return 1; 7465 case VULKAN_HPP_NAMESPACE::Format::eR16G16Snorm: return 1; 7466 case VULKAN_HPP_NAMESPACE::Format::eR16G16Uscaled: return 1; 7467 case VULKAN_HPP_NAMESPACE::Format::eR16G16Sscaled: return 1; 7468 case VULKAN_HPP_NAMESPACE::Format::eR16G16Uint: return 1; 7469 case VULKAN_HPP_NAMESPACE::Format::eR16G16Sint: return 1; 7470 case VULKAN_HPP_NAMESPACE::Format::eR16G16Sfloat: return 1; 7471 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Unorm: return 1; 7472 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Snorm: return 1; 7473 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Uscaled: return 1; 7474 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Sscaled: return 1; 7475 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Uint: return 1; 7476 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Sint: return 1; 7477 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Sfloat: return 1; 7478 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Unorm: return 1; 7479 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Snorm: return 1; 7480 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Uscaled: return 1; 7481 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Sscaled: return 1; 7482 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Uint: return 1; 7483 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Sint: return 1; 7484 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Sfloat: return 1; 7485 case VULKAN_HPP_NAMESPACE::Format::eR32Uint: return 1; 7486 case VULKAN_HPP_NAMESPACE::Format::eR32Sint: return 1; 7487 case VULKAN_HPP_NAMESPACE::Format::eR32Sfloat: return 1; 7488 case VULKAN_HPP_NAMESPACE::Format::eR32G32Uint: return 1; 7489 case VULKAN_HPP_NAMESPACE::Format::eR32G32Sint: return 1; 7490 case VULKAN_HPP_NAMESPACE::Format::eR32G32Sfloat: return 1; 7491 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32Uint: return 1; 7492 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32Sint: return 1; 7493 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32Sfloat: return 1; 7494 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32A32Uint: return 1; 7495 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32A32Sint: return 1; 7496 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32A32Sfloat: return 1; 7497 case VULKAN_HPP_NAMESPACE::Format::eR64Uint: return 1; 7498 case VULKAN_HPP_NAMESPACE::Format::eR64Sint: return 1; 7499 case VULKAN_HPP_NAMESPACE::Format::eR64Sfloat: return 1; 7500 case VULKAN_HPP_NAMESPACE::Format::eR64G64Uint: return 1; 7501 case VULKAN_HPP_NAMESPACE::Format::eR64G64Sint: return 1; 7502 case VULKAN_HPP_NAMESPACE::Format::eR64G64Sfloat: return 1; 7503 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64Uint: return 1; 7504 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64Sint: return 1; 7505 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64Sfloat: return 1; 7506 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64A64Uint: return 1; 7507 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64A64Sint: return 1; 7508 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64A64Sfloat: return 1; 7509 case VULKAN_HPP_NAMESPACE::Format::eB10G11R11UfloatPack32: return 1; 7510 case VULKAN_HPP_NAMESPACE::Format::eE5B9G9R9UfloatPack32: return 1; 7511 case VULKAN_HPP_NAMESPACE::Format::eD16Unorm: return 1; 7512 case VULKAN_HPP_NAMESPACE::Format::eX8D24UnormPack32: return 1; 7513 case VULKAN_HPP_NAMESPACE::Format::eD32Sfloat: return 1; 7514 case VULKAN_HPP_NAMESPACE::Format::eS8Uint: return 1; 7515 case VULKAN_HPP_NAMESPACE::Format::eD16UnormS8Uint: return 1; 7516 case VULKAN_HPP_NAMESPACE::Format::eD24UnormS8Uint: return 1; 7517 case VULKAN_HPP_NAMESPACE::Format::eD32SfloatS8Uint: return 1; 7518 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbUnormBlock: return 16; 7519 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbSrgbBlock: return 16; 7520 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbaUnormBlock: return 16; 7521 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbaSrgbBlock: return 16; 7522 case VULKAN_HPP_NAMESPACE::Format::eBc2UnormBlock: return 16; 7523 case VULKAN_HPP_NAMESPACE::Format::eBc2SrgbBlock: return 16; 7524 case VULKAN_HPP_NAMESPACE::Format::eBc3UnormBlock: return 16; 7525 case VULKAN_HPP_NAMESPACE::Format::eBc3SrgbBlock: return 16; 7526 case VULKAN_HPP_NAMESPACE::Format::eBc4UnormBlock: return 16; 7527 case VULKAN_HPP_NAMESPACE::Format::eBc4SnormBlock: return 16; 7528 case VULKAN_HPP_NAMESPACE::Format::eBc5UnormBlock: return 16; 7529 case VULKAN_HPP_NAMESPACE::Format::eBc5SnormBlock: return 16; 7530 case VULKAN_HPP_NAMESPACE::Format::eBc6HUfloatBlock: return 16; 7531 case VULKAN_HPP_NAMESPACE::Format::eBc6HSfloatBlock: return 16; 7532 case VULKAN_HPP_NAMESPACE::Format::eBc7UnormBlock: return 16; 7533 case VULKAN_HPP_NAMESPACE::Format::eBc7SrgbBlock: return 16; 7534 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8UnormBlock: return 16; 7535 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8SrgbBlock: return 16; 7536 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A1UnormBlock: return 16; 7537 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A1SrgbBlock: return 16; 7538 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A8UnormBlock: return 16; 7539 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A8SrgbBlock: return 16; 7540 case VULKAN_HPP_NAMESPACE::Format::eEacR11UnormBlock: return 16; 7541 case VULKAN_HPP_NAMESPACE::Format::eEacR11SnormBlock: return 16; 7542 case VULKAN_HPP_NAMESPACE::Format::eEacR11G11UnormBlock: return 16; 7543 case VULKAN_HPP_NAMESPACE::Format::eEacR11G11SnormBlock: return 16; 7544 case VULKAN_HPP_NAMESPACE::Format::eAstc4x4UnormBlock: return 16; 7545 case VULKAN_HPP_NAMESPACE::Format::eAstc4x4SrgbBlock: return 16; 7546 case VULKAN_HPP_NAMESPACE::Format::eAstc5x4UnormBlock: return 20; 7547 case VULKAN_HPP_NAMESPACE::Format::eAstc5x4SrgbBlock: return 20; 7548 case VULKAN_HPP_NAMESPACE::Format::eAstc5x5UnormBlock: return 25; 7549 case VULKAN_HPP_NAMESPACE::Format::eAstc5x5SrgbBlock: return 25; 7550 case VULKAN_HPP_NAMESPACE::Format::eAstc6x5UnormBlock: return 30; 7551 case VULKAN_HPP_NAMESPACE::Format::eAstc6x5SrgbBlock: return 30; 7552 case VULKAN_HPP_NAMESPACE::Format::eAstc6x6UnormBlock: return 36; 7553 case VULKAN_HPP_NAMESPACE::Format::eAstc6x6SrgbBlock: return 36; 7554 case VULKAN_HPP_NAMESPACE::Format::eAstc8x5UnormBlock: return 40; 7555 case VULKAN_HPP_NAMESPACE::Format::eAstc8x5SrgbBlock: return 40; 7556 case VULKAN_HPP_NAMESPACE::Format::eAstc8x6UnormBlock: return 48; 7557 case VULKAN_HPP_NAMESPACE::Format::eAstc8x6SrgbBlock: return 48; 7558 case VULKAN_HPP_NAMESPACE::Format::eAstc8x8UnormBlock: return 64; 7559 case VULKAN_HPP_NAMESPACE::Format::eAstc8x8SrgbBlock: return 64; 7560 case VULKAN_HPP_NAMESPACE::Format::eAstc10x5UnormBlock: return 50; 7561 case VULKAN_HPP_NAMESPACE::Format::eAstc10x5SrgbBlock: return 50; 7562 case VULKAN_HPP_NAMESPACE::Format::eAstc10x6UnormBlock: return 60; 7563 case VULKAN_HPP_NAMESPACE::Format::eAstc10x6SrgbBlock: return 60; 7564 case VULKAN_HPP_NAMESPACE::Format::eAstc10x8UnormBlock: return 80; 7565 case VULKAN_HPP_NAMESPACE::Format::eAstc10x8SrgbBlock: return 80; 7566 case VULKAN_HPP_NAMESPACE::Format::eAstc10x10UnormBlock: return 100; 7567 case VULKAN_HPP_NAMESPACE::Format::eAstc10x10SrgbBlock: return 100; 7568 case VULKAN_HPP_NAMESPACE::Format::eAstc12x10UnormBlock: return 120; 7569 case VULKAN_HPP_NAMESPACE::Format::eAstc12x10SrgbBlock: return 120; 7570 case VULKAN_HPP_NAMESPACE::Format::eAstc12x12UnormBlock: return 144; 7571 case VULKAN_HPP_NAMESPACE::Format::eAstc12x12SrgbBlock: return 144; 7572 case VULKAN_HPP_NAMESPACE::Format::eG8B8G8R8422Unorm: return 1; 7573 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8G8422Unorm: return 1; 7574 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane420Unorm: return 1; 7575 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane420Unorm: return 1; 7576 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane422Unorm: return 1; 7577 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane422Unorm: return 1; 7578 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane444Unorm: return 1; 7579 case VULKAN_HPP_NAMESPACE::Format::eR10X6UnormPack16: return 1; 7580 case VULKAN_HPP_NAMESPACE::Format::eR10X6G10X6Unorm2Pack16: return 1; 7581 case VULKAN_HPP_NAMESPACE::Format::eR10X6G10X6B10X6A10X6Unorm4Pack16: return 1; 7582 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6G10X6R10X6422Unorm4Pack16: return 1; 7583 case VULKAN_HPP_NAMESPACE::Format::eB10X6G10X6R10X6G10X6422Unorm4Pack16: return 1; 7584 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane420Unorm3Pack16: return 1; 7585 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane420Unorm3Pack16: return 1; 7586 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane422Unorm3Pack16: return 1; 7587 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane422Unorm3Pack16: return 1; 7588 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane444Unorm3Pack16: return 1; 7589 case VULKAN_HPP_NAMESPACE::Format::eR12X4UnormPack16: return 1; 7590 case VULKAN_HPP_NAMESPACE::Format::eR12X4G12X4Unorm2Pack16: return 1; 7591 case VULKAN_HPP_NAMESPACE::Format::eR12X4G12X4B12X4A12X4Unorm4Pack16: return 1; 7592 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4G12X4R12X4422Unorm4Pack16: return 1; 7593 case VULKAN_HPP_NAMESPACE::Format::eB12X4G12X4R12X4G12X4422Unorm4Pack16: return 1; 7594 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane420Unorm3Pack16: return 1; 7595 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane420Unorm3Pack16: return 1; 7596 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane422Unorm3Pack16: return 1; 7597 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane422Unorm3Pack16: return 1; 7598 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane444Unorm3Pack16: return 1; 7599 case VULKAN_HPP_NAMESPACE::Format::eG16B16G16R16422Unorm: return 1; 7600 case VULKAN_HPP_NAMESPACE::Format::eB16G16R16G16422Unorm: return 1; 7601 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane420Unorm: return 1; 7602 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane420Unorm: return 1; 7603 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane422Unorm: return 1; 7604 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane422Unorm: return 1; 7605 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane444Unorm: return 1; 7606 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane444Unorm: return 1; 7607 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane444Unorm3Pack16: return 1; 7608 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane444Unorm3Pack16: return 1; 7609 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane444Unorm: return 1; 7610 case VULKAN_HPP_NAMESPACE::Format::eA4R4G4B4UnormPack16: return 1; 7611 case VULKAN_HPP_NAMESPACE::Format::eA4B4G4R4UnormPack16: return 1; 7612 case VULKAN_HPP_NAMESPACE::Format::eAstc4x4SfloatBlock: return 16; 7613 case VULKAN_HPP_NAMESPACE::Format::eAstc5x4SfloatBlock: return 20; 7614 case VULKAN_HPP_NAMESPACE::Format::eAstc5x5SfloatBlock: return 25; 7615 case VULKAN_HPP_NAMESPACE::Format::eAstc6x5SfloatBlock: return 30; 7616 case VULKAN_HPP_NAMESPACE::Format::eAstc6x6SfloatBlock: return 36; 7617 case VULKAN_HPP_NAMESPACE::Format::eAstc8x5SfloatBlock: return 40; 7618 case VULKAN_HPP_NAMESPACE::Format::eAstc8x6SfloatBlock: return 48; 7619 case VULKAN_HPP_NAMESPACE::Format::eAstc8x8SfloatBlock: return 64; 7620 case VULKAN_HPP_NAMESPACE::Format::eAstc10x5SfloatBlock: return 50; 7621 case VULKAN_HPP_NAMESPACE::Format::eAstc10x6SfloatBlock: return 60; 7622 case VULKAN_HPP_NAMESPACE::Format::eAstc10x8SfloatBlock: return 80; 7623 case VULKAN_HPP_NAMESPACE::Format::eAstc10x10SfloatBlock: return 100; 7624 case VULKAN_HPP_NAMESPACE::Format::eAstc12x10SfloatBlock: return 120; 7625 case VULKAN_HPP_NAMESPACE::Format::eAstc12x12SfloatBlock: return 144; 7626 case VULKAN_HPP_NAMESPACE::Format::ePvrtc12BppUnormBlockIMG: return 1; 7627 case VULKAN_HPP_NAMESPACE::Format::ePvrtc14BppUnormBlockIMG: return 1; 7628 case VULKAN_HPP_NAMESPACE::Format::ePvrtc22BppUnormBlockIMG: return 1; 7629 case VULKAN_HPP_NAMESPACE::Format::ePvrtc24BppUnormBlockIMG: return 1; 7630 case VULKAN_HPP_NAMESPACE::Format::ePvrtc12BppSrgbBlockIMG: return 1; 7631 case VULKAN_HPP_NAMESPACE::Format::ePvrtc14BppSrgbBlockIMG: return 1; 7632 case VULKAN_HPP_NAMESPACE::Format::ePvrtc22BppSrgbBlockIMG: return 1; 7633 case VULKAN_HPP_NAMESPACE::Format::ePvrtc24BppSrgbBlockIMG: return 1; 7634 7635 default: VULKAN_HPP_ASSERT( false ); return 0; 7636 } 7637 } 7638 7639 // The three-dimensional extent of a texel block. blockExtent(VULKAN_HPP_NAMESPACE::Format format)7640 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_14 std::array<uint8_t, 3> blockExtent( VULKAN_HPP_NAMESPACE::Format format ) 7641 { 7642 switch ( format ) 7643 { 7644 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbUnormBlock: return { 4, 4, 1 }; 7645 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbSrgbBlock: return { 4, 4, 1 }; 7646 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbaUnormBlock: return { 4, 4, 1 }; 7647 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbaSrgbBlock: return { 4, 4, 1 }; 7648 case VULKAN_HPP_NAMESPACE::Format::eBc2UnormBlock: return { 4, 4, 1 }; 7649 case VULKAN_HPP_NAMESPACE::Format::eBc2SrgbBlock: return { 4, 4, 1 }; 7650 case VULKAN_HPP_NAMESPACE::Format::eBc3UnormBlock: return { 4, 4, 1 }; 7651 case VULKAN_HPP_NAMESPACE::Format::eBc3SrgbBlock: return { 4, 4, 1 }; 7652 case VULKAN_HPP_NAMESPACE::Format::eBc4UnormBlock: return { 4, 4, 1 }; 7653 case VULKAN_HPP_NAMESPACE::Format::eBc4SnormBlock: return { 4, 4, 1 }; 7654 case VULKAN_HPP_NAMESPACE::Format::eBc5UnormBlock: return { 4, 4, 1 }; 7655 case VULKAN_HPP_NAMESPACE::Format::eBc5SnormBlock: return { 4, 4, 1 }; 7656 case VULKAN_HPP_NAMESPACE::Format::eBc6HUfloatBlock: return { 4, 4, 1 }; 7657 case VULKAN_HPP_NAMESPACE::Format::eBc6HSfloatBlock: return { 4, 4, 1 }; 7658 case VULKAN_HPP_NAMESPACE::Format::eBc7UnormBlock: return { 4, 4, 1 }; 7659 case VULKAN_HPP_NAMESPACE::Format::eBc7SrgbBlock: return { 4, 4, 1 }; 7660 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8UnormBlock: return { 4, 4, 1 }; 7661 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8SrgbBlock: return { 4, 4, 1 }; 7662 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A1UnormBlock: return { 4, 4, 1 }; 7663 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A1SrgbBlock: return { 4, 4, 1 }; 7664 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A8UnormBlock: return { 4, 4, 1 }; 7665 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A8SrgbBlock: return { 4, 4, 1 }; 7666 case VULKAN_HPP_NAMESPACE::Format::eEacR11UnormBlock: return { 4, 4, 1 }; 7667 case VULKAN_HPP_NAMESPACE::Format::eEacR11SnormBlock: return { 4, 4, 1 }; 7668 case VULKAN_HPP_NAMESPACE::Format::eEacR11G11UnormBlock: return { 4, 4, 1 }; 7669 case VULKAN_HPP_NAMESPACE::Format::eEacR11G11SnormBlock: return { 4, 4, 1 }; 7670 case VULKAN_HPP_NAMESPACE::Format::eAstc4x4UnormBlock: return { 4, 4, 1 }; 7671 case VULKAN_HPP_NAMESPACE::Format::eAstc4x4SrgbBlock: return { 4, 4, 1 }; 7672 case VULKAN_HPP_NAMESPACE::Format::eAstc5x4UnormBlock: return { 5, 4, 1 }; 7673 case VULKAN_HPP_NAMESPACE::Format::eAstc5x4SrgbBlock: return { 5, 4, 1 }; 7674 case VULKAN_HPP_NAMESPACE::Format::eAstc5x5UnormBlock: return { 5, 5, 1 }; 7675 case VULKAN_HPP_NAMESPACE::Format::eAstc5x5SrgbBlock: return { 5, 5, 1 }; 7676 case VULKAN_HPP_NAMESPACE::Format::eAstc6x5UnormBlock: return { 6, 5, 1 }; 7677 case VULKAN_HPP_NAMESPACE::Format::eAstc6x5SrgbBlock: return { 6, 5, 1 }; 7678 case VULKAN_HPP_NAMESPACE::Format::eAstc6x6UnormBlock: return { 6, 6, 1 }; 7679 case VULKAN_HPP_NAMESPACE::Format::eAstc6x6SrgbBlock: return { 6, 6, 1 }; 7680 case VULKAN_HPP_NAMESPACE::Format::eAstc8x5UnormBlock: return { 8, 5, 1 }; 7681 case VULKAN_HPP_NAMESPACE::Format::eAstc8x5SrgbBlock: return { 8, 5, 1 }; 7682 case VULKAN_HPP_NAMESPACE::Format::eAstc8x6UnormBlock: return { 8, 6, 1 }; 7683 case VULKAN_HPP_NAMESPACE::Format::eAstc8x6SrgbBlock: return { 8, 6, 1 }; 7684 case VULKAN_HPP_NAMESPACE::Format::eAstc8x8UnormBlock: return { 8, 8, 1 }; 7685 case VULKAN_HPP_NAMESPACE::Format::eAstc8x8SrgbBlock: return { 8, 8, 1 }; 7686 case VULKAN_HPP_NAMESPACE::Format::eAstc10x5UnormBlock: return { 10, 5, 1 }; 7687 case VULKAN_HPP_NAMESPACE::Format::eAstc10x5SrgbBlock: return { 10, 5, 1 }; 7688 case VULKAN_HPP_NAMESPACE::Format::eAstc10x6UnormBlock: return { 10, 6, 1 }; 7689 case VULKAN_HPP_NAMESPACE::Format::eAstc10x6SrgbBlock: return { 10, 6, 1 }; 7690 case VULKAN_HPP_NAMESPACE::Format::eAstc10x8UnormBlock: return { 10, 8, 1 }; 7691 case VULKAN_HPP_NAMESPACE::Format::eAstc10x8SrgbBlock: return { 10, 8, 1 }; 7692 case VULKAN_HPP_NAMESPACE::Format::eAstc10x10UnormBlock: return { 10, 10, 1 }; 7693 case VULKAN_HPP_NAMESPACE::Format::eAstc10x10SrgbBlock: return { 10, 10, 1 }; 7694 case VULKAN_HPP_NAMESPACE::Format::eAstc12x10UnormBlock: return { 12, 10, 1 }; 7695 case VULKAN_HPP_NAMESPACE::Format::eAstc12x10SrgbBlock: return { 12, 10, 1 }; 7696 case VULKAN_HPP_NAMESPACE::Format::eAstc12x12UnormBlock: return { 12, 12, 1 }; 7697 case VULKAN_HPP_NAMESPACE::Format::eAstc12x12SrgbBlock: return { 12, 12, 1 }; 7698 case VULKAN_HPP_NAMESPACE::Format::eG8B8G8R8422Unorm: return { 2, 1, 1 }; 7699 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8G8422Unorm: return { 2, 1, 1 }; 7700 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6G10X6R10X6422Unorm4Pack16: return { 2, 1, 1 }; 7701 case VULKAN_HPP_NAMESPACE::Format::eB10X6G10X6R10X6G10X6422Unorm4Pack16: return { 2, 1, 1 }; 7702 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4G12X4R12X4422Unorm4Pack16: return { 2, 1, 1 }; 7703 case VULKAN_HPP_NAMESPACE::Format::eB12X4G12X4R12X4G12X4422Unorm4Pack16: return { 2, 1, 1 }; 7704 case VULKAN_HPP_NAMESPACE::Format::eG16B16G16R16422Unorm: return { 2, 1, 1 }; 7705 case VULKAN_HPP_NAMESPACE::Format::eB16G16R16G16422Unorm: return { 2, 1, 1 }; 7706 case VULKAN_HPP_NAMESPACE::Format::eAstc4x4SfloatBlock: return { 4, 4, 1 }; 7707 case VULKAN_HPP_NAMESPACE::Format::eAstc5x4SfloatBlock: return { 5, 4, 1 }; 7708 case VULKAN_HPP_NAMESPACE::Format::eAstc5x5SfloatBlock: return { 5, 5, 1 }; 7709 case VULKAN_HPP_NAMESPACE::Format::eAstc6x5SfloatBlock: return { 6, 5, 1 }; 7710 case VULKAN_HPP_NAMESPACE::Format::eAstc6x6SfloatBlock: return { 6, 6, 1 }; 7711 case VULKAN_HPP_NAMESPACE::Format::eAstc8x5SfloatBlock: return { 8, 5, 1 }; 7712 case VULKAN_HPP_NAMESPACE::Format::eAstc8x6SfloatBlock: return { 8, 6, 1 }; 7713 case VULKAN_HPP_NAMESPACE::Format::eAstc8x8SfloatBlock: return { 8, 8, 1 }; 7714 case VULKAN_HPP_NAMESPACE::Format::eAstc10x5SfloatBlock: return { 10, 5, 1 }; 7715 case VULKAN_HPP_NAMESPACE::Format::eAstc10x6SfloatBlock: return { 10, 6, 1 }; 7716 case VULKAN_HPP_NAMESPACE::Format::eAstc10x8SfloatBlock: return { 10, 8, 1 }; 7717 case VULKAN_HPP_NAMESPACE::Format::eAstc10x10SfloatBlock: return { 10, 10, 1 }; 7718 case VULKAN_HPP_NAMESPACE::Format::eAstc12x10SfloatBlock: return { 12, 10, 1 }; 7719 case VULKAN_HPP_NAMESPACE::Format::eAstc12x12SfloatBlock: return { 12, 12, 1 }; 7720 case VULKAN_HPP_NAMESPACE::Format::ePvrtc12BppUnormBlockIMG: return { 8, 4, 1 }; 7721 case VULKAN_HPP_NAMESPACE::Format::ePvrtc14BppUnormBlockIMG: return { 4, 4, 1 }; 7722 case VULKAN_HPP_NAMESPACE::Format::ePvrtc22BppUnormBlockIMG: return { 8, 4, 1 }; 7723 case VULKAN_HPP_NAMESPACE::Format::ePvrtc24BppUnormBlockIMG: return { 4, 4, 1 }; 7724 case VULKAN_HPP_NAMESPACE::Format::ePvrtc12BppSrgbBlockIMG: return { 8, 4, 1 }; 7725 case VULKAN_HPP_NAMESPACE::Format::ePvrtc14BppSrgbBlockIMG: return { 4, 4, 1 }; 7726 case VULKAN_HPP_NAMESPACE::Format::ePvrtc22BppSrgbBlockIMG: return { 8, 4, 1 }; 7727 case VULKAN_HPP_NAMESPACE::Format::ePvrtc24BppSrgbBlockIMG: return { 4, 4, 1 }; 7728 7729 default: return { 1, 1, 1 }; 7730 } 7731 } 7732 7733 // A textual description of the compression scheme, or an empty string if it is not compressed compressionScheme(VULKAN_HPP_NAMESPACE::Format format)7734 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_14 char const * compressionScheme( VULKAN_HPP_NAMESPACE::Format format ) 7735 { 7736 switch ( format ) 7737 { 7738 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbUnormBlock: return "BC"; 7739 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbSrgbBlock: return "BC"; 7740 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbaUnormBlock: return "BC"; 7741 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbaSrgbBlock: return "BC"; 7742 case VULKAN_HPP_NAMESPACE::Format::eBc2UnormBlock: return "BC"; 7743 case VULKAN_HPP_NAMESPACE::Format::eBc2SrgbBlock: return "BC"; 7744 case VULKAN_HPP_NAMESPACE::Format::eBc3UnormBlock: return "BC"; 7745 case VULKAN_HPP_NAMESPACE::Format::eBc3SrgbBlock: return "BC"; 7746 case VULKAN_HPP_NAMESPACE::Format::eBc4UnormBlock: return "BC"; 7747 case VULKAN_HPP_NAMESPACE::Format::eBc4SnormBlock: return "BC"; 7748 case VULKAN_HPP_NAMESPACE::Format::eBc5UnormBlock: return "BC"; 7749 case VULKAN_HPP_NAMESPACE::Format::eBc5SnormBlock: return "BC"; 7750 case VULKAN_HPP_NAMESPACE::Format::eBc6HUfloatBlock: return "BC"; 7751 case VULKAN_HPP_NAMESPACE::Format::eBc6HSfloatBlock: return "BC"; 7752 case VULKAN_HPP_NAMESPACE::Format::eBc7UnormBlock: return "BC"; 7753 case VULKAN_HPP_NAMESPACE::Format::eBc7SrgbBlock: return "BC"; 7754 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8UnormBlock: return "ETC2"; 7755 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8SrgbBlock: return "ETC2"; 7756 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A1UnormBlock: return "ETC2"; 7757 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A1SrgbBlock: return "ETC2"; 7758 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A8UnormBlock: return "ETC2"; 7759 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A8SrgbBlock: return "ETC2"; 7760 case VULKAN_HPP_NAMESPACE::Format::eEacR11UnormBlock: return "EAC"; 7761 case VULKAN_HPP_NAMESPACE::Format::eEacR11SnormBlock: return "EAC"; 7762 case VULKAN_HPP_NAMESPACE::Format::eEacR11G11UnormBlock: return "EAC"; 7763 case VULKAN_HPP_NAMESPACE::Format::eEacR11G11SnormBlock: return "EAC"; 7764 case VULKAN_HPP_NAMESPACE::Format::eAstc4x4UnormBlock: return "ASTC LDR"; 7765 case VULKAN_HPP_NAMESPACE::Format::eAstc4x4SrgbBlock: return "ASTC LDR"; 7766 case VULKAN_HPP_NAMESPACE::Format::eAstc5x4UnormBlock: return "ASTC LDR"; 7767 case VULKAN_HPP_NAMESPACE::Format::eAstc5x4SrgbBlock: return "ASTC LDR"; 7768 case VULKAN_HPP_NAMESPACE::Format::eAstc5x5UnormBlock: return "ASTC LDR"; 7769 case VULKAN_HPP_NAMESPACE::Format::eAstc5x5SrgbBlock: return "ASTC LDR"; 7770 case VULKAN_HPP_NAMESPACE::Format::eAstc6x5UnormBlock: return "ASTC LDR"; 7771 case VULKAN_HPP_NAMESPACE::Format::eAstc6x5SrgbBlock: return "ASTC LDR"; 7772 case VULKAN_HPP_NAMESPACE::Format::eAstc6x6UnormBlock: return "ASTC LDR"; 7773 case VULKAN_HPP_NAMESPACE::Format::eAstc6x6SrgbBlock: return "ASTC LDR"; 7774 case VULKAN_HPP_NAMESPACE::Format::eAstc8x5UnormBlock: return "ASTC LDR"; 7775 case VULKAN_HPP_NAMESPACE::Format::eAstc8x5SrgbBlock: return "ASTC LDR"; 7776 case VULKAN_HPP_NAMESPACE::Format::eAstc8x6UnormBlock: return "ASTC LDR"; 7777 case VULKAN_HPP_NAMESPACE::Format::eAstc8x6SrgbBlock: return "ASTC LDR"; 7778 case VULKAN_HPP_NAMESPACE::Format::eAstc8x8UnormBlock: return "ASTC LDR"; 7779 case VULKAN_HPP_NAMESPACE::Format::eAstc8x8SrgbBlock: return "ASTC LDR"; 7780 case VULKAN_HPP_NAMESPACE::Format::eAstc10x5UnormBlock: return "ASTC LDR"; 7781 case VULKAN_HPP_NAMESPACE::Format::eAstc10x5SrgbBlock: return "ASTC LDR"; 7782 case VULKAN_HPP_NAMESPACE::Format::eAstc10x6UnormBlock: return "ASTC LDR"; 7783 case VULKAN_HPP_NAMESPACE::Format::eAstc10x6SrgbBlock: return "ASTC LDR"; 7784 case VULKAN_HPP_NAMESPACE::Format::eAstc10x8UnormBlock: return "ASTC LDR"; 7785 case VULKAN_HPP_NAMESPACE::Format::eAstc10x8SrgbBlock: return "ASTC LDR"; 7786 case VULKAN_HPP_NAMESPACE::Format::eAstc10x10UnormBlock: return "ASTC LDR"; 7787 case VULKAN_HPP_NAMESPACE::Format::eAstc10x10SrgbBlock: return "ASTC LDR"; 7788 case VULKAN_HPP_NAMESPACE::Format::eAstc12x10UnormBlock: return "ASTC LDR"; 7789 case VULKAN_HPP_NAMESPACE::Format::eAstc12x10SrgbBlock: return "ASTC LDR"; 7790 case VULKAN_HPP_NAMESPACE::Format::eAstc12x12UnormBlock: return "ASTC LDR"; 7791 case VULKAN_HPP_NAMESPACE::Format::eAstc12x12SrgbBlock: return "ASTC LDR"; 7792 case VULKAN_HPP_NAMESPACE::Format::eAstc4x4SfloatBlock: return "ASTC HDR"; 7793 case VULKAN_HPP_NAMESPACE::Format::eAstc5x4SfloatBlock: return "ASTC HDR"; 7794 case VULKAN_HPP_NAMESPACE::Format::eAstc5x5SfloatBlock: return "ASTC HDR"; 7795 case VULKAN_HPP_NAMESPACE::Format::eAstc6x5SfloatBlock: return "ASTC HDR"; 7796 case VULKAN_HPP_NAMESPACE::Format::eAstc6x6SfloatBlock: return "ASTC HDR"; 7797 case VULKAN_HPP_NAMESPACE::Format::eAstc8x5SfloatBlock: return "ASTC HDR"; 7798 case VULKAN_HPP_NAMESPACE::Format::eAstc8x6SfloatBlock: return "ASTC HDR"; 7799 case VULKAN_HPP_NAMESPACE::Format::eAstc8x8SfloatBlock: return "ASTC HDR"; 7800 case VULKAN_HPP_NAMESPACE::Format::eAstc10x5SfloatBlock: return "ASTC HDR"; 7801 case VULKAN_HPP_NAMESPACE::Format::eAstc10x6SfloatBlock: return "ASTC HDR"; 7802 case VULKAN_HPP_NAMESPACE::Format::eAstc10x8SfloatBlock: return "ASTC HDR"; 7803 case VULKAN_HPP_NAMESPACE::Format::eAstc10x10SfloatBlock: return "ASTC HDR"; 7804 case VULKAN_HPP_NAMESPACE::Format::eAstc12x10SfloatBlock: return "ASTC HDR"; 7805 case VULKAN_HPP_NAMESPACE::Format::eAstc12x12SfloatBlock: return "ASTC HDR"; 7806 case VULKAN_HPP_NAMESPACE::Format::ePvrtc12BppUnormBlockIMG: return "PVRTC"; 7807 case VULKAN_HPP_NAMESPACE::Format::ePvrtc14BppUnormBlockIMG: return "PVRTC"; 7808 case VULKAN_HPP_NAMESPACE::Format::ePvrtc22BppUnormBlockIMG: return "PVRTC"; 7809 case VULKAN_HPP_NAMESPACE::Format::ePvrtc24BppUnormBlockIMG: return "PVRTC"; 7810 case VULKAN_HPP_NAMESPACE::Format::ePvrtc12BppSrgbBlockIMG: return "PVRTC"; 7811 case VULKAN_HPP_NAMESPACE::Format::ePvrtc14BppSrgbBlockIMG: return "PVRTC"; 7812 case VULKAN_HPP_NAMESPACE::Format::ePvrtc22BppSrgbBlockIMG: return "PVRTC"; 7813 case VULKAN_HPP_NAMESPACE::Format::ePvrtc24BppSrgbBlockIMG: return "PVRTC"; 7814 7815 default: return ""; 7816 } 7817 } 7818 7819 // True, if this format is a compressed one. isCompressed(VULKAN_HPP_NAMESPACE::Format format)7820 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_14 bool isCompressed( VULKAN_HPP_NAMESPACE::Format format ) 7821 { 7822 return ( *VULKAN_HPP_NAMESPACE::compressionScheme( format ) != 0 ); 7823 } 7824 7825 // The number of bits into which the format is packed. A single image element in this format 7826 // can be stored in the same space as a scalar type of this bit width. packed(VULKAN_HPP_NAMESPACE::Format format)7827 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_14 uint8_t packed( VULKAN_HPP_NAMESPACE::Format format ) 7828 { 7829 switch ( format ) 7830 { 7831 case VULKAN_HPP_NAMESPACE::Format::eR4G4UnormPack8: return 8; 7832 case VULKAN_HPP_NAMESPACE::Format::eR4G4B4A4UnormPack16: return 16; 7833 case VULKAN_HPP_NAMESPACE::Format::eB4G4R4A4UnormPack16: return 16; 7834 case VULKAN_HPP_NAMESPACE::Format::eR5G6B5UnormPack16: return 16; 7835 case VULKAN_HPP_NAMESPACE::Format::eB5G6R5UnormPack16: return 16; 7836 case VULKAN_HPP_NAMESPACE::Format::eR5G5B5A1UnormPack16: return 16; 7837 case VULKAN_HPP_NAMESPACE::Format::eB5G5R5A1UnormPack16: return 16; 7838 case VULKAN_HPP_NAMESPACE::Format::eA1R5G5B5UnormPack16: return 16; 7839 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8UnormPack32: return 32; 7840 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8SnormPack32: return 32; 7841 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8UscaledPack32: return 32; 7842 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8SscaledPack32: return 32; 7843 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8UintPack32: return 32; 7844 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8SintPack32: return 32; 7845 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8SrgbPack32: return 32; 7846 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10UnormPack32: return 32; 7847 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10SnormPack32: return 32; 7848 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10UscaledPack32: return 32; 7849 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10SscaledPack32: return 32; 7850 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10UintPack32: return 32; 7851 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10SintPack32: return 32; 7852 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10UnormPack32: return 32; 7853 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10SnormPack32: return 32; 7854 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10UscaledPack32: return 32; 7855 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10SscaledPack32: return 32; 7856 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10UintPack32: return 32; 7857 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10SintPack32: return 32; 7858 case VULKAN_HPP_NAMESPACE::Format::eB10G11R11UfloatPack32: return 32; 7859 case VULKAN_HPP_NAMESPACE::Format::eE5B9G9R9UfloatPack32: return 32; 7860 case VULKAN_HPP_NAMESPACE::Format::eX8D24UnormPack32: return 32; 7861 case VULKAN_HPP_NAMESPACE::Format::eR10X6UnormPack16: return 16; 7862 case VULKAN_HPP_NAMESPACE::Format::eR10X6G10X6Unorm2Pack16: return 16; 7863 case VULKAN_HPP_NAMESPACE::Format::eR10X6G10X6B10X6A10X6Unorm4Pack16: return 16; 7864 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6G10X6R10X6422Unorm4Pack16: return 16; 7865 case VULKAN_HPP_NAMESPACE::Format::eB10X6G10X6R10X6G10X6422Unorm4Pack16: return 16; 7866 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane420Unorm3Pack16: return 16; 7867 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane420Unorm3Pack16: return 16; 7868 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane422Unorm3Pack16: return 16; 7869 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane422Unorm3Pack16: return 16; 7870 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane444Unorm3Pack16: return 16; 7871 case VULKAN_HPP_NAMESPACE::Format::eR12X4UnormPack16: return 16; 7872 case VULKAN_HPP_NAMESPACE::Format::eR12X4G12X4Unorm2Pack16: return 16; 7873 case VULKAN_HPP_NAMESPACE::Format::eR12X4G12X4B12X4A12X4Unorm4Pack16: return 16; 7874 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4G12X4R12X4422Unorm4Pack16: return 16; 7875 case VULKAN_HPP_NAMESPACE::Format::eB12X4G12X4R12X4G12X4422Unorm4Pack16: return 16; 7876 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane420Unorm3Pack16: return 16; 7877 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane420Unorm3Pack16: return 16; 7878 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane422Unorm3Pack16: return 16; 7879 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane422Unorm3Pack16: return 16; 7880 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane444Unorm3Pack16: return 16; 7881 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane444Unorm3Pack16: return 16; 7882 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane444Unorm3Pack16: return 16; 7883 case VULKAN_HPP_NAMESPACE::Format::eA4R4G4B4UnormPack16: return 16; 7884 case VULKAN_HPP_NAMESPACE::Format::eA4B4G4R4UnormPack16: return 16; 7885 7886 default: return 0; 7887 } 7888 } 7889 7890 // The number of components of this format. componentCount(VULKAN_HPP_NAMESPACE::Format format)7891 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_14 uint8_t componentCount( VULKAN_HPP_NAMESPACE::Format format ) 7892 { 7893 switch ( format ) 7894 { 7895 case VULKAN_HPP_NAMESPACE::Format::eR4G4UnormPack8: return 2; 7896 case VULKAN_HPP_NAMESPACE::Format::eR4G4B4A4UnormPack16: return 4; 7897 case VULKAN_HPP_NAMESPACE::Format::eB4G4R4A4UnormPack16: return 4; 7898 case VULKAN_HPP_NAMESPACE::Format::eR5G6B5UnormPack16: return 3; 7899 case VULKAN_HPP_NAMESPACE::Format::eB5G6R5UnormPack16: return 3; 7900 case VULKAN_HPP_NAMESPACE::Format::eR5G5B5A1UnormPack16: return 4; 7901 case VULKAN_HPP_NAMESPACE::Format::eB5G5R5A1UnormPack16: return 4; 7902 case VULKAN_HPP_NAMESPACE::Format::eA1R5G5B5UnormPack16: return 4; 7903 case VULKAN_HPP_NAMESPACE::Format::eR8Unorm: return 1; 7904 case VULKAN_HPP_NAMESPACE::Format::eR8Snorm: return 1; 7905 case VULKAN_HPP_NAMESPACE::Format::eR8Uscaled: return 1; 7906 case VULKAN_HPP_NAMESPACE::Format::eR8Sscaled: return 1; 7907 case VULKAN_HPP_NAMESPACE::Format::eR8Uint: return 1; 7908 case VULKAN_HPP_NAMESPACE::Format::eR8Sint: return 1; 7909 case VULKAN_HPP_NAMESPACE::Format::eR8Srgb: return 1; 7910 case VULKAN_HPP_NAMESPACE::Format::eR8G8Unorm: return 2; 7911 case VULKAN_HPP_NAMESPACE::Format::eR8G8Snorm: return 2; 7912 case VULKAN_HPP_NAMESPACE::Format::eR8G8Uscaled: return 2; 7913 case VULKAN_HPP_NAMESPACE::Format::eR8G8Sscaled: return 2; 7914 case VULKAN_HPP_NAMESPACE::Format::eR8G8Uint: return 2; 7915 case VULKAN_HPP_NAMESPACE::Format::eR8G8Sint: return 2; 7916 case VULKAN_HPP_NAMESPACE::Format::eR8G8Srgb: return 2; 7917 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Unorm: return 3; 7918 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Snorm: return 3; 7919 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Uscaled: return 3; 7920 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Sscaled: return 3; 7921 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Uint: return 3; 7922 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Sint: return 3; 7923 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Srgb: return 3; 7924 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Unorm: return 3; 7925 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Snorm: return 3; 7926 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Uscaled: return 3; 7927 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Sscaled: return 3; 7928 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Uint: return 3; 7929 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Sint: return 3; 7930 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Srgb: return 3; 7931 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Unorm: return 4; 7932 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Snorm: return 4; 7933 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Uscaled: return 4; 7934 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Sscaled: return 4; 7935 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Uint: return 4; 7936 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Sint: return 4; 7937 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Srgb: return 4; 7938 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Unorm: return 4; 7939 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Snorm: return 4; 7940 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Uscaled: return 4; 7941 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Sscaled: return 4; 7942 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Uint: return 4; 7943 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Sint: return 4; 7944 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Srgb: return 4; 7945 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8UnormPack32: return 4; 7946 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8SnormPack32: return 4; 7947 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8UscaledPack32: return 4; 7948 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8SscaledPack32: return 4; 7949 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8UintPack32: return 4; 7950 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8SintPack32: return 4; 7951 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8SrgbPack32: return 4; 7952 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10UnormPack32: return 4; 7953 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10SnormPack32: return 4; 7954 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10UscaledPack32: return 4; 7955 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10SscaledPack32: return 4; 7956 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10UintPack32: return 4; 7957 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10SintPack32: return 4; 7958 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10UnormPack32: return 4; 7959 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10SnormPack32: return 4; 7960 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10UscaledPack32: return 4; 7961 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10SscaledPack32: return 4; 7962 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10UintPack32: return 4; 7963 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10SintPack32: return 4; 7964 case VULKAN_HPP_NAMESPACE::Format::eR16Unorm: return 1; 7965 case VULKAN_HPP_NAMESPACE::Format::eR16Snorm: return 1; 7966 case VULKAN_HPP_NAMESPACE::Format::eR16Uscaled: return 1; 7967 case VULKAN_HPP_NAMESPACE::Format::eR16Sscaled: return 1; 7968 case VULKAN_HPP_NAMESPACE::Format::eR16Uint: return 1; 7969 case VULKAN_HPP_NAMESPACE::Format::eR16Sint: return 1; 7970 case VULKAN_HPP_NAMESPACE::Format::eR16Sfloat: return 1; 7971 case VULKAN_HPP_NAMESPACE::Format::eR16G16Unorm: return 2; 7972 case VULKAN_HPP_NAMESPACE::Format::eR16G16Snorm: return 2; 7973 case VULKAN_HPP_NAMESPACE::Format::eR16G16Uscaled: return 2; 7974 case VULKAN_HPP_NAMESPACE::Format::eR16G16Sscaled: return 2; 7975 case VULKAN_HPP_NAMESPACE::Format::eR16G16Uint: return 2; 7976 case VULKAN_HPP_NAMESPACE::Format::eR16G16Sint: return 2; 7977 case VULKAN_HPP_NAMESPACE::Format::eR16G16Sfloat: return 2; 7978 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Unorm: return 3; 7979 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Snorm: return 3; 7980 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Uscaled: return 3; 7981 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Sscaled: return 3; 7982 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Uint: return 3; 7983 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Sint: return 3; 7984 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Sfloat: return 3; 7985 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Unorm: return 4; 7986 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Snorm: return 4; 7987 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Uscaled: return 4; 7988 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Sscaled: return 4; 7989 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Uint: return 4; 7990 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Sint: return 4; 7991 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Sfloat: return 4; 7992 case VULKAN_HPP_NAMESPACE::Format::eR32Uint: return 1; 7993 case VULKAN_HPP_NAMESPACE::Format::eR32Sint: return 1; 7994 case VULKAN_HPP_NAMESPACE::Format::eR32Sfloat: return 1; 7995 case VULKAN_HPP_NAMESPACE::Format::eR32G32Uint: return 2; 7996 case VULKAN_HPP_NAMESPACE::Format::eR32G32Sint: return 2; 7997 case VULKAN_HPP_NAMESPACE::Format::eR32G32Sfloat: return 2; 7998 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32Uint: return 3; 7999 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32Sint: return 3; 8000 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32Sfloat: return 3; 8001 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32A32Uint: return 4; 8002 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32A32Sint: return 4; 8003 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32A32Sfloat: return 4; 8004 case VULKAN_HPP_NAMESPACE::Format::eR64Uint: return 1; 8005 case VULKAN_HPP_NAMESPACE::Format::eR64Sint: return 1; 8006 case VULKAN_HPP_NAMESPACE::Format::eR64Sfloat: return 1; 8007 case VULKAN_HPP_NAMESPACE::Format::eR64G64Uint: return 2; 8008 case VULKAN_HPP_NAMESPACE::Format::eR64G64Sint: return 2; 8009 case VULKAN_HPP_NAMESPACE::Format::eR64G64Sfloat: return 2; 8010 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64Uint: return 3; 8011 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64Sint: return 3; 8012 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64Sfloat: return 3; 8013 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64A64Uint: return 4; 8014 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64A64Sint: return 4; 8015 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64A64Sfloat: return 4; 8016 case VULKAN_HPP_NAMESPACE::Format::eB10G11R11UfloatPack32: return 3; 8017 case VULKAN_HPP_NAMESPACE::Format::eE5B9G9R9UfloatPack32: return 3; 8018 case VULKAN_HPP_NAMESPACE::Format::eD16Unorm: return 1; 8019 case VULKAN_HPP_NAMESPACE::Format::eX8D24UnormPack32: return 1; 8020 case VULKAN_HPP_NAMESPACE::Format::eD32Sfloat: return 1; 8021 case VULKAN_HPP_NAMESPACE::Format::eS8Uint: return 1; 8022 case VULKAN_HPP_NAMESPACE::Format::eD16UnormS8Uint: return 2; 8023 case VULKAN_HPP_NAMESPACE::Format::eD24UnormS8Uint: return 2; 8024 case VULKAN_HPP_NAMESPACE::Format::eD32SfloatS8Uint: return 2; 8025 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbUnormBlock: return 3; 8026 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbSrgbBlock: return 3; 8027 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbaUnormBlock: return 4; 8028 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbaSrgbBlock: return 4; 8029 case VULKAN_HPP_NAMESPACE::Format::eBc2UnormBlock: return 4; 8030 case VULKAN_HPP_NAMESPACE::Format::eBc2SrgbBlock: return 4; 8031 case VULKAN_HPP_NAMESPACE::Format::eBc3UnormBlock: return 4; 8032 case VULKAN_HPP_NAMESPACE::Format::eBc3SrgbBlock: return 4; 8033 case VULKAN_HPP_NAMESPACE::Format::eBc4UnormBlock: return 1; 8034 case VULKAN_HPP_NAMESPACE::Format::eBc4SnormBlock: return 1; 8035 case VULKAN_HPP_NAMESPACE::Format::eBc5UnormBlock: return 2; 8036 case VULKAN_HPP_NAMESPACE::Format::eBc5SnormBlock: return 2; 8037 case VULKAN_HPP_NAMESPACE::Format::eBc6HUfloatBlock: return 3; 8038 case VULKAN_HPP_NAMESPACE::Format::eBc6HSfloatBlock: return 3; 8039 case VULKAN_HPP_NAMESPACE::Format::eBc7UnormBlock: return 4; 8040 case VULKAN_HPP_NAMESPACE::Format::eBc7SrgbBlock: return 4; 8041 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8UnormBlock: return 3; 8042 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8SrgbBlock: return 3; 8043 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A1UnormBlock: return 4; 8044 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A1SrgbBlock: return 4; 8045 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A8UnormBlock: return 4; 8046 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A8SrgbBlock: return 4; 8047 case VULKAN_HPP_NAMESPACE::Format::eEacR11UnormBlock: return 1; 8048 case VULKAN_HPP_NAMESPACE::Format::eEacR11SnormBlock: return 1; 8049 case VULKAN_HPP_NAMESPACE::Format::eEacR11G11UnormBlock: return 2; 8050 case VULKAN_HPP_NAMESPACE::Format::eEacR11G11SnormBlock: return 2; 8051 case VULKAN_HPP_NAMESPACE::Format::eAstc4x4UnormBlock: return 4; 8052 case VULKAN_HPP_NAMESPACE::Format::eAstc4x4SrgbBlock: return 4; 8053 case VULKAN_HPP_NAMESPACE::Format::eAstc5x4UnormBlock: return 4; 8054 case VULKAN_HPP_NAMESPACE::Format::eAstc5x4SrgbBlock: return 4; 8055 case VULKAN_HPP_NAMESPACE::Format::eAstc5x5UnormBlock: return 4; 8056 case VULKAN_HPP_NAMESPACE::Format::eAstc5x5SrgbBlock: return 4; 8057 case VULKAN_HPP_NAMESPACE::Format::eAstc6x5UnormBlock: return 4; 8058 case VULKAN_HPP_NAMESPACE::Format::eAstc6x5SrgbBlock: return 4; 8059 case VULKAN_HPP_NAMESPACE::Format::eAstc6x6UnormBlock: return 4; 8060 case VULKAN_HPP_NAMESPACE::Format::eAstc6x6SrgbBlock: return 4; 8061 case VULKAN_HPP_NAMESPACE::Format::eAstc8x5UnormBlock: return 4; 8062 case VULKAN_HPP_NAMESPACE::Format::eAstc8x5SrgbBlock: return 4; 8063 case VULKAN_HPP_NAMESPACE::Format::eAstc8x6UnormBlock: return 4; 8064 case VULKAN_HPP_NAMESPACE::Format::eAstc8x6SrgbBlock: return 4; 8065 case VULKAN_HPP_NAMESPACE::Format::eAstc8x8UnormBlock: return 4; 8066 case VULKAN_HPP_NAMESPACE::Format::eAstc8x8SrgbBlock: return 4; 8067 case VULKAN_HPP_NAMESPACE::Format::eAstc10x5UnormBlock: return 4; 8068 case VULKAN_HPP_NAMESPACE::Format::eAstc10x5SrgbBlock: return 4; 8069 case VULKAN_HPP_NAMESPACE::Format::eAstc10x6UnormBlock: return 4; 8070 case VULKAN_HPP_NAMESPACE::Format::eAstc10x6SrgbBlock: return 4; 8071 case VULKAN_HPP_NAMESPACE::Format::eAstc10x8UnormBlock: return 4; 8072 case VULKAN_HPP_NAMESPACE::Format::eAstc10x8SrgbBlock: return 4; 8073 case VULKAN_HPP_NAMESPACE::Format::eAstc10x10UnormBlock: return 4; 8074 case VULKAN_HPP_NAMESPACE::Format::eAstc10x10SrgbBlock: return 4; 8075 case VULKAN_HPP_NAMESPACE::Format::eAstc12x10UnormBlock: return 4; 8076 case VULKAN_HPP_NAMESPACE::Format::eAstc12x10SrgbBlock: return 4; 8077 case VULKAN_HPP_NAMESPACE::Format::eAstc12x12UnormBlock: return 4; 8078 case VULKAN_HPP_NAMESPACE::Format::eAstc12x12SrgbBlock: return 4; 8079 case VULKAN_HPP_NAMESPACE::Format::eG8B8G8R8422Unorm: return 4; 8080 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8G8422Unorm: return 4; 8081 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane420Unorm: return 3; 8082 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane420Unorm: return 3; 8083 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane422Unorm: return 3; 8084 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane422Unorm: return 3; 8085 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane444Unorm: return 3; 8086 case VULKAN_HPP_NAMESPACE::Format::eR10X6UnormPack16: return 1; 8087 case VULKAN_HPP_NAMESPACE::Format::eR10X6G10X6Unorm2Pack16: return 2; 8088 case VULKAN_HPP_NAMESPACE::Format::eR10X6G10X6B10X6A10X6Unorm4Pack16: return 4; 8089 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6G10X6R10X6422Unorm4Pack16: return 4; 8090 case VULKAN_HPP_NAMESPACE::Format::eB10X6G10X6R10X6G10X6422Unorm4Pack16: return 4; 8091 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane420Unorm3Pack16: return 3; 8092 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane420Unorm3Pack16: return 3; 8093 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane422Unorm3Pack16: return 3; 8094 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane422Unorm3Pack16: return 3; 8095 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane444Unorm3Pack16: return 3; 8096 case VULKAN_HPP_NAMESPACE::Format::eR12X4UnormPack16: return 1; 8097 case VULKAN_HPP_NAMESPACE::Format::eR12X4G12X4Unorm2Pack16: return 2; 8098 case VULKAN_HPP_NAMESPACE::Format::eR12X4G12X4B12X4A12X4Unorm4Pack16: return 4; 8099 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4G12X4R12X4422Unorm4Pack16: return 4; 8100 case VULKAN_HPP_NAMESPACE::Format::eB12X4G12X4R12X4G12X4422Unorm4Pack16: return 4; 8101 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane420Unorm3Pack16: return 3; 8102 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane420Unorm3Pack16: return 3; 8103 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane422Unorm3Pack16: return 3; 8104 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane422Unorm3Pack16: return 3; 8105 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane444Unorm3Pack16: return 3; 8106 case VULKAN_HPP_NAMESPACE::Format::eG16B16G16R16422Unorm: return 4; 8107 case VULKAN_HPP_NAMESPACE::Format::eB16G16R16G16422Unorm: return 4; 8108 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane420Unorm: return 3; 8109 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane420Unorm: return 3; 8110 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane422Unorm: return 3; 8111 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane422Unorm: return 3; 8112 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane444Unorm: return 3; 8113 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane444Unorm: return 3; 8114 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane444Unorm3Pack16: return 3; 8115 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane444Unorm3Pack16: return 3; 8116 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane444Unorm: return 3; 8117 case VULKAN_HPP_NAMESPACE::Format::eA4R4G4B4UnormPack16: return 4; 8118 case VULKAN_HPP_NAMESPACE::Format::eA4B4G4R4UnormPack16: return 4; 8119 case VULKAN_HPP_NAMESPACE::Format::eAstc4x4SfloatBlock: return 4; 8120 case VULKAN_HPP_NAMESPACE::Format::eAstc5x4SfloatBlock: return 4; 8121 case VULKAN_HPP_NAMESPACE::Format::eAstc5x5SfloatBlock: return 4; 8122 case VULKAN_HPP_NAMESPACE::Format::eAstc6x5SfloatBlock: return 4; 8123 case VULKAN_HPP_NAMESPACE::Format::eAstc6x6SfloatBlock: return 4; 8124 case VULKAN_HPP_NAMESPACE::Format::eAstc8x5SfloatBlock: return 4; 8125 case VULKAN_HPP_NAMESPACE::Format::eAstc8x6SfloatBlock: return 4; 8126 case VULKAN_HPP_NAMESPACE::Format::eAstc8x8SfloatBlock: return 4; 8127 case VULKAN_HPP_NAMESPACE::Format::eAstc10x5SfloatBlock: return 4; 8128 case VULKAN_HPP_NAMESPACE::Format::eAstc10x6SfloatBlock: return 4; 8129 case VULKAN_HPP_NAMESPACE::Format::eAstc10x8SfloatBlock: return 4; 8130 case VULKAN_HPP_NAMESPACE::Format::eAstc10x10SfloatBlock: return 4; 8131 case VULKAN_HPP_NAMESPACE::Format::eAstc12x10SfloatBlock: return 4; 8132 case VULKAN_HPP_NAMESPACE::Format::eAstc12x12SfloatBlock: return 4; 8133 case VULKAN_HPP_NAMESPACE::Format::ePvrtc12BppUnormBlockIMG: return 4; 8134 case VULKAN_HPP_NAMESPACE::Format::ePvrtc14BppUnormBlockIMG: return 4; 8135 case VULKAN_HPP_NAMESPACE::Format::ePvrtc22BppUnormBlockIMG: return 4; 8136 case VULKAN_HPP_NAMESPACE::Format::ePvrtc24BppUnormBlockIMG: return 4; 8137 case VULKAN_HPP_NAMESPACE::Format::ePvrtc12BppSrgbBlockIMG: return 4; 8138 case VULKAN_HPP_NAMESPACE::Format::ePvrtc14BppSrgbBlockIMG: return 4; 8139 case VULKAN_HPP_NAMESPACE::Format::ePvrtc22BppSrgbBlockIMG: return 4; 8140 case VULKAN_HPP_NAMESPACE::Format::ePvrtc24BppSrgbBlockIMG: return 4; 8141 8142 default: return 0; 8143 } 8144 } 8145 8146 // True, if the components of this format are compressed, otherwise false. componentsAreCompressed(VULKAN_HPP_NAMESPACE::Format format)8147 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_14 bool componentsAreCompressed( VULKAN_HPP_NAMESPACE::Format format ) 8148 { 8149 switch ( format ) 8150 { 8151 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbUnormBlock: 8152 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbSrgbBlock: 8153 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbaUnormBlock: 8154 case VULKAN_HPP_NAMESPACE::Format::eBc1RgbaSrgbBlock: 8155 case VULKAN_HPP_NAMESPACE::Format::eBc2UnormBlock: 8156 case VULKAN_HPP_NAMESPACE::Format::eBc2SrgbBlock: 8157 case VULKAN_HPP_NAMESPACE::Format::eBc3UnormBlock: 8158 case VULKAN_HPP_NAMESPACE::Format::eBc3SrgbBlock: 8159 case VULKAN_HPP_NAMESPACE::Format::eBc4UnormBlock: 8160 case VULKAN_HPP_NAMESPACE::Format::eBc4SnormBlock: 8161 case VULKAN_HPP_NAMESPACE::Format::eBc5UnormBlock: 8162 case VULKAN_HPP_NAMESPACE::Format::eBc5SnormBlock: 8163 case VULKAN_HPP_NAMESPACE::Format::eBc6HUfloatBlock: 8164 case VULKAN_HPP_NAMESPACE::Format::eBc6HSfloatBlock: 8165 case VULKAN_HPP_NAMESPACE::Format::eBc7UnormBlock: 8166 case VULKAN_HPP_NAMESPACE::Format::eBc7SrgbBlock: 8167 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8UnormBlock: 8168 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8SrgbBlock: 8169 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A1UnormBlock: 8170 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A1SrgbBlock: 8171 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A8UnormBlock: 8172 case VULKAN_HPP_NAMESPACE::Format::eEtc2R8G8B8A8SrgbBlock: 8173 case VULKAN_HPP_NAMESPACE::Format::eAstc4x4UnormBlock: 8174 case VULKAN_HPP_NAMESPACE::Format::eAstc4x4SrgbBlock: 8175 case VULKAN_HPP_NAMESPACE::Format::eAstc5x4UnormBlock: 8176 case VULKAN_HPP_NAMESPACE::Format::eAstc5x4SrgbBlock: 8177 case VULKAN_HPP_NAMESPACE::Format::eAstc5x5UnormBlock: 8178 case VULKAN_HPP_NAMESPACE::Format::eAstc5x5SrgbBlock: 8179 case VULKAN_HPP_NAMESPACE::Format::eAstc6x5UnormBlock: 8180 case VULKAN_HPP_NAMESPACE::Format::eAstc6x5SrgbBlock: 8181 case VULKAN_HPP_NAMESPACE::Format::eAstc6x6UnormBlock: 8182 case VULKAN_HPP_NAMESPACE::Format::eAstc6x6SrgbBlock: 8183 case VULKAN_HPP_NAMESPACE::Format::eAstc8x5UnormBlock: 8184 case VULKAN_HPP_NAMESPACE::Format::eAstc8x5SrgbBlock: 8185 case VULKAN_HPP_NAMESPACE::Format::eAstc8x6UnormBlock: 8186 case VULKAN_HPP_NAMESPACE::Format::eAstc8x6SrgbBlock: 8187 case VULKAN_HPP_NAMESPACE::Format::eAstc8x8UnormBlock: 8188 case VULKAN_HPP_NAMESPACE::Format::eAstc8x8SrgbBlock: 8189 case VULKAN_HPP_NAMESPACE::Format::eAstc10x5UnormBlock: 8190 case VULKAN_HPP_NAMESPACE::Format::eAstc10x5SrgbBlock: 8191 case VULKAN_HPP_NAMESPACE::Format::eAstc10x6UnormBlock: 8192 case VULKAN_HPP_NAMESPACE::Format::eAstc10x6SrgbBlock: 8193 case VULKAN_HPP_NAMESPACE::Format::eAstc10x8UnormBlock: 8194 case VULKAN_HPP_NAMESPACE::Format::eAstc10x8SrgbBlock: 8195 case VULKAN_HPP_NAMESPACE::Format::eAstc10x10UnormBlock: 8196 case VULKAN_HPP_NAMESPACE::Format::eAstc10x10SrgbBlock: 8197 case VULKAN_HPP_NAMESPACE::Format::eAstc12x10UnormBlock: 8198 case VULKAN_HPP_NAMESPACE::Format::eAstc12x10SrgbBlock: 8199 case VULKAN_HPP_NAMESPACE::Format::eAstc12x12UnormBlock: 8200 case VULKAN_HPP_NAMESPACE::Format::eAstc12x12SrgbBlock: 8201 case VULKAN_HPP_NAMESPACE::Format::eAstc4x4SfloatBlock: 8202 case VULKAN_HPP_NAMESPACE::Format::eAstc5x4SfloatBlock: 8203 case VULKAN_HPP_NAMESPACE::Format::eAstc5x5SfloatBlock: 8204 case VULKAN_HPP_NAMESPACE::Format::eAstc6x5SfloatBlock: 8205 case VULKAN_HPP_NAMESPACE::Format::eAstc6x6SfloatBlock: 8206 case VULKAN_HPP_NAMESPACE::Format::eAstc8x5SfloatBlock: 8207 case VULKAN_HPP_NAMESPACE::Format::eAstc8x6SfloatBlock: 8208 case VULKAN_HPP_NAMESPACE::Format::eAstc8x8SfloatBlock: 8209 case VULKAN_HPP_NAMESPACE::Format::eAstc10x5SfloatBlock: 8210 case VULKAN_HPP_NAMESPACE::Format::eAstc10x6SfloatBlock: 8211 case VULKAN_HPP_NAMESPACE::Format::eAstc10x8SfloatBlock: 8212 case VULKAN_HPP_NAMESPACE::Format::eAstc10x10SfloatBlock: 8213 case VULKAN_HPP_NAMESPACE::Format::eAstc12x10SfloatBlock: 8214 case VULKAN_HPP_NAMESPACE::Format::eAstc12x12SfloatBlock: 8215 case VULKAN_HPP_NAMESPACE::Format::ePvrtc12BppUnormBlockIMG: 8216 case VULKAN_HPP_NAMESPACE::Format::ePvrtc14BppUnormBlockIMG: 8217 case VULKAN_HPP_NAMESPACE::Format::ePvrtc22BppUnormBlockIMG: 8218 case VULKAN_HPP_NAMESPACE::Format::ePvrtc24BppUnormBlockIMG: 8219 case VULKAN_HPP_NAMESPACE::Format::ePvrtc12BppSrgbBlockIMG: 8220 case VULKAN_HPP_NAMESPACE::Format::ePvrtc14BppSrgbBlockIMG: 8221 case VULKAN_HPP_NAMESPACE::Format::ePvrtc22BppSrgbBlockIMG: 8222 case VULKAN_HPP_NAMESPACE::Format::ePvrtc24BppSrgbBlockIMG: return true; 8223 default: return false; 8224 } 8225 } 8226 8227 // The number of bits in this component, if not compressed, otherwise 0. componentBits(VULKAN_HPP_NAMESPACE::Format format,uint8_t component)8228 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_14 uint8_t componentBits( VULKAN_HPP_NAMESPACE::Format format, 8229 uint8_t component ) 8230 { 8231 switch ( format ) 8232 { 8233 case VULKAN_HPP_NAMESPACE::Format::eR4G4UnormPack8: 8234 switch ( component ) 8235 { 8236 case 0: return 4; 8237 case 1: return 4; 8238 default: VULKAN_HPP_ASSERT( false ); return 0; 8239 } 8240 case VULKAN_HPP_NAMESPACE::Format::eR4G4B4A4UnormPack16: 8241 switch ( component ) 8242 { 8243 case 0: return 4; 8244 case 1: return 4; 8245 case 2: return 4; 8246 case 3: return 4; 8247 default: VULKAN_HPP_ASSERT( false ); return 0; 8248 } 8249 case VULKAN_HPP_NAMESPACE::Format::eB4G4R4A4UnormPack16: 8250 switch ( component ) 8251 { 8252 case 0: return 4; 8253 case 1: return 4; 8254 case 2: return 4; 8255 case 3: return 4; 8256 default: VULKAN_HPP_ASSERT( false ); return 0; 8257 } 8258 case VULKAN_HPP_NAMESPACE::Format::eR5G6B5UnormPack16: 8259 switch ( component ) 8260 { 8261 case 0: return 5; 8262 case 1: return 6; 8263 case 2: return 5; 8264 default: VULKAN_HPP_ASSERT( false ); return 0; 8265 } 8266 case VULKAN_HPP_NAMESPACE::Format::eB5G6R5UnormPack16: 8267 switch ( component ) 8268 { 8269 case 0: return 5; 8270 case 1: return 6; 8271 case 2: return 5; 8272 default: VULKAN_HPP_ASSERT( false ); return 0; 8273 } 8274 case VULKAN_HPP_NAMESPACE::Format::eR5G5B5A1UnormPack16: 8275 switch ( component ) 8276 { 8277 case 0: return 5; 8278 case 1: return 5; 8279 case 2: return 5; 8280 case 3: return 1; 8281 default: VULKAN_HPP_ASSERT( false ); return 0; 8282 } 8283 case VULKAN_HPP_NAMESPACE::Format::eB5G5R5A1UnormPack16: 8284 switch ( component ) 8285 { 8286 case 0: return 5; 8287 case 1: return 5; 8288 case 2: return 5; 8289 case 3: return 1; 8290 default: VULKAN_HPP_ASSERT( false ); return 0; 8291 } 8292 case VULKAN_HPP_NAMESPACE::Format::eA1R5G5B5UnormPack16: 8293 switch ( component ) 8294 { 8295 case 0: return 1; 8296 case 1: return 5; 8297 case 2: return 5; 8298 case 3: return 5; 8299 default: VULKAN_HPP_ASSERT( false ); return 0; 8300 } 8301 case VULKAN_HPP_NAMESPACE::Format::eR8Unorm: 8302 switch ( component ) 8303 { 8304 case 0: return 8; 8305 default: VULKAN_HPP_ASSERT( false ); return 0; 8306 } 8307 case VULKAN_HPP_NAMESPACE::Format::eR8Snorm: 8308 switch ( component ) 8309 { 8310 case 0: return 8; 8311 default: VULKAN_HPP_ASSERT( false ); return 0; 8312 } 8313 case VULKAN_HPP_NAMESPACE::Format::eR8Uscaled: 8314 switch ( component ) 8315 { 8316 case 0: return 8; 8317 default: VULKAN_HPP_ASSERT( false ); return 0; 8318 } 8319 case VULKAN_HPP_NAMESPACE::Format::eR8Sscaled: 8320 switch ( component ) 8321 { 8322 case 0: return 8; 8323 default: VULKAN_HPP_ASSERT( false ); return 0; 8324 } 8325 case VULKAN_HPP_NAMESPACE::Format::eR8Uint: 8326 switch ( component ) 8327 { 8328 case 0: return 8; 8329 default: VULKAN_HPP_ASSERT( false ); return 0; 8330 } 8331 case VULKAN_HPP_NAMESPACE::Format::eR8Sint: 8332 switch ( component ) 8333 { 8334 case 0: return 8; 8335 default: VULKAN_HPP_ASSERT( false ); return 0; 8336 } 8337 case VULKAN_HPP_NAMESPACE::Format::eR8Srgb: 8338 switch ( component ) 8339 { 8340 case 0: return 8; 8341 default: VULKAN_HPP_ASSERT( false ); return 0; 8342 } 8343 case VULKAN_HPP_NAMESPACE::Format::eR8G8Unorm: 8344 switch ( component ) 8345 { 8346 case 0: return 8; 8347 case 1: return 8; 8348 default: VULKAN_HPP_ASSERT( false ); return 0; 8349 } 8350 case VULKAN_HPP_NAMESPACE::Format::eR8G8Snorm: 8351 switch ( component ) 8352 { 8353 case 0: return 8; 8354 case 1: return 8; 8355 default: VULKAN_HPP_ASSERT( false ); return 0; 8356 } 8357 case VULKAN_HPP_NAMESPACE::Format::eR8G8Uscaled: 8358 switch ( component ) 8359 { 8360 case 0: return 8; 8361 case 1: return 8; 8362 default: VULKAN_HPP_ASSERT( false ); return 0; 8363 } 8364 case VULKAN_HPP_NAMESPACE::Format::eR8G8Sscaled: 8365 switch ( component ) 8366 { 8367 case 0: return 8; 8368 case 1: return 8; 8369 default: VULKAN_HPP_ASSERT( false ); return 0; 8370 } 8371 case VULKAN_HPP_NAMESPACE::Format::eR8G8Uint: 8372 switch ( component ) 8373 { 8374 case 0: return 8; 8375 case 1: return 8; 8376 default: VULKAN_HPP_ASSERT( false ); return 0; 8377 } 8378 case VULKAN_HPP_NAMESPACE::Format::eR8G8Sint: 8379 switch ( component ) 8380 { 8381 case 0: return 8; 8382 case 1: return 8; 8383 default: VULKAN_HPP_ASSERT( false ); return 0; 8384 } 8385 case VULKAN_HPP_NAMESPACE::Format::eR8G8Srgb: 8386 switch ( component ) 8387 { 8388 case 0: return 8; 8389 case 1: return 8; 8390 default: VULKAN_HPP_ASSERT( false ); return 0; 8391 } 8392 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Unorm: 8393 switch ( component ) 8394 { 8395 case 0: return 8; 8396 case 1: return 8; 8397 case 2: return 8; 8398 default: VULKAN_HPP_ASSERT( false ); return 0; 8399 } 8400 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Snorm: 8401 switch ( component ) 8402 { 8403 case 0: return 8; 8404 case 1: return 8; 8405 case 2: return 8; 8406 default: VULKAN_HPP_ASSERT( false ); return 0; 8407 } 8408 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Uscaled: 8409 switch ( component ) 8410 { 8411 case 0: return 8; 8412 case 1: return 8; 8413 case 2: return 8; 8414 default: VULKAN_HPP_ASSERT( false ); return 0; 8415 } 8416 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Sscaled: 8417 switch ( component ) 8418 { 8419 case 0: return 8; 8420 case 1: return 8; 8421 case 2: return 8; 8422 default: VULKAN_HPP_ASSERT( false ); return 0; 8423 } 8424 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Uint: 8425 switch ( component ) 8426 { 8427 case 0: return 8; 8428 case 1: return 8; 8429 case 2: return 8; 8430 default: VULKAN_HPP_ASSERT( false ); return 0; 8431 } 8432 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Sint: 8433 switch ( component ) 8434 { 8435 case 0: return 8; 8436 case 1: return 8; 8437 case 2: return 8; 8438 default: VULKAN_HPP_ASSERT( false ); return 0; 8439 } 8440 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8Srgb: 8441 switch ( component ) 8442 { 8443 case 0: return 8; 8444 case 1: return 8; 8445 case 2: return 8; 8446 default: VULKAN_HPP_ASSERT( false ); return 0; 8447 } 8448 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Unorm: 8449 switch ( component ) 8450 { 8451 case 0: return 8; 8452 case 1: return 8; 8453 case 2: return 8; 8454 default: VULKAN_HPP_ASSERT( false ); return 0; 8455 } 8456 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Snorm: 8457 switch ( component ) 8458 { 8459 case 0: return 8; 8460 case 1: return 8; 8461 case 2: return 8; 8462 default: VULKAN_HPP_ASSERT( false ); return 0; 8463 } 8464 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Uscaled: 8465 switch ( component ) 8466 { 8467 case 0: return 8; 8468 case 1: return 8; 8469 case 2: return 8; 8470 default: VULKAN_HPP_ASSERT( false ); return 0; 8471 } 8472 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Sscaled: 8473 switch ( component ) 8474 { 8475 case 0: return 8; 8476 case 1: return 8; 8477 case 2: return 8; 8478 default: VULKAN_HPP_ASSERT( false ); return 0; 8479 } 8480 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Uint: 8481 switch ( component ) 8482 { 8483 case 0: return 8; 8484 case 1: return 8; 8485 case 2: return 8; 8486 default: VULKAN_HPP_ASSERT( false ); return 0; 8487 } 8488 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Sint: 8489 switch ( component ) 8490 { 8491 case 0: return 8; 8492 case 1: return 8; 8493 case 2: return 8; 8494 default: VULKAN_HPP_ASSERT( false ); return 0; 8495 } 8496 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8Srgb: 8497 switch ( component ) 8498 { 8499 case 0: return 8; 8500 case 1: return 8; 8501 case 2: return 8; 8502 default: VULKAN_HPP_ASSERT( false ); return 0; 8503 } 8504 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Unorm: 8505 switch ( component ) 8506 { 8507 case 0: return 8; 8508 case 1: return 8; 8509 case 2: return 8; 8510 case 3: return 8; 8511 default: VULKAN_HPP_ASSERT( false ); return 0; 8512 } 8513 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Snorm: 8514 switch ( component ) 8515 { 8516 case 0: return 8; 8517 case 1: return 8; 8518 case 2: return 8; 8519 case 3: return 8; 8520 default: VULKAN_HPP_ASSERT( false ); return 0; 8521 } 8522 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Uscaled: 8523 switch ( component ) 8524 { 8525 case 0: return 8; 8526 case 1: return 8; 8527 case 2: return 8; 8528 case 3: return 8; 8529 default: VULKAN_HPP_ASSERT( false ); return 0; 8530 } 8531 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Sscaled: 8532 switch ( component ) 8533 { 8534 case 0: return 8; 8535 case 1: return 8; 8536 case 2: return 8; 8537 case 3: return 8; 8538 default: VULKAN_HPP_ASSERT( false ); return 0; 8539 } 8540 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Uint: 8541 switch ( component ) 8542 { 8543 case 0: return 8; 8544 case 1: return 8; 8545 case 2: return 8; 8546 case 3: return 8; 8547 default: VULKAN_HPP_ASSERT( false ); return 0; 8548 } 8549 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Sint: 8550 switch ( component ) 8551 { 8552 case 0: return 8; 8553 case 1: return 8; 8554 case 2: return 8; 8555 case 3: return 8; 8556 default: VULKAN_HPP_ASSERT( false ); return 0; 8557 } 8558 case VULKAN_HPP_NAMESPACE::Format::eR8G8B8A8Srgb: 8559 switch ( component ) 8560 { 8561 case 0: return 8; 8562 case 1: return 8; 8563 case 2: return 8; 8564 case 3: return 8; 8565 default: VULKAN_HPP_ASSERT( false ); return 0; 8566 } 8567 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Unorm: 8568 switch ( component ) 8569 { 8570 case 0: return 8; 8571 case 1: return 8; 8572 case 2: return 8; 8573 case 3: return 8; 8574 default: VULKAN_HPP_ASSERT( false ); return 0; 8575 } 8576 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Snorm: 8577 switch ( component ) 8578 { 8579 case 0: return 8; 8580 case 1: return 8; 8581 case 2: return 8; 8582 case 3: return 8; 8583 default: VULKAN_HPP_ASSERT( false ); return 0; 8584 } 8585 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Uscaled: 8586 switch ( component ) 8587 { 8588 case 0: return 8; 8589 case 1: return 8; 8590 case 2: return 8; 8591 case 3: return 8; 8592 default: VULKAN_HPP_ASSERT( false ); return 0; 8593 } 8594 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Sscaled: 8595 switch ( component ) 8596 { 8597 case 0: return 8; 8598 case 1: return 8; 8599 case 2: return 8; 8600 case 3: return 8; 8601 default: VULKAN_HPP_ASSERT( false ); return 0; 8602 } 8603 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Uint: 8604 switch ( component ) 8605 { 8606 case 0: return 8; 8607 case 1: return 8; 8608 case 2: return 8; 8609 case 3: return 8; 8610 default: VULKAN_HPP_ASSERT( false ); return 0; 8611 } 8612 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Sint: 8613 switch ( component ) 8614 { 8615 case 0: return 8; 8616 case 1: return 8; 8617 case 2: return 8; 8618 case 3: return 8; 8619 default: VULKAN_HPP_ASSERT( false ); return 0; 8620 } 8621 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8A8Srgb: 8622 switch ( component ) 8623 { 8624 case 0: return 8; 8625 case 1: return 8; 8626 case 2: return 8; 8627 case 3: return 8; 8628 default: VULKAN_HPP_ASSERT( false ); return 0; 8629 } 8630 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8UnormPack32: 8631 switch ( component ) 8632 { 8633 case 0: return 8; 8634 case 1: return 8; 8635 case 2: return 8; 8636 case 3: return 8; 8637 default: VULKAN_HPP_ASSERT( false ); return 0; 8638 } 8639 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8SnormPack32: 8640 switch ( component ) 8641 { 8642 case 0: return 8; 8643 case 1: return 8; 8644 case 2: return 8; 8645 case 3: return 8; 8646 default: VULKAN_HPP_ASSERT( false ); return 0; 8647 } 8648 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8UscaledPack32: 8649 switch ( component ) 8650 { 8651 case 0: return 8; 8652 case 1: return 8; 8653 case 2: return 8; 8654 case 3: return 8; 8655 default: VULKAN_HPP_ASSERT( false ); return 0; 8656 } 8657 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8SscaledPack32: 8658 switch ( component ) 8659 { 8660 case 0: return 8; 8661 case 1: return 8; 8662 case 2: return 8; 8663 case 3: return 8; 8664 default: VULKAN_HPP_ASSERT( false ); return 0; 8665 } 8666 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8UintPack32: 8667 switch ( component ) 8668 { 8669 case 0: return 8; 8670 case 1: return 8; 8671 case 2: return 8; 8672 case 3: return 8; 8673 default: VULKAN_HPP_ASSERT( false ); return 0; 8674 } 8675 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8SintPack32: 8676 switch ( component ) 8677 { 8678 case 0: return 8; 8679 case 1: return 8; 8680 case 2: return 8; 8681 case 3: return 8; 8682 default: VULKAN_HPP_ASSERT( false ); return 0; 8683 } 8684 case VULKAN_HPP_NAMESPACE::Format::eA8B8G8R8SrgbPack32: 8685 switch ( component ) 8686 { 8687 case 0: return 8; 8688 case 1: return 8; 8689 case 2: return 8; 8690 case 3: return 8; 8691 default: VULKAN_HPP_ASSERT( false ); return 0; 8692 } 8693 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10UnormPack32: 8694 switch ( component ) 8695 { 8696 case 0: return 2; 8697 case 1: return 10; 8698 case 2: return 10; 8699 case 3: return 10; 8700 default: VULKAN_HPP_ASSERT( false ); return 0; 8701 } 8702 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10SnormPack32: 8703 switch ( component ) 8704 { 8705 case 0: return 2; 8706 case 1: return 10; 8707 case 2: return 10; 8708 case 3: return 10; 8709 default: VULKAN_HPP_ASSERT( false ); return 0; 8710 } 8711 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10UscaledPack32: 8712 switch ( component ) 8713 { 8714 case 0: return 2; 8715 case 1: return 10; 8716 case 2: return 10; 8717 case 3: return 10; 8718 default: VULKAN_HPP_ASSERT( false ); return 0; 8719 } 8720 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10SscaledPack32: 8721 switch ( component ) 8722 { 8723 case 0: return 2; 8724 case 1: return 10; 8725 case 2: return 10; 8726 case 3: return 10; 8727 default: VULKAN_HPP_ASSERT( false ); return 0; 8728 } 8729 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10UintPack32: 8730 switch ( component ) 8731 { 8732 case 0: return 2; 8733 case 1: return 10; 8734 case 2: return 10; 8735 case 3: return 10; 8736 default: VULKAN_HPP_ASSERT( false ); return 0; 8737 } 8738 case VULKAN_HPP_NAMESPACE::Format::eA2R10G10B10SintPack32: 8739 switch ( component ) 8740 { 8741 case 0: return 2; 8742 case 1: return 10; 8743 case 2: return 10; 8744 case 3: return 10; 8745 default: VULKAN_HPP_ASSERT( false ); return 0; 8746 } 8747 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10UnormPack32: 8748 switch ( component ) 8749 { 8750 case 0: return 2; 8751 case 1: return 10; 8752 case 2: return 10; 8753 case 3: return 10; 8754 default: VULKAN_HPP_ASSERT( false ); return 0; 8755 } 8756 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10SnormPack32: 8757 switch ( component ) 8758 { 8759 case 0: return 2; 8760 case 1: return 10; 8761 case 2: return 10; 8762 case 3: return 10; 8763 default: VULKAN_HPP_ASSERT( false ); return 0; 8764 } 8765 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10UscaledPack32: 8766 switch ( component ) 8767 { 8768 case 0: return 2; 8769 case 1: return 10; 8770 case 2: return 10; 8771 case 3: return 10; 8772 default: VULKAN_HPP_ASSERT( false ); return 0; 8773 } 8774 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10SscaledPack32: 8775 switch ( component ) 8776 { 8777 case 0: return 2; 8778 case 1: return 10; 8779 case 2: return 10; 8780 case 3: return 10; 8781 default: VULKAN_HPP_ASSERT( false ); return 0; 8782 } 8783 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10UintPack32: 8784 switch ( component ) 8785 { 8786 case 0: return 2; 8787 case 1: return 10; 8788 case 2: return 10; 8789 case 3: return 10; 8790 default: VULKAN_HPP_ASSERT( false ); return 0; 8791 } 8792 case VULKAN_HPP_NAMESPACE::Format::eA2B10G10R10SintPack32: 8793 switch ( component ) 8794 { 8795 case 0: return 2; 8796 case 1: return 10; 8797 case 2: return 10; 8798 case 3: return 10; 8799 default: VULKAN_HPP_ASSERT( false ); return 0; 8800 } 8801 case VULKAN_HPP_NAMESPACE::Format::eR16Unorm: 8802 switch ( component ) 8803 { 8804 case 0: return 16; 8805 default: VULKAN_HPP_ASSERT( false ); return 0; 8806 } 8807 case VULKAN_HPP_NAMESPACE::Format::eR16Snorm: 8808 switch ( component ) 8809 { 8810 case 0: return 16; 8811 default: VULKAN_HPP_ASSERT( false ); return 0; 8812 } 8813 case VULKAN_HPP_NAMESPACE::Format::eR16Uscaled: 8814 switch ( component ) 8815 { 8816 case 0: return 16; 8817 default: VULKAN_HPP_ASSERT( false ); return 0; 8818 } 8819 case VULKAN_HPP_NAMESPACE::Format::eR16Sscaled: 8820 switch ( component ) 8821 { 8822 case 0: return 16; 8823 default: VULKAN_HPP_ASSERT( false ); return 0; 8824 } 8825 case VULKAN_HPP_NAMESPACE::Format::eR16Uint: 8826 switch ( component ) 8827 { 8828 case 0: return 16; 8829 default: VULKAN_HPP_ASSERT( false ); return 0; 8830 } 8831 case VULKAN_HPP_NAMESPACE::Format::eR16Sint: 8832 switch ( component ) 8833 { 8834 case 0: return 16; 8835 default: VULKAN_HPP_ASSERT( false ); return 0; 8836 } 8837 case VULKAN_HPP_NAMESPACE::Format::eR16Sfloat: 8838 switch ( component ) 8839 { 8840 case 0: return 16; 8841 default: VULKAN_HPP_ASSERT( false ); return 0; 8842 } 8843 case VULKAN_HPP_NAMESPACE::Format::eR16G16Unorm: 8844 switch ( component ) 8845 { 8846 case 0: return 16; 8847 case 1: return 16; 8848 default: VULKAN_HPP_ASSERT( false ); return 0; 8849 } 8850 case VULKAN_HPP_NAMESPACE::Format::eR16G16Snorm: 8851 switch ( component ) 8852 { 8853 case 0: return 16; 8854 case 1: return 16; 8855 default: VULKAN_HPP_ASSERT( false ); return 0; 8856 } 8857 case VULKAN_HPP_NAMESPACE::Format::eR16G16Uscaled: 8858 switch ( component ) 8859 { 8860 case 0: return 16; 8861 case 1: return 16; 8862 default: VULKAN_HPP_ASSERT( false ); return 0; 8863 } 8864 case VULKAN_HPP_NAMESPACE::Format::eR16G16Sscaled: 8865 switch ( component ) 8866 { 8867 case 0: return 16; 8868 case 1: return 16; 8869 default: VULKAN_HPP_ASSERT( false ); return 0; 8870 } 8871 case VULKAN_HPP_NAMESPACE::Format::eR16G16Uint: 8872 switch ( component ) 8873 { 8874 case 0: return 16; 8875 case 1: return 16; 8876 default: VULKAN_HPP_ASSERT( false ); return 0; 8877 } 8878 case VULKAN_HPP_NAMESPACE::Format::eR16G16Sint: 8879 switch ( component ) 8880 { 8881 case 0: return 16; 8882 case 1: return 16; 8883 default: VULKAN_HPP_ASSERT( false ); return 0; 8884 } 8885 case VULKAN_HPP_NAMESPACE::Format::eR16G16Sfloat: 8886 switch ( component ) 8887 { 8888 case 0: return 16; 8889 case 1: return 16; 8890 default: VULKAN_HPP_ASSERT( false ); return 0; 8891 } 8892 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Unorm: 8893 switch ( component ) 8894 { 8895 case 0: return 16; 8896 case 1: return 16; 8897 case 2: return 16; 8898 default: VULKAN_HPP_ASSERT( false ); return 0; 8899 } 8900 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Snorm: 8901 switch ( component ) 8902 { 8903 case 0: return 16; 8904 case 1: return 16; 8905 case 2: return 16; 8906 default: VULKAN_HPP_ASSERT( false ); return 0; 8907 } 8908 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Uscaled: 8909 switch ( component ) 8910 { 8911 case 0: return 16; 8912 case 1: return 16; 8913 case 2: return 16; 8914 default: VULKAN_HPP_ASSERT( false ); return 0; 8915 } 8916 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Sscaled: 8917 switch ( component ) 8918 { 8919 case 0: return 16; 8920 case 1: return 16; 8921 case 2: return 16; 8922 default: VULKAN_HPP_ASSERT( false ); return 0; 8923 } 8924 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Uint: 8925 switch ( component ) 8926 { 8927 case 0: return 16; 8928 case 1: return 16; 8929 case 2: return 16; 8930 default: VULKAN_HPP_ASSERT( false ); return 0; 8931 } 8932 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Sint: 8933 switch ( component ) 8934 { 8935 case 0: return 16; 8936 case 1: return 16; 8937 case 2: return 16; 8938 default: VULKAN_HPP_ASSERT( false ); return 0; 8939 } 8940 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16Sfloat: 8941 switch ( component ) 8942 { 8943 case 0: return 16; 8944 case 1: return 16; 8945 case 2: return 16; 8946 default: VULKAN_HPP_ASSERT( false ); return 0; 8947 } 8948 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Unorm: 8949 switch ( component ) 8950 { 8951 case 0: return 16; 8952 case 1: return 16; 8953 case 2: return 16; 8954 case 3: return 16; 8955 default: VULKAN_HPP_ASSERT( false ); return 0; 8956 } 8957 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Snorm: 8958 switch ( component ) 8959 { 8960 case 0: return 16; 8961 case 1: return 16; 8962 case 2: return 16; 8963 case 3: return 16; 8964 default: VULKAN_HPP_ASSERT( false ); return 0; 8965 } 8966 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Uscaled: 8967 switch ( component ) 8968 { 8969 case 0: return 16; 8970 case 1: return 16; 8971 case 2: return 16; 8972 case 3: return 16; 8973 default: VULKAN_HPP_ASSERT( false ); return 0; 8974 } 8975 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Sscaled: 8976 switch ( component ) 8977 { 8978 case 0: return 16; 8979 case 1: return 16; 8980 case 2: return 16; 8981 case 3: return 16; 8982 default: VULKAN_HPP_ASSERT( false ); return 0; 8983 } 8984 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Uint: 8985 switch ( component ) 8986 { 8987 case 0: return 16; 8988 case 1: return 16; 8989 case 2: return 16; 8990 case 3: return 16; 8991 default: VULKAN_HPP_ASSERT( false ); return 0; 8992 } 8993 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Sint: 8994 switch ( component ) 8995 { 8996 case 0: return 16; 8997 case 1: return 16; 8998 case 2: return 16; 8999 case 3: return 16; 9000 default: VULKAN_HPP_ASSERT( false ); return 0; 9001 } 9002 case VULKAN_HPP_NAMESPACE::Format::eR16G16B16A16Sfloat: 9003 switch ( component ) 9004 { 9005 case 0: return 16; 9006 case 1: return 16; 9007 case 2: return 16; 9008 case 3: return 16; 9009 default: VULKAN_HPP_ASSERT( false ); return 0; 9010 } 9011 case VULKAN_HPP_NAMESPACE::Format::eR32Uint: 9012 switch ( component ) 9013 { 9014 case 0: return 32; 9015 default: VULKAN_HPP_ASSERT( false ); return 0; 9016 } 9017 case VULKAN_HPP_NAMESPACE::Format::eR32Sint: 9018 switch ( component ) 9019 { 9020 case 0: return 32; 9021 default: VULKAN_HPP_ASSERT( false ); return 0; 9022 } 9023 case VULKAN_HPP_NAMESPACE::Format::eR32Sfloat: 9024 switch ( component ) 9025 { 9026 case 0: return 32; 9027 default: VULKAN_HPP_ASSERT( false ); return 0; 9028 } 9029 case VULKAN_HPP_NAMESPACE::Format::eR32G32Uint: 9030 switch ( component ) 9031 { 9032 case 0: return 32; 9033 case 1: return 32; 9034 default: VULKAN_HPP_ASSERT( false ); return 0; 9035 } 9036 case VULKAN_HPP_NAMESPACE::Format::eR32G32Sint: 9037 switch ( component ) 9038 { 9039 case 0: return 32; 9040 case 1: return 32; 9041 default: VULKAN_HPP_ASSERT( false ); return 0; 9042 } 9043 case VULKAN_HPP_NAMESPACE::Format::eR32G32Sfloat: 9044 switch ( component ) 9045 { 9046 case 0: return 32; 9047 case 1: return 32; 9048 default: VULKAN_HPP_ASSERT( false ); return 0; 9049 } 9050 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32Uint: 9051 switch ( component ) 9052 { 9053 case 0: return 32; 9054 case 1: return 32; 9055 case 2: return 32; 9056 default: VULKAN_HPP_ASSERT( false ); return 0; 9057 } 9058 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32Sint: 9059 switch ( component ) 9060 { 9061 case 0: return 32; 9062 case 1: return 32; 9063 case 2: return 32; 9064 default: VULKAN_HPP_ASSERT( false ); return 0; 9065 } 9066 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32Sfloat: 9067 switch ( component ) 9068 { 9069 case 0: return 32; 9070 case 1: return 32; 9071 case 2: return 32; 9072 default: VULKAN_HPP_ASSERT( false ); return 0; 9073 } 9074 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32A32Uint: 9075 switch ( component ) 9076 { 9077 case 0: return 32; 9078 case 1: return 32; 9079 case 2: return 32; 9080 case 3: return 32; 9081 default: VULKAN_HPP_ASSERT( false ); return 0; 9082 } 9083 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32A32Sint: 9084 switch ( component ) 9085 { 9086 case 0: return 32; 9087 case 1: return 32; 9088 case 2: return 32; 9089 case 3: return 32; 9090 default: VULKAN_HPP_ASSERT( false ); return 0; 9091 } 9092 case VULKAN_HPP_NAMESPACE::Format::eR32G32B32A32Sfloat: 9093 switch ( component ) 9094 { 9095 case 0: return 32; 9096 case 1: return 32; 9097 case 2: return 32; 9098 case 3: return 32; 9099 default: VULKAN_HPP_ASSERT( false ); return 0; 9100 } 9101 case VULKAN_HPP_NAMESPACE::Format::eR64Uint: 9102 switch ( component ) 9103 { 9104 case 0: return 64; 9105 default: VULKAN_HPP_ASSERT( false ); return 0; 9106 } 9107 case VULKAN_HPP_NAMESPACE::Format::eR64Sint: 9108 switch ( component ) 9109 { 9110 case 0: return 64; 9111 default: VULKAN_HPP_ASSERT( false ); return 0; 9112 } 9113 case VULKAN_HPP_NAMESPACE::Format::eR64Sfloat: 9114 switch ( component ) 9115 { 9116 case 0: return 64; 9117 default: VULKAN_HPP_ASSERT( false ); return 0; 9118 } 9119 case VULKAN_HPP_NAMESPACE::Format::eR64G64Uint: 9120 switch ( component ) 9121 { 9122 case 0: return 64; 9123 case 1: return 64; 9124 default: VULKAN_HPP_ASSERT( false ); return 0; 9125 } 9126 case VULKAN_HPP_NAMESPACE::Format::eR64G64Sint: 9127 switch ( component ) 9128 { 9129 case 0: return 64; 9130 case 1: return 64; 9131 default: VULKAN_HPP_ASSERT( false ); return 0; 9132 } 9133 case VULKAN_HPP_NAMESPACE::Format::eR64G64Sfloat: 9134 switch ( component ) 9135 { 9136 case 0: return 64; 9137 case 1: return 64; 9138 default: VULKAN_HPP_ASSERT( false ); return 0; 9139 } 9140 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64Uint: 9141 switch ( component ) 9142 { 9143 case 0: return 64; 9144 case 1: return 64; 9145 case 2: return 64; 9146 default: VULKAN_HPP_ASSERT( false ); return 0; 9147 } 9148 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64Sint: 9149 switch ( component ) 9150 { 9151 case 0: return 64; 9152 case 1: return 64; 9153 case 2: return 64; 9154 default: VULKAN_HPP_ASSERT( false ); return 0; 9155 } 9156 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64Sfloat: 9157 switch ( component ) 9158 { 9159 case 0: return 64; 9160 case 1: return 64; 9161 case 2: return 64; 9162 default: VULKAN_HPP_ASSERT( false ); return 0; 9163 } 9164 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64A64Uint: 9165 switch ( component ) 9166 { 9167 case 0: return 64; 9168 case 1: return 64; 9169 case 2: return 64; 9170 case 3: return 64; 9171 default: VULKAN_HPP_ASSERT( false ); return 0; 9172 } 9173 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64A64Sint: 9174 switch ( component ) 9175 { 9176 case 0: return 64; 9177 case 1: return 64; 9178 case 2: return 64; 9179 case 3: return 64; 9180 default: VULKAN_HPP_ASSERT( false ); return 0; 9181 } 9182 case VULKAN_HPP_NAMESPACE::Format::eR64G64B64A64Sfloat: 9183 switch ( component ) 9184 { 9185 case 0: return 64; 9186 case 1: return 64; 9187 case 2: return 64; 9188 case 3: return 64; 9189 default: VULKAN_HPP_ASSERT( false ); return 0; 9190 } 9191 case VULKAN_HPP_NAMESPACE::Format::eB10G11R11UfloatPack32: 9192 switch ( component ) 9193 { 9194 case 0: return 10; 9195 case 1: return 11; 9196 case 2: return 10; 9197 default: VULKAN_HPP_ASSERT( false ); return 0; 9198 } 9199 case VULKAN_HPP_NAMESPACE::Format::eE5B9G9R9UfloatPack32: 9200 switch ( component ) 9201 { 9202 case 0: return 9; 9203 case 1: return 9; 9204 case 2: return 9; 9205 default: VULKAN_HPP_ASSERT( false ); return 0; 9206 } 9207 case VULKAN_HPP_NAMESPACE::Format::eD16Unorm: 9208 switch ( component ) 9209 { 9210 case 0: return 16; 9211 default: VULKAN_HPP_ASSERT( false ); return 0; 9212 } 9213 case VULKAN_HPP_NAMESPACE::Format::eX8D24UnormPack32: 9214 switch ( component ) 9215 { 9216 case 0: return 24; 9217 default: VULKAN_HPP_ASSERT( false ); return 0; 9218 } 9219 case VULKAN_HPP_NAMESPACE::Format::eD32Sfloat: 9220 switch ( component ) 9221 { 9222 case 0: return 32; 9223 default: VULKAN_HPP_ASSERT( false ); return 0; 9224 } 9225 case VULKAN_HPP_NAMESPACE::Format::eS8Uint: 9226 switch ( component ) 9227 { 9228 case 0: return 8; 9229 default: VULKAN_HPP_ASSERT( false ); return 0; 9230 } 9231 case VULKAN_HPP_NAMESPACE::Format::eD16UnormS8Uint: 9232 switch ( component ) 9233 { 9234 case 0: return 16; 9235 case 1: return 8; 9236 default: VULKAN_HPP_ASSERT( false ); return 0; 9237 } 9238 case VULKAN_HPP_NAMESPACE::Format::eD24UnormS8Uint: 9239 switch ( component ) 9240 { 9241 case 0: return 24; 9242 case 1: return 8; 9243 default: VULKAN_HPP_ASSERT( false ); return 0; 9244 } 9245 case VULKAN_HPP_NAMESPACE::Format::eD32SfloatS8Uint: 9246 switch ( component ) 9247 { 9248 case 0: return 32; 9249 case 1: return 8; 9250 default: VULKAN_HPP_ASSERT( false ); return 0; 9251 } 9252 case VULKAN_HPP_NAMESPACE::Format::eEacR11UnormBlock: 9253 switch ( component ) 9254 { 9255 case 0: return 11; 9256 default: VULKAN_HPP_ASSERT( false ); return 0; 9257 } 9258 case VULKAN_HPP_NAMESPACE::Format::eEacR11SnormBlock: 9259 switch ( component ) 9260 { 9261 case 0: return 11; 9262 default: VULKAN_HPP_ASSERT( false ); return 0; 9263 } 9264 case VULKAN_HPP_NAMESPACE::Format::eEacR11G11UnormBlock: 9265 switch ( component ) 9266 { 9267 case 0: return 11; 9268 case 1: return 11; 9269 default: VULKAN_HPP_ASSERT( false ); return 0; 9270 } 9271 case VULKAN_HPP_NAMESPACE::Format::eEacR11G11SnormBlock: 9272 switch ( component ) 9273 { 9274 case 0: return 11; 9275 case 1: return 11; 9276 default: VULKAN_HPP_ASSERT( false ); return 0; 9277 } 9278 case VULKAN_HPP_NAMESPACE::Format::eG8B8G8R8422Unorm: 9279 switch ( component ) 9280 { 9281 case 0: return 8; 9282 case 1: return 8; 9283 case 2: return 8; 9284 case 3: return 8; 9285 default: VULKAN_HPP_ASSERT( false ); return 0; 9286 } 9287 case VULKAN_HPP_NAMESPACE::Format::eB8G8R8G8422Unorm: 9288 switch ( component ) 9289 { 9290 case 0: return 8; 9291 case 1: return 8; 9292 case 2: return 8; 9293 case 3: return 8; 9294 default: VULKAN_HPP_ASSERT( false ); return 0; 9295 } 9296 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane420Unorm: 9297 switch ( component ) 9298 { 9299 case 0: return 8; 9300 case 1: return 8; 9301 case 2: return 8; 9302 default: VULKAN_HPP_ASSERT( false ); return 0; 9303 } 9304 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane420Unorm: 9305 switch ( component ) 9306 { 9307 case 0: return 8; 9308 case 1: return 8; 9309 case 2: return 8; 9310 default: VULKAN_HPP_ASSERT( false ); return 0; 9311 } 9312 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane422Unorm: 9313 switch ( component ) 9314 { 9315 case 0: return 8; 9316 case 1: return 8; 9317 case 2: return 8; 9318 default: VULKAN_HPP_ASSERT( false ); return 0; 9319 } 9320 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane422Unorm: 9321 switch ( component ) 9322 { 9323 case 0: return 8; 9324 case 1: return 8; 9325 case 2: return 8; 9326 default: VULKAN_HPP_ASSERT( false ); return 0; 9327 } 9328 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane444Unorm: 9329 switch ( component ) 9330 { 9331 case 0: return 8; 9332 case 1: return 8; 9333 case 2: return 8; 9334 default: VULKAN_HPP_ASSERT( false ); return 0; 9335 } 9336 case VULKAN_HPP_NAMESPACE::Format::eR10X6UnormPack16: 9337 switch ( component ) 9338 { 9339 case 0: return 10; 9340 default: VULKAN_HPP_ASSERT( false ); return 0; 9341 } 9342 case VULKAN_HPP_NAMESPACE::Format::eR10X6G10X6Unorm2Pack16: 9343 switch ( component ) 9344 { 9345 case 0: return 10; 9346 case 1: return 10; 9347 default: VULKAN_HPP_ASSERT( false ); return 0; 9348 } 9349 case VULKAN_HPP_NAMESPACE::Format::eR10X6G10X6B10X6A10X6Unorm4Pack16: 9350 switch ( component ) 9351 { 9352 case 0: return 10; 9353 case 1: return 10; 9354 case 2: return 10; 9355 case 3: return 10; 9356 default: VULKAN_HPP_ASSERT( false ); return 0; 9357 } 9358 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6G10X6R10X6422Unorm4Pack16: 9359 switch ( component ) 9360 { 9361 case 0: return 10; 9362 case 1: return 10; 9363 case 2: return 10; 9364 case 3: return 10; 9365 default: VULKAN_HPP_ASSERT( false ); return 0; 9366 } 9367 case VULKAN_HPP_NAMESPACE::Format::eB10X6G10X6R10X6G10X6422Unorm4Pack16: 9368 switch ( component ) 9369 { 9370 case 0: return 10; 9371 case 1: return 10; 9372 case 2: return 10; 9373 case 3: return 10; 9374 default: VULKAN_HPP_ASSERT( false ); return 0; 9375 } 9376 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane420Unorm3Pack16: 9377 switch ( component ) 9378 { 9379 case 0: return 10; 9380 case 1: return 10; 9381 case 2: return 10; 9382 default: VULKAN_HPP_ASSERT( false ); return 0; 9383 } 9384 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane420Unorm3Pack16: 9385 switch ( component ) 9386 { 9387 case 0: return 10; 9388 case 1: return 10; 9389 case 2: return 10; 9390 default: VULKAN_HPP_ASSERT( false ); return 0; 9391 } 9392 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane422Unorm3Pack16: 9393 switch ( component ) 9394 { 9395 case 0: return 10; 9396 case 1: return 10; 9397 case 2: return 10; 9398 default: VULKAN_HPP_ASSERT( false ); return 0; 9399 } 9400 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane422Unorm3Pack16: 9401 switch ( component ) 9402 { 9403 case 0: return 10; 9404 case 1: return 10; 9405 case 2: return 10; 9406 default: VULKAN_HPP_ASSERT( false ); return 0; 9407 } 9408 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane444Unorm3Pack16: 9409 switch ( component ) 9410 { 9411 case 0: return 10; 9412 case 1: return 10; 9413 case 2: return 10; 9414 default: VULKAN_HPP_ASSERT( false ); return 0; 9415 } 9416 case VULKAN_HPP_NAMESPACE::Format::eR12X4UnormPack16: 9417 switch ( component ) 9418 { 9419 case 0: return 12; 9420 default: VULKAN_HPP_ASSERT( false ); return 0; 9421 } 9422 case VULKAN_HPP_NAMESPACE::Format::eR12X4G12X4Unorm2Pack16: 9423 switch ( component ) 9424 { 9425 case 0: return 12; 9426 case 1: return 12; 9427 default: VULKAN_HPP_ASSERT( false ); return 0; 9428 } 9429 case VULKAN_HPP_NAMESPACE::Format::eR12X4G12X4B12X4A12X4Unorm4Pack16: 9430 switch ( component ) 9431 { 9432 case 0: return 12; 9433 case 1: return 12; 9434 case 2: return 12; 9435 case 3: return 12; 9436 default: VULKAN_HPP_ASSERT( false ); return 0; 9437 } 9438 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4G12X4R12X4422Unorm4Pack16: 9439 switch ( component ) 9440 { 9441 case 0: return 12; 9442 case 1: return 12; 9443 case 2: return 12; 9444 case 3: return 12; 9445 default: VULKAN_HPP_ASSERT( false ); return 0; 9446 } 9447 case VULKAN_HPP_NAMESPACE::Format::eB12X4G12X4R12X4G12X4422Unorm4Pack16: 9448 switch ( component ) 9449 { 9450 case 0: return 12; 9451 case 1: return 12; 9452 case 2: return 12; 9453 case 3: return 12; 9454 default: VULKAN_HPP_ASSERT( false ); return 0; 9455 } 9456 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane420Unorm3Pack16: 9457 switch ( component ) 9458 { 9459 case 0: return 12; 9460 case 1: return 12; 9461 case 2: return 12; 9462 default: VULKAN_HPP_ASSERT( false ); return 0; 9463 } 9464 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane420Unorm3Pack16: 9465 switch ( component ) 9466 { 9467 case 0: return 12; 9468 case 1: return 12; 9469 case 2: return 12; 9470 default: VULKAN_HPP_ASSERT( false ); return 0; 9471 } 9472 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane422Unorm3Pack16: 9473 switch ( component ) 9474 { 9475 case 0: return 12; 9476 case 1: return 12; 9477 case 2: return 12; 9478 default: VULKAN_HPP_ASSERT( false ); return 0; 9479 } 9480 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane422Unorm3Pack16: 9481 switch ( component ) 9482 { 9483 case 0: return 12; 9484 case 1: return 12; 9485 case 2: return 12; 9486 default: VULKAN_HPP_ASSERT( false ); return 0; 9487 } 9488 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane444Unorm3Pack16: 9489 switch ( component ) 9490 { 9491 case 0: return 12; 9492 case 1: return 12; 9493 case 2: return 12; 9494 default: VULKAN_HPP_ASSERT( false ); return 0; 9495 } 9496 case VULKAN_HPP_NAMESPACE::Format::eG16B16G16R16422Unorm: 9497 switch ( component ) 9498 { 9499 case 0: return 16; 9500 case 1: return 16; 9501 case 2: return 16; 9502 case 3: return 16; 9503 default: VULKAN_HPP_ASSERT( false ); return 0; 9504 } 9505 case VULKAN_HPP_NAMESPACE::Format::eB16G16R16G16422Unorm: 9506 switch ( component ) 9507 { 9508 case 0: return 16; 9509 case 1: return 16; 9510 case 2: return 16; 9511 case 3: return 16; 9512 default: VULKAN_HPP_ASSERT( false ); return 0; 9513 } 9514 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane420Unorm: 9515 switch ( component ) 9516 { 9517 case 0: return 16; 9518 case 1: return 16; 9519 case 2: return 16; 9520 default: VULKAN_HPP_ASSERT( false ); return 0; 9521 } 9522 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane420Unorm: 9523 switch ( component ) 9524 { 9525 case 0: return 16; 9526 case 1: return 16; 9527 case 2: return 16; 9528 default: VULKAN_HPP_ASSERT( false ); return 0; 9529 } 9530 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane422Unorm: 9531 switch ( component ) 9532 { 9533 case 0: return 16; 9534 case 1: return 16; 9535 case 2: return 16; 9536 default: VULKAN_HPP_ASSERT( false ); return 0; 9537 } 9538 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane422Unorm: 9539 switch ( component ) 9540 { 9541 case 0: return 16; 9542 case 1: return 16; 9543 case 2: return 16; 9544 default: VULKAN_HPP_ASSERT( false ); return 0; 9545 } 9546 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane444Unorm: 9547 switch ( component ) 9548 { 9549 case 0: return 16; 9550 case 1: return 16; 9551 case 2: return 16; 9552 default: VULKAN_HPP_ASSERT( false ); return 0; 9553 } 9554 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane444Unorm: 9555 switch ( component ) 9556 { 9557 case 0: return 8; 9558 case 1: return 8; 9559 case 2: return 8; 9560 default: VULKAN_HPP_ASSERT( false ); return 0; 9561 } 9562 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane444Unorm3Pack16: 9563 switch ( component ) 9564 { 9565 case 0: return 10; 9566 case 1: return 10; 9567 case 2: return 10; 9568 default: VULKAN_HPP_ASSERT( false ); return 0; 9569 } 9570 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane444Unorm3Pack16: 9571 switch ( component ) 9572 { 9573 case 0: return 12; 9574 case 1: return 12; 9575 case 2: return 12; 9576 default: VULKAN_HPP_ASSERT( false ); return 0; 9577 } 9578 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane444Unorm: 9579 switch ( component ) 9580 { 9581 case 0: return 16; 9582 case 1: return 16; 9583 case 2: return 16; 9584 default: VULKAN_HPP_ASSERT( false ); return 0; 9585 } 9586 case VULKAN_HPP_NAMESPACE::Format::eA4R4G4B4UnormPack16: 9587 switch ( component ) 9588 { 9589 case 0: return 4; 9590 case 1: return 4; 9591 case 2: return 4; 9592 case 3: return 4; 9593 default: VULKAN_HPP_ASSERT( false ); return 0; 9594 } 9595 case VULKAN_HPP_NAMESPACE::Format::eA4B4G4R4UnormPack16: 9596 switch ( component ) 9597 { 9598 case 0: return 4; 9599 case 1: return 4; 9600 case 2: return 4; 9601 case 3: return 4; 9602 default: VULKAN_HPP_ASSERT( false ); return 0; 9603 } 9604 9605 default: return 0; 9606 } 9607 } 9608 9609 // The plane this component lies in. componentPlaneIndex(VULKAN_HPP_NAMESPACE::Format format,uint8_t component)9610 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_14 uint8_t componentPlaneIndex( VULKAN_HPP_NAMESPACE::Format format, 9611 uint8_t component ) 9612 { 9613 switch ( format ) 9614 { 9615 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane420Unorm: 9616 switch ( component ) 9617 { 9618 case 0: return 0; 9619 case 1: return 1; 9620 case 2: return 2; 9621 default: VULKAN_HPP_ASSERT( false ); return 0; 9622 } 9623 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane420Unorm: 9624 switch ( component ) 9625 { 9626 case 0: return 0; 9627 case 1: return 1; 9628 case 2: return 1; 9629 default: VULKAN_HPP_ASSERT( false ); return 0; 9630 } 9631 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane422Unorm: 9632 switch ( component ) 9633 { 9634 case 0: return 0; 9635 case 1: return 1; 9636 case 2: return 2; 9637 default: VULKAN_HPP_ASSERT( false ); return 0; 9638 } 9639 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane422Unorm: 9640 switch ( component ) 9641 { 9642 case 0: return 0; 9643 case 1: return 1; 9644 case 2: return 1; 9645 default: VULKAN_HPP_ASSERT( false ); return 0; 9646 } 9647 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane444Unorm: 9648 switch ( component ) 9649 { 9650 case 0: return 0; 9651 case 1: return 1; 9652 case 2: return 2; 9653 default: VULKAN_HPP_ASSERT( false ); return 0; 9654 } 9655 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane420Unorm3Pack16: 9656 switch ( component ) 9657 { 9658 case 0: return 0; 9659 case 1: return 1; 9660 case 2: return 2; 9661 default: VULKAN_HPP_ASSERT( false ); return 0; 9662 } 9663 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane420Unorm3Pack16: 9664 switch ( component ) 9665 { 9666 case 0: return 0; 9667 case 1: return 1; 9668 case 2: return 1; 9669 default: VULKAN_HPP_ASSERT( false ); return 0; 9670 } 9671 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane422Unorm3Pack16: 9672 switch ( component ) 9673 { 9674 case 0: return 0; 9675 case 1: return 1; 9676 case 2: return 2; 9677 default: VULKAN_HPP_ASSERT( false ); return 0; 9678 } 9679 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane422Unorm3Pack16: 9680 switch ( component ) 9681 { 9682 case 0: return 0; 9683 case 1: return 1; 9684 case 2: return 1; 9685 default: VULKAN_HPP_ASSERT( false ); return 0; 9686 } 9687 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane444Unorm3Pack16: 9688 switch ( component ) 9689 { 9690 case 0: return 0; 9691 case 1: return 1; 9692 case 2: return 2; 9693 default: VULKAN_HPP_ASSERT( false ); return 0; 9694 } 9695 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane420Unorm3Pack16: 9696 switch ( component ) 9697 { 9698 case 0: return 0; 9699 case 1: return 1; 9700 case 2: return 2; 9701 default: VULKAN_HPP_ASSERT( false ); return 0; 9702 } 9703 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane420Unorm3Pack16: 9704 switch ( component ) 9705 { 9706 case 0: return 0; 9707 case 1: return 1; 9708 case 2: return 1; 9709 default: VULKAN_HPP_ASSERT( false ); return 0; 9710 } 9711 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane422Unorm3Pack16: 9712 switch ( component ) 9713 { 9714 case 0: return 0; 9715 case 1: return 1; 9716 case 2: return 2; 9717 default: VULKAN_HPP_ASSERT( false ); return 0; 9718 } 9719 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane422Unorm3Pack16: 9720 switch ( component ) 9721 { 9722 case 0: return 0; 9723 case 1: return 1; 9724 case 2: return 1; 9725 default: VULKAN_HPP_ASSERT( false ); return 0; 9726 } 9727 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane444Unorm3Pack16: 9728 switch ( component ) 9729 { 9730 case 0: return 0; 9731 case 1: return 1; 9732 case 2: return 2; 9733 default: VULKAN_HPP_ASSERT( false ); return 0; 9734 } 9735 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane420Unorm: 9736 switch ( component ) 9737 { 9738 case 0: return 0; 9739 case 1: return 1; 9740 case 2: return 2; 9741 default: VULKAN_HPP_ASSERT( false ); return 0; 9742 } 9743 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane420Unorm: 9744 switch ( component ) 9745 { 9746 case 0: return 0; 9747 case 1: return 1; 9748 case 2: return 1; 9749 default: VULKAN_HPP_ASSERT( false ); return 0; 9750 } 9751 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane422Unorm: 9752 switch ( component ) 9753 { 9754 case 0: return 0; 9755 case 1: return 1; 9756 case 2: return 2; 9757 default: VULKAN_HPP_ASSERT( false ); return 0; 9758 } 9759 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane422Unorm: 9760 switch ( component ) 9761 { 9762 case 0: return 0; 9763 case 1: return 1; 9764 case 2: return 1; 9765 default: VULKAN_HPP_ASSERT( false ); return 0; 9766 } 9767 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane444Unorm: 9768 switch ( component ) 9769 { 9770 case 0: return 0; 9771 case 1: return 1; 9772 case 2: return 2; 9773 default: VULKAN_HPP_ASSERT( false ); return 0; 9774 } 9775 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane444Unorm: 9776 switch ( component ) 9777 { 9778 case 0: return 0; 9779 case 1: return 1; 9780 case 2: return 1; 9781 default: VULKAN_HPP_ASSERT( false ); return 0; 9782 } 9783 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane444Unorm3Pack16: 9784 switch ( component ) 9785 { 9786 case 0: return 0; 9787 case 1: return 1; 9788 case 2: return 1; 9789 default: VULKAN_HPP_ASSERT( false ); return 0; 9790 } 9791 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane444Unorm3Pack16: 9792 switch ( component ) 9793 { 9794 case 0: return 0; 9795 case 1: return 1; 9796 case 2: return 1; 9797 default: VULKAN_HPP_ASSERT( false ); return 0; 9798 } 9799 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane444Unorm: 9800 switch ( component ) 9801 { 9802 case 0: return 0; 9803 case 1: return 1; 9804 case 2: return 1; 9805 default: VULKAN_HPP_ASSERT( false ); return 0; 9806 } 9807 9808 default: return 0; 9809 } 9810 } 9811 9812 // The number of image planes of this format. planeCount(VULKAN_HPP_NAMESPACE::Format format)9813 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_14 uint8_t planeCount( VULKAN_HPP_NAMESPACE::Format format ) 9814 { 9815 switch ( format ) 9816 { 9817 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane420Unorm: return 3; 9818 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane420Unorm: return 2; 9819 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane422Unorm: return 3; 9820 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane422Unorm: return 2; 9821 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane444Unorm: return 3; 9822 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane420Unorm3Pack16: return 3; 9823 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane420Unorm3Pack16: return 2; 9824 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane422Unorm3Pack16: return 3; 9825 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane422Unorm3Pack16: return 2; 9826 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane444Unorm3Pack16: return 3; 9827 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane420Unorm3Pack16: return 3; 9828 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane420Unorm3Pack16: return 2; 9829 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane422Unorm3Pack16: return 3; 9830 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane422Unorm3Pack16: return 2; 9831 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane444Unorm3Pack16: return 3; 9832 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane420Unorm: return 3; 9833 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane420Unorm: return 2; 9834 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane422Unorm: return 3; 9835 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane422Unorm: return 2; 9836 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane444Unorm: return 3; 9837 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane444Unorm: return 2; 9838 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane444Unorm3Pack16: return 2; 9839 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane444Unorm3Pack16: return 2; 9840 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane444Unorm: return 2; 9841 9842 default: return 1; 9843 } 9844 } 9845 9846 // The single-plane format that this plane is compatible with. 9847 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_14 VULKAN_HPP_NAMESPACE::Format planeCompatibleFormat(VULKAN_HPP_NAMESPACE::Format format,uint8_t plane)9848 planeCompatibleFormat( VULKAN_HPP_NAMESPACE::Format format, uint8_t plane ) 9849 { 9850 switch ( format ) 9851 { 9852 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane420Unorm: 9853 switch ( plane ) 9854 { 9855 case 0: return VULKAN_HPP_NAMESPACE::Format::eR8Unorm; 9856 case 1: return VULKAN_HPP_NAMESPACE::Format::eR8Unorm; 9857 case 2: return VULKAN_HPP_NAMESPACE::Format::eR8Unorm; 9858 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 9859 } 9860 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane420Unorm: 9861 switch ( plane ) 9862 { 9863 case 0: return VULKAN_HPP_NAMESPACE::Format::eR8Unorm; 9864 case 1: return VULKAN_HPP_NAMESPACE::Format::eR8G8Unorm; 9865 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 9866 } 9867 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane422Unorm: 9868 switch ( plane ) 9869 { 9870 case 0: return VULKAN_HPP_NAMESPACE::Format::eR8Unorm; 9871 case 1: return VULKAN_HPP_NAMESPACE::Format::eR8Unorm; 9872 case 2: return VULKAN_HPP_NAMESPACE::Format::eR8Unorm; 9873 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 9874 } 9875 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane422Unorm: 9876 switch ( plane ) 9877 { 9878 case 0: return VULKAN_HPP_NAMESPACE::Format::eR8Unorm; 9879 case 1: return VULKAN_HPP_NAMESPACE::Format::eR8G8Unorm; 9880 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 9881 } 9882 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane444Unorm: 9883 switch ( plane ) 9884 { 9885 case 0: return VULKAN_HPP_NAMESPACE::Format::eR8Unorm; 9886 case 1: return VULKAN_HPP_NAMESPACE::Format::eR8Unorm; 9887 case 2: return VULKAN_HPP_NAMESPACE::Format::eR8Unorm; 9888 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 9889 } 9890 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane420Unorm3Pack16: 9891 switch ( plane ) 9892 { 9893 case 0: return VULKAN_HPP_NAMESPACE::Format::eR10X6UnormPack16; 9894 case 1: return VULKAN_HPP_NAMESPACE::Format::eR10X6UnormPack16; 9895 case 2: return VULKAN_HPP_NAMESPACE::Format::eR10X6UnormPack16; 9896 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 9897 } 9898 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane420Unorm3Pack16: 9899 switch ( plane ) 9900 { 9901 case 0: return VULKAN_HPP_NAMESPACE::Format::eR10X6UnormPack16; 9902 case 1: return VULKAN_HPP_NAMESPACE::Format::eR10X6G10X6Unorm2Pack16; 9903 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 9904 } 9905 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane422Unorm3Pack16: 9906 switch ( plane ) 9907 { 9908 case 0: return VULKAN_HPP_NAMESPACE::Format::eR10X6UnormPack16; 9909 case 1: return VULKAN_HPP_NAMESPACE::Format::eR10X6UnormPack16; 9910 case 2: return VULKAN_HPP_NAMESPACE::Format::eR10X6UnormPack16; 9911 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 9912 } 9913 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane422Unorm3Pack16: 9914 switch ( plane ) 9915 { 9916 case 0: return VULKAN_HPP_NAMESPACE::Format::eR10X6UnormPack16; 9917 case 1: return VULKAN_HPP_NAMESPACE::Format::eR10X6G10X6Unorm2Pack16; 9918 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 9919 } 9920 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane444Unorm3Pack16: 9921 switch ( plane ) 9922 { 9923 case 0: return VULKAN_HPP_NAMESPACE::Format::eR10X6UnormPack16; 9924 case 1: return VULKAN_HPP_NAMESPACE::Format::eR10X6UnormPack16; 9925 case 2: return VULKAN_HPP_NAMESPACE::Format::eR10X6UnormPack16; 9926 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 9927 } 9928 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane420Unorm3Pack16: 9929 switch ( plane ) 9930 { 9931 case 0: return VULKAN_HPP_NAMESPACE::Format::eR12X4UnormPack16; 9932 case 1: return VULKAN_HPP_NAMESPACE::Format::eR12X4UnormPack16; 9933 case 2: return VULKAN_HPP_NAMESPACE::Format::eR12X4UnormPack16; 9934 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 9935 } 9936 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane420Unorm3Pack16: 9937 switch ( plane ) 9938 { 9939 case 0: return VULKAN_HPP_NAMESPACE::Format::eR12X4UnormPack16; 9940 case 1: return VULKAN_HPP_NAMESPACE::Format::eR12X4G12X4Unorm2Pack16; 9941 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 9942 } 9943 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane422Unorm3Pack16: 9944 switch ( plane ) 9945 { 9946 case 0: return VULKAN_HPP_NAMESPACE::Format::eR12X4UnormPack16; 9947 case 1: return VULKAN_HPP_NAMESPACE::Format::eR12X4UnormPack16; 9948 case 2: return VULKAN_HPP_NAMESPACE::Format::eR12X4UnormPack16; 9949 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 9950 } 9951 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane422Unorm3Pack16: 9952 switch ( plane ) 9953 { 9954 case 0: return VULKAN_HPP_NAMESPACE::Format::eR12X4UnormPack16; 9955 case 1: return VULKAN_HPP_NAMESPACE::Format::eR12X4G12X4Unorm2Pack16; 9956 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 9957 } 9958 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane444Unorm3Pack16: 9959 switch ( plane ) 9960 { 9961 case 0: return VULKAN_HPP_NAMESPACE::Format::eR12X4UnormPack16; 9962 case 1: return VULKAN_HPP_NAMESPACE::Format::eR12X4UnormPack16; 9963 case 2: return VULKAN_HPP_NAMESPACE::Format::eR12X4UnormPack16; 9964 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 9965 } 9966 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane420Unorm: 9967 switch ( plane ) 9968 { 9969 case 0: return VULKAN_HPP_NAMESPACE::Format::eR16Unorm; 9970 case 1: return VULKAN_HPP_NAMESPACE::Format::eR16Unorm; 9971 case 2: return VULKAN_HPP_NAMESPACE::Format::eR16Unorm; 9972 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 9973 } 9974 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane420Unorm: 9975 switch ( plane ) 9976 { 9977 case 0: return VULKAN_HPP_NAMESPACE::Format::eR16Unorm; 9978 case 1: return VULKAN_HPP_NAMESPACE::Format::eR16G16Unorm; 9979 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 9980 } 9981 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane422Unorm: 9982 switch ( plane ) 9983 { 9984 case 0: return VULKAN_HPP_NAMESPACE::Format::eR16Unorm; 9985 case 1: return VULKAN_HPP_NAMESPACE::Format::eR16Unorm; 9986 case 2: return VULKAN_HPP_NAMESPACE::Format::eR16Unorm; 9987 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 9988 } 9989 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane422Unorm: 9990 switch ( plane ) 9991 { 9992 case 0: return VULKAN_HPP_NAMESPACE::Format::eR16Unorm; 9993 case 1: return VULKAN_HPP_NAMESPACE::Format::eR16G16Unorm; 9994 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 9995 } 9996 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane444Unorm: 9997 switch ( plane ) 9998 { 9999 case 0: return VULKAN_HPP_NAMESPACE::Format::eR16Unorm; 10000 case 1: return VULKAN_HPP_NAMESPACE::Format::eR16Unorm; 10001 case 2: return VULKAN_HPP_NAMESPACE::Format::eR16Unorm; 10002 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 10003 } 10004 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane444Unorm: 10005 switch ( plane ) 10006 { 10007 case 0: return VULKAN_HPP_NAMESPACE::Format::eR8Unorm; 10008 case 1: return VULKAN_HPP_NAMESPACE::Format::eR8G8Unorm; 10009 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 10010 } 10011 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane444Unorm3Pack16: 10012 switch ( plane ) 10013 { 10014 case 0: return VULKAN_HPP_NAMESPACE::Format::eR10X6UnormPack16; 10015 case 1: return VULKAN_HPP_NAMESPACE::Format::eR10X6G10X6Unorm2Pack16; 10016 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 10017 } 10018 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane444Unorm3Pack16: 10019 switch ( plane ) 10020 { 10021 case 0: return VULKAN_HPP_NAMESPACE::Format::eR12X4UnormPack16; 10022 case 1: return VULKAN_HPP_NAMESPACE::Format::eR12X4G12X4Unorm2Pack16; 10023 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 10024 } 10025 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane444Unorm: 10026 switch ( plane ) 10027 { 10028 case 0: return VULKAN_HPP_NAMESPACE::Format::eR16Unorm; 10029 case 1: return VULKAN_HPP_NAMESPACE::Format::eR16G16Unorm; 10030 default: VULKAN_HPP_ASSERT( false ); return VULKAN_HPP_NAMESPACE::Format::eUndefined; 10031 } 10032 10033 default: VULKAN_HPP_ASSERT( plane == 0 ); return format; 10034 } 10035 } 10036 10037 // The relative height of this plane. A value of k means that this plane is 1/k the height of the overall format. planeHeightDivisor(VULKAN_HPP_NAMESPACE::Format format,uint8_t plane)10038 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_14 uint8_t planeHeightDivisor( VULKAN_HPP_NAMESPACE::Format format, 10039 uint8_t plane ) 10040 { 10041 switch ( format ) 10042 { 10043 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane420Unorm: 10044 switch ( plane ) 10045 { 10046 case 0: return 1; 10047 case 1: return 2; 10048 case 2: return 2; 10049 default: VULKAN_HPP_ASSERT( false ); return 1; 10050 } 10051 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane420Unorm: 10052 switch ( plane ) 10053 { 10054 case 0: return 1; 10055 case 1: return 2; 10056 default: VULKAN_HPP_ASSERT( false ); return 1; 10057 } 10058 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane422Unorm: 10059 switch ( plane ) 10060 { 10061 case 0: return 1; 10062 case 1: return 1; 10063 case 2: return 1; 10064 default: VULKAN_HPP_ASSERT( false ); return 1; 10065 } 10066 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane422Unorm: 10067 switch ( plane ) 10068 { 10069 case 0: return 1; 10070 case 1: return 1; 10071 default: VULKAN_HPP_ASSERT( false ); return 1; 10072 } 10073 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane444Unorm: 10074 switch ( plane ) 10075 { 10076 case 0: return 1; 10077 case 1: return 1; 10078 case 2: return 1; 10079 default: VULKAN_HPP_ASSERT( false ); return 1; 10080 } 10081 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane420Unorm3Pack16: 10082 switch ( plane ) 10083 { 10084 case 0: return 1; 10085 case 1: return 2; 10086 case 2: return 2; 10087 default: VULKAN_HPP_ASSERT( false ); return 1; 10088 } 10089 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane420Unorm3Pack16: 10090 switch ( plane ) 10091 { 10092 case 0: return 1; 10093 case 1: return 2; 10094 default: VULKAN_HPP_ASSERT( false ); return 1; 10095 } 10096 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane422Unorm3Pack16: 10097 switch ( plane ) 10098 { 10099 case 0: return 1; 10100 case 1: return 1; 10101 case 2: return 1; 10102 default: VULKAN_HPP_ASSERT( false ); return 1; 10103 } 10104 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane422Unorm3Pack16: 10105 switch ( plane ) 10106 { 10107 case 0: return 1; 10108 case 1: return 1; 10109 default: VULKAN_HPP_ASSERT( false ); return 1; 10110 } 10111 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane444Unorm3Pack16: 10112 switch ( plane ) 10113 { 10114 case 0: return 1; 10115 case 1: return 1; 10116 case 2: return 1; 10117 default: VULKAN_HPP_ASSERT( false ); return 1; 10118 } 10119 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane420Unorm3Pack16: 10120 switch ( plane ) 10121 { 10122 case 0: return 1; 10123 case 1: return 2; 10124 case 2: return 2; 10125 default: VULKAN_HPP_ASSERT( false ); return 1; 10126 } 10127 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane420Unorm3Pack16: 10128 switch ( plane ) 10129 { 10130 case 0: return 1; 10131 case 1: return 2; 10132 default: VULKAN_HPP_ASSERT( false ); return 1; 10133 } 10134 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane422Unorm3Pack16: 10135 switch ( plane ) 10136 { 10137 case 0: return 1; 10138 case 1: return 1; 10139 case 2: return 1; 10140 default: VULKAN_HPP_ASSERT( false ); return 1; 10141 } 10142 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane422Unorm3Pack16: 10143 switch ( plane ) 10144 { 10145 case 0: return 1; 10146 case 1: return 1; 10147 default: VULKAN_HPP_ASSERT( false ); return 1; 10148 } 10149 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane444Unorm3Pack16: 10150 switch ( plane ) 10151 { 10152 case 0: return 1; 10153 case 1: return 1; 10154 case 2: return 1; 10155 default: VULKAN_HPP_ASSERT( false ); return 1; 10156 } 10157 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane420Unorm: 10158 switch ( plane ) 10159 { 10160 case 0: return 1; 10161 case 1: return 2; 10162 case 2: return 2; 10163 default: VULKAN_HPP_ASSERT( false ); return 1; 10164 } 10165 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane420Unorm: 10166 switch ( plane ) 10167 { 10168 case 0: return 1; 10169 case 1: return 2; 10170 default: VULKAN_HPP_ASSERT( false ); return 1; 10171 } 10172 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane422Unorm: 10173 switch ( plane ) 10174 { 10175 case 0: return 1; 10176 case 1: return 1; 10177 case 2: return 1; 10178 default: VULKAN_HPP_ASSERT( false ); return 1; 10179 } 10180 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane422Unorm: 10181 switch ( plane ) 10182 { 10183 case 0: return 1; 10184 case 1: return 1; 10185 default: VULKAN_HPP_ASSERT( false ); return 1; 10186 } 10187 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane444Unorm: 10188 switch ( plane ) 10189 { 10190 case 0: return 1; 10191 case 1: return 1; 10192 case 2: return 1; 10193 default: VULKAN_HPP_ASSERT( false ); return 1; 10194 } 10195 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane444Unorm: 10196 switch ( plane ) 10197 { 10198 case 0: return 1; 10199 case 1: return 1; 10200 default: VULKAN_HPP_ASSERT( false ); return 1; 10201 } 10202 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane444Unorm3Pack16: 10203 switch ( plane ) 10204 { 10205 case 0: return 1; 10206 case 1: return 1; 10207 default: VULKAN_HPP_ASSERT( false ); return 1; 10208 } 10209 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane444Unorm3Pack16: 10210 switch ( plane ) 10211 { 10212 case 0: return 1; 10213 case 1: return 1; 10214 default: VULKAN_HPP_ASSERT( false ); return 1; 10215 } 10216 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane444Unorm: 10217 switch ( plane ) 10218 { 10219 case 0: return 1; 10220 case 1: return 1; 10221 default: VULKAN_HPP_ASSERT( false ); return 1; 10222 } 10223 10224 default: VULKAN_HPP_ASSERT( plane == 0 ); return 1; 10225 } 10226 } 10227 10228 // The relative width of this plane. A value of k means that this plane is 1/k the width of the overall format. planeWidthDivisor(VULKAN_HPP_NAMESPACE::Format format,uint8_t plane)10229 VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_14 uint8_t planeWidthDivisor( VULKAN_HPP_NAMESPACE::Format format, 10230 uint8_t plane ) 10231 { 10232 switch ( format ) 10233 { 10234 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane420Unorm: 10235 switch ( plane ) 10236 { 10237 case 0: return 1; 10238 case 1: return 2; 10239 case 2: return 2; 10240 default: VULKAN_HPP_ASSERT( false ); return 1; 10241 } 10242 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane420Unorm: 10243 switch ( plane ) 10244 { 10245 case 0: return 1; 10246 case 1: return 2; 10247 default: VULKAN_HPP_ASSERT( false ); return 1; 10248 } 10249 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane422Unorm: 10250 switch ( plane ) 10251 { 10252 case 0: return 1; 10253 case 1: return 2; 10254 case 2: return 2; 10255 default: VULKAN_HPP_ASSERT( false ); return 1; 10256 } 10257 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane422Unorm: 10258 switch ( plane ) 10259 { 10260 case 0: return 1; 10261 case 1: return 2; 10262 default: VULKAN_HPP_ASSERT( false ); return 1; 10263 } 10264 case VULKAN_HPP_NAMESPACE::Format::eG8B8R83Plane444Unorm: 10265 switch ( plane ) 10266 { 10267 case 0: return 1; 10268 case 1: return 1; 10269 case 2: return 1; 10270 default: VULKAN_HPP_ASSERT( false ); return 1; 10271 } 10272 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane420Unorm3Pack16: 10273 switch ( plane ) 10274 { 10275 case 0: return 1; 10276 case 1: return 2; 10277 case 2: return 2; 10278 default: VULKAN_HPP_ASSERT( false ); return 1; 10279 } 10280 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane420Unorm3Pack16: 10281 switch ( plane ) 10282 { 10283 case 0: return 1; 10284 case 1: return 2; 10285 default: VULKAN_HPP_ASSERT( false ); return 1; 10286 } 10287 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane422Unorm3Pack16: 10288 switch ( plane ) 10289 { 10290 case 0: return 1; 10291 case 1: return 2; 10292 case 2: return 2; 10293 default: VULKAN_HPP_ASSERT( false ); return 1; 10294 } 10295 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane422Unorm3Pack16: 10296 switch ( plane ) 10297 { 10298 case 0: return 1; 10299 case 1: return 2; 10300 default: VULKAN_HPP_ASSERT( false ); return 1; 10301 } 10302 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X63Plane444Unorm3Pack16: 10303 switch ( plane ) 10304 { 10305 case 0: return 1; 10306 case 1: return 1; 10307 case 2: return 1; 10308 default: VULKAN_HPP_ASSERT( false ); return 1; 10309 } 10310 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane420Unorm3Pack16: 10311 switch ( plane ) 10312 { 10313 case 0: return 1; 10314 case 1: return 2; 10315 case 2: return 2; 10316 default: VULKAN_HPP_ASSERT( false ); return 1; 10317 } 10318 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane420Unorm3Pack16: 10319 switch ( plane ) 10320 { 10321 case 0: return 1; 10322 case 1: return 2; 10323 default: VULKAN_HPP_ASSERT( false ); return 1; 10324 } 10325 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane422Unorm3Pack16: 10326 switch ( plane ) 10327 { 10328 case 0: return 1; 10329 case 1: return 2; 10330 case 2: return 2; 10331 default: VULKAN_HPP_ASSERT( false ); return 1; 10332 } 10333 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane422Unorm3Pack16: 10334 switch ( plane ) 10335 { 10336 case 0: return 1; 10337 case 1: return 2; 10338 default: VULKAN_HPP_ASSERT( false ); return 1; 10339 } 10340 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X43Plane444Unorm3Pack16: 10341 switch ( plane ) 10342 { 10343 case 0: return 1; 10344 case 1: return 1; 10345 case 2: return 1; 10346 default: VULKAN_HPP_ASSERT( false ); return 1; 10347 } 10348 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane420Unorm: 10349 switch ( plane ) 10350 { 10351 case 0: return 1; 10352 case 1: return 2; 10353 case 2: return 2; 10354 default: VULKAN_HPP_ASSERT( false ); return 1; 10355 } 10356 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane420Unorm: 10357 switch ( plane ) 10358 { 10359 case 0: return 1; 10360 case 1: return 2; 10361 default: VULKAN_HPP_ASSERT( false ); return 1; 10362 } 10363 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane422Unorm: 10364 switch ( plane ) 10365 { 10366 case 0: return 1; 10367 case 1: return 2; 10368 case 2: return 2; 10369 default: VULKAN_HPP_ASSERT( false ); return 1; 10370 } 10371 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane422Unorm: 10372 switch ( plane ) 10373 { 10374 case 0: return 1; 10375 case 1: return 2; 10376 default: VULKAN_HPP_ASSERT( false ); return 1; 10377 } 10378 case VULKAN_HPP_NAMESPACE::Format::eG16B16R163Plane444Unorm: 10379 switch ( plane ) 10380 { 10381 case 0: return 1; 10382 case 1: return 1; 10383 case 2: return 1; 10384 default: VULKAN_HPP_ASSERT( false ); return 1; 10385 } 10386 case VULKAN_HPP_NAMESPACE::Format::eG8B8R82Plane444Unorm: 10387 switch ( plane ) 10388 { 10389 case 0: return 1; 10390 case 1: return 1; 10391 default: VULKAN_HPP_ASSERT( false ); return 1; 10392 } 10393 case VULKAN_HPP_NAMESPACE::Format::eG10X6B10X6R10X62Plane444Unorm3Pack16: 10394 switch ( plane ) 10395 { 10396 case 0: return 1; 10397 case 1: return 1; 10398 default: VULKAN_HPP_ASSERT( false ); return 1; 10399 } 10400 case VULKAN_HPP_NAMESPACE::Format::eG12X4B12X4R12X42Plane444Unorm3Pack16: 10401 switch ( plane ) 10402 { 10403 case 0: return 1; 10404 case 1: return 1; 10405 default: VULKAN_HPP_ASSERT( false ); return 1; 10406 } 10407 case VULKAN_HPP_NAMESPACE::Format::eG16B16R162Plane444Unorm: 10408 switch ( plane ) 10409 { 10410 case 0: return 1; 10411 case 1: return 1; 10412 default: VULKAN_HPP_ASSERT( false ); return 1; 10413 } 10414 10415 default: VULKAN_HPP_ASSERT( plane == 0 ); return 1; 10416 } 10417 } 10418 10419 template <typename T> 10420 struct IndexTypeValue 10421 { 10422 }; 10423 10424 template <> 10425 struct IndexTypeValue<uint16_t> 10426 { 10427 static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint16; 10428 }; 10429 10430 template <> 10431 struct CppType<IndexType, IndexType::eUint16> 10432 { 10433 using Type = uint16_t; 10434 }; 10435 10436 template <> 10437 struct IndexTypeValue<uint32_t> 10438 { 10439 static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint32; 10440 }; 10441 10442 template <> 10443 struct CppType<IndexType, IndexType::eUint32> 10444 { 10445 using Type = uint32_t; 10446 }; 10447 10448 template <> 10449 struct IndexTypeValue<uint8_t> 10450 { 10451 static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint8EXT; 10452 }; 10453 10454 template <> 10455 struct CppType<IndexType, IndexType::eUint8EXT> 10456 { 10457 using Type = uint8_t; 10458 }; 10459 10460 } // namespace VULKAN_HPP_NAMESPACE 10461 #endif 10462