| // 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: [], |
| }, |
| } |