diff options
Diffstat (limited to 'out/autogen.rs')
-rw-r--r-- | out/autogen.rs | 9611 |
1 files changed, 0 insertions, 9611 deletions
diff --git a/out/autogen.rs b/out/autogen.rs deleted file mode 100644 index 4158e48..0000000 --- a/out/autogen.rs +++ /dev/null @@ -1,9611 +0,0 @@ -// 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: [], - }, -} |