#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct debug_report;
impl debug_report {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_debug_report");
}
impl_ext! { debug_report }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct depth_range_unrestricted;
impl depth_range_unrestricted {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_depth_range_unrestricted");
}
impl_ext! { depth_range_unrestricted }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct debug_marker;
impl debug_marker {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_debug_marker");
}
impl_ext! { debug_marker }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct transform_feedback;
impl transform_feedback {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_transform_feedback");
}
impl_ext! { transform_feedback }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct validation_flags;
impl validation_flags {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_validation_flags");
}
impl_ext! { validation_flags }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shader_subgroup_ballot;
impl shader_subgroup_ballot {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_shader_subgroup_ballot");
}
impl_ext! { shader_subgroup_ballot }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shader_subgroup_vote;
impl shader_subgroup_vote {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_shader_subgroup_vote");
}
impl_ext! { shader_subgroup_vote }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct texture_compression_astc_hdr;
impl texture_compression_astc_hdr {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_texture_compression_astc_hdr");
}
impl_ext! { texture_compression_astc_hdr }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct astc_decode_mode;
impl astc_decode_mode {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_astc_decode_mode");
}
impl_ext! { astc_decode_mode }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct pipeline_robustness;
impl pipeline_robustness {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_pipeline_robustness");
}
impl_ext! { pipeline_robustness }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct conditional_rendering;
impl conditional_rendering {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_conditional_rendering");
}
impl_ext! { conditional_rendering }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct direct_mode_display;
impl direct_mode_display {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_direct_mode_display");
}
impl_ext! { direct_mode_display }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct acquire_xlib_display;
impl acquire_xlib_display {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_acquire_xlib_display");
}
impl_ext! { acquire_xlib_display }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct display_surface_counter;
impl display_surface_counter {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_display_surface_counter");
}
impl_ext! { display_surface_counter }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct display_control;
impl display_control {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_display_control");
}
impl_ext! { display_control }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct discard_rectangles;
impl discard_rectangles {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_discard_rectangles");
}
impl_ext! { discard_rectangles }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct conservative_rasterization;
impl conservative_rasterization {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_conservative_rasterization");
}
impl_ext! { conservative_rasterization }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct depth_clip_enable;
impl depth_clip_enable {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_depth_clip_enable");
}
impl_ext! { depth_clip_enable }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct swapchain_colorspace;
impl swapchain_colorspace {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_swapchain_colorspace");
}
impl_ext! { swapchain_colorspace }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct hdr_metadata;
impl hdr_metadata {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_hdr_metadata");
}
impl_ext! { hdr_metadata }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct external_memory_dma_buf;
impl external_memory_dma_buf {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_external_memory_dma_buf");
}
impl_ext! { external_memory_dma_buf }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct queue_family_foreign;
impl queue_family_foreign {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_queue_family_foreign");
}
impl_ext! { queue_family_foreign }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct debug_utils;
impl debug_utils {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_debug_utils");
}
impl_ext! { debug_utils }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct sampler_filter_minmax;
impl sampler_filter_minmax {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_sampler_filter_minmax");
}
impl_ext! { sampler_filter_minmax }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct descriptor_heap;
impl descriptor_heap {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_descriptor_heap");
}
impl_ext! { descriptor_heap }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct inline_uniform_block;
impl inline_uniform_block {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_inline_uniform_block");
}
impl_ext! { inline_uniform_block }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shader_stencil_export;
impl shader_stencil_export {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_shader_stencil_export");
}
impl_ext! { shader_stencil_export }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct sample_locations;
impl sample_locations {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_sample_locations");
}
impl_ext! { sample_locations }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct blend_operation_advanced;
impl blend_operation_advanced {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_blend_operation_advanced");
}
impl_ext! { blend_operation_advanced }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct post_depth_coverage;
impl post_depth_coverage {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_post_depth_coverage");
}
impl_ext! { post_depth_coverage }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct image_drm_format_modifier;
impl image_drm_format_modifier {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_image_drm_format_modifier");
}
impl_ext! { image_drm_format_modifier }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct validation_cache;
impl validation_cache {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_validation_cache");
}
impl_ext! { validation_cache }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct descriptor_indexing;
impl descriptor_indexing {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_descriptor_indexing");
}
impl_ext! { descriptor_indexing }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shader_viewport_index_layer;
impl shader_viewport_index_layer {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_shader_viewport_index_layer");
}
impl_ext! { shader_viewport_index_layer }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct filter_cubic;
impl filter_cubic {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_filter_cubic");
}
impl_ext! { filter_cubic }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct global_priority;
impl global_priority {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_global_priority");
}
impl_ext! { global_priority }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct external_memory_host;
impl external_memory_host {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_external_memory_host");
}
impl_ext! { external_memory_host }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct calibrated_timestamps;
impl calibrated_timestamps {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_calibrated_timestamps");
}
impl_ext! { calibrated_timestamps }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct vertex_attribute_divisor;
impl vertex_attribute_divisor {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_vertex_attribute_divisor");
}
impl_ext! { vertex_attribute_divisor }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct pipeline_creation_feedback;
impl pipeline_creation_feedback {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_pipeline_creation_feedback");
}
impl_ext! { pipeline_creation_feedback }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct present_timing;
impl present_timing {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_present_timing");
}
impl_ext! { present_timing }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct pci_bus_info;
impl pci_bus_info {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_pci_bus_info");
}
impl_ext! { pci_bus_info }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct metal_surface;
impl metal_surface {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_metal_surface");
}
impl_ext! { metal_surface }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct fragment_density_map;
impl fragment_density_map {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_fragment_density_map");
}
impl_ext! { fragment_density_map }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct scalar_block_layout;
impl scalar_block_layout {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_scalar_block_layout");
}
impl_ext! { scalar_block_layout }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct subgroup_size_control;
impl subgroup_size_control {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_subgroup_size_control");
}
impl_ext! { subgroup_size_control }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shader_image_atomic_int64;
impl shader_image_atomic_int64 {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_shader_image_atomic_int64");
}
impl_ext! { shader_image_atomic_int64 }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct memory_budget;
impl memory_budget {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_memory_budget");
}
impl_ext! { memory_budget }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct memory_priority;
impl memory_priority {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_memory_priority");
}
impl_ext! { memory_priority }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct buffer_device_address;
impl buffer_device_address {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_buffer_device_address");
}
impl_ext! { buffer_device_address }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct tooling_info;
impl tooling_info {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_tooling_info");
}
impl_ext! { tooling_info }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct separate_stencil_usage;
impl separate_stencil_usage {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_separate_stencil_usage");
}
impl_ext! { separate_stencil_usage }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct validation_features;
impl validation_features {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_validation_features");
}
impl_ext! { validation_features }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct fragment_shader_interlock;
impl fragment_shader_interlock {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_fragment_shader_interlock");
}
impl_ext! { fragment_shader_interlock }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ycbcr_image_arrays;
impl ycbcr_image_arrays {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_ycbcr_image_arrays");
}
impl_ext! { ycbcr_image_arrays }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct provoking_vertex;
impl provoking_vertex {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_provoking_vertex");
}
impl_ext! { provoking_vertex }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct full_screen_exclusive;
impl full_screen_exclusive {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_full_screen_exclusive");
}
impl_ext! { full_screen_exclusive }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct headless_surface;
impl headless_surface {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_headless_surface");
}
impl_ext! { headless_surface }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct line_rasterization;
impl line_rasterization {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_line_rasterization");
}
impl_ext! { line_rasterization }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shader_atomic_float;
impl shader_atomic_float {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_shader_atomic_float");
}
impl_ext! { shader_atomic_float }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct host_query_reset;
impl host_query_reset {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_host_query_reset");
}
impl_ext! { host_query_reset }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct index_type_uint8;
impl index_type_uint8 {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_index_type_uint8");
}
impl_ext! { index_type_uint8 }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct extended_dynamic_state;
impl extended_dynamic_state {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_extended_dynamic_state");
}
impl_ext! { extended_dynamic_state }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct host_image_copy;
impl host_image_copy {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_host_image_copy");
}
impl_ext! { host_image_copy }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct map_memory_placed;
impl map_memory_placed {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_map_memory_placed");
}
impl_ext! { map_memory_placed }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shader_atomic_float2;
impl shader_atomic_float2 {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_shader_atomic_float2");
}
impl_ext! { shader_atomic_float2 }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct surface_maintenance1;
impl surface_maintenance1 {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_surface_maintenance1");
}
impl_ext! { surface_maintenance1 }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct swapchain_maintenance1;
impl swapchain_maintenance1 {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_swapchain_maintenance1");
}
impl_ext! { swapchain_maintenance1 }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shader_demote_to_helper_invocation;
impl shader_demote_to_helper_invocation {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_shader_demote_to_helper_invocation");
}
impl_ext! { shader_demote_to_helper_invocation }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct texel_buffer_alignment;
impl texel_buffer_alignment {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_texel_buffer_alignment");
}
impl_ext! { texel_buffer_alignment }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct depth_bias_control;
impl depth_bias_control {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_depth_bias_control");
}
impl_ext! { depth_bias_control }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct device_memory_report;
impl device_memory_report {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_device_memory_report");
}
impl_ext! { device_memory_report }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct acquire_drm_display;
impl acquire_drm_display {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_acquire_drm_display");
}
impl_ext! { acquire_drm_display }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct robustness2;
impl robustness2 {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_robustness2");
}
impl_ext! { robustness2 }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct custom_border_color;
impl custom_border_color {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_custom_border_color");
}
impl_ext! { custom_border_color }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct texture_compression_astc_3d;
impl texture_compression_astc_3d {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_texture_compression_astc_3d");
}
impl_ext! { texture_compression_astc_3d }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct private_data;
impl private_data {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_private_data");
}
impl_ext! { private_data }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct pipeline_creation_cache_control;
impl pipeline_creation_cache_control {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_pipeline_creation_cache_control");
}
impl_ext! { pipeline_creation_cache_control }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct metal_objects;
impl metal_objects {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_metal_objects");
}
impl_ext! { metal_objects }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct descriptor_buffer;
impl descriptor_buffer {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_descriptor_buffer");
}
impl_ext! { descriptor_buffer }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct graphics_pipeline_library;
impl graphics_pipeline_library {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_graphics_pipeline_library");
}
impl_ext! { graphics_pipeline_library }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct mesh_shader;
impl mesh_shader {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_mesh_shader");
}
impl_ext! { mesh_shader }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ycbcr_2plane_444_formats;
impl ycbcr_2plane_444_formats {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_ycbcr_2plane_444_formats");
}
impl_ext! { ycbcr_2plane_444_formats }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct fragment_density_map2;
impl fragment_density_map2 {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_fragment_density_map2");
}
impl_ext! { fragment_density_map2 }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct image_robustness;
impl image_robustness {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_image_robustness");
}
impl_ext! { image_robustness }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct image_compression_control;
impl image_compression_control {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_image_compression_control");
}
impl_ext! { image_compression_control }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct attachment_feedback_loop_layout;
impl attachment_feedback_loop_layout {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_attachment_feedback_loop_layout");
}
impl_ext! { attachment_feedback_loop_layout }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct _4444_formats;
impl _4444_formats {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_4444_formats");
}
impl_ext! { _4444_formats }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct device_fault;
impl device_fault {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_device_fault");
}
impl_ext! { device_fault }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct rgba10x6_formats;
impl rgba10x6_formats {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_rgba10x6_formats");
}
impl_ext! { rgba10x6_formats }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct directfb_surface;
impl directfb_surface {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_directfb_surface");
}
impl_ext! { directfb_surface }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct vertex_input_dynamic_state;
impl vertex_input_dynamic_state {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_vertex_input_dynamic_state");
}
impl_ext! { vertex_input_dynamic_state }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct physical_device_drm;
impl physical_device_drm {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_physical_device_drm");
}
impl_ext! { physical_device_drm }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct device_address_binding_report;
impl device_address_binding_report {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_device_address_binding_report");
}
impl_ext! { device_address_binding_report }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct depth_clip_control;
impl depth_clip_control {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_depth_clip_control");
}
impl_ext! { depth_clip_control }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct primitive_topology_list_restart;
impl primitive_topology_list_restart {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_primitive_topology_list_restart");
}
impl_ext! { primitive_topology_list_restart }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct present_mode_fifo_latest_ready;
impl present_mode_fifo_latest_ready {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_present_mode_fifo_latest_ready");
}
impl_ext! { present_mode_fifo_latest_ready }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct pipeline_properties;
impl pipeline_properties {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_pipeline_properties");
}
impl_ext! { pipeline_properties }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct frame_boundary;
impl frame_boundary {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_frame_boundary");
}
impl_ext! { frame_boundary }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct multisampled_render_to_single_sampled;
impl multisampled_render_to_single_sampled {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_multisampled_render_to_single_sampled");
}
impl_ext! { multisampled_render_to_single_sampled }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct extended_dynamic_state2;
impl extended_dynamic_state2 {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_extended_dynamic_state2");
}
impl_ext! { extended_dynamic_state2 }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct color_write_enable;
impl color_write_enable {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_color_write_enable");
}
impl_ext! { color_write_enable }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct primitives_generated_query;
impl primitives_generated_query {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_primitives_generated_query");
}
impl_ext! { primitives_generated_query }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct global_priority_query;
impl global_priority_query {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_global_priority_query");
}
impl_ext! { global_priority_query }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct image_view_min_lod;
impl image_view_min_lod {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_image_view_min_lod");
}
impl_ext! { image_view_min_lod }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct multi_draw;
impl multi_draw {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_multi_draw");
}
impl_ext! { multi_draw }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct image_2d_view_of_3d;
impl image_2d_view_of_3d {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_image_2d_view_of_3d");
}
impl_ext! { image_2d_view_of_3d }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shader_tile_image;
impl shader_tile_image {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_shader_tile_image");
}
impl_ext! { shader_tile_image }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct opacity_micromap;
impl opacity_micromap {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_opacity_micromap");
}
impl_ext! { opacity_micromap }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct load_store_op_none;
impl load_store_op_none {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_load_store_op_none");
}
impl_ext! { load_store_op_none }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct border_color_swizzle;
impl border_color_swizzle {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_border_color_swizzle");
}
impl_ext! { border_color_swizzle }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct pageable_device_local_memory;
impl pageable_device_local_memory {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_pageable_device_local_memory");
}
impl_ext! { pageable_device_local_memory }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct image_sliced_view_of_3d;
impl image_sliced_view_of_3d {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_image_sliced_view_of_3d");
}
impl_ext! { image_sliced_view_of_3d }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct depth_clamp_zero_one;
impl depth_clamp_zero_one {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_depth_clamp_zero_one");
}
impl_ext! { depth_clamp_zero_one }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct non_seamless_cube_map;
impl non_seamless_cube_map {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_non_seamless_cube_map");
}
impl_ext! { non_seamless_cube_map }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct application_parameters;
impl application_parameters {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_application_parameters");
}
impl_ext! { application_parameters }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct image_compression_control_swapchain;
impl image_compression_control_swapchain {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_image_compression_control_swapchain");
}
impl_ext! { image_compression_control_swapchain }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct nested_command_buffer;
impl nested_command_buffer {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_nested_command_buffer");
}
impl_ext! { nested_command_buffer }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct external_memory_acquire_unmodified;
impl external_memory_acquire_unmodified {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_external_memory_acquire_unmodified");
}
impl_ext! { external_memory_acquire_unmodified }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct extended_dynamic_state3;
impl extended_dynamic_state3 {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_extended_dynamic_state3");
}
impl_ext! { extended_dynamic_state3 }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct subpass_merge_feedback;
impl subpass_merge_feedback {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_subpass_merge_feedback");
}
impl_ext! { subpass_merge_feedback }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shader_module_identifier;
impl shader_module_identifier {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_shader_module_identifier");
}
impl_ext! { shader_module_identifier }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct rasterization_order_attachment_access;
impl rasterization_order_attachment_access {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_rasterization_order_attachment_access");
}
impl_ext! { rasterization_order_attachment_access }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct legacy_dithering;
impl legacy_dithering {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_legacy_dithering");
}
impl_ext! { legacy_dithering }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct pipeline_protected_access;
impl pipeline_protected_access {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_pipeline_protected_access");
}
impl_ext! { pipeline_protected_access }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shader_object;
impl shader_object {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_shader_object");
}
impl_ext! { shader_object }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct mutable_descriptor_type;
impl mutable_descriptor_type {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_mutable_descriptor_type");
}
impl_ext! { mutable_descriptor_type }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct legacy_vertex_attributes;
impl legacy_vertex_attributes {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_legacy_vertex_attributes");
}
impl_ext! { legacy_vertex_attributes }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct layer_settings;
impl layer_settings {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_layer_settings");
}
impl_ext! { layer_settings }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct pipeline_library_group_handles;
impl pipeline_library_group_handles {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_pipeline_library_group_handles");
}
impl_ext! { pipeline_library_group_handles }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct dynamic_rendering_unused_attachments;
impl dynamic_rendering_unused_attachments {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_dynamic_rendering_unused_attachments");
}
impl_ext! { dynamic_rendering_unused_attachments }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct attachment_feedback_loop_dynamic_state;
impl attachment_feedback_loop_dynamic_state {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_attachment_feedback_loop_dynamic_state");
}
impl_ext! { attachment_feedback_loop_dynamic_state }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct memory_decompression;
impl memory_decompression {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_memory_decompression");
}
impl_ext! { memory_decompression }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shader_replicated_composites;
impl shader_replicated_composites {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_shader_replicated_composites");
}
impl_ext! { shader_replicated_composites }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shader_float8;
impl shader_float8 {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_shader_float8");
}
impl_ext! { shader_float8 }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct device_generated_commands;
impl device_generated_commands {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_device_generated_commands");
}
impl_ext! { device_generated_commands }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ray_tracing_invocation_reorder;
impl ray_tracing_invocation_reorder {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_ray_tracing_invocation_reorder");
}
impl_ext! { ray_tracing_invocation_reorder }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct depth_clamp_control;
impl depth_clamp_control {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_depth_clamp_control");
}
impl_ext! { depth_clamp_control }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct external_memory_metal;
impl external_memory_metal {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_external_memory_metal");
}
impl_ext! { external_memory_metal }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct vertex_attribute_robustness;
impl vertex_attribute_robustness {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_vertex_attribute_robustness");
}
impl_ext! { vertex_attribute_robustness }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct fragment_density_map_offset;
impl fragment_density_map_offset {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_fragment_density_map_offset");
}
impl_ext! { fragment_density_map_offset }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct zero_initialize_device_memory;
impl zero_initialize_device_memory {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_zero_initialize_device_memory");
}
impl_ext! { zero_initialize_device_memory }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shader_64bit_indexing;
impl shader_64bit_indexing {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_shader_64bit_indexing");
}
impl_ext! { shader_64bit_indexing }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct custom_resolve;
impl custom_resolve {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_custom_resolve");
}
impl_ext! { custom_resolve }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shader_long_vector;
impl shader_long_vector {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_shader_long_vector");
}
impl_ext! { shader_long_vector }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shader_uniform_buffer_unsized_array;
impl shader_uniform_buffer_unsized_array {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_shader_uniform_buffer_unsized_array");
}
impl_ext! { shader_uniform_buffer_unsized_array }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shader_subgroup_partitioned;
impl shader_subgroup_partitioned {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_EXT_shader_subgroup_partitioned");
}
impl_ext! { shader_subgroup_partitioned }