mirror of
https://github.com/vulkano-rs/vulkano.git
synced 2024-11-28 17:54:45 +00:00
46 KiB
46 KiB
Vulkano's coverage of Vulkan
Coverage of support for Vulkan core features and extensions in Vulkano, as of the Vulkan 1.3.260 spec.
"Partially supported" includes core features and extensions that have some support in Vulkano, but are not fully implemented. A list of unimplemented features is given.
Vulkan 1.0
Unsupported
- Updating existing descriptor sets
- Sparse binding
VkAllocationCallbacks
- Possibly more?
Vulkan 1.1
Fully supported
VK_KHR_16bit_storage
VK_KHR_bind_memory2
VK_KHR_dedicated_allocation
VK_KHR_device_group_creation
VK_KHR_get_memory_requirements2
VK_KHR_get_physical_device_properties2
VK_KHR_external_fence
VK_KHR_external_fence_capabilities
VK_KHR_external_memory
VK_KHR_external_memory_capabilities
VK_KHR_external_semaphore
VK_KHR_external_semaphore_capabilities
VK_KHR_maintenance1
VK_KHR_maintenance2
VK_KHR_maintenance3
VK_KHR_multiview
VK_KHR_relaxed_block_layout
VK_KHR_shader_draw_parameters
VK_KHR_storage_buffer_storage_class
VK_KHR_variable_pointers
vkEnumerateInstanceVersion
- Group operations, subgroup scope
Partially supported
VK_KHR_sampler_ycbcr_conversion
VkSamplerYcbcrConversionImageFormatPropertiesKHR
Unsupported
VK_KHR_descriptor_update_template
VK_KHR_device_group
- Protected memory
Vulkan 1.2
Fully supported
VK_KHR_8bit_storage
VK_KHR_depth_stencil_resolve
VK_KHR_driver_properties
VK_KHR_image_format_list
VK_KHR_sampler_mirror_clamp_to_edge
VK_KHR_spirv_1_4
VK_KHR_shader_atomic_int64
VK_KHR_shader_float16_int8
VK_KHR_shader_float_controls
VK_KHR_shader_subgroup_extended_types
VK_KHR_uniform_buffer_standard_layout
VK_KHR_vulkan_memory_model
VK_EXT_sampler_filter_minmax
VK_EXT_scalar_block_layout
VK_EXT_separate_stencil_usage
VK_KHR_separate_depth_stencil_layouts
VK_EXT_shader_viewport_index_layer
- SPIR-V 1.4 and 1.5
Partially supported
VK_KHR_buffer_device_address
vkGetBufferOpaqueCaptureAddressKHR
/VkBufferOpaqueCaptureAddressCreateInfoKHR
vkGetDeviceMemoryOpaqueCaptureAddressKHR
/VkMemoryOpaqueCaptureAddressAllocateInfoKHR
VK_EXT_descriptor_indexing
VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT
VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
/VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT
/VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT
Unsupported
VK_KHR_draw_indirect_count
VK_KHR_imageless_framebuffer
VK_KHR_timeline_semaphore
VK_EXT_host_query_reset
framebufferIntegerColorSampleCounts
Vulkan 1.3
Fully supported
VK_KHR_copy_commands2
VK_KHR_create_renderpass2
VK_KHR_format_feature_flags2
VK_EXT_inline_uniform_block
VK_KHR_shader_integer_dot_product
VK_KHR_shader_non_semantic_info
VK_KHR_shader_terminate_invocation
VK_KHR_zero_initialize_workgroup_memory
VK_EXT_4444_formats
VK_EXT_extended_dynamic_state
VK_EXT_extended_dynamic_state2
VK_EXT_image_robustness
VK_EXT_shader_demote_to_helper_invocation
VK_EXT_subgroup_size_control
VK_EXT_texel_buffer_alignment
VK_EXT_texture_compression_astc_hdr
VK_EXT_tooling_info
VK_EXT_ycbcr_2plane_444_formats
- SPIR-V 1.6
Partially supported
VK_KHR_dynamic_rendering
- Suspend/resume
VK_KHR_synchronization2
vkQueueSubmit2KHR
/VkSemaphoreSubmitInfoKHR
(missing parameters related to device groups)
Unsupported
VK_KHR_maintenance4
VK_EXT_pipeline_creation_cache_control
VK_EXT_pipeline_creation_feedback
VK_EXT_private_data
Extensions not promoted to core
Fully supported
VK_KHR_android_surface
VK_KHR_deferred_host_operations
VK_KHR_display
VK_KHR_external_fence_fd
VK_KHR_external_fence_win32
VK_KHR_external_memory_fd
VK_KHR_external_semaphore_fd
VK_KHR_get_display_properties2
VK_KHR_get_surface_capabilities2
VK_KHR_incremental_present
VK_KHR_map_memory2
VK_KHR_portability_enumeration
VK_KHR_present_id
VK_KHR_present_wait
VK_KHR_push_descriptor
VK_KHR_ray_query
VK_KHR_surface
VK_KHR_surface_protected_capabilities
VK_KHR_swapchain
VK_KHR_swapchain_mutable_format
VK_KHR_wayland_surface
VK_KHR_win32_surface
VK_KHR_xcb_surface
VK_KHR_xlib_surface
VK_EXT_color_write_enable
VK_EXT_depth_range_unrestricted
VK_EXT_directfb_surface
VK_EXT_discard_rectangles
VK_EXT_external_memory_dma_buf
VK_EXT_filter_cubic
VK_EXT_headless_surface
VK_EXT_image_2d_view_of_3d
VK_EXT_image_drm_format_modifier
VK_EXT_index_type_uint8
VK_EXT_line_rasterization
VK_EXT_metal_surface
VK_EXT_primitive_topology_list_restart
VK_EXT_robustness2
VK_EXT_surface_maintenance1
VK_EXT_swapchain_colorspace
VK_EXT_validation_features
VK_EXT_vertex_attribute_divisor
VK_EXT_ycbcr_image_arrays
VK_FUCHSIA_external_semaphore
VK_FUCHSIA_imagepipe_surface
VK_GGP_stream_descriptor_surface
VK_MVK_ios_surface
(deprecated)VK_MVK_macos_surface
(deprecated)VK_QNX_screen_surface
Partially supported
VK_KHR_acceleration_structure
- Host acceleration structure operations
VK_KHR_external_memory_win32
vkGetMemoryWin32HandleKHR
vkGetMemoryWin32HandlePropertiesKHR
VkExportMemoryWin32HandleInfoKHR
VK_KHR_external_semaphore_win32
VkD3D12FenceSubmitInfoKHR
VK_KHR_portability_subset
(provisional)- Check for
tessellationIsolines
- Check for
tessellationPointMode
- Check for
VK_KHR_ray_tracing_maintenance1
vkCmdTraceRaysIndirect2KHR
VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR
VK_EXT_buffer_device_address
(deprecated)VkBufferDeviceAddressCreateInfoEXT
VK_EXT_debug_utils
vkSetDebugUtilsObjectTagEXT
vkSubmitDebugUtilsMessageEXT
VkDebugUtilsMessengerCallbackDataEXT
(not all data exposed to callback)VkDebugUtilsObjectNameInfoEXT
extendingVkPipelineShaderStageCreateInfo
VK_EXT_full_screen_exclusive
vkGetPhysicalDeviceSurfacePresentModes2EXT
VK_EXT_swapchain_maintenance1
vkReleaseSwapchainImagesEXT
/VkReleaseSwapchainImagesInfoEXT
VkSwapchainPresentFenceInfoEXT
Unsupported
VK_KHR_cooperative_matrix
VK_KHR_display_swapchain
VK_KHR_fragment_shader_barycentric
VK_KHR_fragment_shading_rate
VK_KHR_global_priority
VK_KHR_maintenance5
VK_KHR_performance_query
VK_KHR_pipeline_executable_properties
VK_KHR_pipeline_library
VK_KHR_ray_tracing_pipeline
VK_KHR_ray_tracing_position_fetch
VK_KHR_shader_clock
VK_KHR_shader_subgroup_uniform_control_flow
VK_KHR_shared_presentable_image
VK_KHR_video_decode_h264
VK_KHR_video_decode_h265
VK_KHR_video_decode_queue
VK_KHR_video_encode_queue
(provisional)VK_KHR_video_queue
VK_KHR_win32_keyed_mutex
VK_KHR_workgroup_memory_explicit_layout
VK_EXT_acquire_drm_display
VK_EXT_acquire_xlib_display
VK_EXT_astc_decode_mode
VK_EXT_attachment_feedback_loop_dynamic_state
VK_EXT_attachment_feedback_loop_layout
VK_EXT_blend_operation_advanced
VK_EXT_border_color_swizzle
VK_EXT_calibrated_timestamps
VK_EXT_conditional_rendering
VK_EXT_conservative_rasterization
VK_EXT_custom_border_color
VK_EXT_debug_marker
(promoted)VK_EXT_debug_report
(deprecated)VK_EXT_depth_bias_control
VK_EXT_depth_clamp_zero_one
VK_EXT_depth_clip_control
VK_EXT_depth_clip_enable
VK_EXT_descriptor_buffer
VK_EXT_device_address_binding_report
VK_EXT_device_fault
VK_EXT_device_memory_report
VK_EXT_direct_mode_display
VK_EXT_display_control
VK_EXT_display_surface_counter
VK_EXT_dynamic_rendering_unused_attachments
VK_EXT_extended_dynamic_state3
VK_EXT_external_memory_acquire_unmodified
VK_EXT_external_memory_host
VK_EXT_fragment_density_map
VK_EXT_fragment_density_map2
VK_EXT_fragment_shader_interlock
VK_EXT_global_priority
(promoted)VK_EXT_global_priority_query
(promoted)VK_EXT_graphics_pipeline_library
VK_EXT_hdr_metadata
VK_EXT_host_image_copy
VK_EXT_image_compression_control
VK_EXT_image_compression_control_swapchain
VK_EXT_image_sliced_view_of_3d
VK_EXT_image_view_min_lod
VK_EXT_legacy_dithering
VK_EXT_load_store_op_none
VK_EXT_memory_budget
VK_EXT_memory_priority
VK_EXT_mesh_shader
VK_EXT_metal_objects
VK_EXT_multi_draw
VK_EXT_multisampled_render_to_single_sampled
VK_EXT_mutable_descriptor_type
VK_EXT_non_seamless_cube_map
VK_EXT_pageable_device_local_memory
VK_EXT_pci_bus_info
VK_EXT_physical_device_drm
VK_EXT_pipeline_library_group_handles
VK_EXT_pipeline_properties
VK_EXT_pipeline_protected_access
VK_EXT_pipeline_robustness
VK_EXT_post_depth_coverage
VK_EXT_primitives_generated_query
VK_EXT_provoking_vertex
VK_EXT_queue_family_foreign
VK_EXT_rasterization_order_attachment_access
VK_EXT_rgba10x6_formats
VK_EXT_sample_locations
VK_EXT_shader_atomic_float
VK_EXT_shader_atomic_float2
VK_EXT_shader_image_atomic_int64
VK_EXT_shader_module_identifier
VK_EXT_shader_object
VK_EXT_shader_stencil_export
VK_EXT_shader_subgroup_ballot
(deprecated)VK_EXT_shader_subgroup_vote
(deprecated)VK_EXT_shader_tile_image
VK_EXT_subpass_merge_feedback
VK_EXT_transform_feedback
VK_EXT_validation_cache
VK_EXT_validation_flags
(deprecated)VK_EXT_vertex_input_dynamic_state
VK_EXT_video_encode_h264
(provisional)VK_EXT_video_encode_h265
(provisional)VK_AMD_buffer_marker
VK_AMD_device_coherent_memory
VK_AMD_display_native_hdr
VK_AMD_draw_indirect_count
(promoted)VK_AMD_gcn_shader
VK_AMD_gpu_shader_half_float
(deprecated)VK_AMD_gpu_shader_int16
(deprecated)VK_AMD_memory_overallocation_behavior
VK_AMD_mixed_attachment_samples
VK_AMD_negative_viewport_height
(obsoleted)VK_AMD_pipeline_compiler_control
VK_AMD_rasterization_order
VK_AMD_shader_ballot
VK_AMD_shader_core_properties
VK_AMD_shader_core_properties2
VK_AMD_shader_early_and_late_fragment_tests
VK_AMD_shader_explicit_vertex_parameter
VK_AMD_shader_fragment_mask
VK_AMD_shader_image_load_store_lod
VK_AMD_shader_info
VK_AMD_shader_trinary_minmax
VK_AMD_texture_gather_bias_lod
VK_AMDX_shader_enqueue
VK_ANDROID_external_memory_android_hardware_buffer
VK_ARM_rasterization_order_attachment_access
(promoted)VK_ARM_shader_core_builtins
VK_ARM_shader_core_properties
VK_FUCHSIA_buffer_collection
VK_FUCHSIA_external_memory
VK_GGP_frame_token
VK_GOOGLE_decorate_string
VK_GOOGLE_display_timing
VK_GOOGLE_hlsl_functionality1
VK_GOOGLE_surfaceless_query
VK_GOOGLE_user_type
VK_HUAWEI_cluster_culling_shader
VK_HUAWEI_invocation_mask
VK_HUAWEI_subpass_shading
VK_IMG_filter_cubic
VK_IMG_format_pvrtc
VK_INTEL_performance_query
VK_INTEL_shader_integer_functions2
VK_LUNARG_direct_driver_loading
VK_NV_acquire_winrt_display
VK_NV_clip_space_w_scaling
VK_NV_compute_shader_derivatives
VK_NV_cooperative_matrix
VK_NV_copy_memory_indirect
VK_NV_corner_sampled_image
VK_NV_coverage_reduction_mode
VK_NV_dedicated_allocation
(deprecated)VK_NV_dedicated_allocation_image_aliasing
VK_NV_device_diagnostic_checkpoints
VK_NV_device_diagnostics_config
VK_NV_device_generated_commands
VK_NV_displacement_micromap
VK_NV_external_memory
(deprecated)VK_NV_external_memory_capabilities
(deprecated)VK_NV_external_memory_rdma
VK_NV_external_memory_win32
(deprecated)VK_NV_fill_rectangle
VK_NV_fragment_coverage_to_color
VK_NV_fragment_shader_barycentric
(promoted)VK_NV_fragment_shading_rate_enums
VK_NV_framebuffer_mixed_samples
VK_NV_geometry_shader_passthrough
VK_NV_glsl_shader
(deprecated)VK_NV_inherited_viewport_scissor
VK_NV_linear_color_attachment
VK_NV_low_latency
VK_NV_memory_decompression
VK_NV_mesh_shader
VK_NV_optical_flow
VK_NV_present_barrier
VK_NV_ray_tracing
VK_NV_ray_tracing_invocation_reorder
VK_NV_ray_tracing_motion_blur
VK_NV_representative_fragment_test
VK_NV_sample_mask_override_coverage
VK_NV_scissor_exclusive
VK_NV_shader_image_footprint
VK_NV_shader_sm_builtins
VK_NV_shader_subgroup_partitioned
VK_NV_shading_rate_image
VK_NV_viewport_array2
VK_NV_viewport_swizzle
VK_NV_win32_keyed_mutex
(promoted)VK_NVX_binary_import
VK_NVX_image_view_handle
VK_NVX_multiview_per_view_attributes
VK_QCOM_fragment_density_map_offset
VK_QCOM_image_processing
VK_QCOM_multiview_per_view_render_areas
VK_QCOM_multiview_per_view_viewports
VK_QCOM_render_pass_shader_resolve
VK_QCOM_render_pass_store_ops
VK_QCOM_render_pass_transform
VK_QCOM_rotated_copy_commands
VK_QCOM_tile_properties
VK_QNX_external_memory_screen_buffer
VK_SEC_amigo_profiling
VK_VALVE_descriptor_set_host_mapping
VK_VALVE_mutable_descriptor_type
(promoted)