// This file is auto-generated by vulkano-gen from vk.xml header version 186. // It should not be edited manually. Changes should be made by editing vulkano-gen. crate::device::extensions::device_extensions! { khr_16bit_storage => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_16bit_storage.html) - Requires device extension: [`khr_storage_buffer_storage_class`](crate::device::DeviceExtensions::khr_storage_buffer_storage_class) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_16bit_storage", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_storage_buffer_storage_class], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_8bit_storage => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_8bit_storage.html) - Requires device extension: [`khr_storage_buffer_storage_class`](crate::device::DeviceExtensions::khr_storage_buffer_storage_class) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Promoted to Vulkan 1.2 ", raw: b"VK_KHR_8bit_storage", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_storage_buffer_storage_class], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_acceleration_structure => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_acceleration_structure.html) - Requires Vulkan 1.1 - Requires device extensions: [`ext_descriptor_indexing`](crate::device::DeviceExtensions::ext_descriptor_indexing), [`khr_buffer_device_address`](crate::device::DeviceExtensions::khr_buffer_device_address), [`khr_deferred_host_operations`](crate::device::DeviceExtensions::khr_deferred_host_operations) ", raw: b"VK_KHR_acceleration_structure", requires_core: crate::Version::V1_1, requires_device_extensions: [ext_descriptor_indexing, khr_buffer_device_address, khr_deferred_host_operations], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_bind_memory2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_bind_memory2.html) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_bind_memory2", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_buffer_device_address => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_buffer_device_address.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Conflicts with device extension: [`ext_buffer_device_address`](crate::device::DeviceExtensions::ext_buffer_device_address) - Promoted to Vulkan 1.2 ", raw: b"VK_KHR_buffer_device_address", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [ext_buffer_device_address], }, khr_copy_commands2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_copy_commands2.html) ", raw: b"VK_KHR_copy_commands2", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_create_renderpass2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_create_renderpass2.html) - Requires device extensions: [`khr_multiview`](crate::device::DeviceExtensions::khr_multiview), [`khr_maintenance2`](crate::device::DeviceExtensions::khr_maintenance2) - Promoted to Vulkan 1.2 ", raw: b"VK_KHR_create_renderpass2", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_multiview, khr_maintenance2], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_dedicated_allocation => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_dedicated_allocation.html) - Requires device extension: [`khr_get_memory_requirements2`](crate::device::DeviceExtensions::khr_get_memory_requirements2) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_dedicated_allocation", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_get_memory_requirements2], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_deferred_host_operations => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_deferred_host_operations.html) ", raw: b"VK_KHR_deferred_host_operations", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_depth_stencil_resolve => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_depth_stencil_resolve.html) - Requires device extension: [`khr_create_renderpass2`](crate::device::DeviceExtensions::khr_create_renderpass2) - Promoted to Vulkan 1.2 ", raw: b"VK_KHR_depth_stencil_resolve", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_create_renderpass2], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_descriptor_update_template => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_descriptor_update_template.html) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_descriptor_update_template", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_device_group => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_device_group.html) - Requires instance extension: [`khr_device_group_creation`](crate::instance::InstanceExtensions::khr_device_group_creation) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_device_group", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_device_group_creation], required_if_supported: false, conflicts_device_extensions: [], }, khr_display_swapchain => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_display_swapchain.html) - Requires device extension: [`khr_swapchain`](crate::device::DeviceExtensions::khr_swapchain) - Requires instance extension: [`khr_display`](crate::instance::InstanceExtensions::khr_display) ", raw: b"VK_KHR_display_swapchain", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_swapchain], requires_instance_extensions: [khr_display], required_if_supported: false, conflicts_device_extensions: [], }, khr_draw_indirect_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_draw_indirect_count.html) - Promoted to Vulkan 1.2 ", raw: b"VK_KHR_draw_indirect_count", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_driver_properties => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_driver_properties.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Promoted to Vulkan 1.2 ", raw: b"VK_KHR_driver_properties", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_external_fence => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_external_fence.html) - Requires instance extension: [`khr_external_fence_capabilities`](crate::instance::InstanceExtensions::khr_external_fence_capabilities) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_external_fence", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_external_fence_capabilities], required_if_supported: false, conflicts_device_extensions: [], }, khr_external_fence_fd => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_external_fence_fd.html) - Requires device extension: [`khr_external_fence`](crate::device::DeviceExtensions::khr_external_fence) ", raw: b"VK_KHR_external_fence_fd", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_external_fence], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_external_fence_win32 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_external_fence_win32.html) - Requires device extension: [`khr_external_fence`](crate::device::DeviceExtensions::khr_external_fence) ", raw: b"VK_KHR_external_fence_win32", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_external_fence], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_external_memory => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_external_memory.html) - Requires instance extension: [`khr_external_memory_capabilities`](crate::instance::InstanceExtensions::khr_external_memory_capabilities) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_external_memory", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_external_memory_capabilities], required_if_supported: false, conflicts_device_extensions: [], }, khr_external_memory_fd => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_external_memory_fd.html) - Requires device extension: [`khr_external_memory`](crate::device::DeviceExtensions::khr_external_memory) ", raw: b"VK_KHR_external_memory_fd", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_external_memory], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_external_memory_win32 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_external_memory_win32.html) - Requires device extension: [`khr_external_memory`](crate::device::DeviceExtensions::khr_external_memory) ", raw: b"VK_KHR_external_memory_win32", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_external_memory], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_external_semaphore => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_external_semaphore.html) - Requires instance extension: [`khr_external_semaphore_capabilities`](crate::instance::InstanceExtensions::khr_external_semaphore_capabilities) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_external_semaphore", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_external_semaphore_capabilities], required_if_supported: false, conflicts_device_extensions: [], }, khr_external_semaphore_fd => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_external_semaphore_fd.html) - Requires device extension: [`khr_external_semaphore`](crate::device::DeviceExtensions::khr_external_semaphore) ", raw: b"VK_KHR_external_semaphore_fd", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_external_semaphore], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_external_semaphore_win32 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_external_semaphore_win32.html) - Requires device extension: [`khr_external_semaphore`](crate::device::DeviceExtensions::khr_external_semaphore) ", raw: b"VK_KHR_external_semaphore_win32", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_external_semaphore], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_fragment_shading_rate => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_fragment_shading_rate.html) - Requires device extension: [`khr_create_renderpass2`](crate::device::DeviceExtensions::khr_create_renderpass2) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_KHR_fragment_shading_rate", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_create_renderpass2], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_get_memory_requirements2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_get_memory_requirements2.html) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_get_memory_requirements2", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_image_format_list => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_image_format_list.html) - Promoted to Vulkan 1.2 ", raw: b"VK_KHR_image_format_list", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_imageless_framebuffer => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_imageless_framebuffer.html) - Requires device extensions: [`khr_maintenance2`](crate::device::DeviceExtensions::khr_maintenance2), [`khr_image_format_list`](crate::device::DeviceExtensions::khr_image_format_list) - Promoted to Vulkan 1.2 ", raw: b"VK_KHR_imageless_framebuffer", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_maintenance2, khr_image_format_list], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_incremental_present => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_incremental_present.html) - Requires device extension: [`khr_swapchain`](crate::device::DeviceExtensions::khr_swapchain) ", raw: b"VK_KHR_incremental_present", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_swapchain], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_maintenance1 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_maintenance1.html) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_maintenance1", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_maintenance2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_maintenance2.html) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_maintenance2", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_maintenance3 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_maintenance3.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_maintenance3", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_multiview => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_multiview.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_multiview", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_performance_query => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_performance_query.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_KHR_performance_query", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_pipeline_executable_properties => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_pipeline_executable_properties.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_KHR_pipeline_executable_properties", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_pipeline_library => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_pipeline_library.html) ", raw: b"VK_KHR_pipeline_library", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_portability_subset => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_portability_subset.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Must be enabled if it is supported by the physical device ", raw: b"VK_KHR_portability_subset", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: true, conflicts_device_extensions: [], }, khr_present_id => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_present_id.html) - Requires device extension: [`khr_swapchain`](crate::device::DeviceExtensions::khr_swapchain) ", raw: b"VK_KHR_present_id", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_swapchain], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_present_wait => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_present_wait.html) - Requires device extensions: [`khr_swapchain`](crate::device::DeviceExtensions::khr_swapchain), [`khr_present_id`](crate::device::DeviceExtensions::khr_present_id) ", raw: b"VK_KHR_present_wait", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_swapchain, khr_present_id], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_push_descriptor => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_push_descriptor.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_KHR_push_descriptor", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_ray_query => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_ray_query.html) - Requires Vulkan 1.1 - Requires device extensions: [`khr_spirv_1_4`](crate::device::DeviceExtensions::khr_spirv_1_4), [`khr_acceleration_structure`](crate::device::DeviceExtensions::khr_acceleration_structure) ", raw: b"VK_KHR_ray_query", requires_core: crate::Version::V1_1, requires_device_extensions: [khr_spirv_1_4, khr_acceleration_structure], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_ray_tracing_pipeline => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_ray_tracing_pipeline.html) - Requires Vulkan 1.1 - Requires device extensions: [`khr_spirv_1_4`](crate::device::DeviceExtensions::khr_spirv_1_4), [`khr_acceleration_structure`](crate::device::DeviceExtensions::khr_acceleration_structure) ", raw: b"VK_KHR_ray_tracing_pipeline", requires_core: crate::Version::V1_1, requires_device_extensions: [khr_spirv_1_4, khr_acceleration_structure], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_relaxed_block_layout => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_relaxed_block_layout.html) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_relaxed_block_layout", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_sampler_mirror_clamp_to_edge => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_sampler_mirror_clamp_to_edge.html) - Promoted to Vulkan 1.2 ", raw: b"VK_KHR_sampler_mirror_clamp_to_edge", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_sampler_ycbcr_conversion => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_sampler_ycbcr_conversion.html) - Requires device extensions: [`khr_maintenance1`](crate::device::DeviceExtensions::khr_maintenance1), [`khr_bind_memory2`](crate::device::DeviceExtensions::khr_bind_memory2), [`khr_get_memory_requirements2`](crate::device::DeviceExtensions::khr_get_memory_requirements2) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_sampler_ycbcr_conversion", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_maintenance1, khr_bind_memory2, khr_get_memory_requirements2], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_separate_depth_stencil_layouts => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_separate_depth_stencil_layouts.html) - Requires device extension: [`khr_create_renderpass2`](crate::device::DeviceExtensions::khr_create_renderpass2) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Promoted to Vulkan 1.2 ", raw: b"VK_KHR_separate_depth_stencil_layouts", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_create_renderpass2], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_shader_atomic_int64 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_shader_atomic_int64.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Promoted to Vulkan 1.2 ", raw: b"VK_KHR_shader_atomic_int64", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_shader_clock => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_shader_clock.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_KHR_shader_clock", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_shader_draw_parameters => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_shader_draw_parameters.html) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_shader_draw_parameters", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_shader_float16_int8 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_shader_float16_int8.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Promoted to Vulkan 1.2 ", raw: b"VK_KHR_shader_float16_int8", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_shader_float_controls => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_shader_float_controls.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Promoted to Vulkan 1.2 ", raw: b"VK_KHR_shader_float_controls", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_shader_non_semantic_info => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_shader_non_semantic_info.html) ", raw: b"VK_KHR_shader_non_semantic_info", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_shader_subgroup_extended_types => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_shader_subgroup_extended_types.html) - Requires Vulkan 1.1 - Promoted to Vulkan 1.2 ", raw: b"VK_KHR_shader_subgroup_extended_types", requires_core: crate::Version::V1_1, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_shader_subgroup_uniform_control_flow => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_shader_subgroup_uniform_control_flow.html) - Requires Vulkan 1.1 ", raw: b"VK_KHR_shader_subgroup_uniform_control_flow", requires_core: crate::Version::V1_1, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_shader_terminate_invocation => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_shader_terminate_invocation.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_KHR_shader_terminate_invocation", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_shared_presentable_image => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_shared_presentable_image.html) - Requires device extension: [`khr_swapchain`](crate::device::DeviceExtensions::khr_swapchain) - Requires instance extensions: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2), [`khr_get_surface_capabilities2`](crate::instance::InstanceExtensions::khr_get_surface_capabilities2) ", raw: b"VK_KHR_shared_presentable_image", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_swapchain], requires_instance_extensions: [khr_get_physical_device_properties2, khr_get_surface_capabilities2], required_if_supported: false, conflicts_device_extensions: [], }, khr_spirv_1_4 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_spirv_1_4.html) - Requires Vulkan 1.1 - Requires device extension: [`khr_shader_float_controls`](crate::device::DeviceExtensions::khr_shader_float_controls) - Promoted to Vulkan 1.2 ", raw: b"VK_KHR_spirv_1_4", requires_core: crate::Version::V1_1, requires_device_extensions: [khr_shader_float_controls], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_storage_buffer_storage_class => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_storage_buffer_storage_class.html) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_storage_buffer_storage_class", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_swapchain => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_swapchain.html) - Requires instance extension: [`khr_surface`](crate::instance::InstanceExtensions::khr_surface) ", raw: b"VK_KHR_swapchain", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_surface], required_if_supported: false, conflicts_device_extensions: [], }, khr_swapchain_mutable_format => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_swapchain_mutable_format.html) - Requires device extensions: [`khr_swapchain`](crate::device::DeviceExtensions::khr_swapchain), [`khr_maintenance2`](crate::device::DeviceExtensions::khr_maintenance2), [`khr_image_format_list`](crate::device::DeviceExtensions::khr_image_format_list) ", raw: b"VK_KHR_swapchain_mutable_format", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_swapchain, khr_maintenance2, khr_image_format_list], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_synchronization2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_synchronization2.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_KHR_synchronization2", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_timeline_semaphore => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_timeline_semaphore.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Promoted to Vulkan 1.2 ", raw: b"VK_KHR_timeline_semaphore", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_uniform_buffer_standard_layout => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_uniform_buffer_standard_layout.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Promoted to Vulkan 1.2 ", raw: b"VK_KHR_uniform_buffer_standard_layout", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_variable_pointers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_variable_pointers.html) - Requires device extension: [`khr_storage_buffer_storage_class`](crate::device::DeviceExtensions::khr_storage_buffer_storage_class) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_variable_pointers", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_storage_buffer_storage_class], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_video_decode_queue => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_video_decode_queue.html) - Requires device extensions: [`khr_video_queue`](crate::device::DeviceExtensions::khr_video_queue), [`khr_synchronization2`](crate::device::DeviceExtensions::khr_synchronization2) ", raw: b"VK_KHR_video_decode_queue", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_video_queue, khr_synchronization2], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_video_encode_queue => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_video_encode_queue.html) - Requires device extensions: [`khr_video_queue`](crate::device::DeviceExtensions::khr_video_queue), [`khr_synchronization2`](crate::device::DeviceExtensions::khr_synchronization2) ", raw: b"VK_KHR_video_encode_queue", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_video_queue, khr_synchronization2], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_video_queue => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_video_queue.html) - Requires device extension: [`khr_sampler_ycbcr_conversion`](crate::device::DeviceExtensions::khr_sampler_ycbcr_conversion) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_KHR_video_queue", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_sampler_ycbcr_conversion], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_vulkan_memory_model => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_vulkan_memory_model.html) - Promoted to Vulkan 1.2 ", raw: b"VK_KHR_vulkan_memory_model", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_win32_keyed_mutex => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_win32_keyed_mutex.html) - Requires device extension: [`khr_external_memory_win32`](crate::device::DeviceExtensions::khr_external_memory_win32) ", raw: b"VK_KHR_win32_keyed_mutex", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_external_memory_win32], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, khr_workgroup_memory_explicit_layout => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_workgroup_memory_explicit_layout.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_KHR_workgroup_memory_explicit_layout", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, khr_zero_initialize_workgroup_memory => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_zero_initialize_workgroup_memory.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_KHR_zero_initialize_workgroup_memory", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_4444_formats => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_4444_formats.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_4444_formats", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_astc_decode_mode => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_astc_decode_mode.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_astc_decode_mode", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_blend_operation_advanced => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_blend_operation_advanced.html) ", raw: b"VK_EXT_blend_operation_advanced", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_buffer_device_address => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_buffer_device_address.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Conflicts with device extension: [`khr_buffer_device_address`](crate::device::DeviceExtensions::khr_buffer_device_address) - Deprecated by [`khr_buffer_device_address`](crate::device::DeviceExtensions::khr_buffer_device_address) ", raw: b"VK_EXT_buffer_device_address", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [khr_buffer_device_address], }, ext_calibrated_timestamps => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_calibrated_timestamps.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_calibrated_timestamps", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_color_write_enable => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_color_write_enable.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_color_write_enable", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_conditional_rendering => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_conditional_rendering.html) ", raw: b"VK_EXT_conditional_rendering", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_conservative_rasterization => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_conservative_rasterization.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_conservative_rasterization", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_custom_border_color => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_custom_border_color.html) ", raw: b"VK_EXT_custom_border_color", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_debug_marker => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_debug_marker.html) - Requires instance extension: [`ext_debug_report`](crate::instance::InstanceExtensions::ext_debug_report) - Promoted to [`ext_debug_utils`](crate::instance::InstanceExtensions::ext_debug_utils) ", raw: b"VK_EXT_debug_marker", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [ext_debug_report], required_if_supported: false, conflicts_device_extensions: [], }, ext_depth_clip_enable => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_depth_clip_enable.html) ", raw: b"VK_EXT_depth_clip_enable", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_depth_range_unrestricted => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_depth_range_unrestricted.html) ", raw: b"VK_EXT_depth_range_unrestricted", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_descriptor_indexing => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_descriptor_indexing.html) - Requires device extension: [`khr_maintenance3`](crate::device::DeviceExtensions::khr_maintenance3) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Promoted to Vulkan 1.2 ", raw: b"VK_EXT_descriptor_indexing", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_maintenance3], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_device_memory_report => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_device_memory_report.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_device_memory_report", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_discard_rectangles => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_discard_rectangles.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_discard_rectangles", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_display_control => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_display_control.html) - Requires device extension: [`khr_swapchain`](crate::device::DeviceExtensions::khr_swapchain) - Requires instance extension: [`ext_display_surface_counter`](crate::instance::InstanceExtensions::ext_display_surface_counter) ", raw: b"VK_EXT_display_control", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_swapchain], requires_instance_extensions: [ext_display_surface_counter], required_if_supported: false, conflicts_device_extensions: [], }, ext_extended_dynamic_state => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_extended_dynamic_state.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_extended_dynamic_state", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_extended_dynamic_state2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_extended_dynamic_state2.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_extended_dynamic_state2", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_external_memory_dma_buf => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_external_memory_dma_buf.html) - Requires device extension: [`khr_external_memory_fd`](crate::device::DeviceExtensions::khr_external_memory_fd) ", raw: b"VK_EXT_external_memory_dma_buf", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_external_memory_fd], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_external_memory_host => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_external_memory_host.html) - Requires device extension: [`khr_external_memory`](crate::device::DeviceExtensions::khr_external_memory) ", raw: b"VK_EXT_external_memory_host", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_external_memory], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_filter_cubic => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_filter_cubic.html) ", raw: b"VK_EXT_filter_cubic", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_fragment_density_map => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_fragment_density_map.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_fragment_density_map", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_fragment_density_map2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_fragment_density_map2.html) - Requires device extension: [`ext_fragment_density_map`](crate::device::DeviceExtensions::ext_fragment_density_map) ", raw: b"VK_EXT_fragment_density_map2", requires_core: crate::Version::V1_0, requires_device_extensions: [ext_fragment_density_map], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_fragment_shader_interlock => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_fragment_shader_interlock.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_fragment_shader_interlock", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_full_screen_exclusive => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_full_screen_exclusive.html) - Requires device extension: [`khr_swapchain`](crate::device::DeviceExtensions::khr_swapchain) - Requires instance extensions: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2), [`khr_surface`](crate::instance::InstanceExtensions::khr_surface), [`khr_get_surface_capabilities2`](crate::instance::InstanceExtensions::khr_get_surface_capabilities2) ", raw: b"VK_EXT_full_screen_exclusive", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_swapchain], requires_instance_extensions: [khr_get_physical_device_properties2, khr_surface, khr_get_surface_capabilities2], required_if_supported: false, conflicts_device_extensions: [], }, ext_global_priority => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_global_priority.html) ", raw: b"VK_EXT_global_priority", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_global_priority_query => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_global_priority_query.html) - Requires device extension: [`ext_global_priority`](crate::device::DeviceExtensions::ext_global_priority) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_global_priority_query", requires_core: crate::Version::V1_0, requires_device_extensions: [ext_global_priority], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_hdr_metadata => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_hdr_metadata.html) - Requires device extension: [`khr_swapchain`](crate::device::DeviceExtensions::khr_swapchain) ", raw: b"VK_EXT_hdr_metadata", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_swapchain], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_host_query_reset => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_host_query_reset.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Promoted to Vulkan 1.2 ", raw: b"VK_EXT_host_query_reset", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_image_drm_format_modifier => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_image_drm_format_modifier.html) - Requires device extensions: [`khr_bind_memory2`](crate::device::DeviceExtensions::khr_bind_memory2), [`khr_image_format_list`](crate::device::DeviceExtensions::khr_image_format_list), [`khr_sampler_ycbcr_conversion`](crate::device::DeviceExtensions::khr_sampler_ycbcr_conversion) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_image_drm_format_modifier", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_bind_memory2, khr_image_format_list, khr_sampler_ycbcr_conversion], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_image_robustness => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_image_robustness.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_image_robustness", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_index_type_uint8 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_index_type_uint8.html) ", raw: b"VK_EXT_index_type_uint8", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_inline_uniform_block => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_inline_uniform_block.html) - Requires device extension: [`khr_maintenance1`](crate::device::DeviceExtensions::khr_maintenance1) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_inline_uniform_block", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_maintenance1], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_line_rasterization => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_line_rasterization.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_line_rasterization", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_memory_budget => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_memory_budget.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_memory_budget", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_memory_priority => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_memory_priority.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_memory_priority", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_multi_draw => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_multi_draw.html) ", raw: b"VK_EXT_multi_draw", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_pci_bus_info => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_pci_bus_info.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_pci_bus_info", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_physical_device_drm => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_physical_device_drm.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_physical_device_drm", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_pipeline_creation_cache_control => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_pipeline_creation_cache_control.html) ", raw: b"VK_EXT_pipeline_creation_cache_control", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_pipeline_creation_feedback => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_pipeline_creation_feedback.html) ", raw: b"VK_EXT_pipeline_creation_feedback", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_post_depth_coverage => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_post_depth_coverage.html) ", raw: b"VK_EXT_post_depth_coverage", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_private_data => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_private_data.html) ", raw: b"VK_EXT_private_data", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_provoking_vertex => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_provoking_vertex.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_provoking_vertex", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_queue_family_foreign => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_queue_family_foreign.html) - Requires device extension: [`khr_external_memory`](crate::device::DeviceExtensions::khr_external_memory) ", raw: b"VK_EXT_queue_family_foreign", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_external_memory], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_robustness2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_robustness2.html) ", raw: b"VK_EXT_robustness2", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_sample_locations => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_sample_locations.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_sample_locations", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_sampler_filter_minmax => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_sampler_filter_minmax.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Promoted to Vulkan 1.2 ", raw: b"VK_EXT_sampler_filter_minmax", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_scalar_block_layout => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_scalar_block_layout.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Promoted to Vulkan 1.2 ", raw: b"VK_EXT_scalar_block_layout", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_separate_stencil_usage => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_separate_stencil_usage.html) - Promoted to Vulkan 1.2 ", raw: b"VK_EXT_separate_stencil_usage", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_shader_atomic_float => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_shader_atomic_float.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_shader_atomic_float", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_shader_atomic_float2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_shader_atomic_float2.html) - Requires device extension: [`ext_shader_atomic_float`](crate::device::DeviceExtensions::ext_shader_atomic_float) ", raw: b"VK_EXT_shader_atomic_float2", requires_core: crate::Version::V1_0, requires_device_extensions: [ext_shader_atomic_float], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_shader_demote_to_helper_invocation => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_shader_demote_to_helper_invocation.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_shader_demote_to_helper_invocation", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_shader_image_atomic_int64 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_shader_image_atomic_int64.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_shader_image_atomic_int64", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_shader_stencil_export => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_shader_stencil_export.html) ", raw: b"VK_EXT_shader_stencil_export", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_shader_subgroup_ballot => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_shader_subgroup_ballot.html) - Deprecated by Vulkan 1.2 ", raw: b"VK_EXT_shader_subgroup_ballot", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_shader_subgroup_vote => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_shader_subgroup_vote.html) - Deprecated by Vulkan 1.1 ", raw: b"VK_EXT_shader_subgroup_vote", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_shader_viewport_index_layer => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_shader_viewport_index_layer.html) - Promoted to Vulkan 1.2 ", raw: b"VK_EXT_shader_viewport_index_layer", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_subgroup_size_control => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_subgroup_size_control.html) - Requires Vulkan 1.1 ", raw: b"VK_EXT_subgroup_size_control", requires_core: crate::Version::V1_1, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_texel_buffer_alignment => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_texel_buffer_alignment.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_texel_buffer_alignment", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_texture_compression_astc_hdr => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_texture_compression_astc_hdr.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_texture_compression_astc_hdr", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_tooling_info => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_tooling_info.html) ", raw: b"VK_EXT_tooling_info", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_transform_feedback => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_transform_feedback.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_transform_feedback", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_validation_cache => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_validation_cache.html) ", raw: b"VK_EXT_validation_cache", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_vertex_attribute_divisor => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_vertex_attribute_divisor.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_vertex_attribute_divisor", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_vertex_input_dynamic_state => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_vertex_input_dynamic_state.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_EXT_vertex_input_dynamic_state", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, ext_video_decode_h264 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_video_decode_h264.html) - Requires device extension: [`khr_video_decode_queue`](crate::device::DeviceExtensions::khr_video_decode_queue) ", raw: b"VK_EXT_video_decode_h264", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_video_decode_queue], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_video_decode_h265 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_video_decode_h265.html) - Requires device extension: [`khr_video_decode_queue`](crate::device::DeviceExtensions::khr_video_decode_queue) ", raw: b"VK_EXT_video_decode_h265", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_video_decode_queue], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_video_encode_h264 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_video_encode_h264.html) - Requires device extension: [`khr_video_encode_queue`](crate::device::DeviceExtensions::khr_video_encode_queue) ", raw: b"VK_EXT_video_encode_h264", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_video_encode_queue], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_ycbcr_2plane_444_formats => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_ycbcr_2plane_444_formats.html) - Requires device extension: [`khr_sampler_ycbcr_conversion`](crate::device::DeviceExtensions::khr_sampler_ycbcr_conversion) ", raw: b"VK_EXT_ycbcr_2plane_444_formats", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_sampler_ycbcr_conversion], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, ext_ycbcr_image_arrays => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_ycbcr_image_arrays.html) - Requires device extension: [`khr_sampler_ycbcr_conversion`](crate::device::DeviceExtensions::khr_sampler_ycbcr_conversion) ", raw: b"VK_EXT_ycbcr_image_arrays", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_sampler_ycbcr_conversion], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, amd_buffer_marker => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_buffer_marker.html) ", raw: b"VK_AMD_buffer_marker", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, amd_device_coherent_memory => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_device_coherent_memory.html) ", raw: b"VK_AMD_device_coherent_memory", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, amd_display_native_hdr => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_display_native_hdr.html) - Requires device extension: [`khr_swapchain`](crate::device::DeviceExtensions::khr_swapchain) - Requires instance extensions: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2), [`khr_get_surface_capabilities2`](crate::instance::InstanceExtensions::khr_get_surface_capabilities2) ", raw: b"VK_AMD_display_native_hdr", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_swapchain], requires_instance_extensions: [khr_get_physical_device_properties2, khr_get_surface_capabilities2], required_if_supported: false, conflicts_device_extensions: [], }, amd_draw_indirect_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_draw_indirect_count.html) - Promoted to [`khr_draw_indirect_count`](crate::device::DeviceExtensions::khr_draw_indirect_count) ", raw: b"VK_AMD_draw_indirect_count", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, amd_gcn_shader => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_gcn_shader.html) ", raw: b"VK_AMD_gcn_shader", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, amd_gpu_shader_half_float => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_gpu_shader_half_float.html) - Deprecated by [`khr_shader_float16_int8`](crate::device::DeviceExtensions::khr_shader_float16_int8) ", raw: b"VK_AMD_gpu_shader_half_float", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, amd_gpu_shader_int16 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_gpu_shader_int16.html) - Deprecated by [`khr_shader_float16_int8`](crate::device::DeviceExtensions::khr_shader_float16_int8) ", raw: b"VK_AMD_gpu_shader_int16", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, amd_memory_overallocation_behavior => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_memory_overallocation_behavior.html) ", raw: b"VK_AMD_memory_overallocation_behavior", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, amd_mixed_attachment_samples => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_mixed_attachment_samples.html) ", raw: b"VK_AMD_mixed_attachment_samples", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, amd_pipeline_compiler_control => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_pipeline_compiler_control.html) ", raw: b"VK_AMD_pipeline_compiler_control", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, amd_rasterization_order => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_rasterization_order.html) ", raw: b"VK_AMD_rasterization_order", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, amd_shader_ballot => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_shader_ballot.html) ", raw: b"VK_AMD_shader_ballot", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, amd_shader_core_properties => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_shader_core_properties.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_AMD_shader_core_properties", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, amd_shader_core_properties2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_shader_core_properties2.html) - Requires device extension: [`amd_shader_core_properties`](crate::device::DeviceExtensions::amd_shader_core_properties) ", raw: b"VK_AMD_shader_core_properties2", requires_core: crate::Version::V1_0, requires_device_extensions: [amd_shader_core_properties], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, amd_shader_explicit_vertex_parameter => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_shader_explicit_vertex_parameter.html) ", raw: b"VK_AMD_shader_explicit_vertex_parameter", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, amd_shader_fragment_mask => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_shader_fragment_mask.html) ", raw: b"VK_AMD_shader_fragment_mask", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, amd_shader_image_load_store_lod => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_shader_image_load_store_lod.html) ", raw: b"VK_AMD_shader_image_load_store_lod", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, amd_shader_info => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_shader_info.html) ", raw: b"VK_AMD_shader_info", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, amd_shader_trinary_minmax => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_shader_trinary_minmax.html) ", raw: b"VK_AMD_shader_trinary_minmax", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, amd_texture_gather_bias_lod => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_texture_gather_bias_lod.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_AMD_texture_gather_bias_lod", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, android_external_memory_android_hardware_buffer => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_ANDROID_external_memory_android_hardware_buffer.html) - Requires device extensions: [`khr_sampler_ycbcr_conversion`](crate::device::DeviceExtensions::khr_sampler_ycbcr_conversion), [`khr_external_memory`](crate::device::DeviceExtensions::khr_external_memory), [`ext_queue_family_foreign`](crate::device::DeviceExtensions::ext_queue_family_foreign), [`khr_dedicated_allocation`](crate::device::DeviceExtensions::khr_dedicated_allocation) ", raw: b"VK_ANDROID_external_memory_android_hardware_buffer", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_sampler_ycbcr_conversion, khr_external_memory, ext_queue_family_foreign, khr_dedicated_allocation], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, fuchsia_external_memory => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_FUCHSIA_external_memory.html) - Requires device extension: [`khr_external_memory`](crate::device::DeviceExtensions::khr_external_memory) - Requires instance extension: [`khr_external_memory_capabilities`](crate::instance::InstanceExtensions::khr_external_memory_capabilities) ", raw: b"VK_FUCHSIA_external_memory", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_external_memory], requires_instance_extensions: [khr_external_memory_capabilities], required_if_supported: false, conflicts_device_extensions: [], }, fuchsia_external_semaphore => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_FUCHSIA_external_semaphore.html) - Requires device extension: [`khr_external_semaphore`](crate::device::DeviceExtensions::khr_external_semaphore) - Requires instance extension: [`khr_external_semaphore_capabilities`](crate::instance::InstanceExtensions::khr_external_semaphore_capabilities) ", raw: b"VK_FUCHSIA_external_semaphore", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_external_semaphore], requires_instance_extensions: [khr_external_semaphore_capabilities], required_if_supported: false, conflicts_device_extensions: [], }, ggp_frame_token => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_GGP_frame_token.html) - Requires device extension: [`khr_swapchain`](crate::device::DeviceExtensions::khr_swapchain) - Requires instance extension: [`ggp_stream_descriptor_surface`](crate::instance::InstanceExtensions::ggp_stream_descriptor_surface) ", raw: b"VK_GGP_frame_token", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_swapchain], requires_instance_extensions: [ggp_stream_descriptor_surface], required_if_supported: false, conflicts_device_extensions: [], }, google_decorate_string => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_GOOGLE_decorate_string.html) ", raw: b"VK_GOOGLE_decorate_string", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, google_display_timing => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_GOOGLE_display_timing.html) - Requires device extension: [`khr_swapchain`](crate::device::DeviceExtensions::khr_swapchain) ", raw: b"VK_GOOGLE_display_timing", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_swapchain], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, google_hlsl_functionality1 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_GOOGLE_hlsl_functionality1.html) ", raw: b"VK_GOOGLE_hlsl_functionality1", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, google_user_type => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_GOOGLE_user_type.html) ", raw: b"VK_GOOGLE_user_type", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, huawei_invocation_mask => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_HUAWEI_invocation_mask.html) - Requires device extensions: [`khr_ray_tracing_pipeline`](crate::device::DeviceExtensions::khr_ray_tracing_pipeline), [`khr_synchronization2`](crate::device::DeviceExtensions::khr_synchronization2) ", raw: b"VK_HUAWEI_invocation_mask", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_ray_tracing_pipeline, khr_synchronization2], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, huawei_subpass_shading => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_HUAWEI_subpass_shading.html) - Requires device extensions: [`khr_create_renderpass2`](crate::device::DeviceExtensions::khr_create_renderpass2), [`khr_synchronization2`](crate::device::DeviceExtensions::khr_synchronization2) ", raw: b"VK_HUAWEI_subpass_shading", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_create_renderpass2, khr_synchronization2], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, img_filter_cubic => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_IMG_filter_cubic.html) ", raw: b"VK_IMG_filter_cubic", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, img_format_pvrtc => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_IMG_format_pvrtc.html) ", raw: b"VK_IMG_format_pvrtc", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, intel_performance_query => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_INTEL_performance_query.html) ", raw: b"VK_INTEL_performance_query", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, intel_shader_integer_functions2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_INTEL_shader_integer_functions2.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_INTEL_shader_integer_functions2", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, nvx_binary_import => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NVX_binary_import.html) ", raw: b"VK_NVX_binary_import", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nvx_image_view_handle => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NVX_image_view_handle.html) ", raw: b"VK_NVX_image_view_handle", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nvx_multiview_per_view_attributes => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NVX_multiview_per_view_attributes.html) - Requires device extension: [`khr_multiview`](crate::device::DeviceExtensions::khr_multiview) ", raw: b"VK_NVX_multiview_per_view_attributes", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_multiview], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_acquire_winrt_display => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_acquire_winrt_display.html) - Requires instance extension: [`ext_direct_mode_display`](crate::instance::InstanceExtensions::ext_direct_mode_display) ", raw: b"VK_NV_acquire_winrt_display", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [ext_direct_mode_display], required_if_supported: false, conflicts_device_extensions: [], }, nv_clip_space_w_scaling => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_clip_space_w_scaling.html) ", raw: b"VK_NV_clip_space_w_scaling", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_compute_shader_derivatives => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_compute_shader_derivatives.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_NV_compute_shader_derivatives", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, nv_cooperative_matrix => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_cooperative_matrix.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_NV_cooperative_matrix", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, nv_corner_sampled_image => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_corner_sampled_image.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_NV_corner_sampled_image", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, nv_coverage_reduction_mode => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_coverage_reduction_mode.html) - Requires device extension: [`nv_framebuffer_mixed_samples`](crate::device::DeviceExtensions::nv_framebuffer_mixed_samples) ", raw: b"VK_NV_coverage_reduction_mode", requires_core: crate::Version::V1_0, requires_device_extensions: [nv_framebuffer_mixed_samples], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_dedicated_allocation => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_dedicated_allocation.html) - Deprecated by [`khr_dedicated_allocation`](crate::device::DeviceExtensions::khr_dedicated_allocation) ", raw: b"VK_NV_dedicated_allocation", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_dedicated_allocation_image_aliasing => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_dedicated_allocation_image_aliasing.html) - Requires device extension: [`khr_dedicated_allocation`](crate::device::DeviceExtensions::khr_dedicated_allocation) ", raw: b"VK_NV_dedicated_allocation_image_aliasing", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_dedicated_allocation], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_device_diagnostic_checkpoints => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_device_diagnostic_checkpoints.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_NV_device_diagnostic_checkpoints", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, nv_device_diagnostics_config => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_device_diagnostics_config.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_NV_device_diagnostics_config", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, nv_device_generated_commands => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_device_generated_commands.html) - Requires Vulkan 1.1 ", raw: b"VK_NV_device_generated_commands", requires_core: crate::Version::V1_1, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_external_memory => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_external_memory.html) - Requires instance extension: [`nv_external_memory_capabilities`](crate::instance::InstanceExtensions::nv_external_memory_capabilities) - Deprecated by [`khr_external_memory`](crate::device::DeviceExtensions::khr_external_memory) ", raw: b"VK_NV_external_memory", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [nv_external_memory_capabilities], required_if_supported: false, conflicts_device_extensions: [], }, nv_external_memory_rdma => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_external_memory_rdma.html) - Requires device extension: [`khr_external_memory`](crate::device::DeviceExtensions::khr_external_memory) ", raw: b"VK_NV_external_memory_rdma", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_external_memory], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_external_memory_win32 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_external_memory_win32.html) - Requires device extension: [`nv_external_memory`](crate::device::DeviceExtensions::nv_external_memory) - Deprecated by [`khr_external_memory_win32`](crate::device::DeviceExtensions::khr_external_memory_win32) ", raw: b"VK_NV_external_memory_win32", requires_core: crate::Version::V1_0, requires_device_extensions: [nv_external_memory], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_fill_rectangle => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_fill_rectangle.html) ", raw: b"VK_NV_fill_rectangle", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_fragment_coverage_to_color => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_fragment_coverage_to_color.html) ", raw: b"VK_NV_fragment_coverage_to_color", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_fragment_shader_barycentric => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_fragment_shader_barycentric.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_NV_fragment_shader_barycentric", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, nv_fragment_shading_rate_enums => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_fragment_shading_rate_enums.html) - Requires device extension: [`khr_fragment_shading_rate`](crate::device::DeviceExtensions::khr_fragment_shading_rate) ", raw: b"VK_NV_fragment_shading_rate_enums", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_fragment_shading_rate], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_framebuffer_mixed_samples => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_framebuffer_mixed_samples.html) ", raw: b"VK_NV_framebuffer_mixed_samples", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_geometry_shader_passthrough => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_geometry_shader_passthrough.html) ", raw: b"VK_NV_geometry_shader_passthrough", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_glsl_shader => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_glsl_shader.html) - Deprecated without a replacement ", raw: b"VK_NV_glsl_shader", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_inherited_viewport_scissor => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_inherited_viewport_scissor.html) ", raw: b"VK_NV_inherited_viewport_scissor", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_mesh_shader => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_mesh_shader.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_NV_mesh_shader", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, nv_ray_tracing => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_ray_tracing.html) - Requires device extension: [`khr_get_memory_requirements2`](crate::device::DeviceExtensions::khr_get_memory_requirements2) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_NV_ray_tracing", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_get_memory_requirements2], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, nv_ray_tracing_motion_blur => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_ray_tracing_motion_blur.html) - Requires device extension: [`khr_ray_tracing_pipeline`](crate::device::DeviceExtensions::khr_ray_tracing_pipeline) ", raw: b"VK_NV_ray_tracing_motion_blur", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_ray_tracing_pipeline], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_representative_fragment_test => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_representative_fragment_test.html) ", raw: b"VK_NV_representative_fragment_test", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_sample_mask_override_coverage => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_sample_mask_override_coverage.html) ", raw: b"VK_NV_sample_mask_override_coverage", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_scissor_exclusive => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_scissor_exclusive.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_NV_scissor_exclusive", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, nv_shader_image_footprint => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_shader_image_footprint.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_NV_shader_image_footprint", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, nv_shader_sm_builtins => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_shader_sm_builtins.html) - Requires Vulkan 1.1 ", raw: b"VK_NV_shader_sm_builtins", requires_core: crate::Version::V1_1, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_shader_subgroup_partitioned => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_shader_subgroup_partitioned.html) - Requires Vulkan 1.1 ", raw: b"VK_NV_shader_subgroup_partitioned", requires_core: crate::Version::V1_1, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_shading_rate_image => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_shading_rate_image.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) ", raw: b"VK_NV_shading_rate_image", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [khr_get_physical_device_properties2], required_if_supported: false, conflicts_device_extensions: [], }, nv_viewport_array2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_viewport_array2.html) ", raw: b"VK_NV_viewport_array2", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_viewport_swizzle => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_viewport_swizzle.html) ", raw: b"VK_NV_viewport_swizzle", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, nv_win32_keyed_mutex => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_win32_keyed_mutex.html) - Requires device extension: [`nv_external_memory_win32`](crate::device::DeviceExtensions::nv_external_memory_win32) - Promoted to [`khr_win32_keyed_mutex`](crate::device::DeviceExtensions::khr_win32_keyed_mutex) ", raw: b"VK_NV_win32_keyed_mutex", requires_core: crate::Version::V1_0, requires_device_extensions: [nv_external_memory_win32], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, qcom_render_pass_shader_resolve => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_QCOM_render_pass_shader_resolve.html) ", raw: b"VK_QCOM_render_pass_shader_resolve", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, qcom_render_pass_store_ops => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_QCOM_render_pass_store_ops.html) ", raw: b"VK_QCOM_render_pass_store_ops", requires_core: crate::Version::V1_0, requires_device_extensions: [], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, qcom_render_pass_transform => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_QCOM_render_pass_transform.html) - Requires device extension: [`khr_swapchain`](crate::device::DeviceExtensions::khr_swapchain) - Requires instance extension: [`khr_surface`](crate::instance::InstanceExtensions::khr_surface) ", raw: b"VK_QCOM_render_pass_transform", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_swapchain], requires_instance_extensions: [khr_surface], required_if_supported: false, conflicts_device_extensions: [], }, qcom_rotated_copy_commands => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_QCOM_rotated_copy_commands.html) - Requires device extensions: [`khr_swapchain`](crate::device::DeviceExtensions::khr_swapchain), [`khr_copy_commands2`](crate::device::DeviceExtensions::khr_copy_commands2) ", raw: b"VK_QCOM_rotated_copy_commands", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_swapchain, khr_copy_commands2], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, valve_mutable_descriptor_type => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_VALVE_mutable_descriptor_type.html) - Requires device extension: [`khr_maintenance3`](crate::device::DeviceExtensions::khr_maintenance3) ", raw: b"VK_VALVE_mutable_descriptor_type", requires_core: crate::Version::V1_0, requires_device_extensions: [khr_maintenance3], requires_instance_extensions: [], required_if_supported: false, conflicts_device_extensions: [], }, } crate::instance::extensions::instance_extensions! { khr_android_surface => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_android_surface.html) - Requires instance extension: [`khr_surface`](crate::instance::InstanceExtensions::khr_surface) ", raw: b"VK_KHR_android_surface", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_surface], }, khr_device_group_creation => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_device_group_creation.html) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_device_group_creation", requires_core: crate::Version::V1_0, requires_instance_extensions: [], }, khr_display => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_display.html) - Requires instance extension: [`khr_surface`](crate::instance::InstanceExtensions::khr_surface) ", raw: b"VK_KHR_display", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_surface], }, khr_external_fence_capabilities => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_external_fence_capabilities.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_external_fence_capabilities", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_get_physical_device_properties2], }, khr_external_memory_capabilities => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_external_memory_capabilities.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_external_memory_capabilities", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_get_physical_device_properties2], }, khr_external_semaphore_capabilities => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_external_semaphore_capabilities.html) - Requires instance extension: [`khr_get_physical_device_properties2`](crate::instance::InstanceExtensions::khr_get_physical_device_properties2) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_external_semaphore_capabilities", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_get_physical_device_properties2], }, khr_get_display_properties2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_get_display_properties2.html) - Requires instance extension: [`khr_display`](crate::instance::InstanceExtensions::khr_display) ", raw: b"VK_KHR_get_display_properties2", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_display], }, khr_get_physical_device_properties2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_get_physical_device_properties2.html) - Promoted to Vulkan 1.1 ", raw: b"VK_KHR_get_physical_device_properties2", requires_core: crate::Version::V1_0, requires_instance_extensions: [], }, khr_get_surface_capabilities2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_get_surface_capabilities2.html) - Requires instance extension: [`khr_surface`](crate::instance::InstanceExtensions::khr_surface) ", raw: b"VK_KHR_get_surface_capabilities2", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_surface], }, khr_surface => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_surface.html) ", raw: b"VK_KHR_surface", requires_core: crate::Version::V1_0, requires_instance_extensions: [], }, khr_surface_protected_capabilities => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_surface_protected_capabilities.html) - Requires Vulkan 1.1 - Requires instance extension: [`khr_get_surface_capabilities2`](crate::instance::InstanceExtensions::khr_get_surface_capabilities2) ", raw: b"VK_KHR_surface_protected_capabilities", requires_core: crate::Version::V1_1, requires_instance_extensions: [khr_get_surface_capabilities2], }, khr_wayland_surface => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_wayland_surface.html) - Requires instance extension: [`khr_surface`](crate::instance::InstanceExtensions::khr_surface) ", raw: b"VK_KHR_wayland_surface", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_surface], }, khr_win32_surface => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_win32_surface.html) - Requires instance extension: [`khr_surface`](crate::instance::InstanceExtensions::khr_surface) ", raw: b"VK_KHR_win32_surface", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_surface], }, khr_xcb_surface => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_xcb_surface.html) - Requires instance extension: [`khr_surface`](crate::instance::InstanceExtensions::khr_surface) ", raw: b"VK_KHR_xcb_surface", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_surface], }, khr_xlib_surface => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_xlib_surface.html) - Requires instance extension: [`khr_surface`](crate::instance::InstanceExtensions::khr_surface) ", raw: b"VK_KHR_xlib_surface", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_surface], }, ext_acquire_drm_display => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_acquire_drm_display.html) - Requires instance extension: [`ext_direct_mode_display`](crate::instance::InstanceExtensions::ext_direct_mode_display) ", raw: b"VK_EXT_acquire_drm_display", requires_core: crate::Version::V1_0, requires_instance_extensions: [ext_direct_mode_display], }, ext_acquire_xlib_display => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_acquire_xlib_display.html) - Requires instance extension: [`ext_direct_mode_display`](crate::instance::InstanceExtensions::ext_direct_mode_display) ", raw: b"VK_EXT_acquire_xlib_display", requires_core: crate::Version::V1_0, requires_instance_extensions: [ext_direct_mode_display], }, ext_debug_report => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_debug_report.html) - Deprecated by [`ext_debug_utils`](crate::instance::InstanceExtensions::ext_debug_utils) ", raw: b"VK_EXT_debug_report", requires_core: crate::Version::V1_0, requires_instance_extensions: [], }, ext_debug_utils => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_debug_utils.html) ", raw: b"VK_EXT_debug_utils", requires_core: crate::Version::V1_0, requires_instance_extensions: [], }, ext_direct_mode_display => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_direct_mode_display.html) - Requires instance extension: [`khr_display`](crate::instance::InstanceExtensions::khr_display) ", raw: b"VK_EXT_direct_mode_display", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_display], }, ext_directfb_surface => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_directfb_surface.html) - Requires instance extension: [`khr_surface`](crate::instance::InstanceExtensions::khr_surface) ", raw: b"VK_EXT_directfb_surface", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_surface], }, ext_display_surface_counter => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_display_surface_counter.html) - Requires instance extension: [`khr_display`](crate::instance::InstanceExtensions::khr_display) ", raw: b"VK_EXT_display_surface_counter", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_display], }, ext_headless_surface => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_headless_surface.html) - Requires instance extension: [`khr_surface`](crate::instance::InstanceExtensions::khr_surface) ", raw: b"VK_EXT_headless_surface", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_surface], }, ext_metal_surface => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_metal_surface.html) - Requires instance extension: [`khr_surface`](crate::instance::InstanceExtensions::khr_surface) ", raw: b"VK_EXT_metal_surface", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_surface], }, ext_swapchain_colorspace => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_swapchain_colorspace.html) - Requires instance extension: [`khr_surface`](crate::instance::InstanceExtensions::khr_surface) ", raw: b"VK_EXT_swapchain_colorspace", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_surface], }, ext_validation_features => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_validation_features.html) ", raw: b"VK_EXT_validation_features", requires_core: crate::Version::V1_0, requires_instance_extensions: [], }, ext_validation_flags => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_validation_flags.html) - Deprecated by [`ext_validation_features`](crate::instance::InstanceExtensions::ext_validation_features) ", raw: b"VK_EXT_validation_flags", requires_core: crate::Version::V1_0, requires_instance_extensions: [], }, fuchsia_imagepipe_surface => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_FUCHSIA_imagepipe_surface.html) - Requires instance extension: [`khr_surface`](crate::instance::InstanceExtensions::khr_surface) ", raw: b"VK_FUCHSIA_imagepipe_surface", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_surface], }, ggp_stream_descriptor_surface => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_GGP_stream_descriptor_surface.html) - Requires instance extension: [`khr_surface`](crate::instance::InstanceExtensions::khr_surface) ", raw: b"VK_GGP_stream_descriptor_surface", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_surface], }, mvk_ios_surface => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_MVK_ios_surface.html) - Requires instance extension: [`khr_surface`](crate::instance::InstanceExtensions::khr_surface) - Deprecated by [`ext_metal_surface`](crate::instance::InstanceExtensions::ext_metal_surface) ", raw: b"VK_MVK_ios_surface", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_surface], }, mvk_macos_surface => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_MVK_macos_surface.html) - Requires instance extension: [`khr_surface`](crate::instance::InstanceExtensions::khr_surface) - Deprecated by [`ext_metal_surface`](crate::instance::InstanceExtensions::ext_metal_surface) ", raw: b"VK_MVK_macos_surface", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_surface], }, nn_vi_surface => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NN_vi_surface.html) - Requires instance extension: [`khr_surface`](crate::instance::InstanceExtensions::khr_surface) ", raw: b"VK_NN_vi_surface", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_surface], }, nv_external_memory_capabilities => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_external_memory_capabilities.html) - Deprecated by [`khr_external_memory_capabilities`](crate::instance::InstanceExtensions::khr_external_memory_capabilities) ", raw: b"VK_NV_external_memory_capabilities", requires_core: crate::Version::V1_0, requires_instance_extensions: [], }, qnx_screen_surface => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_QNX_screen_surface.html) - Requires instance extension: [`khr_surface`](crate::instance::InstanceExtensions::khr_surface) ", raw: b"VK_QNX_screen_surface", requires_core: crate::Version::V1_0, requires_instance_extensions: [khr_surface], }, } crate::fns::fns!(EntryFunctions, { v1_0 => EntryFnV1_0, v1_1 => EntryFnV1_1, v1_2 => EntryFnV1_2, }); crate::fns::fns!(InstanceFunctions, { v1_0 => InstanceFnV1_0, v1_1 => InstanceFnV1_1, v1_2 => InstanceFnV1_2, khr_android_surface => KhrAndroidSurfaceFn, khr_device_group_creation => KhrDeviceGroupCreationFn, khr_display => KhrDisplayFn, khr_external_fence_capabilities => KhrExternalFenceCapabilitiesFn, khr_external_memory_capabilities => KhrExternalMemoryCapabilitiesFn, khr_external_semaphore_capabilities => KhrExternalSemaphoreCapabilitiesFn, khr_get_display_properties2 => KhrGetDisplayProperties2Fn, khr_get_physical_device_properties2 => KhrGetPhysicalDeviceProperties2Fn, khr_get_surface_capabilities2 => KhrGetSurfaceCapabilities2Fn, khr_surface => KhrSurfaceFn, khr_wayland_surface => KhrWaylandSurfaceFn, khr_win32_surface => KhrWin32SurfaceFn, khr_xcb_surface => KhrXcbSurfaceFn, khr_xlib_surface => KhrXlibSurfaceFn, ext_acquire_drm_display => ExtAcquireDrmDisplayFn, ext_acquire_xlib_display => ExtAcquireXlibDisplayFn, ext_debug_report => ExtDebugReportFn, ext_debug_utils => ExtDebugUtilsFn, ext_direct_mode_display => ExtDirectModeDisplayFn, ext_directfb_surface => ExtDirectfbSurfaceFn, ext_display_surface_counter => ExtDisplaySurfaceCounterFn, ext_headless_surface => ExtHeadlessSurfaceFn, ext_metal_surface => ExtMetalSurfaceFn, fuchsia_imagepipe_surface => FuchsiaImagepipeSurfaceFn, ggp_stream_descriptor_surface => GgpStreamDescriptorSurfaceFn, mvk_ios_surface => MvkIosSurfaceFn, mvk_macos_surface => MvkMacosSurfaceFn, nn_vi_surface => NnViSurfaceFn, nv_external_memory_capabilities => NvExternalMemoryCapabilitiesFn, qnx_screen_surface => QnxScreenSurfaceFn, }); crate::fns::fns!(DeviceFunctions, { v1_0 => DeviceFnV1_0, v1_1 => DeviceFnV1_1, v1_2 => DeviceFnV1_2, khr_acceleration_structure => KhrAccelerationStructureFn, khr_bind_memory2 => KhrBindMemory2Fn, khr_buffer_device_address => KhrBufferDeviceAddressFn, khr_copy_commands2 => KhrCopyCommands2Fn, khr_create_renderpass2 => KhrCreateRenderpass2Fn, khr_deferred_host_operations => KhrDeferredHostOperationsFn, khr_descriptor_update_template => KhrDescriptorUpdateTemplateFn, khr_device_group => KhrDeviceGroupFn, khr_display_swapchain => KhrDisplaySwapchainFn, khr_draw_indirect_count => KhrDrawIndirectCountFn, khr_external_fence_fd => KhrExternalFenceFdFn, khr_external_fence_win32 => KhrExternalFenceWin32Fn, khr_external_memory_fd => KhrExternalMemoryFdFn, khr_external_memory_win32 => KhrExternalMemoryWin32Fn, khr_external_semaphore_fd => KhrExternalSemaphoreFdFn, khr_external_semaphore_win32 => KhrExternalSemaphoreWin32Fn, khr_fragment_shading_rate => KhrFragmentShadingRateFn, khr_get_memory_requirements2 => KhrGetMemoryRequirements2Fn, khr_maintenance1 => KhrMaintenance1Fn, khr_maintenance3 => KhrMaintenance3Fn, khr_performance_query => KhrPerformanceQueryFn, khr_pipeline_executable_properties => KhrPipelineExecutablePropertiesFn, khr_present_wait => KhrPresentWaitFn, khr_push_descriptor => KhrPushDescriptorFn, khr_ray_tracing_pipeline => KhrRayTracingPipelineFn, khr_sampler_ycbcr_conversion => KhrSamplerYcbcrConversionFn, khr_shared_presentable_image => KhrSharedPresentableImageFn, khr_swapchain => KhrSwapchainFn, khr_synchronization2 => KhrSynchronization2Fn, khr_timeline_semaphore => KhrTimelineSemaphoreFn, khr_video_decode_queue => KhrVideoDecodeQueueFn, khr_video_encode_queue => KhrVideoEncodeQueueFn, khr_video_queue => KhrVideoQueueFn, ext_buffer_device_address => ExtBufferDeviceAddressFn, ext_calibrated_timestamps => ExtCalibratedTimestampsFn, ext_color_write_enable => ExtColorWriteEnableFn, ext_conditional_rendering => ExtConditionalRenderingFn, ext_debug_marker => ExtDebugMarkerFn, ext_discard_rectangles => ExtDiscardRectanglesFn, ext_display_control => ExtDisplayControlFn, ext_extended_dynamic_state => ExtExtendedDynamicStateFn, ext_extended_dynamic_state2 => ExtExtendedDynamicState2Fn, ext_external_memory_host => ExtExternalMemoryHostFn, ext_full_screen_exclusive => ExtFullScreenExclusiveFn, ext_hdr_metadata => ExtHdrMetadataFn, ext_host_query_reset => ExtHostQueryResetFn, ext_image_drm_format_modifier => ExtImageDrmFormatModifierFn, ext_line_rasterization => ExtLineRasterizationFn, ext_multi_draw => ExtMultiDrawFn, ext_private_data => ExtPrivateDataFn, ext_sample_locations => ExtSampleLocationsFn, ext_tooling_info => ExtToolingInfoFn, ext_transform_feedback => ExtTransformFeedbackFn, ext_validation_cache => ExtValidationCacheFn, ext_vertex_input_dynamic_state => ExtVertexInputDynamicStateFn, amd_buffer_marker => AmdBufferMarkerFn, amd_display_native_hdr => AmdDisplayNativeHdrFn, amd_draw_indirect_count => AmdDrawIndirectCountFn, amd_shader_info => AmdShaderInfoFn, android_external_memory_android_hardware_buffer => AndroidExternalMemoryAndroidHardwareBufferFn, fuchsia_external_memory => FuchsiaExternalMemoryFn, fuchsia_external_semaphore => FuchsiaExternalSemaphoreFn, google_display_timing => GoogleDisplayTimingFn, huawei_invocation_mask => HuaweiInvocationMaskFn, huawei_subpass_shading => HuaweiSubpassShadingFn, intel_performance_query => IntelPerformanceQueryFn, nvx_binary_import => NvxBinaryImportFn, nvx_image_view_handle => NvxImageViewHandleFn, nv_acquire_winrt_display => NvAcquireWinrtDisplayFn, nv_clip_space_w_scaling => NvClipSpaceWScalingFn, nv_cooperative_matrix => NvCooperativeMatrixFn, nv_coverage_reduction_mode => NvCoverageReductionModeFn, nv_device_diagnostic_checkpoints => NvDeviceDiagnosticCheckpointsFn, nv_device_generated_commands => NvDeviceGeneratedCommandsFn, nv_external_memory_rdma => NvExternalMemoryRdmaFn, nv_external_memory_win32 => NvExternalMemoryWin32Fn, nv_fragment_shading_rate_enums => NvFragmentShadingRateEnumsFn, nv_mesh_shader => NvMeshShaderFn, nv_ray_tracing => NvRayTracingFn, nv_scissor_exclusive => NvScissorExclusiveFn, nv_shading_rate_image => NvShadingRateImageFn, }); crate::device::features::features! { acceleration_structure => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceAccelerationStructureFeaturesKHR.html#features-accelerationStructure) ", ffi_name: acceleration_structure, ffi_members: [features_acceleration_structure_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, acceleration_structure_capture_replay => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceAccelerationStructureFeaturesKHR.html#features-accelerationStructureCaptureReplay) ", ffi_name: acceleration_structure_capture_replay, ffi_members: [features_acceleration_structure_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, acceleration_structure_host_commands => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceAccelerationStructureFeaturesKHR.html#features-accelerationStructureHostCommands) ", ffi_name: acceleration_structure_host_commands, ffi_members: [features_acceleration_structure_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, acceleration_structure_indirect_build => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceAccelerationStructureFeaturesKHR.html#features-accelerationStructureIndirectBuild) ", ffi_name: acceleration_structure_indirect_build, ffi_members: [features_acceleration_structure_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, advanced_blend_coherent_operations => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT.html#features-advancedBlendCoherentOperations) ", ffi_name: advanced_blend_coherent_operations, ffi_members: [features_blend_operation_advanced_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, alpha_to_one => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-alphaToOne) ", ffi_name: alpha_to_one, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, attachment_fragment_shading_rate => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRateFeaturesKHR.html#features-attachmentFragmentShadingRate) - Conflicts with features: [`shading_rate_image`](crate::device::Features::shading_rate_image), [`fragment_density_map`](crate::device::Features::fragment_density_map) ", ffi_name: attachment_fragment_shading_rate, ffi_members: [features_fragment_shading_rate_khr], requires_features: [], conflicts_features: [shading_rate_image, fragment_density_map], required_by_extensions: [], }, bresenham_lines => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLineRasterizationFeaturesEXT.html#features-bresenhamLines) ", ffi_name: bresenham_lines, ffi_members: [features_line_rasterization_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, buffer_device_address => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-bufferDeviceAddress) ", ffi_name: buffer_device_address, ffi_members: [features_vulkan12, features_buffer_device_address, features_buffer_device_address_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, buffer_device_address_capture_replay => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-bufferDeviceAddressCaptureReplay) ", ffi_name: buffer_device_address_capture_replay, ffi_members: [features_vulkan12, features_buffer_device_address, features_buffer_device_address_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, buffer_device_address_multi_device => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-bufferDeviceAddressMultiDevice) ", ffi_name: buffer_device_address_multi_device, ffi_members: [features_vulkan12, features_buffer_device_address, features_buffer_device_address_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, color_write_enable => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceColorWriteEnableFeaturesEXT.html#features-colorWriteEnable) ", ffi_name: color_write_enable, ffi_members: [features_color_write_enable_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, compute_derivative_group_linear => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceComputeShaderDerivativesFeaturesNV.html#features-computeDerivativeGroupLinear) ", ffi_name: compute_derivative_group_linear, ffi_members: [features_compute_shader_derivatives_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, compute_derivative_group_quads => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceComputeShaderDerivativesFeaturesNV.html#features-computeDerivativeGroupQuads) ", ffi_name: compute_derivative_group_quads, ffi_members: [features_compute_shader_derivatives_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, compute_full_subgroups => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.html#features-computeFullSubgroups) ", ffi_name: compute_full_subgroups, ffi_members: [features_subgroup_size_control_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, conditional_rendering => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceConditionalRenderingFeaturesEXT.html#features-conditionalRendering) ", ffi_name: conditional_rendering, ffi_members: [features_conditional_rendering_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, constant_alpha_color_blend_factors => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePortabilitySubsetFeaturesKHR.html#features-constantAlphaColorBlendFactors) ", ffi_name: constant_alpha_color_blend_factors, ffi_members: [features_portability_subset_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, cooperative_matrix => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceCooperativeMatrixFeaturesNV.html#features-cooperativeMatrix) ", ffi_name: cooperative_matrix, ffi_members: [features_cooperative_matrix_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, cooperative_matrix_robust_buffer_access => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceCooperativeMatrixFeaturesNV.html#features-cooperativeMatrixRobustBufferAccess) ", ffi_name: cooperative_matrix_robust_buffer_access, ffi_members: [features_cooperative_matrix_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, corner_sampled_image => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceCornerSampledImageFeaturesNV.html#features-cornerSampledImage) ", ffi_name: corner_sampled_image, ffi_members: [features_corner_sampled_image_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, coverage_reduction_mode => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceCoverageReductionModeFeaturesNV.html#features-coverageReductionMode) ", ffi_name: coverage_reduction_mode, ffi_members: [features_coverage_reduction_mode_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, custom_border_color_without_format => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceCustomBorderColorFeaturesEXT.html#features-customBorderColorWithoutFormat) ", ffi_name: custom_border_color_without_format, ffi_members: [features_custom_border_color_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, custom_border_colors => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceCustomBorderColorFeaturesEXT.html#features-customBorderColors) ", ffi_name: custom_border_colors, ffi_members: [features_custom_border_color_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, decode_mode_shared_exponent => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceASTCDecodeFeaturesEXT.html#features-decodeModeSharedExponent) ", ffi_name: decode_mode_shared_exponent, ffi_members: [features_astc_decode_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, dedicated_allocation_image_aliasing => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV.html#features-dedicatedAllocationImageAliasing) ", ffi_name: dedicated_allocation_image_aliasing, ffi_members: [features_dedicated_allocation_image_aliasing_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, depth_bias_clamp => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-depthBiasClamp) ", ffi_name: depth_bias_clamp, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, depth_bounds => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-depthBounds) ", ffi_name: depth_bounds, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, depth_clamp => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-depthClamp) ", ffi_name: depth_clamp, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, depth_clip_enable => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDepthClipEnableFeaturesEXT.html#features-depthClipEnable) ", ffi_name: depth_clip_enable, ffi_members: [features_depth_clip_enable_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, descriptor_binding_acceleration_structure_update_after_bind => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceAccelerationStructureFeaturesKHR.html#features-descriptorBindingAccelerationStructureUpdateAfterBind) ", ffi_name: descriptor_binding_acceleration_structure_update_after_bind, ffi_members: [features_acceleration_structure_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, descriptor_binding_inline_uniform_block_update_after_bind => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceInlineUniformBlockFeaturesEXT.html#features-descriptorBindingInlineUniformBlockUpdateAfterBind) ", ffi_name: descriptor_binding_inline_uniform_block_update_after_bind, ffi_members: [features_inline_uniform_block_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, descriptor_binding_partially_bound => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-descriptorBindingPartiallyBound) ", ffi_name: descriptor_binding_partially_bound, ffi_members: [features_vulkan12, features_descriptor_indexing], requires_features: [], conflicts_features: [], required_by_extensions: [], }, descriptor_binding_sampled_image_update_after_bind => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-descriptorBindingSampledImageUpdateAfterBind) ", ffi_name: descriptor_binding_sampled_image_update_after_bind, ffi_members: [features_vulkan12, features_descriptor_indexing], requires_features: [], conflicts_features: [], required_by_extensions: [], }, descriptor_binding_storage_buffer_update_after_bind => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-descriptorBindingStorageBufferUpdateAfterBind) ", ffi_name: descriptor_binding_storage_buffer_update_after_bind, ffi_members: [features_vulkan12, features_descriptor_indexing], requires_features: [], conflicts_features: [], required_by_extensions: [], }, descriptor_binding_storage_image_update_after_bind => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-descriptorBindingStorageImageUpdateAfterBind) ", ffi_name: descriptor_binding_storage_image_update_after_bind, ffi_members: [features_vulkan12, features_descriptor_indexing], requires_features: [], conflicts_features: [], required_by_extensions: [], }, descriptor_binding_storage_texel_buffer_update_after_bind => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-descriptorBindingStorageTexelBufferUpdateAfterBind) ", ffi_name: descriptor_binding_storage_texel_buffer_update_after_bind, ffi_members: [features_vulkan12, features_descriptor_indexing], requires_features: [], conflicts_features: [], required_by_extensions: [], }, descriptor_binding_uniform_buffer_update_after_bind => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-descriptorBindingUniformBufferUpdateAfterBind) ", ffi_name: descriptor_binding_uniform_buffer_update_after_bind, ffi_members: [features_vulkan12, features_descriptor_indexing], requires_features: [], conflicts_features: [], required_by_extensions: [], }, descriptor_binding_uniform_texel_buffer_update_after_bind => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-descriptorBindingUniformTexelBufferUpdateAfterBind) ", ffi_name: descriptor_binding_uniform_texel_buffer_update_after_bind, ffi_members: [features_vulkan12, features_descriptor_indexing], requires_features: [], conflicts_features: [], required_by_extensions: [], }, descriptor_binding_update_unused_while_pending => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-descriptorBindingUpdateUnusedWhilePending) ", ffi_name: descriptor_binding_update_unused_while_pending, ffi_members: [features_vulkan12, features_descriptor_indexing], requires_features: [], conflicts_features: [], required_by_extensions: [], }, descriptor_binding_variable_descriptor_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-descriptorBindingVariableDescriptorCount) ", ffi_name: descriptor_binding_variable_descriptor_count, ffi_members: [features_vulkan12, features_descriptor_indexing], requires_features: [], conflicts_features: [], required_by_extensions: [], }, descriptor_indexing => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-descriptorIndexing) - Required by device extension: [`ext_descriptor_indexing`](crate::device::DeviceExtensions::ext_descriptor_indexing) ", ffi_name: descriptor_indexing, ffi_members: [features_vulkan12], requires_features: [], conflicts_features: [], required_by_extensions: [ext_descriptor_indexing], }, device_coherent_memory => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceCoherentMemoryFeaturesAMD.html#features-deviceCoherentMemory) ", ffi_name: device_coherent_memory, ffi_members: [features_coherent_memory_amd], requires_features: [], conflicts_features: [], required_by_extensions: [], }, device_generated_commands => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV.html#features-deviceGeneratedCommands) ", ffi_name: device_generated_commands, ffi_members: [features_device_generated_commands_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, device_memory_report => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDeviceMemoryReportFeaturesEXT.html#features-deviceMemoryReport) ", ffi_name: device_memory_report, ffi_members: [features_device_memory_report_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, diagnostics_config => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDiagnosticsConfigFeaturesNV.html#features-diagnosticsConfig) ", ffi_name: diagnostics_config, ffi_members: [features_diagnostics_config_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, draw_indirect_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-drawIndirectCount) - Required by device extension: [`khr_draw_indirect_count`](crate::device::DeviceExtensions::khr_draw_indirect_count) ", ffi_name: draw_indirect_count, ffi_members: [features_vulkan12], requires_features: [], conflicts_features: [], required_by_extensions: [khr_draw_indirect_count], }, draw_indirect_first_instance => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-drawIndirectFirstInstance) ", ffi_name: draw_indirect_first_instance, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, dual_src_blend => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-dualSrcBlend) ", ffi_name: dual_src_blend, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, events => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePortabilitySubsetFeaturesKHR.html#features-events) ", ffi_name: events, ffi_members: [features_portability_subset_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, exclusive_scissor => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceExclusiveScissorFeaturesNV.html#features-exclusiveScissor) ", ffi_name: exclusive_scissor, ffi_members: [features_exclusive_scissor_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, extended_dynamic_state => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceExtendedDynamicStateFeaturesEXT.html#features-extendedDynamicState) ", ffi_name: extended_dynamic_state, ffi_members: [features_extended_dynamic_state_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, extended_dynamic_state2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceExtendedDynamicState2FeaturesEXT.html#features-extendedDynamicState2) ", ffi_name: extended_dynamic_state2, ffi_members: [features_extended_dynamic_state2_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, extended_dynamic_state2_logic_op => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceExtendedDynamicState2FeaturesEXT.html#features-extendedDynamicState2LogicOp) ", ffi_name: extended_dynamic_state2_logic_op, ffi_members: [features_extended_dynamic_state2_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, extended_dynamic_state2_patch_control_points => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceExtendedDynamicState2FeaturesEXT.html#features-extendedDynamicState2PatchControlPoints) ", ffi_name: extended_dynamic_state2_patch_control_points, ffi_members: [features_extended_dynamic_state2_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, external_memory_rdma => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceExternalMemoryRDMAFeaturesNV.html#features-externalMemoryRDMA) ", ffi_name: external_memory_rdma, ffi_members: [features_external_memory_rdma_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, fill_mode_non_solid => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-fillModeNonSolid) ", ffi_name: fill_mode_non_solid, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, format_a4b4g4r4 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevice4444FormatsFeaturesEXT.html#features-formatA4B4G4R4) ", ffi_name: format_a4b4g4r4, ffi_members: [features_4444formats_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, format_a4r4g4b4 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevice4444FormatsFeaturesEXT.html#features-formatA4R4G4B4) ", ffi_name: format_a4r4g4b4, ffi_members: [features_4444formats_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, fragment_density_map => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentDensityMapFeaturesEXT.html#features-fragmentDensityMap) - Conflicts with features: [`pipeline_fragment_shading_rate`](crate::device::Features::pipeline_fragment_shading_rate), [`primitive_fragment_shading_rate`](crate::device::Features::primitive_fragment_shading_rate), [`attachment_fragment_shading_rate`](crate::device::Features::attachment_fragment_shading_rate) ", ffi_name: fragment_density_map, ffi_members: [features_fragment_density_map_ext], requires_features: [], conflicts_features: [pipeline_fragment_shading_rate, primitive_fragment_shading_rate, attachment_fragment_shading_rate], required_by_extensions: [], }, fragment_density_map_deferred => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentDensityMap2FeaturesEXT.html#features-fragmentDensityMapDeferred) ", ffi_name: fragment_density_map_deferred, ffi_members: [features_fragment_density_map2_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, fragment_density_map_dynamic => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentDensityMapFeaturesEXT.html#features-fragmentDensityMapDynamic) ", ffi_name: fragment_density_map_dynamic, ffi_members: [features_fragment_density_map_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, fragment_density_map_non_subsampled_images => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentDensityMapFeaturesEXT.html#features-fragmentDensityMapNonSubsampledImages) ", ffi_name: fragment_density_map_non_subsampled_images, ffi_members: [features_fragment_density_map_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, fragment_shader_barycentric => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV.html#features-fragmentShaderBarycentric) ", ffi_name: fragment_shader_barycentric, ffi_members: [features_fragment_shader_barycentric_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, fragment_shader_pixel_interlock => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT.html#features-fragmentShaderPixelInterlock) ", ffi_name: fragment_shader_pixel_interlock, ffi_members: [features_fragment_shader_interlock_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, fragment_shader_sample_interlock => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT.html#features-fragmentShaderSampleInterlock) ", ffi_name: fragment_shader_sample_interlock, ffi_members: [features_fragment_shader_interlock_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, fragment_shader_shading_rate_interlock => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT.html#features-fragmentShaderShadingRateInterlock) ", ffi_name: fragment_shader_shading_rate_interlock, ffi_members: [features_fragment_shader_interlock_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, fragment_shading_rate_enums => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV.html#features-fragmentShadingRateEnums) ", ffi_name: fragment_shading_rate_enums, ffi_members: [features_fragment_shading_rate_enums_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, fragment_stores_and_atomics => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-fragmentStoresAndAtomics) ", ffi_name: fragment_stores_and_atomics, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, full_draw_index_uint32 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-fullDrawIndexUint32) ", ffi_name: full_draw_index_uint32, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, geometry_shader => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-geometryShader) ", ffi_name: geometry_shader, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, geometry_streams => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceTransformFeedbackFeaturesEXT.html#features-geometryStreams) ", ffi_name: geometry_streams, ffi_members: [features_transform_feedback_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, global_priority_query => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT.html#features-globalPriorityQuery) ", ffi_name: global_priority_query, ffi_members: [features_global_priority_query_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, host_query_reset => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-hostQueryReset) ", ffi_name: host_query_reset, ffi_members: [features_vulkan12, features_host_query_reset], requires_features: [], conflicts_features: [], required_by_extensions: [], }, image_cube_array => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-imageCubeArray) ", ffi_name: image_cube_array, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, image_footprint => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderImageFootprintFeaturesNV.html#features-imageFootprint) ", ffi_name: image_footprint, ffi_members: [features_shader_image_footprint_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, image_view2_d_on3_d_image => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePortabilitySubsetFeaturesKHR.html#features-imageView2DOn3DImage) ", ffi_name: image_view2_d_on3_d_image, ffi_members: [features_portability_subset_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, image_view_format_reinterpretation => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePortabilitySubsetFeaturesKHR.html#features-imageViewFormatReinterpretation) ", ffi_name: image_view_format_reinterpretation, ffi_members: [features_portability_subset_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, image_view_format_swizzle => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePortabilitySubsetFeaturesKHR.html#features-imageViewFormatSwizzle) ", ffi_name: image_view_format_swizzle, ffi_members: [features_portability_subset_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, imageless_framebuffer => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-imagelessFramebuffer) ", ffi_name: imageless_framebuffer, ffi_members: [features_vulkan12, features_imageless_framebuffer], requires_features: [], conflicts_features: [], required_by_extensions: [], }, independent_blend => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-independentBlend) ", ffi_name: independent_blend, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, index_type_uint8 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceIndexTypeUint8FeaturesEXT.html#features-indexTypeUint8) ", ffi_name: index_type_uint8, ffi_members: [features_index_type_uint8_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, inherited_conditional_rendering => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceConditionalRenderingFeaturesEXT.html#features-inheritedConditionalRendering) ", ffi_name: inherited_conditional_rendering, ffi_members: [features_conditional_rendering_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, inherited_queries => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-inheritedQueries) ", ffi_name: inherited_queries, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, inherited_viewport_scissor2_d => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceInheritedViewportScissorFeaturesNV.html#features-inheritedViewportScissor2D) ", ffi_name: inherited_viewport_scissor2_d, ffi_members: [features_inherited_viewport_scissor_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, inline_uniform_block => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceInlineUniformBlockFeaturesEXT.html#features-inlineUniformBlock) ", ffi_name: inline_uniform_block, ffi_members: [features_inline_uniform_block_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, invocation_mask => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceInvocationMaskFeaturesHUAWEI.html#features-invocationMask) ", ffi_name: invocation_mask, ffi_members: [features_invocation_mask_huawei], requires_features: [], conflicts_features: [], required_by_extensions: [], }, large_points => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-largePoints) ", ffi_name: large_points, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, logic_op => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-logicOp) ", ffi_name: logic_op, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, memory_priority => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceMemoryPriorityFeaturesEXT.html#features-memoryPriority) ", ffi_name: memory_priority, ffi_members: [features_memory_priority_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, mesh_shader => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceMeshShaderFeaturesNV.html#features-meshShader) ", ffi_name: mesh_shader, ffi_members: [features_mesh_shader_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, multi_draw => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceMultiDrawFeaturesEXT.html#features-multiDraw) ", ffi_name: multi_draw, ffi_members: [features_multi_draw_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, multi_draw_indirect => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-multiDrawIndirect) ", ffi_name: multi_draw_indirect, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, multi_viewport => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-multiViewport) ", ffi_name: multi_viewport, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, multisample_array_image => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePortabilitySubsetFeaturesKHR.html#features-multisampleArrayImage) ", ffi_name: multisample_array_image, ffi_members: [features_portability_subset_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, multiview => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Features.html#features-multiview) ", ffi_name: multiview, ffi_members: [features_vulkan11, features_multiview], requires_features: [], conflicts_features: [], required_by_extensions: [], }, multiview_geometry_shader => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Features.html#features-multiviewGeometryShader) ", ffi_name: multiview_geometry_shader, ffi_members: [features_vulkan11, features_multiview], requires_features: [], conflicts_features: [], required_by_extensions: [], }, multiview_tessellation_shader => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Features.html#features-multiviewTessellationShader) ", ffi_name: multiview_tessellation_shader, ffi_members: [features_vulkan11, features_multiview], requires_features: [], conflicts_features: [], required_by_extensions: [], }, mutable_comparison_samplers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePortabilitySubsetFeaturesKHR.html#features-mutableComparisonSamplers) ", ffi_name: mutable_comparison_samplers, ffi_members: [features_portability_subset_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, mutable_descriptor_type => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE.html#features-mutableDescriptorType) ", ffi_name: mutable_descriptor_type, ffi_members: [features_mutable_descriptor_type_valve], requires_features: [], conflicts_features: [], required_by_extensions: [], }, no_invocation_fragment_shading_rates => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV.html#features-noInvocationFragmentShadingRates) ", ffi_name: no_invocation_fragment_shading_rates, ffi_members: [features_fragment_shading_rate_enums_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, null_descriptor => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRobustness2FeaturesEXT.html#features-nullDescriptor) ", ffi_name: null_descriptor, ffi_members: [features_robustness2_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, occlusion_query_precise => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-occlusionQueryPrecise) ", ffi_name: occlusion_query_precise, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, performance_counter_multiple_query_pools => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePerformanceQueryFeaturesKHR.html#features-performanceCounterMultipleQueryPools) ", ffi_name: performance_counter_multiple_query_pools, ffi_members: [features_performance_query_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, performance_counter_query_pools => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePerformanceQueryFeaturesKHR.html#features-performanceCounterQueryPools) ", ffi_name: performance_counter_query_pools, ffi_members: [features_performance_query_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, pipeline_creation_cache_control => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT.html#features-pipelineCreationCacheControl) ", ffi_name: pipeline_creation_cache_control, ffi_members: [features_pipeline_creation_cache_control_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, pipeline_executable_info => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR.html#features-pipelineExecutableInfo) ", ffi_name: pipeline_executable_info, ffi_members: [features_pipeline_executable_properties_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, pipeline_fragment_shading_rate => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRateFeaturesKHR.html#features-pipelineFragmentShadingRate) - Conflicts with features: [`shading_rate_image`](crate::device::Features::shading_rate_image), [`fragment_density_map`](crate::device::Features::fragment_density_map) ", ffi_name: pipeline_fragment_shading_rate, ffi_members: [features_fragment_shading_rate_khr], requires_features: [], conflicts_features: [shading_rate_image, fragment_density_map], required_by_extensions: [], }, pipeline_statistics_query => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-pipelineStatisticsQuery) ", ffi_name: pipeline_statistics_query, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, point_polygons => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePortabilitySubsetFeaturesKHR.html#features-pointPolygons) ", ffi_name: point_polygons, ffi_members: [features_portability_subset_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, present_id => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePresentIdFeaturesKHR.html#features-presentId) ", ffi_name: present_id, ffi_members: [features_present_id_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, present_wait => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePresentWaitFeaturesKHR.html#features-presentWait) ", ffi_name: present_wait, ffi_members: [features_present_wait_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, primitive_fragment_shading_rate => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRateFeaturesKHR.html#features-primitiveFragmentShadingRate) - Conflicts with features: [`shading_rate_image`](crate::device::Features::shading_rate_image), [`fragment_density_map`](crate::device::Features::fragment_density_map) ", ffi_name: primitive_fragment_shading_rate, ffi_members: [features_fragment_shading_rate_khr], requires_features: [], conflicts_features: [shading_rate_image, fragment_density_map], required_by_extensions: [], }, private_data => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePrivateDataFeaturesEXT.html#features-privateData) ", ffi_name: private_data, ffi_members: [features_private_data_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, protected_memory => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Features.html#features-protectedMemory) ", ffi_name: protected_memory, ffi_members: [features_vulkan11, features_protected_memory], requires_features: [], conflicts_features: [], required_by_extensions: [], }, provoking_vertex_last => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceProvokingVertexFeaturesEXT.html#features-provokingVertexLast) ", ffi_name: provoking_vertex_last, ffi_members: [features_provoking_vertex_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, ray_query => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRayQueryFeaturesKHR.html#features-rayQuery) ", ffi_name: ray_query, ffi_members: [features_ray_query_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, ray_tracing_motion_blur => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRayTracingMotionBlurFeaturesNV.html#features-rayTracingMotionBlur) ", ffi_name: ray_tracing_motion_blur, ffi_members: [features_ray_tracing_motion_blur_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, ray_tracing_motion_blur_pipeline_trace_rays_indirect => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRayTracingMotionBlurFeaturesNV.html#features-rayTracingMotionBlurPipelineTraceRaysIndirect) ", ffi_name: ray_tracing_motion_blur_pipeline_trace_rays_indirect, ffi_members: [features_ray_tracing_motion_blur_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, ray_tracing_pipeline => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRayTracingPipelineFeaturesKHR.html#features-rayTracingPipeline) ", ffi_name: ray_tracing_pipeline, ffi_members: [features_ray_tracing_pipeline_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, ray_tracing_pipeline_shader_group_handle_capture_replay => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRayTracingPipelineFeaturesKHR.html#features-rayTracingPipelineShaderGroupHandleCaptureReplay) ", ffi_name: ray_tracing_pipeline_shader_group_handle_capture_replay, ffi_members: [features_ray_tracing_pipeline_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, ray_tracing_pipeline_shader_group_handle_capture_replay_mixed => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRayTracingPipelineFeaturesKHR.html#features-rayTracingPipelineShaderGroupHandleCaptureReplayMixed) ", ffi_name: ray_tracing_pipeline_shader_group_handle_capture_replay_mixed, ffi_members: [features_ray_tracing_pipeline_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, ray_tracing_pipeline_trace_rays_indirect => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRayTracingPipelineFeaturesKHR.html#features-rayTracingPipelineTraceRaysIndirect) ", ffi_name: ray_tracing_pipeline_trace_rays_indirect, ffi_members: [features_ray_tracing_pipeline_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, ray_traversal_primitive_culling => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRayTracingPipelineFeaturesKHR.html#features-rayTraversalPrimitiveCulling) ", ffi_name: ray_traversal_primitive_culling, ffi_members: [features_ray_tracing_pipeline_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, rectangular_lines => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLineRasterizationFeaturesEXT.html#features-rectangularLines) ", ffi_name: rectangular_lines, ffi_members: [features_line_rasterization_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, representative_fragment_test => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV.html#features-representativeFragmentTest) ", ffi_name: representative_fragment_test, ffi_members: [features_representative_fragment_test_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, robust_buffer_access => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-robustBufferAccess) ", ffi_name: robust_buffer_access, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, robust_buffer_access2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRobustness2FeaturesEXT.html#features-robustBufferAccess2) ", ffi_name: robust_buffer_access2, ffi_members: [features_robustness2_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, robust_image_access => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceImageRobustnessFeaturesEXT.html#features-robustImageAccess) ", ffi_name: robust_image_access, ffi_members: [features_image_robustness_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, robust_image_access2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRobustness2FeaturesEXT.html#features-robustImageAccess2) ", ffi_name: robust_image_access2, ffi_members: [features_robustness2_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, runtime_descriptor_array => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-runtimeDescriptorArray) ", ffi_name: runtime_descriptor_array, ffi_members: [features_vulkan12, features_descriptor_indexing], requires_features: [], conflicts_features: [], required_by_extensions: [], }, sample_rate_shading => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-sampleRateShading) ", ffi_name: sample_rate_shading, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, sampler_anisotropy => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-samplerAnisotropy) ", ffi_name: sampler_anisotropy, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, sampler_filter_minmax => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-samplerFilterMinmax) - Required by device extension: [`ext_sampler_filter_minmax`](crate::device::DeviceExtensions::ext_sampler_filter_minmax) ", ffi_name: sampler_filter_minmax, ffi_members: [features_vulkan12], requires_features: [], conflicts_features: [], required_by_extensions: [ext_sampler_filter_minmax], }, sampler_mip_lod_bias => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePortabilitySubsetFeaturesKHR.html#features-samplerMipLodBias) ", ffi_name: sampler_mip_lod_bias, ffi_members: [features_portability_subset_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, sampler_mirror_clamp_to_edge => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-samplerMirrorClampToEdge) - Required by device extension: [`khr_sampler_mirror_clamp_to_edge`](crate::device::DeviceExtensions::khr_sampler_mirror_clamp_to_edge) ", ffi_name: sampler_mirror_clamp_to_edge, ffi_members: [features_vulkan12], requires_features: [], conflicts_features: [], required_by_extensions: [khr_sampler_mirror_clamp_to_edge], }, sampler_ycbcr_conversion => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Features.html#features-samplerYcbcrConversion) ", ffi_name: sampler_ycbcr_conversion, ffi_members: [features_vulkan11, features_sampler_ycbcr_conversion], requires_features: [], conflicts_features: [], required_by_extensions: [], }, scalar_block_layout => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-scalarBlockLayout) ", ffi_name: scalar_block_layout, ffi_members: [features_vulkan12, features_scalar_block_layout], requires_features: [], conflicts_features: [], required_by_extensions: [], }, separate_depth_stencil_layouts => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-separateDepthStencilLayouts) ", ffi_name: separate_depth_stencil_layouts, ffi_members: [features_vulkan12, features_separate_depth_stencil_layouts], requires_features: [], conflicts_features: [], required_by_extensions: [], }, separate_stencil_mask_ref => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePortabilitySubsetFeaturesKHR.html#features-separateStencilMaskRef) ", ffi_name: separate_stencil_mask_ref, ffi_members: [features_portability_subset_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_buffer_float16_atomic_add => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT.html#features-shaderBufferFloat16AtomicAdd) ", ffi_name: shader_buffer_float16_atomic_add, ffi_members: [features_shader_atomic_float2_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_buffer_float16_atomic_min_max => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT.html#features-shaderBufferFloat16AtomicMinMax) ", ffi_name: shader_buffer_float16_atomic_min_max, ffi_members: [features_shader_atomic_float2_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_buffer_float16_atomics => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT.html#features-shaderBufferFloat16Atomics) ", ffi_name: shader_buffer_float16_atomics, ffi_members: [features_shader_atomic_float2_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_buffer_float32_atomic_add => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloatFeaturesEXT.html#features-shaderBufferFloat32AtomicAdd) ", ffi_name: shader_buffer_float32_atomic_add, ffi_members: [features_shader_atomic_float_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_buffer_float32_atomic_min_max => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT.html#features-shaderBufferFloat32AtomicMinMax) ", ffi_name: shader_buffer_float32_atomic_min_max, ffi_members: [features_shader_atomic_float2_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_buffer_float32_atomics => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloatFeaturesEXT.html#features-shaderBufferFloat32Atomics) ", ffi_name: shader_buffer_float32_atomics, ffi_members: [features_shader_atomic_float_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_buffer_float64_atomic_add => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloatFeaturesEXT.html#features-shaderBufferFloat64AtomicAdd) ", ffi_name: shader_buffer_float64_atomic_add, ffi_members: [features_shader_atomic_float_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_buffer_float64_atomic_min_max => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT.html#features-shaderBufferFloat64AtomicMinMax) ", ffi_name: shader_buffer_float64_atomic_min_max, ffi_members: [features_shader_atomic_float2_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_buffer_float64_atomics => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloatFeaturesEXT.html#features-shaderBufferFloat64Atomics) ", ffi_name: shader_buffer_float64_atomics, ffi_members: [features_shader_atomic_float_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_buffer_int64_atomics => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-shaderBufferInt64Atomics) ", ffi_name: shader_buffer_int64_atomics, ffi_members: [features_vulkan12, features_shader_atomic_int64], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_clip_distance => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-shaderClipDistance) ", ffi_name: shader_clip_distance, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_cull_distance => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-shaderCullDistance) ", ffi_name: shader_cull_distance, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_demote_to_helper_invocation => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT.html#features-shaderDemoteToHelperInvocation) ", ffi_name: shader_demote_to_helper_invocation, ffi_members: [features_shader_demote_to_helper_invocation_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_device_clock => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderClockFeaturesKHR.html#features-shaderDeviceClock) ", ffi_name: shader_device_clock, ffi_members: [features_shader_clock_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_draw_parameters => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Features.html#features-shaderDrawParameters) - Required by device extension: [`khr_shader_draw_parameters`](crate::device::DeviceExtensions::khr_shader_draw_parameters) ", ffi_name: shader_draw_parameters, ffi_members: [features_vulkan11, features_shader_draw_parameters], requires_features: [], conflicts_features: [], required_by_extensions: [khr_shader_draw_parameters], }, shader_float16 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-shaderFloat16) ", ffi_name: shader_float16, ffi_members: [features_vulkan12, features_shader_float16_int8], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_float64 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-shaderFloat64) ", ffi_name: shader_float64, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_image_float32_atomic_add => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloatFeaturesEXT.html#features-shaderImageFloat32AtomicAdd) ", ffi_name: shader_image_float32_atomic_add, ffi_members: [features_shader_atomic_float_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_image_float32_atomic_min_max => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT.html#features-shaderImageFloat32AtomicMinMax) ", ffi_name: shader_image_float32_atomic_min_max, ffi_members: [features_shader_atomic_float2_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_image_float32_atomics => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloatFeaturesEXT.html#features-shaderImageFloat32Atomics) ", ffi_name: shader_image_float32_atomics, ffi_members: [features_shader_atomic_float_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_image_gather_extended => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-shaderImageGatherExtended) ", ffi_name: shader_image_gather_extended, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_image_int64_atomics => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT.html#features-shaderImageInt64Atomics) ", ffi_name: shader_image_int64_atomics, ffi_members: [features_shader_image_atomic_int64_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_input_attachment_array_dynamic_indexing => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-shaderInputAttachmentArrayDynamicIndexing) ", ffi_name: shader_input_attachment_array_dynamic_indexing, ffi_members: [features_vulkan12, features_descriptor_indexing], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_input_attachment_array_non_uniform_indexing => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-shaderInputAttachmentArrayNonUniformIndexing) ", ffi_name: shader_input_attachment_array_non_uniform_indexing, ffi_members: [features_vulkan12, features_descriptor_indexing], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_int16 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-shaderInt16) ", ffi_name: shader_int16, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_int64 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-shaderInt64) ", ffi_name: shader_int64, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_int8 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-shaderInt8) ", ffi_name: shader_int8, ffi_members: [features_vulkan12, features_shader_float16_int8], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_integer_functions2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL.html#features-shaderIntegerFunctions2) ", ffi_name: shader_integer_functions2, ffi_members: [features_shader_integer_functions2_intel], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_output_layer => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-shaderOutputLayer) - Required by device extension: [`ext_shader_viewport_index_layer`](crate::device::DeviceExtensions::ext_shader_viewport_index_layer) ", ffi_name: shader_output_layer, ffi_members: [features_vulkan12], requires_features: [], conflicts_features: [], required_by_extensions: [ext_shader_viewport_index_layer], }, shader_output_viewport_index => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-shaderOutputViewportIndex) - Required by device extension: [`ext_shader_viewport_index_layer`](crate::device::DeviceExtensions::ext_shader_viewport_index_layer) ", ffi_name: shader_output_viewport_index, ffi_members: [features_vulkan12], requires_features: [], conflicts_features: [], required_by_extensions: [ext_shader_viewport_index_layer], }, shader_resource_min_lod => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-shaderResourceMinLod) ", ffi_name: shader_resource_min_lod, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_resource_residency => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-shaderResourceResidency) ", ffi_name: shader_resource_residency, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_sample_rate_interpolation_functions => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePortabilitySubsetFeaturesKHR.html#features-shaderSampleRateInterpolationFunctions) ", ffi_name: shader_sample_rate_interpolation_functions, ffi_members: [features_portability_subset_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_sampled_image_array_dynamic_indexing => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-shaderSampledImageArrayDynamicIndexing) ", ffi_name: shader_sampled_image_array_dynamic_indexing, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_sampled_image_array_non_uniform_indexing => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-shaderSampledImageArrayNonUniformIndexing) ", ffi_name: shader_sampled_image_array_non_uniform_indexing, ffi_members: [features_vulkan12, features_descriptor_indexing], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_shared_float16_atomic_add => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT.html#features-shaderSharedFloat16AtomicAdd) ", ffi_name: shader_shared_float16_atomic_add, ffi_members: [features_shader_atomic_float2_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_shared_float16_atomic_min_max => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT.html#features-shaderSharedFloat16AtomicMinMax) ", ffi_name: shader_shared_float16_atomic_min_max, ffi_members: [features_shader_atomic_float2_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_shared_float16_atomics => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT.html#features-shaderSharedFloat16Atomics) ", ffi_name: shader_shared_float16_atomics, ffi_members: [features_shader_atomic_float2_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_shared_float32_atomic_add => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloatFeaturesEXT.html#features-shaderSharedFloat32AtomicAdd) ", ffi_name: shader_shared_float32_atomic_add, ffi_members: [features_shader_atomic_float_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_shared_float32_atomic_min_max => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT.html#features-shaderSharedFloat32AtomicMinMax) ", ffi_name: shader_shared_float32_atomic_min_max, ffi_members: [features_shader_atomic_float2_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_shared_float32_atomics => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloatFeaturesEXT.html#features-shaderSharedFloat32Atomics) ", ffi_name: shader_shared_float32_atomics, ffi_members: [features_shader_atomic_float_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_shared_float64_atomic_add => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloatFeaturesEXT.html#features-shaderSharedFloat64AtomicAdd) ", ffi_name: shader_shared_float64_atomic_add, ffi_members: [features_shader_atomic_float_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_shared_float64_atomic_min_max => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT.html#features-shaderSharedFloat64AtomicMinMax) ", ffi_name: shader_shared_float64_atomic_min_max, ffi_members: [features_shader_atomic_float2_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_shared_float64_atomics => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloatFeaturesEXT.html#features-shaderSharedFloat64Atomics) ", ffi_name: shader_shared_float64_atomics, ffi_members: [features_shader_atomic_float_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_shared_int64_atomics => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-shaderSharedInt64Atomics) ", ffi_name: shader_shared_int64_atomics, ffi_members: [features_vulkan12, features_shader_atomic_int64], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_sm_builtins => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderSMBuiltinsFeaturesNV.html#features-shaderSMBuiltins) ", ffi_name: shader_sm_builtins, ffi_members: [features_shader_sm_builtins_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_storage_buffer_array_dynamic_indexing => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-shaderStorageBufferArrayDynamicIndexing) ", ffi_name: shader_storage_buffer_array_dynamic_indexing, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_storage_buffer_array_non_uniform_indexing => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-shaderStorageBufferArrayNonUniformIndexing) ", ffi_name: shader_storage_buffer_array_non_uniform_indexing, ffi_members: [features_vulkan12, features_descriptor_indexing], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_storage_image_array_dynamic_indexing => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-shaderStorageImageArrayDynamicIndexing) ", ffi_name: shader_storage_image_array_dynamic_indexing, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_storage_image_array_non_uniform_indexing => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-shaderStorageImageArrayNonUniformIndexing) ", ffi_name: shader_storage_image_array_non_uniform_indexing, ffi_members: [features_vulkan12, features_descriptor_indexing], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_storage_image_extended_formats => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-shaderStorageImageExtendedFormats) ", ffi_name: shader_storage_image_extended_formats, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_storage_image_multisample => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-shaderStorageImageMultisample) ", ffi_name: shader_storage_image_multisample, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_storage_image_read_without_format => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-shaderStorageImageReadWithoutFormat) ", ffi_name: shader_storage_image_read_without_format, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_storage_image_write_without_format => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-shaderStorageImageWriteWithoutFormat) ", ffi_name: shader_storage_image_write_without_format, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_storage_texel_buffer_array_dynamic_indexing => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-shaderStorageTexelBufferArrayDynamicIndexing) ", ffi_name: shader_storage_texel_buffer_array_dynamic_indexing, ffi_members: [features_vulkan12, features_descriptor_indexing], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_storage_texel_buffer_array_non_uniform_indexing => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-shaderStorageTexelBufferArrayNonUniformIndexing) ", ffi_name: shader_storage_texel_buffer_array_non_uniform_indexing, ffi_members: [features_vulkan12, features_descriptor_indexing], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_subgroup_clock => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderClockFeaturesKHR.html#features-shaderSubgroupClock) ", ffi_name: shader_subgroup_clock, ffi_members: [features_shader_clock_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_subgroup_extended_types => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-shaderSubgroupExtendedTypes) ", ffi_name: shader_subgroup_extended_types, ffi_members: [features_vulkan12, features_shader_subgroup_extended_types], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_subgroup_uniform_control_flow => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR.html#features-shaderSubgroupUniformControlFlow) ", ffi_name: shader_subgroup_uniform_control_flow, ffi_members: [features_shader_subgroup_uniform_control_flow_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_terminate_invocation => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR.html#features-shaderTerminateInvocation) ", ffi_name: shader_terminate_invocation, ffi_members: [features_shader_terminate_invocation_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_tessellation_and_geometry_point_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-shaderTessellationAndGeometryPointSize) ", ffi_name: shader_tessellation_and_geometry_point_size, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_uniform_buffer_array_dynamic_indexing => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-shaderUniformBufferArrayDynamicIndexing) ", ffi_name: shader_uniform_buffer_array_dynamic_indexing, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_uniform_buffer_array_non_uniform_indexing => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-shaderUniformBufferArrayNonUniformIndexing) ", ffi_name: shader_uniform_buffer_array_non_uniform_indexing, ffi_members: [features_vulkan12, features_descriptor_indexing], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_uniform_texel_buffer_array_dynamic_indexing => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-shaderUniformTexelBufferArrayDynamicIndexing) ", ffi_name: shader_uniform_texel_buffer_array_dynamic_indexing, ffi_members: [features_vulkan12, features_descriptor_indexing], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_uniform_texel_buffer_array_non_uniform_indexing => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-shaderUniformTexelBufferArrayNonUniformIndexing) ", ffi_name: shader_uniform_texel_buffer_array_non_uniform_indexing, ffi_members: [features_vulkan12, features_descriptor_indexing], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shader_zero_initialize_workgroup_memory => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR.html#features-shaderZeroInitializeWorkgroupMemory) ", ffi_name: shader_zero_initialize_workgroup_memory, ffi_members: [features_zero_initialize_workgroup_memory_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shading_rate_coarse_sample_order => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShadingRateImageFeaturesNV.html#features-shadingRateCoarseSampleOrder) ", ffi_name: shading_rate_coarse_sample_order, ffi_members: [features_shading_rate_image_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, shading_rate_image => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShadingRateImageFeaturesNV.html#features-shadingRateImage) - Conflicts with features: [`pipeline_fragment_shading_rate`](crate::device::Features::pipeline_fragment_shading_rate), [`primitive_fragment_shading_rate`](crate::device::Features::primitive_fragment_shading_rate), [`attachment_fragment_shading_rate`](crate::device::Features::attachment_fragment_shading_rate) ", ffi_name: shading_rate_image, ffi_members: [features_shading_rate_image_nv], requires_features: [], conflicts_features: [pipeline_fragment_shading_rate, primitive_fragment_shading_rate, attachment_fragment_shading_rate], required_by_extensions: [], }, smooth_lines => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLineRasterizationFeaturesEXT.html#features-smoothLines) ", ffi_name: smooth_lines, ffi_members: [features_line_rasterization_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, sparse_binding => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-sparseBinding) ", ffi_name: sparse_binding, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, sparse_image_float32_atomic_add => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloatFeaturesEXT.html#features-sparseImageFloat32AtomicAdd) - Requires feature: [`shader_image_float32_atomic_add`](crate::device::Features::shader_image_float32_atomic_add) ", ffi_name: sparse_image_float32_atomic_add, ffi_members: [features_shader_atomic_float_ext], requires_features: [shader_image_float32_atomic_add], conflicts_features: [], required_by_extensions: [], }, sparse_image_float32_atomic_min_max => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT.html#features-sparseImageFloat32AtomicMinMax) ", ffi_name: sparse_image_float32_atomic_min_max, ffi_members: [features_shader_atomic_float2_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, sparse_image_float32_atomics => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderAtomicFloatFeaturesEXT.html#features-sparseImageFloat32Atomics) - Requires feature: [`shader_image_float32_atomics`](crate::device::Features::shader_image_float32_atomics) ", ffi_name: sparse_image_float32_atomics, ffi_members: [features_shader_atomic_float_ext], requires_features: [shader_image_float32_atomics], conflicts_features: [], required_by_extensions: [], }, sparse_image_int64_atomics => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT.html#features-sparseImageInt64Atomics) - Requires feature: [`shader_image_int64_atomics`](crate::device::Features::shader_image_int64_atomics) ", ffi_name: sparse_image_int64_atomics, ffi_members: [features_shader_image_atomic_int64_ext], requires_features: [shader_image_int64_atomics], conflicts_features: [], required_by_extensions: [], }, sparse_residency16_samples => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-sparseResidency16Samples) ", ffi_name: sparse_residency16_samples, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, sparse_residency2_samples => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-sparseResidency2Samples) ", ffi_name: sparse_residency2_samples, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, sparse_residency4_samples => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-sparseResidency4Samples) ", ffi_name: sparse_residency4_samples, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, sparse_residency8_samples => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-sparseResidency8Samples) ", ffi_name: sparse_residency8_samples, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, sparse_residency_aliased => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-sparseResidencyAliased) ", ffi_name: sparse_residency_aliased, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, sparse_residency_buffer => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-sparseResidencyBuffer) ", ffi_name: sparse_residency_buffer, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, sparse_residency_image2_d => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-sparseResidencyImage2D) ", ffi_name: sparse_residency_image2_d, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, sparse_residency_image3_d => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-sparseResidencyImage3D) ", ffi_name: sparse_residency_image3_d, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, stippled_bresenham_lines => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLineRasterizationFeaturesEXT.html#features-stippledBresenhamLines) ", ffi_name: stippled_bresenham_lines, ffi_members: [features_line_rasterization_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, stippled_rectangular_lines => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLineRasterizationFeaturesEXT.html#features-stippledRectangularLines) ", ffi_name: stippled_rectangular_lines, ffi_members: [features_line_rasterization_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, stippled_smooth_lines => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLineRasterizationFeaturesEXT.html#features-stippledSmoothLines) ", ffi_name: stippled_smooth_lines, ffi_members: [features_line_rasterization_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, storage_buffer16_bit_access => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Features.html#features-storageBuffer16BitAccess) ", ffi_name: storage_buffer16_bit_access, ffi_members: [features_vulkan11, features_16bit_storage], requires_features: [], conflicts_features: [], required_by_extensions: [], }, storage_buffer8_bit_access => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-storageBuffer8BitAccess) ", ffi_name: storage_buffer8_bit_access, ffi_members: [features_vulkan12, features_8bit_storage], requires_features: [], conflicts_features: [], required_by_extensions: [], }, storage_input_output16 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Features.html#features-storageInputOutput16) ", ffi_name: storage_input_output16, ffi_members: [features_vulkan11, features_16bit_storage], requires_features: [], conflicts_features: [], required_by_extensions: [], }, storage_push_constant16 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Features.html#features-storagePushConstant16) ", ffi_name: storage_push_constant16, ffi_members: [features_vulkan11, features_16bit_storage], requires_features: [], conflicts_features: [], required_by_extensions: [], }, storage_push_constant8 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-storagePushConstant8) ", ffi_name: storage_push_constant8, ffi_members: [features_vulkan12, features_8bit_storage], requires_features: [], conflicts_features: [], required_by_extensions: [], }, subgroup_broadcast_dynamic_id => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-subgroupBroadcastDynamicId) ", ffi_name: subgroup_broadcast_dynamic_id, ffi_members: [features_vulkan12], requires_features: [], conflicts_features: [], required_by_extensions: [], }, subgroup_size_control => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.html#features-subgroupSizeControl) ", ffi_name: subgroup_size_control, ffi_members: [features_subgroup_size_control_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, subpass_shading => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSubpassShadingFeaturesHUAWEI.html#features-subpassShading) ", ffi_name: subpass_shading, ffi_members: [features_subpass_shading_huawei], requires_features: [], conflicts_features: [], required_by_extensions: [], }, supersample_fragment_shading_rates => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV.html#features-supersampleFragmentShadingRates) ", ffi_name: supersample_fragment_shading_rates, ffi_members: [features_fragment_shading_rate_enums_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, synchronization2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSynchronization2FeaturesKHR.html#features-synchronization2) ", ffi_name: synchronization2, ffi_members: [features_synchronization2_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, task_shader => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceMeshShaderFeaturesNV.html#features-taskShader) ", ffi_name: task_shader, ffi_members: [features_mesh_shader_nv], requires_features: [], conflicts_features: [], required_by_extensions: [], }, tessellation_isolines => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePortabilitySubsetFeaturesKHR.html#features-tessellationIsolines) ", ffi_name: tessellation_isolines, ffi_members: [features_portability_subset_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, tessellation_point_mode => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePortabilitySubsetFeaturesKHR.html#features-tessellationPointMode) ", ffi_name: tessellation_point_mode, ffi_members: [features_portability_subset_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, tessellation_shader => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-tessellationShader) ", ffi_name: tessellation_shader, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, texel_buffer_alignment => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT.html#features-texelBufferAlignment) ", ffi_name: texel_buffer_alignment, ffi_members: [features_texel_buffer_alignment_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, texture_compression_astc_hdr => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT.html#features-textureCompressionASTC_HDR) ", ffi_name: texture_compression_astc_hdr, ffi_members: [features_texture_compression_astchdr_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, texture_compression_astc_ldr => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-textureCompressionASTC_LDR) ", ffi_name: texture_compression_astc_ldr, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, texture_compression_bc => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-textureCompressionBC) ", ffi_name: texture_compression_bc, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, texture_compression_etc2 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-textureCompressionETC2) ", ffi_name: texture_compression_etc2, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, timeline_semaphore => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-timelineSemaphore) ", ffi_name: timeline_semaphore, ffi_members: [features_vulkan12, features_timeline_semaphore], requires_features: [], conflicts_features: [], required_by_extensions: [], }, transform_feedback => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceTransformFeedbackFeaturesEXT.html#features-transformFeedback) ", ffi_name: transform_feedback, ffi_members: [features_transform_feedback_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, transform_feedback_preserves_provoking_vertex => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceProvokingVertexFeaturesEXT.html#features-transformFeedbackPreservesProvokingVertex) ", ffi_name: transform_feedback_preserves_provoking_vertex, ffi_members: [features_provoking_vertex_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, triangle_fans => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePortabilitySubsetFeaturesKHR.html#features-triangleFans) ", ffi_name: triangle_fans, ffi_members: [features_portability_subset_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, uniform_and_storage_buffer16_bit_access => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Features.html#features-uniformAndStorageBuffer16BitAccess) ", ffi_name: uniform_and_storage_buffer16_bit_access, ffi_members: [features_vulkan11, features_16bit_storage], requires_features: [], conflicts_features: [], required_by_extensions: [], }, uniform_and_storage_buffer8_bit_access => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-uniformAndStorageBuffer8BitAccess) ", ffi_name: uniform_and_storage_buffer8_bit_access, ffi_members: [features_vulkan12, features_8bit_storage], requires_features: [], conflicts_features: [], required_by_extensions: [], }, uniform_buffer_standard_layout => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-uniformBufferStandardLayout) ", ffi_name: uniform_buffer_standard_layout, ffi_members: [features_vulkan12, features_uniform_buffer_standard_layout], requires_features: [], conflicts_features: [], required_by_extensions: [], }, variable_multisample_rate => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-variableMultisampleRate) ", ffi_name: variable_multisample_rate, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, variable_pointers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Features.html#features-variablePointers) ", ffi_name: variable_pointers, ffi_members: [features_vulkan11, features_variable_pointers], requires_features: [], conflicts_features: [], required_by_extensions: [], }, variable_pointers_storage_buffer => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Features.html#features-variablePointersStorageBuffer) ", ffi_name: variable_pointers_storage_buffer, ffi_members: [features_vulkan11, features_variable_pointers], requires_features: [], conflicts_features: [], required_by_extensions: [], }, vertex_attribute_access_beyond_stride => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePortabilitySubsetFeaturesKHR.html#features-vertexAttributeAccessBeyondStride) ", ffi_name: vertex_attribute_access_beyond_stride, ffi_members: [features_portability_subset_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, vertex_attribute_instance_rate_divisor => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT.html#features-vertexAttributeInstanceRateDivisor) ", ffi_name: vertex_attribute_instance_rate_divisor, ffi_members: [features_vertex_attribute_divisor_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, vertex_attribute_instance_rate_zero_divisor => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT.html#features-vertexAttributeInstanceRateZeroDivisor) ", ffi_name: vertex_attribute_instance_rate_zero_divisor, ffi_members: [features_vertex_attribute_divisor_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, vertex_input_dynamic_state => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT.html#features-vertexInputDynamicState) ", ffi_name: vertex_input_dynamic_state, ffi_members: [features_vertex_input_dynamic_state_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, vertex_pipeline_stores_and_atomics => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-vertexPipelineStoresAndAtomics) ", ffi_name: vertex_pipeline_stores_and_atomics, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, vulkan_memory_model => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-vulkanMemoryModel) ", ffi_name: vulkan_memory_model, ffi_members: [features_vulkan12, features_vulkan_memory_model], requires_features: [], conflicts_features: [], required_by_extensions: [], }, vulkan_memory_model_availability_visibility_chains => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-vulkanMemoryModelAvailabilityVisibilityChains) ", ffi_name: vulkan_memory_model_availability_visibility_chains, ffi_members: [features_vulkan12, features_vulkan_memory_model], requires_features: [], conflicts_features: [], required_by_extensions: [], }, vulkan_memory_model_device_scope => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Features.html#features-vulkanMemoryModelDeviceScope) ", ffi_name: vulkan_memory_model_device_scope, ffi_members: [features_vulkan12, features_vulkan_memory_model], requires_features: [], conflicts_features: [], required_by_extensions: [], }, wide_lines => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFeatures.html#features-wideLines) ", ffi_name: wide_lines, ffi_members: [features_vulkan10.features], requires_features: [], conflicts_features: [], required_by_extensions: [], }, workgroup_memory_explicit_layout => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.html#features-workgroupMemoryExplicitLayout) ", ffi_name: workgroup_memory_explicit_layout, ffi_members: [features_workgroup_memory_explicit_layout_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, workgroup_memory_explicit_layout16_bit_access => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.html#features-workgroupMemoryExplicitLayout16BitAccess) ", ffi_name: workgroup_memory_explicit_layout16_bit_access, ffi_members: [features_workgroup_memory_explicit_layout_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, workgroup_memory_explicit_layout8_bit_access => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.html#features-workgroupMemoryExplicitLayout8BitAccess) ", ffi_name: workgroup_memory_explicit_layout8_bit_access, ffi_members: [features_workgroup_memory_explicit_layout_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, workgroup_memory_explicit_layout_scalar_block_layout => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.html#features-workgroupMemoryExplicitLayoutScalarBlockLayout) ", ffi_name: workgroup_memory_explicit_layout_scalar_block_layout, ffi_members: [features_workgroup_memory_explicit_layout_khr], requires_features: [], conflicts_features: [], required_by_extensions: [], }, ycbcr2plane444_formats => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT.html#features-ycbcr2plane444Formats) ", ffi_name: ycbcr2plane444_formats, ffi_members: [features_ycbcr2_plane444_formats_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, ycbcr_image_arrays => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceYcbcrImageArraysFeaturesEXT.html#features-ycbcrImageArrays) ", ffi_name: ycbcr_image_arrays, ffi_members: [features_ycbcr_image_arrays_ext], requires_features: [], conflicts_features: [], required_by_extensions: [], }, } crate::device::features::features_ffi! { api_version, device_extensions, instance_extensions, features_vulkan11 => { ty: PhysicalDeviceVulkan11Features, provided_by: [api_version >= crate::Version::V1_2], conflicts: [], }, features_vulkan12 => { ty: PhysicalDeviceVulkan12Features, provided_by: [api_version >= crate::Version::V1_2], conflicts: [], }, features_16bit_storage => { ty: PhysicalDevice16BitStorageFeatures, provided_by: [api_version >= crate::Version::V1_1, device_extensions.khr_16bit_storage], conflicts: [features_vulkan11], }, features_multiview => { ty: PhysicalDeviceMultiviewFeatures, provided_by: [api_version >= crate::Version::V1_1, device_extensions.khr_multiview], conflicts: [features_vulkan11], }, features_protected_memory => { ty: PhysicalDeviceProtectedMemoryFeatures, provided_by: [api_version >= crate::Version::V1_1], conflicts: [features_vulkan11], }, features_sampler_ycbcr_conversion => { ty: PhysicalDeviceSamplerYcbcrConversionFeatures, provided_by: [api_version >= crate::Version::V1_1, device_extensions.khr_sampler_ycbcr_conversion], conflicts: [features_vulkan11], }, features_shader_draw_parameters => { ty: PhysicalDeviceShaderDrawParametersFeatures, provided_by: [api_version >= crate::Version::V1_1], conflicts: [features_vulkan11], }, features_variable_pointers => { ty: PhysicalDeviceVariablePointersFeatures, provided_by: [api_version >= crate::Version::V1_1, device_extensions.khr_variable_pointers], conflicts: [features_vulkan11], }, features_8bit_storage => { ty: PhysicalDevice8BitStorageFeatures, provided_by: [api_version >= crate::Version::V1_2, device_extensions.khr_8bit_storage], conflicts: [features_vulkan12], }, features_buffer_device_address => { ty: PhysicalDeviceBufferDeviceAddressFeatures, provided_by: [api_version >= crate::Version::V1_2, device_extensions.khr_buffer_device_address], conflicts: [features_vulkan12], }, features_descriptor_indexing => { ty: PhysicalDeviceDescriptorIndexingFeatures, provided_by: [api_version >= crate::Version::V1_2, device_extensions.ext_descriptor_indexing], conflicts: [features_vulkan12], }, features_host_query_reset => { ty: PhysicalDeviceHostQueryResetFeatures, provided_by: [api_version >= crate::Version::V1_2, device_extensions.ext_host_query_reset], conflicts: [features_vulkan12], }, features_imageless_framebuffer => { ty: PhysicalDeviceImagelessFramebufferFeatures, provided_by: [api_version >= crate::Version::V1_2, device_extensions.khr_imageless_framebuffer], conflicts: [features_vulkan12], }, features_scalar_block_layout => { ty: PhysicalDeviceScalarBlockLayoutFeatures, provided_by: [api_version >= crate::Version::V1_2, device_extensions.ext_scalar_block_layout], conflicts: [features_vulkan12], }, features_separate_depth_stencil_layouts => { ty: PhysicalDeviceSeparateDepthStencilLayoutsFeatures, provided_by: [api_version >= crate::Version::V1_2, device_extensions.khr_separate_depth_stencil_layouts], conflicts: [features_vulkan12], }, features_shader_atomic_int64 => { ty: PhysicalDeviceShaderAtomicInt64Features, provided_by: [api_version >= crate::Version::V1_2, device_extensions.khr_shader_atomic_int64], conflicts: [features_vulkan12], }, features_shader_float16_int8 => { ty: PhysicalDeviceShaderFloat16Int8Features, provided_by: [api_version >= crate::Version::V1_2, device_extensions.khr_shader_float16_int8], conflicts: [features_vulkan12], }, features_shader_subgroup_extended_types => { ty: PhysicalDeviceShaderSubgroupExtendedTypesFeatures, provided_by: [api_version >= crate::Version::V1_2, device_extensions.khr_shader_subgroup_extended_types], conflicts: [features_vulkan12], }, features_timeline_semaphore => { ty: PhysicalDeviceTimelineSemaphoreFeatures, provided_by: [api_version >= crate::Version::V1_2, device_extensions.khr_timeline_semaphore], conflicts: [features_vulkan12], }, features_uniform_buffer_standard_layout => { ty: PhysicalDeviceUniformBufferStandardLayoutFeatures, provided_by: [api_version >= crate::Version::V1_2, device_extensions.khr_uniform_buffer_standard_layout], conflicts: [features_vulkan12], }, features_vulkan_memory_model => { ty: PhysicalDeviceVulkanMemoryModelFeatures, provided_by: [api_version >= crate::Version::V1_2, device_extensions.khr_vulkan_memory_model], conflicts: [features_vulkan12], }, features_acceleration_structure_khr => { ty: PhysicalDeviceAccelerationStructureFeaturesKHR, provided_by: [device_extensions.khr_acceleration_structure], conflicts: [], }, features_fragment_shading_rate_khr => { ty: PhysicalDeviceFragmentShadingRateFeaturesKHR, provided_by: [device_extensions.khr_fragment_shading_rate], conflicts: [], }, features_performance_query_khr => { ty: PhysicalDevicePerformanceQueryFeaturesKHR, provided_by: [device_extensions.khr_performance_query], conflicts: [], }, features_pipeline_executable_properties_khr => { ty: PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, provided_by: [device_extensions.khr_pipeline_executable_properties], conflicts: [], }, features_portability_subset_khr => { ty: PhysicalDevicePortabilitySubsetFeaturesKHR, provided_by: [device_extensions.khr_portability_subset], conflicts: [], }, features_present_id_khr => { ty: PhysicalDevicePresentIdFeaturesKHR, provided_by: [device_extensions.khr_present_id], conflicts: [], }, features_present_wait_khr => { ty: PhysicalDevicePresentWaitFeaturesKHR, provided_by: [device_extensions.khr_present_wait], conflicts: [], }, features_ray_query_khr => { ty: PhysicalDeviceRayQueryFeaturesKHR, provided_by: [device_extensions.khr_ray_query], conflicts: [], }, features_ray_tracing_pipeline_khr => { ty: PhysicalDeviceRayTracingPipelineFeaturesKHR, provided_by: [device_extensions.khr_ray_tracing_pipeline], conflicts: [], }, features_shader_clock_khr => { ty: PhysicalDeviceShaderClockFeaturesKHR, provided_by: [device_extensions.khr_shader_clock], conflicts: [], }, features_shader_subgroup_uniform_control_flow_khr => { ty: PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, provided_by: [device_extensions.khr_shader_subgroup_uniform_control_flow], conflicts: [], }, features_shader_terminate_invocation_khr => { ty: PhysicalDeviceShaderTerminateInvocationFeaturesKHR, provided_by: [device_extensions.khr_shader_terminate_invocation], conflicts: [], }, features_synchronization2_khr => { ty: PhysicalDeviceSynchronization2FeaturesKHR, provided_by: [device_extensions.khr_synchronization2], conflicts: [], }, features_workgroup_memory_explicit_layout_khr => { ty: PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, provided_by: [device_extensions.khr_workgroup_memory_explicit_layout], conflicts: [], }, features_zero_initialize_workgroup_memory_khr => { ty: PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR, provided_by: [device_extensions.khr_zero_initialize_workgroup_memory], conflicts: [], }, features_4444formats_ext => { ty: PhysicalDevice4444FormatsFeaturesEXT, provided_by: [device_extensions.ext_4444_formats], conflicts: [], }, features_astc_decode_ext => { ty: PhysicalDeviceASTCDecodeFeaturesEXT, provided_by: [device_extensions.ext_astc_decode_mode], conflicts: [], }, features_blend_operation_advanced_ext => { ty: PhysicalDeviceBlendOperationAdvancedFeaturesEXT, provided_by: [device_extensions.ext_blend_operation_advanced], conflicts: [], }, features_buffer_device_address_ext => { ty: PhysicalDeviceBufferDeviceAddressFeaturesEXT, provided_by: [device_extensions.ext_buffer_device_address], conflicts: [features_vulkan12, features_buffer_device_address], }, features_color_write_enable_ext => { ty: PhysicalDeviceColorWriteEnableFeaturesEXT, provided_by: [device_extensions.ext_color_write_enable], conflicts: [], }, features_conditional_rendering_ext => { ty: PhysicalDeviceConditionalRenderingFeaturesEXT, provided_by: [device_extensions.ext_conditional_rendering], conflicts: [], }, features_custom_border_color_ext => { ty: PhysicalDeviceCustomBorderColorFeaturesEXT, provided_by: [device_extensions.ext_custom_border_color], conflicts: [], }, features_depth_clip_enable_ext => { ty: PhysicalDeviceDepthClipEnableFeaturesEXT, provided_by: [device_extensions.ext_depth_clip_enable], conflicts: [], }, features_device_memory_report_ext => { ty: PhysicalDeviceDeviceMemoryReportFeaturesEXT, provided_by: [device_extensions.ext_device_memory_report], conflicts: [], }, features_extended_dynamic_state2_ext => { ty: PhysicalDeviceExtendedDynamicState2FeaturesEXT, provided_by: [device_extensions.ext_extended_dynamic_state2], conflicts: [], }, features_extended_dynamic_state_ext => { ty: PhysicalDeviceExtendedDynamicStateFeaturesEXT, provided_by: [device_extensions.ext_extended_dynamic_state], conflicts: [], }, features_fragment_density_map2_ext => { ty: PhysicalDeviceFragmentDensityMap2FeaturesEXT, provided_by: [device_extensions.ext_fragment_density_map2], conflicts: [], }, features_fragment_density_map_ext => { ty: PhysicalDeviceFragmentDensityMapFeaturesEXT, provided_by: [device_extensions.ext_fragment_density_map], conflicts: [], }, features_fragment_shader_interlock_ext => { ty: PhysicalDeviceFragmentShaderInterlockFeaturesEXT, provided_by: [device_extensions.ext_fragment_shader_interlock], conflicts: [], }, features_global_priority_query_ext => { ty: PhysicalDeviceGlobalPriorityQueryFeaturesEXT, provided_by: [device_extensions.ext_global_priority_query], conflicts: [], }, features_image_robustness_ext => { ty: PhysicalDeviceImageRobustnessFeaturesEXT, provided_by: [device_extensions.ext_image_robustness], conflicts: [], }, features_index_type_uint8_ext => { ty: PhysicalDeviceIndexTypeUint8FeaturesEXT, provided_by: [device_extensions.ext_index_type_uint8], conflicts: [], }, features_inline_uniform_block_ext => { ty: PhysicalDeviceInlineUniformBlockFeaturesEXT, provided_by: [device_extensions.ext_inline_uniform_block], conflicts: [], }, features_line_rasterization_ext => { ty: PhysicalDeviceLineRasterizationFeaturesEXT, provided_by: [device_extensions.ext_line_rasterization], conflicts: [], }, features_memory_priority_ext => { ty: PhysicalDeviceMemoryPriorityFeaturesEXT, provided_by: [device_extensions.ext_memory_priority], conflicts: [], }, features_multi_draw_ext => { ty: PhysicalDeviceMultiDrawFeaturesEXT, provided_by: [device_extensions.ext_multi_draw], conflicts: [], }, features_pipeline_creation_cache_control_ext => { ty: PhysicalDevicePipelineCreationCacheControlFeaturesEXT, provided_by: [device_extensions.ext_pipeline_creation_cache_control], conflicts: [], }, features_private_data_ext => { ty: PhysicalDevicePrivateDataFeaturesEXT, provided_by: [device_extensions.ext_private_data], conflicts: [], }, features_provoking_vertex_ext => { ty: PhysicalDeviceProvokingVertexFeaturesEXT, provided_by: [device_extensions.ext_provoking_vertex], conflicts: [], }, features_robustness2_ext => { ty: PhysicalDeviceRobustness2FeaturesEXT, provided_by: [device_extensions.ext_robustness2], conflicts: [], }, features_shader_atomic_float2_ext => { ty: PhysicalDeviceShaderAtomicFloat2FeaturesEXT, provided_by: [device_extensions.ext_shader_atomic_float2], conflicts: [], }, features_shader_atomic_float_ext => { ty: PhysicalDeviceShaderAtomicFloatFeaturesEXT, provided_by: [device_extensions.ext_shader_atomic_float], conflicts: [], }, features_shader_demote_to_helper_invocation_ext => { ty: PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, provided_by: [device_extensions.ext_shader_demote_to_helper_invocation], conflicts: [], }, features_shader_image_atomic_int64_ext => { ty: PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, provided_by: [device_extensions.ext_shader_image_atomic_int64], conflicts: [], }, features_subgroup_size_control_ext => { ty: PhysicalDeviceSubgroupSizeControlFeaturesEXT, provided_by: [device_extensions.ext_subgroup_size_control], conflicts: [], }, features_texel_buffer_alignment_ext => { ty: PhysicalDeviceTexelBufferAlignmentFeaturesEXT, provided_by: [device_extensions.ext_texel_buffer_alignment], conflicts: [], }, features_texture_compression_astchdr_ext => { ty: PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, provided_by: [device_extensions.ext_texture_compression_astc_hdr], conflicts: [], }, features_transform_feedback_ext => { ty: PhysicalDeviceTransformFeedbackFeaturesEXT, provided_by: [device_extensions.ext_transform_feedback], conflicts: [], }, features_vertex_attribute_divisor_ext => { ty: PhysicalDeviceVertexAttributeDivisorFeaturesEXT, provided_by: [device_extensions.ext_vertex_attribute_divisor], conflicts: [], }, features_vertex_input_dynamic_state_ext => { ty: PhysicalDeviceVertexInputDynamicStateFeaturesEXT, provided_by: [device_extensions.ext_vertex_input_dynamic_state], conflicts: [], }, features_ycbcr2_plane444_formats_ext => { ty: PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, provided_by: [device_extensions.ext_ycbcr_2plane_444_formats], conflicts: [], }, features_ycbcr_image_arrays_ext => { ty: PhysicalDeviceYcbcrImageArraysFeaturesEXT, provided_by: [device_extensions.ext_ycbcr_image_arrays], conflicts: [], }, features_coherent_memory_amd => { ty: PhysicalDeviceCoherentMemoryFeaturesAMD, provided_by: [device_extensions.amd_device_coherent_memory], conflicts: [], }, features_compute_shader_derivatives_nv => { ty: PhysicalDeviceComputeShaderDerivativesFeaturesNV, provided_by: [device_extensions.nv_compute_shader_derivatives], conflicts: [], }, features_cooperative_matrix_nv => { ty: PhysicalDeviceCooperativeMatrixFeaturesNV, provided_by: [device_extensions.nv_cooperative_matrix], conflicts: [], }, features_corner_sampled_image_nv => { ty: PhysicalDeviceCornerSampledImageFeaturesNV, provided_by: [device_extensions.nv_corner_sampled_image], conflicts: [], }, features_coverage_reduction_mode_nv => { ty: PhysicalDeviceCoverageReductionModeFeaturesNV, provided_by: [device_extensions.nv_coverage_reduction_mode], conflicts: [], }, features_dedicated_allocation_image_aliasing_nv => { ty: PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, provided_by: [device_extensions.nv_dedicated_allocation_image_aliasing], conflicts: [], }, features_device_generated_commands_nv => { ty: PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, provided_by: [device_extensions.nv_device_generated_commands], conflicts: [], }, features_diagnostics_config_nv => { ty: PhysicalDeviceDiagnosticsConfigFeaturesNV, provided_by: [device_extensions.nv_device_diagnostics_config], conflicts: [], }, features_exclusive_scissor_nv => { ty: PhysicalDeviceExclusiveScissorFeaturesNV, provided_by: [device_extensions.nv_scissor_exclusive], conflicts: [], }, features_external_memory_rdma_nv => { ty: PhysicalDeviceExternalMemoryRDMAFeaturesNV, provided_by: [device_extensions.nv_external_memory_rdma], conflicts: [], }, features_fragment_shader_barycentric_nv => { ty: PhysicalDeviceFragmentShaderBarycentricFeaturesNV, provided_by: [device_extensions.nv_fragment_shader_barycentric], conflicts: [], }, features_fragment_shading_rate_enums_nv => { ty: PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, provided_by: [device_extensions.nv_fragment_shading_rate_enums], conflicts: [], }, features_inherited_viewport_scissor_nv => { ty: PhysicalDeviceInheritedViewportScissorFeaturesNV, provided_by: [device_extensions.nv_inherited_viewport_scissor], conflicts: [], }, features_invocation_mask_huawei => { ty: PhysicalDeviceInvocationMaskFeaturesHUAWEI, provided_by: [device_extensions.huawei_invocation_mask], conflicts: [], }, features_mesh_shader_nv => { ty: PhysicalDeviceMeshShaderFeaturesNV, provided_by: [device_extensions.nv_mesh_shader], conflicts: [], }, features_mutable_descriptor_type_valve => { ty: PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, provided_by: [device_extensions.valve_mutable_descriptor_type], conflicts: [], }, features_ray_tracing_motion_blur_nv => { ty: PhysicalDeviceRayTracingMotionBlurFeaturesNV, provided_by: [device_extensions.nv_ray_tracing_motion_blur], conflicts: [], }, features_representative_fragment_test_nv => { ty: PhysicalDeviceRepresentativeFragmentTestFeaturesNV, provided_by: [device_extensions.nv_representative_fragment_test], conflicts: [], }, features_shader_image_footprint_nv => { ty: PhysicalDeviceShaderImageFootprintFeaturesNV, provided_by: [device_extensions.nv_shader_image_footprint], conflicts: [], }, features_shader_integer_functions2_intel => { ty: PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, provided_by: [device_extensions.intel_shader_integer_functions2], conflicts: [], }, features_shader_sm_builtins_nv => { ty: PhysicalDeviceShaderSMBuiltinsFeaturesNV, provided_by: [device_extensions.nv_shader_sm_builtins], conflicts: [], }, features_shading_rate_image_nv => { ty: PhysicalDeviceShadingRateImageFeaturesNV, provided_by: [device_extensions.nv_shading_rate_image], conflicts: [], }, features_subpass_shading_huawei => { ty: PhysicalDeviceSubpassShadingFeaturesHUAWEI, provided_by: [device_extensions.huawei_subpass_shading], conflicts: [], }, } crate::device::properties::properties! { active_compute_unit_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderCoreProperties2AMD.html#limits-activeComputeUnitCount) ", ty: u32, ffi_name: active_compute_unit_count, ffi_members: [properties_shader_core2_amd], required: false, }, advanced_blend_all_operations => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT.html#limits-advancedBlendAllOperations) ", ty: bool, ffi_name: advanced_blend_all_operations, ffi_members: [properties_blend_operation_advanced_ext], required: false, }, advanced_blend_correlated_overlap => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT.html#limits-advancedBlendCorrelatedOverlap) ", ty: bool, ffi_name: advanced_blend_correlated_overlap, ffi_members: [properties_blend_operation_advanced_ext], required: false, }, advanced_blend_independent_blend => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT.html#limits-advancedBlendIndependentBlend) ", ty: bool, ffi_name: advanced_blend_independent_blend, ffi_members: [properties_blend_operation_advanced_ext], required: false, }, advanced_blend_max_color_attachments => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT.html#limits-advancedBlendMaxColorAttachments) ", ty: u32, ffi_name: advanced_blend_max_color_attachments, ffi_members: [properties_blend_operation_advanced_ext], required: false, }, advanced_blend_non_premultiplied_dst_color => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT.html#limits-advancedBlendNonPremultipliedDstColor) ", ty: bool, ffi_name: advanced_blend_non_premultiplied_dst_color, ffi_members: [properties_blend_operation_advanced_ext], required: false, }, advanced_blend_non_premultiplied_src_color => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT.html#limits-advancedBlendNonPremultipliedSrcColor) ", ty: bool, ffi_name: advanced_blend_non_premultiplied_src_color, ffi_members: [properties_blend_operation_advanced_ext], required: false, }, allow_command_buffer_query_copies => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePerformanceQueryPropertiesKHR.html#limits-allowCommandBufferQueryCopies) ", ty: bool, ffi_name: allow_command_buffer_query_copies, ffi_members: [properties_performance_query_khr], required: false, }, api_version => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceProperties.html#limits-apiVersion) ", ty: crate::Version, ffi_name: api_version, ffi_members: [properties_vulkan10.properties], required: true, }, buffer_image_granularity => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-bufferImageGranularity) ", ty: crate::DeviceSize, ffi_name: buffer_image_granularity, ffi_members: [properties_vulkan10.properties.limits], required: true, }, compute_units_per_shader_array => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderCorePropertiesAMD.html#limits-computeUnitsPerShaderArray) ", ty: u32, ffi_name: compute_units_per_shader_array, ffi_members: [properties_shader_core_amd], required: false, }, conformance_version => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-conformanceVersion) ", ty: crate::device::physical::ConformanceVersion, ffi_name: conformance_version, ffi_members: [properties_vulkan12, properties_driver], required: false, }, conservative_point_and_line_rasterization => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceConservativeRasterizationPropertiesEXT.html#limits-conservativePointAndLineRasterization) ", ty: bool, ffi_name: conservative_point_and_line_rasterization, ffi_members: [properties_conservative_rasterization_ext], required: false, }, conservative_rasterization_post_depth_coverage => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceConservativeRasterizationPropertiesEXT.html#limits-conservativeRasterizationPostDepthCoverage) ", ty: bool, ffi_name: conservative_rasterization_post_depth_coverage, ffi_members: [properties_conservative_rasterization_ext], required: false, }, cooperative_matrix_supported_stages => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceCooperativeMatrixPropertiesNV.html#limits-cooperativeMatrixSupportedStages) ", ty: crate::pipeline::shader::ShaderStages, ffi_name: cooperative_matrix_supported_stages, ffi_members: [properties_cooperative_matrix_nv], required: false, }, degenerate_lines_rasterized => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceConservativeRasterizationPropertiesEXT.html#limits-degenerateLinesRasterized) ", ty: bool, ffi_name: degenerate_lines_rasterized, ffi_members: [properties_conservative_rasterization_ext], required: false, }, degenerate_triangles_rasterized => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceConservativeRasterizationPropertiesEXT.html#limits-degenerateTrianglesRasterized) ", ty: bool, ffi_name: degenerate_triangles_rasterized, ffi_members: [properties_conservative_rasterization_ext], required: false, }, denorm_behavior_independence => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-denormBehaviorIndependence) ", ty: crate::device::physical::ShaderFloatControlsIndependence, ffi_name: denorm_behavior_independence, ffi_members: [properties_vulkan12, properties_float_controls], required: false, }, device_id => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceProperties.html#limits-deviceID) ", ty: u32, ffi_name: device_id, ffi_members: [properties_vulkan10.properties], required: true, }, device_luid => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Properties.html#limits-deviceLUID) ", ty: [u8; 8], ffi_name: device_luid, ffi_members: [properties_vulkan11, properties_id], required: false, }, device_luid_valid => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Properties.html#limits-deviceLUIDValid) ", ty: bool, ffi_name: device_luid_valid, ffi_members: [properties_vulkan11, properties_id], required: false, }, device_name => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceProperties.html#limits-deviceName) ", ty: String, ffi_name: device_name, ffi_members: [properties_vulkan10.properties], required: true, }, device_node_mask => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Properties.html#limits-deviceNodeMask) ", ty: u32, ffi_name: device_node_mask, ffi_members: [properties_vulkan11, properties_id], required: false, }, device_type => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceProperties.html#limits-deviceType) ", ty: crate::device::physical::PhysicalDeviceType, ffi_name: device_type, ffi_members: [properties_vulkan10.properties], required: true, }, device_uuid => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Properties.html#limits-deviceUUID) ", ty: [u8; 16], ffi_name: device_uuid, ffi_members: [properties_vulkan11, properties_id], required: false, }, discrete_queue_priorities => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-discreteQueuePriorities) ", ty: u32, ffi_name: discrete_queue_priorities, ffi_members: [properties_vulkan10.properties.limits], required: true, }, driver_id => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-driverID) ", ty: crate::device::physical::DriverId, ffi_name: driver_id, ffi_members: [properties_vulkan12, properties_driver], required: false, }, driver_info => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-driverInfo) ", ty: String, ffi_name: driver_info, ffi_members: [properties_vulkan12, properties_driver], required: false, }, driver_name => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-driverName) ", ty: String, ffi_name: driver_name, ffi_members: [properties_vulkan12, properties_driver], required: false, }, driver_uuid => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Properties.html#limits-driverUUID) ", ty: [u8; 16], ffi_name: driver_uuid, ffi_members: [properties_vulkan11, properties_id], required: false, }, driver_version => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceProperties.html#limits-driverVersion) ", ty: u32, ffi_name: driver_version, ffi_members: [properties_vulkan10.properties], required: true, }, extra_primitive_overestimation_size_granularity => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceConservativeRasterizationPropertiesEXT.html#limits-extraPrimitiveOverestimationSizeGranularity) ", ty: f32, ffi_name: extra_primitive_overestimation_size_granularity, ffi_members: [properties_conservative_rasterization_ext], required: false, }, filter_minmax_image_component_mapping => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-filterMinmaxImageComponentMapping) ", ty: bool, ffi_name: filter_minmax_image_component_mapping, ffi_members: [properties_vulkan12, properties_sampler_filter_minmax], required: false, }, filter_minmax_single_component_formats => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-filterMinmaxSingleComponentFormats) ", ty: bool, ffi_name: filter_minmax_single_component_formats, ffi_members: [properties_vulkan12, properties_sampler_filter_minmax], required: false, }, fragment_density_invocations => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentDensityMapPropertiesEXT.html#limits-fragmentDensityInvocations) ", ty: bool, ffi_name: fragment_density_invocations, ffi_members: [properties_fragment_density_map_ext], required: false, }, fragment_shading_rate_non_trivial_combiner_ops => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRatePropertiesKHR.html#limits-fragmentShadingRateNonTrivialCombinerOps) ", ty: bool, ffi_name: fragment_shading_rate_non_trivial_combiner_ops, ffi_members: [properties_fragment_shading_rate_khr], required: false, }, fragment_shading_rate_strict_multiply_combiner => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRatePropertiesKHR.html#limits-fragmentShadingRateStrictMultiplyCombiner) ", ty: bool, ffi_name: fragment_shading_rate_strict_multiply_combiner, ffi_members: [properties_fragment_shading_rate_khr], required: false, }, fragment_shading_rate_with_conservative_rasterization => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRatePropertiesKHR.html#limits-fragmentShadingRateWithConservativeRasterization) ", ty: bool, ffi_name: fragment_shading_rate_with_conservative_rasterization, ffi_members: [properties_fragment_shading_rate_khr], required: false, }, fragment_shading_rate_with_custom_sample_locations => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRatePropertiesKHR.html#limits-fragmentShadingRateWithCustomSampleLocations) ", ty: bool, ffi_name: fragment_shading_rate_with_custom_sample_locations, ffi_members: [properties_fragment_shading_rate_khr], required: false, }, fragment_shading_rate_with_fragment_shader_interlock => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRatePropertiesKHR.html#limits-fragmentShadingRateWithFragmentShaderInterlock) ", ty: bool, ffi_name: fragment_shading_rate_with_fragment_shader_interlock, ffi_members: [properties_fragment_shading_rate_khr], required: false, }, fragment_shading_rate_with_sample_mask => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRatePropertiesKHR.html#limits-fragmentShadingRateWithSampleMask) ", ty: bool, ffi_name: fragment_shading_rate_with_sample_mask, ffi_members: [properties_fragment_shading_rate_khr], required: false, }, fragment_shading_rate_with_shader_depth_stencil_writes => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRatePropertiesKHR.html#limits-fragmentShadingRateWithShaderDepthStencilWrites) ", ty: bool, ffi_name: fragment_shading_rate_with_shader_depth_stencil_writes, ffi_members: [properties_fragment_shading_rate_khr], required: false, }, fragment_shading_rate_with_shader_sample_mask => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRatePropertiesKHR.html#limits-fragmentShadingRateWithShaderSampleMask) ", ty: bool, ffi_name: fragment_shading_rate_with_shader_sample_mask, ffi_members: [properties_fragment_shading_rate_khr], required: false, }, framebuffer_color_sample_counts => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-framebufferColorSampleCounts) ", ty: crate::image::SampleCounts, ffi_name: framebuffer_color_sample_counts, ffi_members: [properties_vulkan10.properties.limits], required: true, }, framebuffer_depth_sample_counts => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-framebufferDepthSampleCounts) ", ty: crate::image::SampleCounts, ffi_name: framebuffer_depth_sample_counts, ffi_members: [properties_vulkan10.properties.limits], required: true, }, framebuffer_integer_color_sample_counts => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-framebufferIntegerColorSampleCounts) ", ty: crate::image::SampleCounts, ffi_name: framebuffer_integer_color_sample_counts, ffi_members: [properties_vulkan12], required: false, }, framebuffer_no_attachments_sample_counts => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-framebufferNoAttachmentsSampleCounts) ", ty: crate::image::SampleCounts, ffi_name: framebuffer_no_attachments_sample_counts, ffi_members: [properties_vulkan10.properties.limits], required: true, }, framebuffer_stencil_sample_counts => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-framebufferStencilSampleCounts) ", ty: crate::image::SampleCounts, ffi_name: framebuffer_stencil_sample_counts, ffi_members: [properties_vulkan10.properties.limits], required: true, }, fully_covered_fragment_shader_input_variable => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceConservativeRasterizationPropertiesEXT.html#limits-fullyCoveredFragmentShaderInputVariable) ", ty: bool, ffi_name: fully_covered_fragment_shader_input_variable, ffi_members: [properties_conservative_rasterization_ext], required: false, }, has_primary => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDrmPropertiesEXT.html#limits-hasPrimary) ", ty: bool, ffi_name: has_primary, ffi_members: [properties_drm_ext], required: false, }, has_render => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDrmPropertiesEXT.html#limits-hasRender) ", ty: bool, ffi_name: has_render, ffi_members: [properties_drm_ext], required: false, }, independent_resolve => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-independentResolve) ", ty: bool, ffi_name: independent_resolve, ffi_members: [properties_vulkan12, properties_depth_stencil_resolve], required: false, }, independent_resolve_none => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-independentResolveNone) ", ty: bool, ffi_name: independent_resolve_none, ffi_members: [properties_vulkan12, properties_depth_stencil_resolve], required: false, }, layered_shading_rate_attachments => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRatePropertiesKHR.html#limits-layeredShadingRateAttachments) ", ty: bool, ffi_name: layered_shading_rate_attachments, ffi_members: [properties_fragment_shading_rate_khr], required: false, }, line_sub_pixel_precision_bits => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLineRasterizationPropertiesEXT.html#limits-lineSubPixelPrecisionBits) ", ty: u32, ffi_name: line_sub_pixel_precision_bits, ffi_members: [properties_line_rasterization_ext], required: false, }, line_width_granularity => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-lineWidthGranularity) ", ty: f32, ffi_name: line_width_granularity, ffi_members: [properties_vulkan10.properties.limits], required: true, }, line_width_range => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-lineWidthRange) ", ty: [f32; 2], ffi_name: line_width_range, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_bound_descriptor_sets => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxBoundDescriptorSets) ", ty: u32, ffi_name: max_bound_descriptor_sets, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_clip_distances => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxClipDistances) ", ty: u32, ffi_name: max_clip_distances, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_color_attachments => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxColorAttachments) ", ty: u32, ffi_name: max_color_attachments, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_combined_clip_and_cull_distances => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxCombinedClipAndCullDistances) ", ty: u32, ffi_name: max_combined_clip_and_cull_distances, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_compute_shared_memory_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxComputeSharedMemorySize) ", ty: u32, ffi_name: max_compute_shared_memory_size, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_compute_work_group_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxComputeWorkGroupCount) ", ty: [u32; 3], ffi_name: max_compute_work_group_count, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_compute_work_group_invocations => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxComputeWorkGroupInvocations) ", ty: u32, ffi_name: max_compute_work_group_invocations, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_compute_work_group_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxComputeWorkGroupSize) ", ty: [u32; 3], ffi_name: max_compute_work_group_size, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_compute_workgroup_subgroups => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSubgroupSizeControlPropertiesEXT.html#limits-maxComputeWorkgroupSubgroups) ", ty: u32, ffi_name: max_compute_workgroup_subgroups, ffi_members: [properties_subgroup_size_control_ext], required: false, }, max_cull_distances => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxCullDistances) ", ty: u32, ffi_name: max_cull_distances, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_custom_border_color_samplers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceCustomBorderColorPropertiesEXT.html#limits-maxCustomBorderColorSamplers) ", ty: u32, ffi_name: max_custom_border_color_samplers, ffi_members: [properties_custom_border_color_ext], required: false, }, max_descriptor_set_acceleration_structures => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceAccelerationStructurePropertiesKHR.html#limits-maxDescriptorSetAccelerationStructures) ", ty: u32, ffi_name: max_descriptor_set_acceleration_structures, ffi_members: [properties_acceleration_structure_khr, properties_ray_tracing_nv], required: false, }, max_descriptor_set_inline_uniform_blocks => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceInlineUniformBlockPropertiesEXT.html#limits-maxDescriptorSetInlineUniformBlocks) ", ty: u32, ffi_name: max_descriptor_set_inline_uniform_blocks, ffi_members: [properties_inline_uniform_block_ext], required: false, }, max_descriptor_set_input_attachments => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxDescriptorSetInputAttachments) ", ty: u32, ffi_name: max_descriptor_set_input_attachments, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_descriptor_set_sampled_images => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxDescriptorSetSampledImages) ", ty: u32, ffi_name: max_descriptor_set_sampled_images, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_descriptor_set_samplers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxDescriptorSetSamplers) ", ty: u32, ffi_name: max_descriptor_set_samplers, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_descriptor_set_storage_buffers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxDescriptorSetStorageBuffers) ", ty: u32, ffi_name: max_descriptor_set_storage_buffers, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_descriptor_set_storage_buffers_dynamic => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxDescriptorSetStorageBuffersDynamic) ", ty: u32, ffi_name: max_descriptor_set_storage_buffers_dynamic, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_descriptor_set_storage_images => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxDescriptorSetStorageImages) ", ty: u32, ffi_name: max_descriptor_set_storage_images, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_descriptor_set_subsampled_samplers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentDensityMap2PropertiesEXT.html#limits-maxDescriptorSetSubsampledSamplers) ", ty: u32, ffi_name: max_descriptor_set_subsampled_samplers, ffi_members: [properties_fragment_density_map2_ext], required: false, }, max_descriptor_set_uniform_buffers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxDescriptorSetUniformBuffers) ", ty: u32, ffi_name: max_descriptor_set_uniform_buffers, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_descriptor_set_uniform_buffers_dynamic => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxDescriptorSetUniformBuffersDynamic) ", ty: u32, ffi_name: max_descriptor_set_uniform_buffers_dynamic, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_descriptor_set_update_after_bind_acceleration_structures => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceAccelerationStructurePropertiesKHR.html#limits-maxDescriptorSetUpdateAfterBindAccelerationStructures) ", ty: u32, ffi_name: max_descriptor_set_update_after_bind_acceleration_structures, ffi_members: [properties_acceleration_structure_khr], required: false, }, max_descriptor_set_update_after_bind_inline_uniform_blocks => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceInlineUniformBlockPropertiesEXT.html#limits-maxDescriptorSetUpdateAfterBindInlineUniformBlocks) ", ty: u32, ffi_name: max_descriptor_set_update_after_bind_inline_uniform_blocks, ffi_members: [properties_inline_uniform_block_ext], required: false, }, max_descriptor_set_update_after_bind_input_attachments => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-maxDescriptorSetUpdateAfterBindInputAttachments) ", ty: u32, ffi_name: max_descriptor_set_update_after_bind_input_attachments, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, max_descriptor_set_update_after_bind_sampled_images => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-maxDescriptorSetUpdateAfterBindSampledImages) ", ty: u32, ffi_name: max_descriptor_set_update_after_bind_sampled_images, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, max_descriptor_set_update_after_bind_samplers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-maxDescriptorSetUpdateAfterBindSamplers) ", ty: u32, ffi_name: max_descriptor_set_update_after_bind_samplers, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, max_descriptor_set_update_after_bind_storage_buffers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-maxDescriptorSetUpdateAfterBindStorageBuffers) ", ty: u32, ffi_name: max_descriptor_set_update_after_bind_storage_buffers, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, max_descriptor_set_update_after_bind_storage_buffers_dynamic => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-maxDescriptorSetUpdateAfterBindStorageBuffersDynamic) ", ty: u32, ffi_name: max_descriptor_set_update_after_bind_storage_buffers_dynamic, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, max_descriptor_set_update_after_bind_storage_images => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-maxDescriptorSetUpdateAfterBindStorageImages) ", ty: u32, ffi_name: max_descriptor_set_update_after_bind_storage_images, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, max_descriptor_set_update_after_bind_uniform_buffers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-maxDescriptorSetUpdateAfterBindUniformBuffers) ", ty: u32, ffi_name: max_descriptor_set_update_after_bind_uniform_buffers, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, max_descriptor_set_update_after_bind_uniform_buffers_dynamic => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-maxDescriptorSetUpdateAfterBindUniformBuffersDynamic) ", ty: u32, ffi_name: max_descriptor_set_update_after_bind_uniform_buffers_dynamic, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, max_discard_rectangles => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDiscardRectanglePropertiesEXT.html#limits-maxDiscardRectangles) ", ty: u32, ffi_name: max_discard_rectangles, ffi_members: [properties_discard_rectangle_ext], required: false, }, max_draw_indexed_index_value => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxDrawIndexedIndexValue) ", ty: u32, ffi_name: max_draw_indexed_index_value, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_draw_indirect_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxDrawIndirectCount) ", ty: u32, ffi_name: max_draw_indirect_count, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_draw_mesh_tasks_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceMeshShaderPropertiesNV.html#limits-maxDrawMeshTasksCount) ", ty: u32, ffi_name: max_draw_mesh_tasks_count, ffi_members: [properties_mesh_shader_nv], required: false, }, max_extra_primitive_overestimation_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceConservativeRasterizationPropertiesEXT.html#limits-maxExtraPrimitiveOverestimationSize) ", ty: f32, ffi_name: max_extra_primitive_overestimation_size, ffi_members: [properties_conservative_rasterization_ext], required: false, }, max_fragment_combined_output_resources => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxFragmentCombinedOutputResources) ", ty: u32, ffi_name: max_fragment_combined_output_resources, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_fragment_density_texel_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentDensityMapPropertiesEXT.html#limits-maxFragmentDensityTexelSize) ", ty: [u32; 2], ffi_name: max_fragment_density_texel_size, ffi_members: [properties_fragment_density_map_ext], required: false, }, max_fragment_dual_src_attachments => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxFragmentDualSrcAttachments) ", ty: u32, ffi_name: max_fragment_dual_src_attachments, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_fragment_input_components => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxFragmentInputComponents) ", ty: u32, ffi_name: max_fragment_input_components, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_fragment_output_attachments => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxFragmentOutputAttachments) ", ty: u32, ffi_name: max_fragment_output_attachments, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_fragment_shading_rate_attachment_texel_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRatePropertiesKHR.html#limits-maxFragmentShadingRateAttachmentTexelSize) ", ty: [u32; 2], ffi_name: max_fragment_shading_rate_attachment_texel_size, ffi_members: [properties_fragment_shading_rate_khr], required: false, }, max_fragment_shading_rate_attachment_texel_size_aspect_ratio => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRatePropertiesKHR.html#limits-maxFragmentShadingRateAttachmentTexelSizeAspectRatio) ", ty: u32, ffi_name: max_fragment_shading_rate_attachment_texel_size_aspect_ratio, ffi_members: [properties_fragment_shading_rate_khr], required: false, }, max_fragment_shading_rate_coverage_samples => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRatePropertiesKHR.html#limits-maxFragmentShadingRateCoverageSamples) ", ty: u32, ffi_name: max_fragment_shading_rate_coverage_samples, ffi_members: [properties_fragment_shading_rate_khr], required: false, }, max_fragment_shading_rate_invocation_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV.html#limits-maxFragmentShadingRateInvocationCount) ", ty: crate::image::SampleCount, ffi_name: max_fragment_shading_rate_invocation_count, ffi_members: [properties_fragment_shading_rate_enums_nv], required: false, }, max_fragment_shading_rate_rasterization_samples => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRatePropertiesKHR.html#limits-maxFragmentShadingRateRasterizationSamples) ", ty: crate::image::SampleCount, ffi_name: max_fragment_shading_rate_rasterization_samples, ffi_members: [properties_fragment_shading_rate_khr], required: false, }, max_fragment_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRatePropertiesKHR.html#limits-maxFragmentSize) ", ty: [u32; 2], ffi_name: max_fragment_size, ffi_members: [properties_fragment_shading_rate_khr], required: false, }, max_fragment_size_aspect_ratio => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRatePropertiesKHR.html#limits-maxFragmentSizeAspectRatio) ", ty: u32, ffi_name: max_fragment_size_aspect_ratio, ffi_members: [properties_fragment_shading_rate_khr], required: false, }, max_framebuffer_height => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxFramebufferHeight) ", ty: u32, ffi_name: max_framebuffer_height, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_framebuffer_layers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxFramebufferLayers) ", ty: u32, ffi_name: max_framebuffer_layers, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_framebuffer_width => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxFramebufferWidth) ", ty: u32, ffi_name: max_framebuffer_width, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_geometry_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceAccelerationStructurePropertiesKHR.html#limits-maxGeometryCount) ", ty: u64, ffi_name: max_geometry_count, ffi_members: [properties_acceleration_structure_khr, properties_ray_tracing_nv], required: false, }, max_geometry_input_components => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxGeometryInputComponents) ", ty: u32, ffi_name: max_geometry_input_components, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_geometry_output_components => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxGeometryOutputComponents) ", ty: u32, ffi_name: max_geometry_output_components, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_geometry_output_vertices => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxGeometryOutputVertices) ", ty: u32, ffi_name: max_geometry_output_vertices, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_geometry_shader_invocations => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxGeometryShaderInvocations) ", ty: u32, ffi_name: max_geometry_shader_invocations, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_geometry_total_output_components => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxGeometryTotalOutputComponents) ", ty: u32, ffi_name: max_geometry_total_output_components, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_graphics_shader_group_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV.html#limits-maxGraphicsShaderGroupCount) ", ty: u32, ffi_name: max_graphics_shader_group_count, ffi_members: [properties_device_generated_commands_nv], required: false, }, max_image_array_layers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxImageArrayLayers) ", ty: u32, ffi_name: max_image_array_layers, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_image_dimension1_d => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxImageDimension1D) ", ty: u32, ffi_name: max_image_dimension1_d, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_image_dimension2_d => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxImageDimension2D) ", ty: u32, ffi_name: max_image_dimension2_d, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_image_dimension3_d => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxImageDimension3D) ", ty: u32, ffi_name: max_image_dimension3_d, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_image_dimension_cube => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxImageDimensionCube) ", ty: u32, ffi_name: max_image_dimension_cube, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_indirect_commands_stream_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV.html#limits-maxIndirectCommandsStreamCount) ", ty: u32, ffi_name: max_indirect_commands_stream_count, ffi_members: [properties_device_generated_commands_nv], required: false, }, max_indirect_commands_stream_stride => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV.html#limits-maxIndirectCommandsStreamStride) ", ty: u32, ffi_name: max_indirect_commands_stream_stride, ffi_members: [properties_device_generated_commands_nv], required: false, }, max_indirect_commands_token_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV.html#limits-maxIndirectCommandsTokenCount) ", ty: u32, ffi_name: max_indirect_commands_token_count, ffi_members: [properties_device_generated_commands_nv], required: false, }, max_indirect_commands_token_offset => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV.html#limits-maxIndirectCommandsTokenOffset) ", ty: u32, ffi_name: max_indirect_commands_token_offset, ffi_members: [properties_device_generated_commands_nv], required: false, }, max_indirect_sequence_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV.html#limits-maxIndirectSequenceCount) ", ty: u32, ffi_name: max_indirect_sequence_count, ffi_members: [properties_device_generated_commands_nv], required: false, }, max_inline_uniform_block_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceInlineUniformBlockPropertiesEXT.html#limits-maxInlineUniformBlockSize) ", ty: u32, ffi_name: max_inline_uniform_block_size, ffi_members: [properties_inline_uniform_block_ext], required: false, }, max_instance_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceAccelerationStructurePropertiesKHR.html#limits-maxInstanceCount) ", ty: u64, ffi_name: max_instance_count, ffi_members: [properties_acceleration_structure_khr, properties_ray_tracing_nv], required: false, }, max_interpolation_offset => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxInterpolationOffset) ", ty: f32, ffi_name: max_interpolation_offset, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_memory_allocation_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxMemoryAllocationCount) ", ty: u32, ffi_name: max_memory_allocation_count, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_memory_allocation_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Properties.html#limits-maxMemoryAllocationSize) ", ty: crate::DeviceSize, ffi_name: max_memory_allocation_size, ffi_members: [properties_vulkan11, properties_maintenance3], required: false, }, max_mesh_multiview_view_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceMeshShaderPropertiesNV.html#limits-maxMeshMultiviewViewCount) ", ty: u32, ffi_name: max_mesh_multiview_view_count, ffi_members: [properties_mesh_shader_nv], required: false, }, max_mesh_output_primitives => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceMeshShaderPropertiesNV.html#limits-maxMeshOutputPrimitives) ", ty: u32, ffi_name: max_mesh_output_primitives, ffi_members: [properties_mesh_shader_nv], required: false, }, max_mesh_output_vertices => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceMeshShaderPropertiesNV.html#limits-maxMeshOutputVertices) ", ty: u32, ffi_name: max_mesh_output_vertices, ffi_members: [properties_mesh_shader_nv], required: false, }, max_mesh_total_memory_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceMeshShaderPropertiesNV.html#limits-maxMeshTotalMemorySize) ", ty: u32, ffi_name: max_mesh_total_memory_size, ffi_members: [properties_mesh_shader_nv], required: false, }, max_mesh_work_group_invocations => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceMeshShaderPropertiesNV.html#limits-maxMeshWorkGroupInvocations) ", ty: u32, ffi_name: max_mesh_work_group_invocations, ffi_members: [properties_mesh_shader_nv], required: false, }, max_mesh_work_group_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceMeshShaderPropertiesNV.html#limits-maxMeshWorkGroupSize) ", ty: [u32; 3], ffi_name: max_mesh_work_group_size, ffi_members: [properties_mesh_shader_nv], required: false, }, max_multi_draw_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceMultiDrawPropertiesEXT.html#limits-maxMultiDrawCount) ", ty: u32, ffi_name: max_multi_draw_count, ffi_members: [properties_multi_draw_ext], required: false, }, max_multiview_instance_index => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Properties.html#limits-maxMultiviewInstanceIndex) ", ty: u32, ffi_name: max_multiview_instance_index, ffi_members: [properties_vulkan11, properties_multiview], required: false, }, max_multiview_view_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Properties.html#limits-maxMultiviewViewCount) ", ty: u32, ffi_name: max_multiview_view_count, ffi_members: [properties_vulkan11, properties_multiview], required: false, }, max_per_set_descriptors => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Properties.html#limits-maxPerSetDescriptors) ", ty: u32, ffi_name: max_per_set_descriptors, ffi_members: [properties_vulkan11, properties_maintenance3], required: false, }, max_per_stage_descriptor_acceleration_structures => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceAccelerationStructurePropertiesKHR.html#limits-maxPerStageDescriptorAccelerationStructures) ", ty: u32, ffi_name: max_per_stage_descriptor_acceleration_structures, ffi_members: [properties_acceleration_structure_khr], required: false, }, max_per_stage_descriptor_inline_uniform_blocks => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceInlineUniformBlockPropertiesEXT.html#limits-maxPerStageDescriptorInlineUniformBlocks) ", ty: u32, ffi_name: max_per_stage_descriptor_inline_uniform_blocks, ffi_members: [properties_inline_uniform_block_ext], required: false, }, max_per_stage_descriptor_input_attachments => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxPerStageDescriptorInputAttachments) ", ty: u32, ffi_name: max_per_stage_descriptor_input_attachments, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_per_stage_descriptor_sampled_images => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxPerStageDescriptorSampledImages) ", ty: u32, ffi_name: max_per_stage_descriptor_sampled_images, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_per_stage_descriptor_samplers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxPerStageDescriptorSamplers) ", ty: u32, ffi_name: max_per_stage_descriptor_samplers, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_per_stage_descriptor_storage_buffers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxPerStageDescriptorStorageBuffers) ", ty: u32, ffi_name: max_per_stage_descriptor_storage_buffers, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_per_stage_descriptor_storage_images => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxPerStageDescriptorStorageImages) ", ty: u32, ffi_name: max_per_stage_descriptor_storage_images, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_per_stage_descriptor_uniform_buffers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxPerStageDescriptorUniformBuffers) ", ty: u32, ffi_name: max_per_stage_descriptor_uniform_buffers, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_per_stage_descriptor_update_after_bind_acceleration_structures => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceAccelerationStructurePropertiesKHR.html#limits-maxPerStageDescriptorUpdateAfterBindAccelerationStructures) ", ty: u32, ffi_name: max_per_stage_descriptor_update_after_bind_acceleration_structures, ffi_members: [properties_acceleration_structure_khr], required: false, }, max_per_stage_descriptor_update_after_bind_inline_uniform_blocks => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceInlineUniformBlockPropertiesEXT.html#limits-maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks) ", ty: u32, ffi_name: max_per_stage_descriptor_update_after_bind_inline_uniform_blocks, ffi_members: [properties_inline_uniform_block_ext], required: false, }, max_per_stage_descriptor_update_after_bind_input_attachments => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-maxPerStageDescriptorUpdateAfterBindInputAttachments) ", ty: u32, ffi_name: max_per_stage_descriptor_update_after_bind_input_attachments, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, max_per_stage_descriptor_update_after_bind_sampled_images => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-maxPerStageDescriptorUpdateAfterBindSampledImages) ", ty: u32, ffi_name: max_per_stage_descriptor_update_after_bind_sampled_images, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, max_per_stage_descriptor_update_after_bind_samplers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-maxPerStageDescriptorUpdateAfterBindSamplers) ", ty: u32, ffi_name: max_per_stage_descriptor_update_after_bind_samplers, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, max_per_stage_descriptor_update_after_bind_storage_buffers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-maxPerStageDescriptorUpdateAfterBindStorageBuffers) ", ty: u32, ffi_name: max_per_stage_descriptor_update_after_bind_storage_buffers, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, max_per_stage_descriptor_update_after_bind_storage_images => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-maxPerStageDescriptorUpdateAfterBindStorageImages) ", ty: u32, ffi_name: max_per_stage_descriptor_update_after_bind_storage_images, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, max_per_stage_descriptor_update_after_bind_uniform_buffers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-maxPerStageDescriptorUpdateAfterBindUniformBuffers) ", ty: u32, ffi_name: max_per_stage_descriptor_update_after_bind_uniform_buffers, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, max_per_stage_resources => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxPerStageResources) ", ty: u32, ffi_name: max_per_stage_resources, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_per_stage_update_after_bind_resources => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-maxPerStageUpdateAfterBindResources) ", ty: u32, ffi_name: max_per_stage_update_after_bind_resources, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, max_primitive_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceAccelerationStructurePropertiesKHR.html#limits-maxPrimitiveCount) ", ty: u64, ffi_name: max_primitive_count, ffi_members: [properties_acceleration_structure_khr], required: false, }, max_push_constants_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxPushConstantsSize) ", ty: u32, ffi_name: max_push_constants_size, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_push_descriptors => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePushDescriptorPropertiesKHR.html#limits-maxPushDescriptors) ", ty: u32, ffi_name: max_push_descriptors, ffi_members: [properties_push_descriptor_khr], required: false, }, max_ray_dispatch_invocation_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRayTracingPipelinePropertiesKHR.html#limits-maxRayDispatchInvocationCount) ", ty: u32, ffi_name: max_ray_dispatch_invocation_count, ffi_members: [properties_ray_tracing_pipeline_khr], required: false, }, max_ray_hit_attribute_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRayTracingPipelinePropertiesKHR.html#limits-maxRayHitAttributeSize) ", ty: u32, ffi_name: max_ray_hit_attribute_size, ffi_members: [properties_ray_tracing_pipeline_khr], required: false, }, max_ray_recursion_depth => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRayTracingPipelinePropertiesKHR.html#limits-maxRayRecursionDepth) ", ty: u32, ffi_name: max_ray_recursion_depth, ffi_members: [properties_ray_tracing_pipeline_khr], required: false, }, max_recursion_depth => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRayTracingPropertiesNV.html#limits-maxRecursionDepth) ", ty: u32, ffi_name: max_recursion_depth, ffi_members: [properties_ray_tracing_nv], required: false, }, max_sample_location_grid_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSampleLocationsPropertiesEXT.html#limits-maxSampleLocationGridSize) ", ty: [u32; 2], ffi_name: max_sample_location_grid_size, ffi_members: [properties_sample_locations_ext], required: false, }, max_sample_mask_words => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxSampleMaskWords) ", ty: u32, ffi_name: max_sample_mask_words, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_sampler_allocation_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxSamplerAllocationCount) ", ty: u32, ffi_name: max_sampler_allocation_count, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_sampler_anisotropy => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxSamplerAnisotropy) ", ty: f32, ffi_name: max_sampler_anisotropy, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_sampler_lod_bias => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxSamplerLodBias) ", ty: f32, ffi_name: max_sampler_lod_bias, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_sgpr_allocation => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderCorePropertiesAMD.html#limits-maxSgprAllocation) ", ty: u32, ffi_name: max_sgpr_allocation, ffi_members: [properties_shader_core_amd], required: false, }, max_shader_group_stride => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRayTracingPipelinePropertiesKHR.html#limits-maxShaderGroupStride) ", ty: u32, ffi_name: max_shader_group_stride, ffi_members: [properties_ray_tracing_pipeline_khr, properties_ray_tracing_nv], required: false, }, max_storage_buffer_range => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxStorageBufferRange) ", ty: u32, ffi_name: max_storage_buffer_range, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_subgroup_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSubgroupSizeControlPropertiesEXT.html#limits-maxSubgroupSize) ", ty: u32, ffi_name: max_subgroup_size, ffi_members: [properties_subgroup_size_control_ext], required: false, }, max_subpass_shading_workgroup_size_aspect_ratio => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSubpassShadingPropertiesHUAWEI.html#limits-maxSubpassShadingWorkgroupSizeAspectRatio) ", ty: u32, ffi_name: max_subpass_shading_workgroup_size_aspect_ratio, ffi_members: [properties_subpass_shading_huawei], required: false, }, max_subsampled_array_layers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentDensityMap2PropertiesEXT.html#limits-maxSubsampledArrayLayers) ", ty: u32, ffi_name: max_subsampled_array_layers, ffi_members: [properties_fragment_density_map2_ext], required: false, }, max_task_output_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceMeshShaderPropertiesNV.html#limits-maxTaskOutputCount) ", ty: u32, ffi_name: max_task_output_count, ffi_members: [properties_mesh_shader_nv], required: false, }, max_task_total_memory_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceMeshShaderPropertiesNV.html#limits-maxTaskTotalMemorySize) ", ty: u32, ffi_name: max_task_total_memory_size, ffi_members: [properties_mesh_shader_nv], required: false, }, max_task_work_group_invocations => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceMeshShaderPropertiesNV.html#limits-maxTaskWorkGroupInvocations) ", ty: u32, ffi_name: max_task_work_group_invocations, ffi_members: [properties_mesh_shader_nv], required: false, }, max_task_work_group_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceMeshShaderPropertiesNV.html#limits-maxTaskWorkGroupSize) ", ty: [u32; 3], ffi_name: max_task_work_group_size, ffi_members: [properties_mesh_shader_nv], required: false, }, max_tessellation_control_per_patch_output_components => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxTessellationControlPerPatchOutputComponents) ", ty: u32, ffi_name: max_tessellation_control_per_patch_output_components, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_tessellation_control_per_vertex_input_components => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxTessellationControlPerVertexInputComponents) ", ty: u32, ffi_name: max_tessellation_control_per_vertex_input_components, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_tessellation_control_per_vertex_output_components => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxTessellationControlPerVertexOutputComponents) ", ty: u32, ffi_name: max_tessellation_control_per_vertex_output_components, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_tessellation_control_total_output_components => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxTessellationControlTotalOutputComponents) ", ty: u32, ffi_name: max_tessellation_control_total_output_components, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_tessellation_evaluation_input_components => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxTessellationEvaluationInputComponents) ", ty: u32, ffi_name: max_tessellation_evaluation_input_components, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_tessellation_evaluation_output_components => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxTessellationEvaluationOutputComponents) ", ty: u32, ffi_name: max_tessellation_evaluation_output_components, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_tessellation_generation_level => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxTessellationGenerationLevel) ", ty: u32, ffi_name: max_tessellation_generation_level, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_tessellation_patch_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxTessellationPatchSize) ", ty: u32, ffi_name: max_tessellation_patch_size, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_texel_buffer_elements => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxTexelBufferElements) ", ty: u32, ffi_name: max_texel_buffer_elements, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_texel_gather_offset => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxTexelGatherOffset) ", ty: u32, ffi_name: max_texel_gather_offset, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_texel_offset => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxTexelOffset) ", ty: u32, ffi_name: max_texel_offset, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_timeline_semaphore_value_difference => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-maxTimelineSemaphoreValueDifference) ", ty: u64, ffi_name: max_timeline_semaphore_value_difference, ffi_members: [properties_vulkan12, properties_timeline_semaphore], required: false, }, max_transform_feedback_buffer_data_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceTransformFeedbackPropertiesEXT.html#limits-maxTransformFeedbackBufferDataSize) ", ty: u32, ffi_name: max_transform_feedback_buffer_data_size, ffi_members: [properties_transform_feedback_ext], required: false, }, max_transform_feedback_buffer_data_stride => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceTransformFeedbackPropertiesEXT.html#limits-maxTransformFeedbackBufferDataStride) ", ty: u32, ffi_name: max_transform_feedback_buffer_data_stride, ffi_members: [properties_transform_feedback_ext], required: false, }, max_transform_feedback_buffer_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceTransformFeedbackPropertiesEXT.html#limits-maxTransformFeedbackBufferSize) ", ty: crate::DeviceSize, ffi_name: max_transform_feedback_buffer_size, ffi_members: [properties_transform_feedback_ext], required: false, }, max_transform_feedback_buffers => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceTransformFeedbackPropertiesEXT.html#limits-maxTransformFeedbackBuffers) ", ty: u32, ffi_name: max_transform_feedback_buffers, ffi_members: [properties_transform_feedback_ext], required: false, }, max_transform_feedback_stream_data_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceTransformFeedbackPropertiesEXT.html#limits-maxTransformFeedbackStreamDataSize) ", ty: u32, ffi_name: max_transform_feedback_stream_data_size, ffi_members: [properties_transform_feedback_ext], required: false, }, max_transform_feedback_streams => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceTransformFeedbackPropertiesEXT.html#limits-maxTransformFeedbackStreams) ", ty: u32, ffi_name: max_transform_feedback_streams, ffi_members: [properties_transform_feedback_ext], required: false, }, max_triangle_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRayTracingPropertiesNV.html#limits-maxTriangleCount) ", ty: u64, ffi_name: max_triangle_count, ffi_members: [properties_ray_tracing_nv], required: false, }, max_uniform_buffer_range => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxUniformBufferRange) ", ty: u32, ffi_name: max_uniform_buffer_range, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_update_after_bind_descriptors_in_all_pools => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-maxUpdateAfterBindDescriptorsInAllPools) ", ty: u32, ffi_name: max_update_after_bind_descriptors_in_all_pools, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, max_vertex_attrib_divisor => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT.html#limits-maxVertexAttribDivisor) ", ty: u32, ffi_name: max_vertex_attrib_divisor, ffi_members: [properties_vertex_attribute_divisor_ext], required: false, }, max_vertex_input_attribute_offset => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxVertexInputAttributeOffset) ", ty: u32, ffi_name: max_vertex_input_attribute_offset, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_vertex_input_attributes => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxVertexInputAttributes) ", ty: u32, ffi_name: max_vertex_input_attributes, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_vertex_input_binding_stride => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxVertexInputBindingStride) ", ty: u32, ffi_name: max_vertex_input_binding_stride, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_vertex_input_bindings => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxVertexInputBindings) ", ty: u32, ffi_name: max_vertex_input_bindings, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_vertex_output_components => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxVertexOutputComponents) ", ty: u32, ffi_name: max_vertex_output_components, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_vgpr_allocation => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderCorePropertiesAMD.html#limits-maxVgprAllocation) ", ty: u32, ffi_name: max_vgpr_allocation, ffi_members: [properties_shader_core_amd], required: false, }, max_viewport_dimensions => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxViewportDimensions) ", ty: [u32; 2], ffi_name: max_viewport_dimensions, ffi_members: [properties_vulkan10.properties.limits], required: true, }, max_viewports => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-maxViewports) ", ty: u32, ffi_name: max_viewports, ffi_members: [properties_vulkan10.properties.limits], required: true, }, mesh_output_per_primitive_granularity => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceMeshShaderPropertiesNV.html#limits-meshOutputPerPrimitiveGranularity) ", ty: u32, ffi_name: mesh_output_per_primitive_granularity, ffi_members: [properties_mesh_shader_nv], required: false, }, mesh_output_per_vertex_granularity => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceMeshShaderPropertiesNV.html#limits-meshOutputPerVertexGranularity) ", ty: u32, ffi_name: mesh_output_per_vertex_granularity, ffi_members: [properties_mesh_shader_nv], required: false, }, min_acceleration_structure_scratch_offset_alignment => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceAccelerationStructurePropertiesKHR.html#limits-minAccelerationStructureScratchOffsetAlignment) ", ty: u32, ffi_name: min_acceleration_structure_scratch_offset_alignment, ffi_members: [properties_acceleration_structure_khr], required: false, }, min_fragment_density_texel_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentDensityMapPropertiesEXT.html#limits-minFragmentDensityTexelSize) ", ty: [u32; 2], ffi_name: min_fragment_density_texel_size, ffi_members: [properties_fragment_density_map_ext], required: false, }, min_fragment_shading_rate_attachment_texel_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRatePropertiesKHR.html#limits-minFragmentShadingRateAttachmentTexelSize) ", ty: [u32; 2], ffi_name: min_fragment_shading_rate_attachment_texel_size, ffi_members: [properties_fragment_shading_rate_khr], required: false, }, min_imported_host_pointer_alignment => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceExternalMemoryHostPropertiesEXT.html#limits-minImportedHostPointerAlignment) ", ty: crate::DeviceSize, ffi_name: min_imported_host_pointer_alignment, ffi_members: [properties_external_memory_host_ext], required: false, }, min_indirect_commands_buffer_offset_alignment => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV.html#limits-minIndirectCommandsBufferOffsetAlignment) ", ty: u32, ffi_name: min_indirect_commands_buffer_offset_alignment, ffi_members: [properties_device_generated_commands_nv], required: false, }, min_interpolation_offset => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-minInterpolationOffset) ", ty: f32, ffi_name: min_interpolation_offset, ffi_members: [properties_vulkan10.properties.limits], required: true, }, min_memory_map_alignment => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-minMemoryMapAlignment) ", ty: usize, ffi_name: min_memory_map_alignment, ffi_members: [properties_vulkan10.properties.limits], required: true, }, min_sequences_count_buffer_offset_alignment => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV.html#limits-minSequencesCountBufferOffsetAlignment) ", ty: u32, ffi_name: min_sequences_count_buffer_offset_alignment, ffi_members: [properties_device_generated_commands_nv], required: false, }, min_sequences_index_buffer_offset_alignment => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV.html#limits-minSequencesIndexBufferOffsetAlignment) ", ty: u32, ffi_name: min_sequences_index_buffer_offset_alignment, ffi_members: [properties_device_generated_commands_nv], required: false, }, min_sgpr_allocation => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderCorePropertiesAMD.html#limits-minSgprAllocation) ", ty: u32, ffi_name: min_sgpr_allocation, ffi_members: [properties_shader_core_amd], required: false, }, min_storage_buffer_offset_alignment => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-minStorageBufferOffsetAlignment) ", ty: crate::DeviceSize, ffi_name: min_storage_buffer_offset_alignment, ffi_members: [properties_vulkan10.properties.limits], required: true, }, min_subgroup_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSubgroupSizeControlPropertiesEXT.html#limits-minSubgroupSize) ", ty: u32, ffi_name: min_subgroup_size, ffi_members: [properties_subgroup_size_control_ext], required: false, }, min_texel_buffer_offset_alignment => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-minTexelBufferOffsetAlignment) ", ty: crate::DeviceSize, ffi_name: min_texel_buffer_offset_alignment, ffi_members: [properties_vulkan10.properties.limits], required: true, }, min_texel_gather_offset => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-minTexelGatherOffset) ", ty: i32, ffi_name: min_texel_gather_offset, ffi_members: [properties_vulkan10.properties.limits], required: true, }, min_texel_offset => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-minTexelOffset) ", ty: i32, ffi_name: min_texel_offset, ffi_members: [properties_vulkan10.properties.limits], required: true, }, min_uniform_buffer_offset_alignment => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-minUniformBufferOffsetAlignment) ", ty: crate::DeviceSize, ffi_name: min_uniform_buffer_offset_alignment, ffi_members: [properties_vulkan10.properties.limits], required: true, }, min_vertex_input_binding_stride_alignment => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePortabilitySubsetPropertiesKHR.html#limits-minVertexInputBindingStrideAlignment) ", ty: u32, ffi_name: min_vertex_input_binding_stride_alignment, ffi_members: [properties_portability_subset_khr], required: false, }, min_vgpr_allocation => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderCorePropertiesAMD.html#limits-minVgprAllocation) ", ty: u32, ffi_name: min_vgpr_allocation, ffi_members: [properties_shader_core_amd], required: false, }, mipmap_precision_bits => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-mipmapPrecisionBits) ", ty: u32, ffi_name: mipmap_precision_bits, ffi_members: [properties_vulkan10.properties.limits], required: true, }, non_coherent_atom_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-nonCoherentAtomSize) ", ty: crate::DeviceSize, ffi_name: non_coherent_atom_size, ffi_members: [properties_vulkan10.properties.limits], required: true, }, optimal_buffer_copy_offset_alignment => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-optimalBufferCopyOffsetAlignment) ", ty: crate::DeviceSize, ffi_name: optimal_buffer_copy_offset_alignment, ffi_members: [properties_vulkan10.properties.limits], required: true, }, optimal_buffer_copy_row_pitch_alignment => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-optimalBufferCopyRowPitchAlignment) ", ty: crate::DeviceSize, ffi_name: optimal_buffer_copy_row_pitch_alignment, ffi_members: [properties_vulkan10.properties.limits], required: true, }, pci_bus => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePCIBusInfoPropertiesEXT.html#limits-pciBus) ", ty: u32, ffi_name: pci_bus, ffi_members: [properties_pci_bus_info_ext], required: false, }, pci_device => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePCIBusInfoPropertiesEXT.html#limits-pciDevice) ", ty: u32, ffi_name: pci_device, ffi_members: [properties_pci_bus_info_ext], required: false, }, pci_domain => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePCIBusInfoPropertiesEXT.html#limits-pciDomain) ", ty: u32, ffi_name: pci_domain, ffi_members: [properties_pci_bus_info_ext], required: false, }, pci_function => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDevicePCIBusInfoPropertiesEXT.html#limits-pciFunction) ", ty: u32, ffi_name: pci_function, ffi_members: [properties_pci_bus_info_ext], required: false, }, per_view_position_all_components => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX.html#limits-perViewPositionAllComponents) ", ty: bool, ffi_name: per_view_position_all_components, ffi_members: [properties_multiview_per_view_attributes_nvx], required: false, }, pipeline_cache_uuid => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceProperties.html#limits-pipelineCacheUUID) ", ty: [u8; 16], ffi_name: pipeline_cache_uuid, ffi_members: [properties_vulkan10.properties], required: true, }, point_clipping_behavior => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Properties.html#limits-pointClippingBehavior) ", ty: crate::device::physical::PointClippingBehavior, ffi_name: point_clipping_behavior, ffi_members: [properties_vulkan11, properties_point_clipping], required: false, }, point_size_granularity => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-pointSizeGranularity) ", ty: f32, ffi_name: point_size_granularity, ffi_members: [properties_vulkan10.properties.limits], required: true, }, point_size_range => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-pointSizeRange) ", ty: [f32; 2], ffi_name: point_size_range, ffi_members: [properties_vulkan10.properties.limits], required: true, }, primary_major => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDrmPropertiesEXT.html#limits-primaryMajor) ", ty: i64, ffi_name: primary_major, ffi_members: [properties_drm_ext], required: false, }, primary_minor => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDrmPropertiesEXT.html#limits-primaryMinor) ", ty: i64, ffi_name: primary_minor, ffi_members: [properties_drm_ext], required: false, }, primitive_fragment_shading_rate_with_multiple_viewports => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentShadingRatePropertiesKHR.html#limits-primitiveFragmentShadingRateWithMultipleViewports) ", ty: bool, ffi_name: primitive_fragment_shading_rate_with_multiple_viewports, ffi_members: [properties_fragment_shading_rate_khr], required: false, }, primitive_overestimation_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceConservativeRasterizationPropertiesEXT.html#limits-primitiveOverestimationSize) ", ty: f32, ffi_name: primitive_overestimation_size, ffi_members: [properties_conservative_rasterization_ext], required: false, }, primitive_underestimation => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceConservativeRasterizationPropertiesEXT.html#limits-primitiveUnderestimation) ", ty: bool, ffi_name: primitive_underestimation, ffi_members: [properties_conservative_rasterization_ext], required: false, }, protected_no_fault => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Properties.html#limits-protectedNoFault) ", ty: bool, ffi_name: protected_no_fault, ffi_members: [properties_vulkan11, properties_protected_memory], required: false, }, provoking_vertex_mode_per_pipeline => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceProvokingVertexPropertiesEXT.html#limits-provokingVertexModePerPipeline) ", ty: bool, ffi_name: provoking_vertex_mode_per_pipeline, ffi_members: [properties_provoking_vertex_ext], required: false, }, quad_divergent_implicit_lod => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-quadDivergentImplicitLod) ", ty: bool, ffi_name: quad_divergent_implicit_lod, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, quad_operations_in_all_stages => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSubgroupProperties.html#limits-quadOperationsInAllStages) ", ty: bool, ffi_name: quad_operations_in_all_stages, ffi_members: [properties_subgroup], required: false, }, render_major => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDrmPropertiesEXT.html#limits-renderMajor) ", ty: i64, ffi_name: render_major, ffi_members: [properties_drm_ext], required: false, }, render_minor => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceDrmPropertiesEXT.html#limits-renderMinor) ", ty: i64, ffi_name: render_minor, ffi_members: [properties_drm_ext], required: false, }, required_subgroup_size_stages => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSubgroupSizeControlPropertiesEXT.html#limits-requiredSubgroupSizeStages) ", ty: crate::pipeline::shader::ShaderStages, ffi_name: required_subgroup_size_stages, ffi_members: [properties_subgroup_size_control_ext], required: false, }, residency_aligned_mip_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSparseProperties.html#limits-residencyAlignedMipSize) ", ty: bool, ffi_name: residency_aligned_mip_size, ffi_members: [properties_vulkan10.properties.sparse_properties], required: true, }, residency_non_resident_strict => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSparseProperties.html#limits-residencyNonResidentStrict) ", ty: bool, ffi_name: residency_non_resident_strict, ffi_members: [properties_vulkan10.properties.sparse_properties], required: true, }, residency_standard2_d_block_shape => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSparseProperties.html#limits-residencyStandard2DBlockShape) ", ty: bool, ffi_name: residency_standard2_d_block_shape, ffi_members: [properties_vulkan10.properties.sparse_properties], required: true, }, residency_standard2_d_multisample_block_shape => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSparseProperties.html#limits-residencyStandard2DMultisampleBlockShape) ", ty: bool, ffi_name: residency_standard2_d_multisample_block_shape, ffi_members: [properties_vulkan10.properties.sparse_properties], required: true, }, residency_standard3_d_block_shape => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSparseProperties.html#limits-residencyStandard3DBlockShape) ", ty: bool, ffi_name: residency_standard3_d_block_shape, ffi_members: [properties_vulkan10.properties.sparse_properties], required: true, }, robust_buffer_access_update_after_bind => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-robustBufferAccessUpdateAfterBind) ", ty: bool, ffi_name: robust_buffer_access_update_after_bind, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, robust_storage_buffer_access_size_alignment => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRobustness2PropertiesEXT.html#limits-robustStorageBufferAccessSizeAlignment) ", ty: crate::DeviceSize, ffi_name: robust_storage_buffer_access_size_alignment, ffi_members: [properties_robustness2_ext], required: false, }, robust_uniform_buffer_access_size_alignment => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRobustness2PropertiesEXT.html#limits-robustUniformBufferAccessSizeAlignment) ", ty: crate::DeviceSize, ffi_name: robust_uniform_buffer_access_size_alignment, ffi_members: [properties_robustness2_ext], required: false, }, rounding_mode_independence => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-roundingModeIndependence) ", ty: crate::device::physical::ShaderFloatControlsIndependence, ffi_name: rounding_mode_independence, ffi_members: [properties_vulkan12, properties_float_controls], required: false, }, sample_location_coordinate_range => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSampleLocationsPropertiesEXT.html#limits-sampleLocationCoordinateRange) ", ty: [f32; 2], ffi_name: sample_location_coordinate_range, ffi_members: [properties_sample_locations_ext], required: false, }, sample_location_sample_counts => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSampleLocationsPropertiesEXT.html#limits-sampleLocationSampleCounts) ", ty: crate::image::SampleCounts, ffi_name: sample_location_sample_counts, ffi_members: [properties_sample_locations_ext], required: false, }, sample_location_sub_pixel_bits => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSampleLocationsPropertiesEXT.html#limits-sampleLocationSubPixelBits) ", ty: u32, ffi_name: sample_location_sub_pixel_bits, ffi_members: [properties_sample_locations_ext], required: false, }, sampled_image_color_sample_counts => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-sampledImageColorSampleCounts) ", ty: crate::image::SampleCounts, ffi_name: sampled_image_color_sample_counts, ffi_members: [properties_vulkan10.properties.limits], required: true, }, sampled_image_depth_sample_counts => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-sampledImageDepthSampleCounts) ", ty: crate::image::SampleCounts, ffi_name: sampled_image_depth_sample_counts, ffi_members: [properties_vulkan10.properties.limits], required: true, }, sampled_image_integer_sample_counts => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-sampledImageIntegerSampleCounts) ", ty: crate::image::SampleCounts, ffi_name: sampled_image_integer_sample_counts, ffi_members: [properties_vulkan10.properties.limits], required: true, }, sampled_image_stencil_sample_counts => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-sampledImageStencilSampleCounts) ", ty: crate::image::SampleCounts, ffi_name: sampled_image_stencil_sample_counts, ffi_members: [properties_vulkan10.properties.limits], required: true, }, sgpr_allocation_granularity => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderCorePropertiesAMD.html#limits-sgprAllocationGranularity) ", ty: u32, ffi_name: sgpr_allocation_granularity, ffi_members: [properties_shader_core_amd], required: false, }, sgprs_per_simd => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderCorePropertiesAMD.html#limits-sgprsPerSimd) ", ty: u32, ffi_name: sgprs_per_simd, ffi_members: [properties_shader_core_amd], required: false, }, shader_arrays_per_engine_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderCorePropertiesAMD.html#limits-shaderArraysPerEngineCount) ", ty: u32, ffi_name: shader_arrays_per_engine_count, ffi_members: [properties_shader_core_amd], required: false, }, shader_core_features => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderCoreProperties2AMD.html#limits-shaderCoreFeatures) ", ty: crate::device::physical::ShaderCoreProperties, ffi_name: shader_core_features, ffi_members: [properties_shader_core2_amd], required: false, }, shader_denorm_flush_to_zero_float16 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-shaderDenormFlushToZeroFloat16) ", ty: bool, ffi_name: shader_denorm_flush_to_zero_float16, ffi_members: [properties_vulkan12, properties_float_controls], required: false, }, shader_denorm_flush_to_zero_float32 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-shaderDenormFlushToZeroFloat32) ", ty: bool, ffi_name: shader_denorm_flush_to_zero_float32, ffi_members: [properties_vulkan12, properties_float_controls], required: false, }, shader_denorm_flush_to_zero_float64 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-shaderDenormFlushToZeroFloat64) ", ty: bool, ffi_name: shader_denorm_flush_to_zero_float64, ffi_members: [properties_vulkan12, properties_float_controls], required: false, }, shader_denorm_preserve_float16 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-shaderDenormPreserveFloat16) ", ty: bool, ffi_name: shader_denorm_preserve_float16, ffi_members: [properties_vulkan12, properties_float_controls], required: false, }, shader_denorm_preserve_float32 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-shaderDenormPreserveFloat32) ", ty: bool, ffi_name: shader_denorm_preserve_float32, ffi_members: [properties_vulkan12, properties_float_controls], required: false, }, shader_denorm_preserve_float64 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-shaderDenormPreserveFloat64) ", ty: bool, ffi_name: shader_denorm_preserve_float64, ffi_members: [properties_vulkan12, properties_float_controls], required: false, }, shader_engine_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderCorePropertiesAMD.html#limits-shaderEngineCount) ", ty: u32, ffi_name: shader_engine_count, ffi_members: [properties_shader_core_amd], required: false, }, shader_group_base_alignment => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRayTracingPipelinePropertiesKHR.html#limits-shaderGroupBaseAlignment) ", ty: u32, ffi_name: shader_group_base_alignment, ffi_members: [properties_ray_tracing_pipeline_khr, properties_ray_tracing_nv], required: false, }, shader_group_handle_alignment => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRayTracingPipelinePropertiesKHR.html#limits-shaderGroupHandleAlignment) ", ty: u32, ffi_name: shader_group_handle_alignment, ffi_members: [properties_ray_tracing_pipeline_khr], required: false, }, shader_group_handle_capture_replay_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRayTracingPipelinePropertiesKHR.html#limits-shaderGroupHandleCaptureReplaySize) ", ty: u32, ffi_name: shader_group_handle_capture_replay_size, ffi_members: [properties_ray_tracing_pipeline_khr], required: false, }, shader_group_handle_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceRayTracingPipelinePropertiesKHR.html#limits-shaderGroupHandleSize) ", ty: u32, ffi_name: shader_group_handle_size, ffi_members: [properties_ray_tracing_pipeline_khr, properties_ray_tracing_nv], required: false, }, shader_input_attachment_array_non_uniform_indexing_native => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-shaderInputAttachmentArrayNonUniformIndexingNative) ", ty: bool, ffi_name: shader_input_attachment_array_non_uniform_indexing_native, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, shader_rounding_mode_rte_float16 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-shaderRoundingModeRTEFloat16) ", ty: bool, ffi_name: shader_rounding_mode_rte_float16, ffi_members: [properties_vulkan12, properties_float_controls], required: false, }, shader_rounding_mode_rte_float32 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-shaderRoundingModeRTEFloat32) ", ty: bool, ffi_name: shader_rounding_mode_rte_float32, ffi_members: [properties_vulkan12, properties_float_controls], required: false, }, shader_rounding_mode_rte_float64 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-shaderRoundingModeRTEFloat64) ", ty: bool, ffi_name: shader_rounding_mode_rte_float64, ffi_members: [properties_vulkan12, properties_float_controls], required: false, }, shader_rounding_mode_rtz_float16 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-shaderRoundingModeRTZFloat16) ", ty: bool, ffi_name: shader_rounding_mode_rtz_float16, ffi_members: [properties_vulkan12, properties_float_controls], required: false, }, shader_rounding_mode_rtz_float32 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-shaderRoundingModeRTZFloat32) ", ty: bool, ffi_name: shader_rounding_mode_rtz_float32, ffi_members: [properties_vulkan12, properties_float_controls], required: false, }, shader_rounding_mode_rtz_float64 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-shaderRoundingModeRTZFloat64) ", ty: bool, ffi_name: shader_rounding_mode_rtz_float64, ffi_members: [properties_vulkan12, properties_float_controls], required: false, }, shader_sampled_image_array_non_uniform_indexing_native => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-shaderSampledImageArrayNonUniformIndexingNative) ", ty: bool, ffi_name: shader_sampled_image_array_non_uniform_indexing_native, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, shader_signed_zero_inf_nan_preserve_float16 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-shaderSignedZeroInfNanPreserveFloat16) ", ty: bool, ffi_name: shader_signed_zero_inf_nan_preserve_float16, ffi_members: [properties_vulkan12, properties_float_controls], required: false, }, shader_signed_zero_inf_nan_preserve_float32 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-shaderSignedZeroInfNanPreserveFloat32) ", ty: bool, ffi_name: shader_signed_zero_inf_nan_preserve_float32, ffi_members: [properties_vulkan12, properties_float_controls], required: false, }, shader_signed_zero_inf_nan_preserve_float64 => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-shaderSignedZeroInfNanPreserveFloat64) ", ty: bool, ffi_name: shader_signed_zero_inf_nan_preserve_float64, ffi_members: [properties_vulkan12, properties_float_controls], required: false, }, shader_sm_count => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderSMBuiltinsPropertiesNV.html#limits-shaderSMCount) ", ty: u32, ffi_name: shader_sm_count, ffi_members: [properties_shader_sm_builtins_nv], required: false, }, shader_storage_buffer_array_non_uniform_indexing_native => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-shaderStorageBufferArrayNonUniformIndexingNative) ", ty: bool, ffi_name: shader_storage_buffer_array_non_uniform_indexing_native, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, shader_storage_image_array_non_uniform_indexing_native => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-shaderStorageImageArrayNonUniformIndexingNative) ", ty: bool, ffi_name: shader_storage_image_array_non_uniform_indexing_native, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, shader_uniform_buffer_array_non_uniform_indexing_native => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-shaderUniformBufferArrayNonUniformIndexingNative) ", ty: bool, ffi_name: shader_uniform_buffer_array_non_uniform_indexing_native, ffi_members: [properties_vulkan12, properties_descriptor_indexing], required: false, }, shader_warps_per_sm => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderSMBuiltinsPropertiesNV.html#limits-shaderWarpsPerSM) ", ty: u32, ffi_name: shader_warps_per_sm, ffi_members: [properties_shader_sm_builtins_nv], required: false, }, shading_rate_max_coarse_samples => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShadingRateImagePropertiesNV.html#limits-shadingRateMaxCoarseSamples) ", ty: u32, ffi_name: shading_rate_max_coarse_samples, ffi_members: [properties_shading_rate_image_nv], required: false, }, shading_rate_palette_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShadingRateImagePropertiesNV.html#limits-shadingRatePaletteSize) ", ty: u32, ffi_name: shading_rate_palette_size, ffi_members: [properties_shading_rate_image_nv], required: false, }, shading_rate_texel_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShadingRateImagePropertiesNV.html#limits-shadingRateTexelSize) ", ty: [u32; 2], ffi_name: shading_rate_texel_size, ffi_members: [properties_shading_rate_image_nv], required: false, }, simd_per_compute_unit => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderCorePropertiesAMD.html#limits-simdPerComputeUnit) ", ty: u32, ffi_name: simd_per_compute_unit, ffi_members: [properties_shader_core_amd], required: false, }, sparse_address_space_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-sparseAddressSpaceSize) ", ty: crate::DeviceSize, ffi_name: sparse_address_space_size, ffi_members: [properties_vulkan10.properties.limits], required: true, }, standard_sample_locations => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-standardSampleLocations) ", ty: bool, ffi_name: standard_sample_locations, ffi_members: [properties_vulkan10.properties.limits], required: true, }, storage_image_sample_counts => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-storageImageSampleCounts) ", ty: crate::image::SampleCounts, ffi_name: storage_image_sample_counts, ffi_members: [properties_vulkan10.properties.limits], required: true, }, storage_texel_buffer_offset_alignment_bytes => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT.html#limits-storageTexelBufferOffsetAlignmentBytes) ", ty: crate::DeviceSize, ffi_name: storage_texel_buffer_offset_alignment_bytes, ffi_members: [properties_texel_buffer_alignment_ext], required: false, }, storage_texel_buffer_offset_single_texel_alignment => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT.html#limits-storageTexelBufferOffsetSingleTexelAlignment) ", ty: bool, ffi_name: storage_texel_buffer_offset_single_texel_alignment, ffi_members: [properties_texel_buffer_alignment_ext], required: false, }, strict_lines => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-strictLines) ", ty: bool, ffi_name: strict_lines, ffi_members: [properties_vulkan10.properties.limits], required: true, }, sub_pixel_interpolation_offset_bits => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-subPixelInterpolationOffsetBits) ", ty: u32, ffi_name: sub_pixel_interpolation_offset_bits, ffi_members: [properties_vulkan10.properties.limits], required: true, }, sub_pixel_precision_bits => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-subPixelPrecisionBits) ", ty: u32, ffi_name: sub_pixel_precision_bits, ffi_members: [properties_vulkan10.properties.limits], required: true, }, sub_texel_precision_bits => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-subTexelPrecisionBits) ", ty: u32, ffi_name: sub_texel_precision_bits, ffi_members: [properties_vulkan10.properties.limits], required: true, }, subgroup_quad_operations_in_all_stages => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Properties.html#limits-subgroupQuadOperationsInAllStages) ", ty: bool, ffi_name: subgroup_quad_operations_in_all_stages, ffi_members: [properties_vulkan11], required: false, }, subgroup_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Properties.html#limits-subgroupSize) ", ty: u32, ffi_name: subgroup_size, ffi_members: [properties_vulkan11, properties_subgroup], required: false, }, subgroup_supported_operations => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Properties.html#limits-subgroupSupportedOperations) ", ty: crate::device::physical::SubgroupFeatures, ffi_name: subgroup_supported_operations, ffi_members: [properties_vulkan11], required: false, }, subgroup_supported_stages => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan11Properties.html#limits-subgroupSupportedStages) ", ty: crate::pipeline::shader::ShaderStages, ffi_name: subgroup_supported_stages, ffi_members: [properties_vulkan11], required: false, }, subsampled_coarse_reconstruction_early_access => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentDensityMap2PropertiesEXT.html#limits-subsampledCoarseReconstructionEarlyAccess) ", ty: bool, ffi_name: subsampled_coarse_reconstruction_early_access, ffi_members: [properties_fragment_density_map2_ext], required: false, }, subsampled_loads => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceFragmentDensityMap2PropertiesEXT.html#limits-subsampledLoads) ", ty: bool, ffi_name: subsampled_loads, ffi_members: [properties_fragment_density_map2_ext], required: false, }, supported_depth_resolve_modes => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-supportedDepthResolveModes) ", ty: crate::render_pass::ResolveModes, ffi_name: supported_depth_resolve_modes, ffi_members: [properties_vulkan12, properties_depth_stencil_resolve], required: false, }, supported_operations => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSubgroupProperties.html#limits-supportedOperations) ", ty: crate::device::physical::SubgroupFeatures, ffi_name: supported_operations, ffi_members: [properties_subgroup], required: false, }, supported_stages => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSubgroupProperties.html#limits-supportedStages) ", ty: crate::pipeline::shader::ShaderStages, ffi_name: supported_stages, ffi_members: [properties_subgroup], required: false, }, supported_stencil_resolve_modes => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceVulkan12Properties.html#limits-supportedStencilResolveModes) ", ty: crate::render_pass::ResolveModes, ffi_name: supported_stencil_resolve_modes, ffi_members: [properties_vulkan12, properties_depth_stencil_resolve], required: false, }, timestamp_compute_and_graphics => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-timestampComputeAndGraphics) ", ty: bool, ffi_name: timestamp_compute_and_graphics, ffi_members: [properties_vulkan10.properties.limits], required: true, }, timestamp_period => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-timestampPeriod) ", ty: f32, ffi_name: timestamp_period, ffi_members: [properties_vulkan10.properties.limits], required: true, }, transform_feedback_draw => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceTransformFeedbackPropertiesEXT.html#limits-transformFeedbackDraw) ", ty: bool, ffi_name: transform_feedback_draw, ffi_members: [properties_transform_feedback_ext], required: false, }, transform_feedback_preserves_triangle_fan_provoking_vertex => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceProvokingVertexPropertiesEXT.html#limits-transformFeedbackPreservesTriangleFanProvokingVertex) ", ty: bool, ffi_name: transform_feedback_preserves_triangle_fan_provoking_vertex, ffi_members: [properties_provoking_vertex_ext], required: false, }, transform_feedback_queries => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceTransformFeedbackPropertiesEXT.html#limits-transformFeedbackQueries) ", ty: bool, ffi_name: transform_feedback_queries, ffi_members: [properties_transform_feedback_ext], required: false, }, transform_feedback_rasterization_stream_select => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceTransformFeedbackPropertiesEXT.html#limits-transformFeedbackRasterizationStreamSelect) ", ty: bool, ffi_name: transform_feedback_rasterization_stream_select, ffi_members: [properties_transform_feedback_ext], required: false, }, transform_feedback_streams_lines_triangles => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceTransformFeedbackPropertiesEXT.html#limits-transformFeedbackStreamsLinesTriangles) ", ty: bool, ffi_name: transform_feedback_streams_lines_triangles, ffi_members: [properties_transform_feedback_ext], required: false, }, uniform_texel_buffer_offset_alignment_bytes => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT.html#limits-uniformTexelBufferOffsetAlignmentBytes) ", ty: crate::DeviceSize, ffi_name: uniform_texel_buffer_offset_alignment_bytes, ffi_members: [properties_texel_buffer_alignment_ext], required: false, }, uniform_texel_buffer_offset_single_texel_alignment => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT.html#limits-uniformTexelBufferOffsetSingleTexelAlignment) ", ty: bool, ffi_name: uniform_texel_buffer_offset_single_texel_alignment, ffi_members: [properties_texel_buffer_alignment_ext], required: false, }, variable_sample_locations => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceSampleLocationsPropertiesEXT.html#limits-variableSampleLocations) ", ty: bool, ffi_name: variable_sample_locations, ffi_members: [properties_sample_locations_ext], required: false, }, vendor_id => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceProperties.html#limits-vendorID) ", ty: u32, ffi_name: vendor_id, ffi_members: [properties_vulkan10.properties], required: true, }, vgpr_allocation_granularity => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderCorePropertiesAMD.html#limits-vgprAllocationGranularity) ", ty: u32, ffi_name: vgpr_allocation_granularity, ffi_members: [properties_shader_core_amd], required: false, }, vgprs_per_simd => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderCorePropertiesAMD.html#limits-vgprsPerSimd) ", ty: u32, ffi_name: vgprs_per_simd, ffi_members: [properties_shader_core_amd], required: false, }, viewport_bounds_range => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-viewportBoundsRange) ", ty: [f32; 2], ffi_name: viewport_bounds_range, ffi_members: [properties_vulkan10.properties.limits], required: true, }, viewport_sub_pixel_bits => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceLimits.html#limits-viewportSubPixelBits) ", ty: u32, ffi_name: viewport_sub_pixel_bits, ffi_members: [properties_vulkan10.properties.limits], required: true, }, wavefront_size => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderCorePropertiesAMD.html#limits-wavefrontSize) ", ty: u32, ffi_name: wavefront_size, ffi_members: [properties_shader_core_amd], required: false, }, wavefronts_per_simd => { doc: " - [Vulkan documentation](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceShaderCorePropertiesAMD.html#limits-wavefrontsPerSimd) ", ty: u32, ffi_name: wavefronts_per_simd, ffi_members: [properties_shader_core_amd], required: false, }, } crate::device::properties::properties_ffi! { api_version, device_extensions, instance_extensions, properties_vulkan11 => { ty: PhysicalDeviceVulkan11Properties, provided_by: [api_version >= crate::Version::V1_2], conflicts: [], }, properties_vulkan12 => { ty: PhysicalDeviceVulkan12Properties, provided_by: [api_version >= crate::Version::V1_2], conflicts: [], }, properties_id => { ty: PhysicalDeviceIDProperties, provided_by: [api_version >= crate::Version::V1_1, instance_extensions.khr_external_fence_capabilities, instance_extensions.khr_external_memory_capabilities, instance_extensions.khr_external_semaphore_capabilities], conflicts: [properties_vulkan11], }, properties_maintenance3 => { ty: PhysicalDeviceMaintenance3Properties, provided_by: [api_version >= crate::Version::V1_1, device_extensions.khr_maintenance3], conflicts: [properties_vulkan11], }, properties_multiview => { ty: PhysicalDeviceMultiviewProperties, provided_by: [api_version >= crate::Version::V1_1, device_extensions.khr_multiview], conflicts: [properties_vulkan11], }, properties_point_clipping => { ty: PhysicalDevicePointClippingProperties, provided_by: [api_version >= crate::Version::V1_1, device_extensions.khr_maintenance2], conflicts: [properties_vulkan11], }, properties_protected_memory => { ty: PhysicalDeviceProtectedMemoryProperties, provided_by: [api_version >= crate::Version::V1_1], conflicts: [properties_vulkan11], }, properties_subgroup => { ty: PhysicalDeviceSubgroupProperties, provided_by: [api_version >= crate::Version::V1_1], conflicts: [properties_vulkan11], }, properties_depth_stencil_resolve => { ty: PhysicalDeviceDepthStencilResolveProperties, provided_by: [api_version >= crate::Version::V1_2, device_extensions.khr_depth_stencil_resolve], conflicts: [properties_vulkan12], }, properties_descriptor_indexing => { ty: PhysicalDeviceDescriptorIndexingProperties, provided_by: [api_version >= crate::Version::V1_2, device_extensions.ext_descriptor_indexing], conflicts: [properties_vulkan12], }, properties_driver => { ty: PhysicalDeviceDriverProperties, provided_by: [api_version >= crate::Version::V1_2, device_extensions.khr_driver_properties], conflicts: [properties_vulkan12], }, properties_float_controls => { ty: PhysicalDeviceFloatControlsProperties, provided_by: [api_version >= crate::Version::V1_2, device_extensions.khr_shader_float_controls], conflicts: [properties_vulkan12], }, properties_sampler_filter_minmax => { ty: PhysicalDeviceSamplerFilterMinmaxProperties, provided_by: [api_version >= crate::Version::V1_2, device_extensions.ext_sampler_filter_minmax], conflicts: [properties_vulkan12], }, properties_timeline_semaphore => { ty: PhysicalDeviceTimelineSemaphoreProperties, provided_by: [api_version >= crate::Version::V1_2, device_extensions.khr_timeline_semaphore], conflicts: [properties_vulkan12], }, properties_acceleration_structure_khr => { ty: PhysicalDeviceAccelerationStructurePropertiesKHR, provided_by: [device_extensions.khr_acceleration_structure], conflicts: [], }, properties_fragment_shading_rate_khr => { ty: PhysicalDeviceFragmentShadingRatePropertiesKHR, provided_by: [device_extensions.khr_fragment_shading_rate], conflicts: [], }, properties_performance_query_khr => { ty: PhysicalDevicePerformanceQueryPropertiesKHR, provided_by: [device_extensions.khr_performance_query], conflicts: [], }, properties_portability_subset_khr => { ty: PhysicalDevicePortabilitySubsetPropertiesKHR, provided_by: [device_extensions.khr_portability_subset], conflicts: [], }, properties_push_descriptor_khr => { ty: PhysicalDevicePushDescriptorPropertiesKHR, provided_by: [device_extensions.khr_push_descriptor], conflicts: [], }, properties_ray_tracing_pipeline_khr => { ty: PhysicalDeviceRayTracingPipelinePropertiesKHR, provided_by: [device_extensions.khr_ray_tracing_pipeline], conflicts: [], }, properties_blend_operation_advanced_ext => { ty: PhysicalDeviceBlendOperationAdvancedPropertiesEXT, provided_by: [device_extensions.ext_blend_operation_advanced], conflicts: [], }, properties_conservative_rasterization_ext => { ty: PhysicalDeviceConservativeRasterizationPropertiesEXT, provided_by: [device_extensions.ext_conservative_rasterization], conflicts: [], }, properties_custom_border_color_ext => { ty: PhysicalDeviceCustomBorderColorPropertiesEXT, provided_by: [device_extensions.ext_custom_border_color], conflicts: [], }, properties_discard_rectangle_ext => { ty: PhysicalDeviceDiscardRectanglePropertiesEXT, provided_by: [device_extensions.ext_discard_rectangles], conflicts: [], }, properties_drm_ext => { ty: PhysicalDeviceDrmPropertiesEXT, provided_by: [device_extensions.ext_physical_device_drm], conflicts: [], }, properties_external_memory_host_ext => { ty: PhysicalDeviceExternalMemoryHostPropertiesEXT, provided_by: [device_extensions.ext_external_memory_host], conflicts: [], }, properties_fragment_density_map2_ext => { ty: PhysicalDeviceFragmentDensityMap2PropertiesEXT, provided_by: [device_extensions.ext_fragment_density_map2], conflicts: [], }, properties_fragment_density_map_ext => { ty: PhysicalDeviceFragmentDensityMapPropertiesEXT, provided_by: [device_extensions.ext_fragment_density_map], conflicts: [], }, properties_inline_uniform_block_ext => { ty: PhysicalDeviceInlineUniformBlockPropertiesEXT, provided_by: [device_extensions.ext_inline_uniform_block], conflicts: [], }, properties_line_rasterization_ext => { ty: PhysicalDeviceLineRasterizationPropertiesEXT, provided_by: [device_extensions.ext_line_rasterization], conflicts: [], }, properties_multi_draw_ext => { ty: PhysicalDeviceMultiDrawPropertiesEXT, provided_by: [device_extensions.ext_multi_draw], conflicts: [], }, properties_pci_bus_info_ext => { ty: PhysicalDevicePCIBusInfoPropertiesEXT, provided_by: [device_extensions.ext_pci_bus_info], conflicts: [], }, properties_provoking_vertex_ext => { ty: PhysicalDeviceProvokingVertexPropertiesEXT, provided_by: [device_extensions.ext_provoking_vertex], conflicts: [], }, properties_robustness2_ext => { ty: PhysicalDeviceRobustness2PropertiesEXT, provided_by: [device_extensions.ext_robustness2], conflicts: [], }, properties_sample_locations_ext => { ty: PhysicalDeviceSampleLocationsPropertiesEXT, provided_by: [device_extensions.ext_sample_locations], conflicts: [], }, properties_subgroup_size_control_ext => { ty: PhysicalDeviceSubgroupSizeControlPropertiesEXT, provided_by: [device_extensions.ext_subgroup_size_control], conflicts: [], }, properties_texel_buffer_alignment_ext => { ty: PhysicalDeviceTexelBufferAlignmentPropertiesEXT, provided_by: [device_extensions.ext_texel_buffer_alignment], conflicts: [], }, properties_transform_feedback_ext => { ty: PhysicalDeviceTransformFeedbackPropertiesEXT, provided_by: [device_extensions.ext_transform_feedback], conflicts: [], }, properties_vertex_attribute_divisor_ext => { ty: PhysicalDeviceVertexAttributeDivisorPropertiesEXT, provided_by: [device_extensions.ext_vertex_attribute_divisor], conflicts: [], }, properties_cooperative_matrix_nv => { ty: PhysicalDeviceCooperativeMatrixPropertiesNV, provided_by: [device_extensions.nv_cooperative_matrix], conflicts: [], }, properties_device_generated_commands_nv => { ty: PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, provided_by: [device_extensions.nv_device_generated_commands], conflicts: [], }, properties_fragment_shading_rate_enums_nv => { ty: PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, provided_by: [device_extensions.nv_fragment_shading_rate_enums], conflicts: [], }, properties_mesh_shader_nv => { ty: PhysicalDeviceMeshShaderPropertiesNV, provided_by: [device_extensions.nv_mesh_shader], conflicts: [], }, properties_multiview_per_view_attributes_nvx => { ty: PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, provided_by: [device_extensions.nvx_multiview_per_view_attributes], conflicts: [], }, properties_ray_tracing_nv => { ty: PhysicalDeviceRayTracingPropertiesNV, provided_by: [device_extensions.nv_ray_tracing], conflicts: [properties_ray_tracing_pipeline_khr, properties_acceleration_structure_khr], }, properties_shader_core2_amd => { ty: PhysicalDeviceShaderCoreProperties2AMD, provided_by: [device_extensions.amd_shader_core_properties2], conflicts: [], }, properties_shader_core_amd => { ty: PhysicalDeviceShaderCorePropertiesAMD, provided_by: [device_extensions.amd_shader_core_properties], conflicts: [], }, properties_shader_sm_builtins_nv => { ty: PhysicalDeviceShaderSMBuiltinsPropertiesNV, provided_by: [device_extensions.nv_shader_sm_builtins], conflicts: [], }, properties_shading_rate_image_nv => { ty: PhysicalDeviceShadingRateImagePropertiesNV, provided_by: [device_extensions.nv_shading_rate_image], conflicts: [], }, properties_subpass_shading_huawei => { ty: PhysicalDeviceSubpassShadingPropertiesHUAWEI, provided_by: [device_extensions.huawei_subpass_shading], conflicts: [], }, }