Missing Features
Matthew Smit edited this page Dec 2, 2019
·
8 revisions
We aim to support all of the vulkan standard and all extensions. However, some extensions are not useful or impossible for a CPU renderer to correctly implement. Additionally, not all features are currently implemented, yet will be.
- Geometry Shader
- Tessellation Shader
- Multiple Viewports
- Anisotropy
- Sparse Memory for Linux
- Subpixel rendering
- Indirect rendering
- Multisampling
- Queries
- Point Rendering
- Line Rendering
- Compressed Textures
- VK_KHR_8bit_storage
- VK_KHR_create_renderpass2
- VK_KHR_depth_stencil_resolve
- VK_KHR_display
- VK_KHR_draw_indirect_count
- VK_KHR_external_fence_fd
- VK_KHR_external_fence_win32
- VK_KHR_external_memory_fd
- VK_KHR_external_memory_win32
- VK_KHR_external_semaphore_fd
- VK_KHR_external_semaphore_win32
- VK_KHR_get_display_properties2
- VK_KHR_get_surface_capabilities2
- VK_KHR_image_format_list
- VK_KHR_imageless_framebuffer
- VK_KHR_incremental_present
- VK_KHR_pipeline_executable_properties
- VK_KHR_push_descriptor
- VK_KHR_sampler_mirror_clamp_to_edge
- VK_KHR_separate_depth_stencil_layouts
- VK_KHR_shader_atomic_int64
- VK_KHR_shader_clock
- VK_KHR_shader_float16_int8
- VK_KHR_shader_float_controls
- VK_KHR_shader_subgroup_extended_types
- VK_KHR_shared_presentable_image
- VK_KHR_surface_protected_capabilities
- VK_KHR_swapchain_mutable_format
- VK_KHR_timeline_semaphore
- VK_KHR_uniform_buffer_standard_layout
- VK_KHR_vulkan_memory_model
- VK_KHR_win32_keyed_mutex
- VK_EXT_acquire_xlib_display
- VK_EXT_astc_decode_mode
- VK_EXT_blend_operation_advanced
- VK_EXT_calibrated_timestamps
- VK_EXT_conditional_rendering
- VK_EXT_conservative_rasterization
- VK_EXT_debug_utils
- VK_EXT_depth_clip_enable
- VK_EXT_depth_range_unrestricted
- VK_EXT_descriptor_indexing
- VK_EXT_direct_mode_display
- VK_EXT_discard_rectangles
- VK_EXT_display_control
- VK_EXT_display_surface_counter
- VK_EXT_filter_cubic
- VK_EXT_fragment_density_map
- VK_EXT_fragment_shader_interlock
- VK_EXT_full_screen_exclusive
- VK_EXT_global_priority
- VK_EXT_headless_surface
- VK_EXT_host_query_reset
- VK_EXT_image_drm_format_modifier
- VK_EXT_index_type_uint8
- VK_EXT_inline_uniform_block
- VK_EXT_line_rasterization
- VK_EXT_memory_budget
- VK_EXT_memory_priority
- VK_EXT_post_depth_coverage
- VK_EXT_queue_family_foreign
- VK_EXT_sample_locations
- VK_EXT_scalar_block_layout
- VK_EXT_separate_stencil_usage
- VK_EXT_shader_demote_to_helper_invocation
- VK_EXT_shader_stencil_export
- VK_EXT_shader_subgroup_ballot
- VK_EXT_shader_subgroup_vote
- VK_EXT_shader_viewport_index_layer
- VK_EXT_subgroup_size_control
- VK_EXT_swapchain_colorspace
- VK_EXT_texel_buffer_alignment
- VK_EXT_texture_compression_astc_hdr
- VK_EXT_transform_feedback
- VK_EXT_validation_cache
- VK_EXT_validation_features
- VK_EXT_vertex_attribute_divisor
- VK_EXT_ycbcr_image_arrays
- VK_AMD_buffer_marker
- VK_AMD_device_coherent_memory
- VK_AMD_display_native_hdr
- VK_AMD_gcn_shader
- VK_AMD_memory_overallocation_behavior
- VK_AMD_mixed_attachment_samples
- 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_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_GOOGLE_decorate_string
- VK_GOOGLE_display_timing
- VK_GOOGLE_hlsl_functionality1
- VK_GOOGLE_user_type
- VK_IMG_filter_cubic
- VK_IMG_format_pvrtc
- VK_INTEL_performance_query
- VK_INTEL_shader_integer_functions2
- VK_NVX_device_generated_commands
- VK_NVX_image_view_handle
- VK_NVX_multiview_per_view_attributes
- VK_NV_clip_space_w_scaling
- VK_NV_compute_shader_derivatives
- VK_NV_cooperative_matrix
- VK_NV_corner_sampled_image
- VK_NV_coverage_reduction_mode
- VK_NV_dedicated_allocation_image_aliasing
- VK_NV_device_diagnostic_checkpoints
- VK_NV_fill_rectangle
- VK_NV_fragment_coverage_to_color
- VK_NV_fragment_shader_barycentric
- VK_NV_framebuffer_mixed_samples
- VK_NV_geometry_shader_passthrough
- VK_NV_mesh_shader
- VK_NV_ray_tracing
- 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
Extension | Reason |
---|---|
VK_EXT_pci_bus_info | The device is not on the PCI bus. |
VK_EXT_hdr_metadata | Cannot control HDR settings for Win32 desktop applications. |
VK_KHR_display_swapchain | This is likely not possible as we render using the underlying window system. |
VK_KHR_external_memory | All the memory we use is per-process, using external memory would be difficult. |