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