#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct glsl_shader;
impl glsl_shader {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_glsl_shader");
}
impl_ext! { glsl_shader }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct dedicated_allocation;
impl dedicated_allocation {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_dedicated_allocation");
}
impl_ext! { dedicated_allocation }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct corner_sampled_image;
impl corner_sampled_image {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_corner_sampled_image");
}
impl_ext! { corner_sampled_image }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct private_vendor_info;
impl private_vendor_info {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_private_vendor_info");
}
impl_ext! { private_vendor_info }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct external_memory_capabilities;
impl external_memory_capabilities {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_external_memory_capabilities");
}
impl_ext! { external_memory_capabilities }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct external_memory;
impl external_memory {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_external_memory");
}
impl_ext! { external_memory }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct external_memory_win32;
impl external_memory_win32 {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_external_memory_win32");
}
impl_ext! { external_memory_win32 }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct win32_keyed_mutex;
impl win32_keyed_mutex {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_win32_keyed_mutex");
}
impl_ext! { win32_keyed_mutex }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct clip_space_w_scaling;
impl clip_space_w_scaling {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_clip_space_w_scaling");
}
impl_ext! { clip_space_w_scaling }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct sample_mask_override_coverage;
impl sample_mask_override_coverage {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_sample_mask_override_coverage");
}
impl_ext! { sample_mask_override_coverage }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct geometry_shader_passthrough;
impl geometry_shader_passthrough {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_geometry_shader_passthrough");
}
impl_ext! { geometry_shader_passthrough }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct viewport_array2;
impl viewport_array2 {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_viewport_array2");
}
impl_ext! { viewport_array2 }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct viewport_swizzle;
impl viewport_swizzle {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_viewport_swizzle");
}
impl_ext! { viewport_swizzle }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct fragment_coverage_to_color;
impl fragment_coverage_to_color {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_fragment_coverage_to_color");
}
impl_ext! { fragment_coverage_to_color }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct framebuffer_mixed_samples;
impl framebuffer_mixed_samples {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_framebuffer_mixed_samples");
}
impl_ext! { framebuffer_mixed_samples }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct fill_rectangle;
impl fill_rectangle {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_fill_rectangle");
}
impl_ext! { fill_rectangle }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shader_sm_builtins;
impl shader_sm_builtins {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_shader_sm_builtins");
}
impl_ext! { shader_sm_builtins }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shading_rate_image;
impl shading_rate_image {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_shading_rate_image");
}
impl_ext! { shading_rate_image }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ray_tracing;
impl ray_tracing {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_ray_tracing");
}
impl_ext! { ray_tracing }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct representative_fragment_test;
impl representative_fragment_test {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_representative_fragment_test");
}
impl_ext! { representative_fragment_test }
#[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_NV_shader_subgroup_partitioned");
}
impl_ext! { shader_subgroup_partitioned }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct compute_shader_derivatives;
impl compute_shader_derivatives {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_compute_shader_derivatives");
}
impl_ext! { compute_shader_derivatives }
#[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_NV_mesh_shader");
}
impl_ext! { mesh_shader }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct fragment_shader_barycentric;
impl fragment_shader_barycentric {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_fragment_shader_barycentric");
}
impl_ext! { fragment_shader_barycentric }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shader_image_footprint;
impl shader_image_footprint {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_shader_image_footprint");
}
impl_ext! { shader_image_footprint }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct scissor_exclusive;
impl scissor_exclusive {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_scissor_exclusive");
}
impl_ext! { scissor_exclusive }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct device_diagnostic_checkpoints;
impl device_diagnostic_checkpoints {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_device_diagnostic_checkpoints");
}
impl_ext! { device_diagnostic_checkpoints }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct dedicated_allocation_image_aliasing;
impl dedicated_allocation_image_aliasing {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_dedicated_allocation_image_aliasing");
}
impl_ext! { dedicated_allocation_image_aliasing }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct cooperative_matrix;
impl cooperative_matrix {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_cooperative_matrix");
}
impl_ext! { cooperative_matrix }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct coverage_reduction_mode;
impl coverage_reduction_mode {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_coverage_reduction_mode");
}
impl_ext! { coverage_reduction_mode }
#[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_NV_device_generated_commands");
}
impl_ext! { device_generated_commands }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct inherited_viewport_scissor;
impl inherited_viewport_scissor {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_inherited_viewport_scissor");
}
impl_ext! { inherited_viewport_scissor }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct present_barrier;
impl present_barrier {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_present_barrier");
}
impl_ext! { present_barrier }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct device_diagnostics_config;
impl device_diagnostics_config {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_device_diagnostics_config");
}
impl_ext! { device_diagnostics_config }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct cuda_kernel_launch;
impl cuda_kernel_launch {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_cuda_kernel_launch");
}
impl_ext! { cuda_kernel_launch }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct low_latency;
impl low_latency {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_low_latency");
}
impl_ext! { low_latency }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct fragment_shading_rate_enums;
impl fragment_shading_rate_enums {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_fragment_shading_rate_enums");
}
impl_ext! { fragment_shading_rate_enums }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ray_tracing_motion_blur;
impl ray_tracing_motion_blur {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_ray_tracing_motion_blur");
}
impl_ext! { ray_tracing_motion_blur }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct acquire_winrt_display;
impl acquire_winrt_display {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_acquire_winrt_display");
}
impl_ext! { acquire_winrt_display }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct external_memory_rdma;
impl external_memory_rdma {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_external_memory_rdma");
}
impl_ext! { external_memory_rdma }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct external_sci_sync;
impl external_sci_sync {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_external_sci_sync");
}
impl_ext! { external_sci_sync }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct external_memory_sci_buf;
impl external_memory_sci_buf {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_external_memory_sci_buf");
}
impl_ext! { external_memory_sci_buf }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct displacement_micromap;
impl displacement_micromap {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_displacement_micromap");
}
impl_ext! { displacement_micromap }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct copy_memory_indirect;
impl copy_memory_indirect {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_copy_memory_indirect");
}
impl_ext! { copy_memory_indirect }
#[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_NV_memory_decompression");
}
impl_ext! { memory_decompression }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct device_generated_commands_compute;
impl device_generated_commands_compute {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_device_generated_commands_compute");
}
impl_ext! { device_generated_commands_compute }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ray_tracing_linear_swept_spheres;
impl ray_tracing_linear_swept_spheres {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_ray_tracing_linear_swept_spheres");
}
impl_ext! { ray_tracing_linear_swept_spheres }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct linear_color_attachment;
impl linear_color_attachment {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_linear_color_attachment");
}
impl_ext! { linear_color_attachment }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct optical_flow;
impl optical_flow {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_optical_flow");
}
impl_ext! { optical_flow }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct external_sci_sync2;
impl external_sci_sync2 {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_external_sci_sync2");
}
impl_ext! { external_sci_sync2 }
#[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_NV_ray_tracing_invocation_reorder");
}
impl_ext! { ray_tracing_invocation_reorder }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct cooperative_vector;
impl cooperative_vector {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_cooperative_vector");
}
impl_ext! { cooperative_vector }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct extended_sparse_address_space;
impl extended_sparse_address_space {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_extended_sparse_address_space");
}
impl_ext! { extended_sparse_address_space }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct low_latency2;
impl low_latency2 {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_low_latency2");
}
impl_ext! { low_latency2 }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct per_stage_descriptor_set;
impl per_stage_descriptor_set {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_per_stage_descriptor_set");
}
impl_ext! { per_stage_descriptor_set }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct descriptor_pool_overallocation;
impl descriptor_pool_overallocation {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_descriptor_pool_overallocation");
}
impl_ext! { descriptor_pool_overallocation }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct display_stereo;
impl display_stereo {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_display_stereo");
}
impl_ext! { display_stereo }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct raw_access_chains;
impl raw_access_chains {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_raw_access_chains");
}
impl_ext! { raw_access_chains }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct external_compute_queue;
impl external_compute_queue {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_external_compute_queue");
}
impl_ext! { external_compute_queue }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct command_buffer_inheritance;
impl command_buffer_inheritance {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_command_buffer_inheritance");
}
impl_ext! { command_buffer_inheritance }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct shader_atomic_float16_vector;
impl shader_atomic_float16_vector {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_shader_atomic_float16_vector");
}
impl_ext! { shader_atomic_float16_vector }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ray_tracing_validation;
impl ray_tracing_validation {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_ray_tracing_validation");
}
impl_ext! { ray_tracing_validation }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct cluster_acceleration_structure;
impl cluster_acceleration_structure {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_cluster_acceleration_structure");
}
impl_ext! { cluster_acceleration_structure }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct partitioned_acceleration_structure;
impl partitioned_acceleration_structure {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_partitioned_acceleration_structure");
}
impl_ext! { partitioned_acceleration_structure }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct push_constant_bank;
impl push_constant_bank {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_push_constant_bank");
}
impl_ext! { push_constant_bank }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct cooperative_matrix2;
impl cooperative_matrix2 {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_cooperative_matrix2");
}
impl_ext! { cooperative_matrix2 }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct present_metering;
impl present_metering {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_present_metering");
}
impl_ext! { present_metering }
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct compute_occupancy_priority;
impl compute_occupancy_priority {
pub const NAME: crate::ExtName<'static> = crate::e!("VK_NV_compute_occupancy_priority");
}
impl_ext! { compute_occupancy_priority }