blob: 4158e48ae97cb5c688b5509640c1b7127ad40458 [file] [log] [blame]
// 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: [],
},
}