// This is manually created file used by gen_framework.py.
// It contains list of mandatory features required to
// generate code for cts. Currently every line contains:
// * name of structure containing physical device featurs
// * name of attribute that is mandatory
// * structure type enum
// * required extensions that enable specified feature

VkPhysicalDeviceFeatures									FEATURES ( robustBufferAccess )									REQUIREMENTS ()
VkPhysicalDeviceFeatures									FEATURES ( shaderSampledImageArrayDynamicIndexing )				REQUIREMENTS ( VK_EXT_descriptor_indexing )
VkPhysicalDeviceFeatures									FEATURES ( shaderStorageBufferArrayDynamicIndexing )			REQUIREMENTS ( VK_EXT_descriptor_indexing )
VkPhysicalDevice8BitStorageFeaturesKHR						FEATURES ( storageBuffer8BitAccess )							REQUIREMENTS ( VK_KHR_8bit_storage )
VkPhysicalDeviceVulkan11Features							FEATURES ( multiview )											REQUIREMENTS ( "ApiVersion(1, 2, 0)" )
VkPhysicalDeviceMultiviewFeatures							FEATURES ( multiview )											REQUIREMENTS ( "ApiVersion(1, 1, 0)" )
VkPhysicalDeviceMultiviewFeatures							FEATURES ( multiview )											REQUIREMENTS ( VK_KHR_multiview )
VkPhysicalDeviceVariablePointersFeatures					FEATURES ( variablePointersStorageBuffer )						REQUIREMENTS ( VK_KHR_variable_pointers )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( shaderUniformTexelBufferArrayDynamicIndexing )		REQUIREMENTS ( VK_EXT_descriptor_indexing )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( shaderStorageTexelBufferArrayDynamicIndexing )		REQUIREMENTS ( VK_EXT_descriptor_indexing )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( shaderSampledImageArrayNonUniformIndexing )			REQUIREMENTS ( VK_EXT_descriptor_indexing )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( shaderStorageBufferArrayNonUniformIndexing )			REQUIREMENTS ( VK_EXT_descriptor_indexing )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( shaderUniformTexelBufferArrayNonUniformIndexing )	REQUIREMENTS ( VK_EXT_descriptor_indexing )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( descriptorBindingSampledImageUpdateAfterBind )		REQUIREMENTS ( VK_EXT_descriptor_indexing )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( descriptorBindingStorageImageUpdateAfterBind )		REQUIREMENTS ( VK_EXT_descriptor_indexing )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( descriptorBindingStorageBufferUpdateAfterBind )		REQUIREMENTS ( VK_EXT_descriptor_indexing )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( descriptorBindingUniformTexelBufferUpdateAfterBind )	REQUIREMENTS ( VK_EXT_descriptor_indexing )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( descriptorBindingStorageTexelBufferUpdateAfterBind )	REQUIREMENTS ( VK_EXT_descriptor_indexing )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( descriptorBindingUpdateUnusedWhilePending )			REQUIREMENTS ( VK_EXT_descriptor_indexing )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( descriptorBindingPartiallyBound )					REQUIREMENTS ( VK_EXT_descriptor_indexing )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( runtimeDescriptorArray )								REQUIREMENTS ( VK_EXT_descriptor_indexing )
VkPhysicalDeviceInlineUniformBlockFeaturesEXT				FEATURES ( inlineUniformBlock )									REQUIREMENTS ( VK_EXT_inline_uniform_block )
VkPhysicalDeviceInlineUniformBlockFeaturesEXT				FEATURES ( descriptorBindingInlineUniformBlockUpdateAfterBind )	REQUIREMENTS ( VK_EXT_inline_uniform_block VK_EXT_descriptor_indexing )
VkPhysicalDeviceScalarBlockLayoutFeaturesEXT				FEATURES ( scalarBlockLayout )									REQUIREMENTS ( VK_EXT_scalar_block_layout )
VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR		FEATURES ( uniformBufferStandardLayout )						REQUIREMENTS ( VK_KHR_uniform_buffer_standard_layout )
VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR		FEATURES ( pipelineExecutableInfo )								REQUIREMENTS ( VK_KHR_pipeline_executable_properties )
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT				FEATURES ( subgroupSizeControl )								REQUIREMENTS ( VK_EXT_subgroup_size_control )
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT				FEATURES ( computeFullSubgroups )								REQUIREMENTS ( VK_EXT_subgroup_size_control )
VkPhysicalDeviceVulkan12Features							FEATURES ( subgroupBroadcastDynamicId )							REQUIREMENTS ( "ApiVersion(1, 2, 0)" )
VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR		FEATURES ( shaderSubgroupExtendedTypes )						REQUIREMENTS ( VK_KHR_shader_subgroup_extended_types )
VkPhysicalDeviceVulkan12Features							FEATURES ( shaderSubgroupExtendedTypes )						REQUIREMENTS ( "ApiVersion(1, 2, 0)" )
VkPhysicalDeviceImagelessFramebufferFeaturesKHR 			FEATURES ( imagelessFramebuffer )								REQUIREMENTS ( VK_KHR_imageless_framebuffer )
VkPhysicalDeviceVulkan12Features							FEATURES ( imagelessFramebuffer )								REQUIREMENTS ( "ApiVersion(1, 2, 0)" )
VkPhysicalDeviceVulkan12Features							FEATURES ( uniformBufferStandardLayout )						REQUIREMENTS ( "ApiVersion(1, 2, 0)" )
VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR		FEATURES ( separateDepthStencilLayouts )						REQUIREMENTS ( VK_KHR_separate_depth_stencil_layouts )
VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT		FEATURES ( pipelineCreationCacheControl )						REQUIREMENTS ( VK_EXT_pipeline_creation_cache_control )
VkPhysicalDeviceVulkan12Features							FEATURES ( separateDepthStencilLayouts )						REQUIREMENTS ( "ApiVersion(1, 2, 0)" )
VkPhysicalDeviceHostQueryResetFeaturesEXT					FEATURES ( hostQueryReset )										REQUIREMENTS ( VK_EXT_host_query_reset )
VkPhysicalDeviceVulkan12Features							FEATURES ( hostQueryReset )										REQUIREMENTS ( "ApiVersion(1, 2, 0)" )
VkPhysicalDeviceTimelineSemaphoreFeaturesKHR 				FEATURES ( timelineSemaphore )									REQUIREMENTS ( VK_KHR_timeline_semaphore )
VkPhysicalDeviceVulkan12Features							FEATURES ( timelineSemaphore )									REQUIREMENTS ( "ApiVersion(1, 2, 0)" )
VkPhysicalDeviceFeatures									FEATURES ( shaderSampledImageArrayDynamicIndexing )				REQUIREMENTS ( "ApiVersion(1, 2, 0)" physicalDeviceVulkan12Features.descriptorIndexing )
VkPhysicalDeviceFeatures									FEATURES ( shaderStorageBufferArrayDynamicIndexing )			REQUIREMENTS ( "ApiVersion(1, 2, 0)" physicalDeviceVulkan12Features.descriptorIndexing )
VkPhysicalDeviceVulkan12Features							FEATURES ( shaderUniformTexelBufferArrayDynamicIndexing )		REQUIREMENTS ( "ApiVersion(1, 2, 0)" physicalDeviceVulkan12Features.descriptorIndexing )
VkPhysicalDeviceVulkan12Features							FEATURES ( shaderStorageTexelBufferArrayDynamicIndexing )		REQUIREMENTS ( "ApiVersion(1, 2, 0)" physicalDeviceVulkan12Features.descriptorIndexing )
VkPhysicalDeviceVulkan12Features							FEATURES ( shaderSampledImageArrayNonUniformIndexing )			REQUIREMENTS ( "ApiVersion(1, 2, 0)" physicalDeviceVulkan12Features.descriptorIndexing )
VkPhysicalDeviceVulkan12Features							FEATURES ( shaderStorageBufferArrayNonUniformIndexing )			REQUIREMENTS ( "ApiVersion(1, 2, 0)" physicalDeviceVulkan12Features.descriptorIndexing )
VkPhysicalDeviceVulkan12Features							FEATURES ( shaderUniformTexelBufferArrayNonUniformIndexing )	REQUIREMENTS ( "ApiVersion(1, 2, 0)" physicalDeviceVulkan12Features.descriptorIndexing )
VkPhysicalDeviceVulkan12Features							FEATURES ( descriptorBindingSampledImageUpdateAfterBind )		REQUIREMENTS ( "ApiVersion(1, 2, 0)" physicalDeviceVulkan12Features.descriptorIndexing )
VkPhysicalDeviceVulkan12Features							FEATURES ( descriptorBindingStorageImageUpdateAfterBind )		REQUIREMENTS ( "ApiVersion(1, 2, 0)" physicalDeviceVulkan12Features.descriptorIndexing )
VkPhysicalDeviceVulkan12Features							FEATURES ( descriptorBindingStorageBufferUpdateAfterBind )		REQUIREMENTS ( "ApiVersion(1, 2, 0)" physicalDeviceVulkan12Features.descriptorIndexing )
VkPhysicalDeviceVulkan12Features							FEATURES ( descriptorBindingUniformTexelBufferUpdateAfterBind )	REQUIREMENTS ( "ApiVersion(1, 2, 0)" physicalDeviceVulkan12Features.descriptorIndexing )
VkPhysicalDeviceVulkan12Features							FEATURES ( descriptorBindingStorageTexelBufferUpdateAfterBind )	REQUIREMENTS ( "ApiVersion(1, 2, 0)" physicalDeviceVulkan12Features.descriptorIndexing )
VkPhysicalDeviceVulkan12Features							FEATURES ( descriptorBindingUpdateUnusedWhilePending )			REQUIREMENTS ( "ApiVersion(1, 2, 0)" physicalDeviceVulkan12Features.descriptorIndexing )
VkPhysicalDeviceVulkan12Features							FEATURES ( descriptorBindingPartiallyBound )					REQUIREMENTS ( "ApiVersion(1, 2, 0)" physicalDeviceVulkan12Features.descriptorIndexing )
VkPhysicalDeviceVulkan12Features							FEATURES ( runtimeDescriptorArray )								REQUIREMENTS ( "ApiVersion(1, 2, 0)" physicalDeviceVulkan12Features.descriptorIndexing )
VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT		FEATURES ( textureCompressionASTC_HDR )							REQUIREMENTS ( VK_EXT_texture_compression_astc_hdr )
VkPhysicalDeviceDepthClipEnableFeaturesEXT					FEATURES ( depthClipEnable )									REQUIREMENTS ( VK_EXT_depth_clip_enable )
VkPhysicalDeviceMemoryPriorityFeaturesEXT					FEATURES ( memoryPriority )										REQUIREMENTS ( VK_EXT_memory_priority )
VkPhysicalDeviceYcbcrImageArraysFeaturesEXT					FEATURES ( ycbcrImageArrays )									REQUIREMENTS ( VK_EXT_ycbcr_image_arrays )
VkPhysicalDeviceIndexTypeUint8FeaturesEXT					FEATURES ( indexTypeUint8 )										REQUIREMENTS ( VK_EXT_index_type_uint8 )
VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT	FEATURES ( shaderDemoteToHelperInvocation )						REQUIREMENTS ( VK_EXT_shader_demote_to_helper_invocation )
VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT				FEATURES ( texelBufferAlignment )								REQUIREMENTS ( VK_EXT_texel_buffer_alignment )
VkPhysicalDeviceVulkanMemoryModelFeaturesKHR				FEATURES ( vulkanMemoryModel )									REQUIREMENTS ( VK_KHR_vulkan_memory_model )
VkPhysicalDeviceBufferDeviceAddressFeaturesKHR				FEATURES ( bufferDeviceAddress )								REQUIREMENTS ( VK_KHR_buffer_device_address )
VkPhysicalDevicePerformanceQueryFeaturesKHR					FEATURES ( performanceCounterQueryPools )						REQUIREMENTS ( VK_KHR_performance_query )
VkPhysicalDeviceTransformFeedbackFeaturesEXT				FEATURES ( transformFeedback )									REQUIREMENTS ( VK_EXT_transform_feedback )
VkPhysicalDeviceConditionalRenderingFeaturesEXT				FEATURES ( conditionalRendering )								REQUIREMENTS ( VK_EXT_conditional_rendering )
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT			FEATURES ( vertexAttributeInstanceRateDivisor )					REQUIREMENTS ( VK_EXT_vertex_attribute_divisor )
VkPhysicalDeviceFragmentDensityMapFeaturesEXT				FEATURES ( fragmentDensityMap )									REQUIREMENTS ( VK_EXT_fragment_density_map )
VkPhysicalDeviceShaderClockFeaturesKHR						FEATURES ( shaderSubgroupClock )								REQUIREMENTS ( VK_KHR_shader_clock )
VkPhysicalDeviceShaderAtomicInt64FeaturesKHR				FEATURES ( shaderBufferInt64Atomics )							REQUIREMENTS ( VK_KHR_shader_atomic_int64 )
VkPhysicalDeviceVulkan12Features							FEATURES ( shaderBufferInt64Atomics )							REQUIREMENTS ( "ApiVersion(1, 2, 0)" physicalDeviceShaderAtomicInt64FeaturesKHR.shaderBufferInt64Atomics )
VkPhysicalDevice16BitStorageFeaturesKHR 					FEATURES ( storageBuffer16BitAccess )							REQUIREMENTS ( VK_KHR_16bit_storage )
VkPhysicalDeviceShaderFloat16Int8Features					FEATURES ( shaderFloat16 shaderInt8 )							REQUIREMENTS ( VK_KHR_shader_float16_int8 )
VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT			FEATURES ( fragmentShaderSampleInterlock fragmentShaderPixelInterlock fragmentShaderShadingRateInterlock )						REQUIREMENTS ( VK_EXT_fragment_shader_interlock )
VkPhysicalDeviceLineRasterizationFeaturesEXT				FEATURES ( rectangularLines bresenhamLines smoothLines stippledRectangularLines stippledBresenhamLines stippledSmoothLines )	REQUIREMENTS ( VK_EXT_line_rasterization )
VkPhysicalDeviceSynchronization2FeaturesKHR 				FEATURES ( synchronization2 )									REQUIREMENTS ( VK_KHR_synchronization2 )
VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR			FEATURES ( samplerYcbcrConversion )								REQUIREMENTS ( VK_KHR_sampler_ycbcr_conversion )
VkPhysicalDeviceVulkan12Features							FEATURES ( drawIndirectCount )									REQUIREMENTS ( "ApiVersion(1, 2, 0)" VK_KHR_draw_indirect_count )
VkPhysicalDeviceVulkan12Features							FEATURES ( samplerMirrorClampToEdge )							REQUIREMENTS ( "ApiVersion(1, 2, 0)" VK_KHR_sampler_mirror_clamp_to_edge )
VkPhysicalDeviceVulkan12Features							FEATURES ( samplerFilterMinmax )								REQUIREMENTS ( "ApiVersion(1, 2, 0)" VK_EXT_sampler_filter_minmax )
VkPhysicalDeviceVulkan12Features							FEATURES ( shaderOutputViewportIndex )							REQUIREMENTS ( "ApiVersion(1, 2, 0)" VK_EXT_shader_viewport_index_layer )
VkPhysicalDeviceVulkan12Features							FEATURES ( shaderOutputLayer )									REQUIREMENTS ( "ApiVersion(1, 2, 0)" VK_EXT_shader_viewport_index_layer )
VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR		FEATURES ( shaderTerminateInvocation )							REQUIREMENTS ( VK_KHR_shader_terminate_invocation )
VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT			FEATURES ( shaderImageInt64Atomics )							REQUIREMENTS ( VK_EXT_shader_image_atomic_int64 )
VkPhysicalDeviceFeatures									FEATURES ( shaderInt64 )										REQUIREMENTS ( VK_EXT_shader_image_atomic_int64 )
VkPhysicalDeviceFeatures									FEATURES ( shaderInt64 )										REQUIREMENTS ( physicalDeviceShaderAtomicInt64FeaturesKHR.shaderBufferInt64Atomics )
VkPhysicalDeviceFeatures									FEATURES ( shaderInt64 )										REQUIREMENTS ( physicalDeviceVulkan12Features.shaderBufferInt64Atomics )
VkPhysicalDeviceFeatures									FEATURES ( shaderInt64 )										REQUIREMENTS ( physicalDeviceShaderAtomicInt64FeaturesKHR.shaderSharedInt64Atomics )
VkPhysicalDeviceFeatures									FEATURES ( shaderInt64 )										REQUIREMENTS ( physicalDeviceVulkan12Features.shaderSharedInt64Atomics )
VkPhysicalDevice4444FormatsFeaturesEXT						FEATURES ( formatA4R4G4B4 )										REQUIREMENTS ( VK_EXT_4444_formats )
VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR	FEATURES ( shaderZeroInitializeWorkgroupMemory )				REQUIREMENTS ( VK_KHR_zero_initialize_workgroup_memory )
VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR	FEATURES ( workgroupMemoryExplicitLayout workgroupMemoryExplicitLayoutScalarBlockLayout workgroupMemoryExplicitLayout8BitAccess workgroupMemoryExplicitLayout16BitAccess )		    REQUIREMENTS ( VK_KHR_workgroup_memory_explicit_layout )
VkPhysicalDeviceAccelerationStructureFeaturesKHR			FEATURES ( accelerationStructure  )								REQUIREMENTS ( VK_KHR_acceleration_structure )
VkPhysicalDeviceAccelerationStructureFeaturesKHR			FEATURES ( descriptorBindingAccelerationStructureUpdateAfterBind )	REQUIREMENTS ( VK_KHR_acceleration_structure )
VkPhysicalDeviceFeatures									FEATURES ( shaderSampledImageArrayDynamicIndexing )				REQUIREMENTS ( "ApiVersion(1, 1, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceFeatures									FEATURES ( shaderStorageBufferArrayDynamicIndexing )			REQUIREMENTS ( "ApiVersion(1, 1, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceVulkan12Features							FEATURES ( shaderUniformTexelBufferArrayDynamicIndexing )		REQUIREMENTS ( "ApiVersion(1, 2, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceVulkan12Features							FEATURES ( shaderStorageTexelBufferArrayDynamicIndexing )		REQUIREMENTS ( "ApiVersion(1, 2, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceVulkan12Features							FEATURES ( shaderSampledImageArrayNonUniformIndexing )			REQUIREMENTS ( "ApiVersion(1, 2, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceVulkan12Features							FEATURES ( shaderStorageBufferArrayNonUniformIndexing )			REQUIREMENTS ( "ApiVersion(1, 2, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceVulkan12Features							FEATURES ( shaderUniformTexelBufferArrayNonUniformIndexing )	REQUIREMENTS ( "ApiVersion(1, 2, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceVulkan12Features							FEATURES ( descriptorBindingSampledImageUpdateAfterBind )		REQUIREMENTS ( "ApiVersion(1, 2, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceVulkan12Features							FEATURES ( descriptorBindingStorageImageUpdateAfterBind )		REQUIREMENTS ( "ApiVersion(1, 2, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceVulkan12Features							FEATURES ( descriptorBindingStorageBufferUpdateAfterBind )		REQUIREMENTS ( "ApiVersion(1, 2, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceVulkan12Features							FEATURES ( descriptorBindingUniformTexelBufferUpdateAfterBind )	REQUIREMENTS ( "ApiVersion(1, 2, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceVulkan12Features							FEATURES ( descriptorBindingStorageTexelBufferUpdateAfterBind )	REQUIREMENTS ( "ApiVersion(1, 2, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceVulkan12Features							FEATURES ( descriptorBindingUpdateUnusedWhilePending )			REQUIREMENTS ( "ApiVersion(1, 2, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceVulkan12Features							FEATURES ( descriptorBindingPartiallyBound )					REQUIREMENTS ( "ApiVersion(1, 2, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceVulkan12Features							FEATURES ( runtimeDescriptorArray )								REQUIREMENTS ( "ApiVersion(1, 2, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceVulkan12Features							FEATURES ( bufferDeviceAddress )								REQUIREMENTS ( "ApiVersion(1, 2, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceBufferDeviceAddressFeaturesKHR				FEATURES ( bufferDeviceAddress )								REQUIREMENTS ( "ApiVersion(1, 1, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( shaderUniformTexelBufferArrayDynamicIndexing )		REQUIREMENTS ( "ApiVersion(1, 1, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( shaderStorageTexelBufferArrayDynamicIndexing )		REQUIREMENTS ( "ApiVersion(1, 1, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( shaderSampledImageArrayNonUniformIndexing )			REQUIREMENTS ( "ApiVersion(1, 1, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( shaderStorageBufferArrayNonUniformIndexing )			REQUIREMENTS ( "ApiVersion(1, 1, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( shaderUniformTexelBufferArrayNonUniformIndexing )	REQUIREMENTS ( "ApiVersion(1, 1, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( descriptorBindingSampledImageUpdateAfterBind )		REQUIREMENTS ( "ApiVersion(1, 1, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( descriptorBindingStorageImageUpdateAfterBind )		REQUIREMENTS ( "ApiVersion(1, 1, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( descriptorBindingStorageBufferUpdateAfterBind )		REQUIREMENTS ( "ApiVersion(1, 1, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( descriptorBindingUniformTexelBufferUpdateAfterBind )	REQUIREMENTS ( "ApiVersion(1, 1, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( descriptorBindingStorageTexelBufferUpdateAfterBind )	REQUIREMENTS ( "ApiVersion(1, 1, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( descriptorBindingUpdateUnusedWhilePending )			REQUIREMENTS ( "ApiVersion(1, 1, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( descriptorBindingPartiallyBound )					REQUIREMENTS ( "ApiVersion(1, 1, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceDescriptorIndexingFeaturesEXT				FEATURES ( runtimeDescriptorArray )								REQUIREMENTS ( "ApiVersion(1, 1, 0)" VK_KHR_acceleration_structure )
VkPhysicalDeviceRayTracingPipelineFeaturesKHR				FEATURES ( rayTracingPipeline rayTracingPipelineTraceRaysIndirect)	REQUIREMENTS ( VK_KHR_ray_tracing_pipeline )
VkPhysicalDeviceRayTracingPipelineFeaturesKHR				FEATURES ( rayTraversalPrimitiveCulling )						REQUIREMENTS ( VK_KHR_ray_tracing_pipeline VK_KHR_ray_query )
VkPhysicalDeviceRayQueryFeaturesKHR							FEATURES ( rayQuery )											REQUIREMENTS ( VK_KHR_ray_query )
VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT			FEATURES ( vertexInputDynamicState )							REQUIREMENTS ( VK_EXT_vertex_input_dynamic_state  )
VkPhysicalDeviceColorWriteEnableFeaturesEXT					FEATURES ( colorWriteEnable )									REQUIREMENTS ( VK_EXT_color_write_enable )
VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT			FEATURES ( ycbcr2plane444Formats )								REQUIREMENTS ( VK_EXT_ycbcr_2plane_444_formats )
VkPhysicalDeviceExtendedDynamicState2FeaturesEXT			FEATURES ( extendedDynamicState2 )								REQUIREMENTS ( VK_EXT_extended_dynamic_state2 )
VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE			FEATURES ( mutableDescriptorType )								REQUIREMENTS ( VK_VALVE_mutable_descriptor_type )
VkPhysicalDeviceDepthClipControlFeaturesEXT                 FEATURES ( depthClipControl )                                   REQUIREMENTS ( VK_EXT_depth_clip_control )
VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT				FEATURES ( globalPriorityQuery )								REQUIREMENTS ( VK_EXT_global_priority_query )
VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT			FEATURES ( shaderImageInt64Atomics )							REQUIREMENTS ( VK_EXT_shader_image_atomic_int64 physicalDeviceShaderImageAtomicInt64FeaturesEXT.sparseImageInt64Atomics )
VkPhysicalDeviceShaderAtomicFloatFeaturesEXT				FEATURES ( shaderImageFloat32Atomics )							REQUIREMENTS ( VK_EXT_shader_atomic_float physicalDeviceShaderAtomicFloatFeaturesEXT.sparseImageFloat32Atomics )
VkPhysicalDeviceShaderAtomicFloatFeaturesEXT				FEATURES ( shaderImageFloat32AtomicAdd )						REQUIREMENTS ( VK_EXT_shader_atomic_float physicalDeviceShaderAtomicFloatFeaturesEXT.sparseImageFloat32AtomicAdd )
VkPhysicalDeviceMultiDrawFeaturesEXT						FEATURES ( multiDraw )											REQUIREMENTS ( VK_EXT_multi_draw )
VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR	FEATURES ( shaderSubgroupUniformControlFlow )					REQUIREMENTS ( VK_KHR_shader_subgroup_uniform_control_flow )
VkPhysicalDevicePresentIdFeaturesKHR						FEATURES ( presentId )											REQUIREMENTS ( VK_KHR_present_id )
VkPhysicalDevicePresentWaitFeaturesKHR						FEATURES ( presentWait )										REQUIREMENTS ( VK_KHR_present_wait )
VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT				FEATURES ( shaderImageFloat32AtomicMinMax )						REQUIREMENTS ( VK_EXT_shader_atomic_float2 physicalDeviceShaderAtomicFloat2FeaturesEXT.sparseImageFloat32AtomicMinMax )
VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR			FEATURES ( shaderIntegerDotProduct )							REQUIREMENTS ( VK_KHR_shader_integer_dot_product )
VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT		FEATURES ( primitiveTopologyListRestart )						REQUIREMENTS ( VK_EXT_primitive_topology_list_restart )
VkPhysicalDeviceBorderColorSwizzleFeaturesEXT				FEATURES ( borderColorSwizzle )									REQUIREMENTS ( VK_EXT_border_color_swizzle )
VkPhysicalDeviceVulkan13Features							FEATURES ( robustImageAccess )									REQUIREMENTS ( "ApiVersion(1, 3, 0)" )
VkPhysicalDeviceVulkan13Features							FEATURES ( inlineUniformBlock )									REQUIREMENTS ( "ApiVersion(1, 3, 0)" )
VkPhysicalDeviceVulkan13Features							FEATURES ( descriptorBindingInlineUniformBlockUpdateAfterBind )	REQUIREMENTS ( "ApiVersion(1, 3, 0)" )
VkPhysicalDeviceVulkan13Features							FEATURES ( pipelineCreationCacheControl )						REQUIREMENTS ( "ApiVersion(1, 3, 0)" )
VkPhysicalDeviceVulkan13Features							FEATURES ( privateData )										REQUIREMENTS ( "ApiVersion(1, 3, 0)" )
VkPhysicalDeviceVulkan13Features							FEATURES ( shaderDemoteToHelperInvocation )						REQUIREMENTS ( "ApiVersion(1, 3, 0)" )
VkPhysicalDeviceVulkan13Features							FEATURES ( shaderTerminateInvocation )							REQUIREMENTS ( "ApiVersion(1, 3, 0)" )
VkPhysicalDeviceVulkan13Features							FEATURES ( subgroupSizeControl )								REQUIREMENTS ( "ApiVersion(1, 3, 0)" )
VkPhysicalDeviceVulkan13Features							FEATURES ( computeFullSubgroups )								REQUIREMENTS ( "ApiVersion(1, 3, 0)" )
VkPhysicalDeviceVulkan13Features							FEATURES ( synchronization2 )									REQUIREMENTS ( "ApiVersion(1, 3, 0)" )
VkPhysicalDeviceVulkan13Features							FEATURES ( shaderZeroInitializeWorkgroupMemory )				REQUIREMENTS ( "ApiVersion(1, 3, 0)" )
VkPhysicalDeviceVulkan13Features							FEATURES ( dynamicRendering )									REQUIREMENTS ( "ApiVersion(1, 3, 0)" )
VkPhysicalDeviceVulkan13Features							FEATURES ( shaderIntegerDotProduct )							REQUIREMENTS ( "ApiVersion(1, 3, 0)" )
VkPhysicalDeviceVulkan13Features							FEATURES ( maintenance4 )										REQUIREMENTS ( "ApiVersion(1, 3, 0)" )
