Dopu à trè mesi di sviluppu, l'implementazione open source di l'API OpenGL è Vulkan, Mesa 26.1.0, hè stata publicata. A prima versione di a branca Mesa 26.1.0 hè sperimentale; dopu chì u codice sia statu cumpletamente stabilizatu, a versione stabile, 26.1.1, serà publicata.
Mesa 26.1 aghjusta u supportu per l'API grafica Vulkan 1.4 in i driver ANV per e GPU Intel, RADV per e GPU AMD, NVK per e GPU NVIDIA, HoneyKrisp (hk) per e GPU Apple, Turnip per e GPU Qualcomm, PanVK per e GPU ARM Mali, u rasterizzatore di software lavapipe (lvp) è a modalità emulatore (vn). I driver v3dv (Broadcom VideoCore GPU per Raspberry Pi 4+) è dzn (Vulkan over Direct3D 12) supportanu Vulkan 1.0, u driver kk (KosmicKrisp, Vulkan over Metal) supporta Vulkan 1.1, è u driver pvr (Imagination PowerVR GPU) supporta Vulkan 1.2.
Mesa furnisce ancu un supportu cumpletu di OpenGL 4.6 per iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (GPU Intel Gen4-Gen7 più vechje), AMD (r600), zink, llvmpipe, virgl (GPU virtuale virgil3D per QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (stratu OpenGL sopra DirectX 12) è asahi (GPU AGX utilizata in i chip Apple M1 è M2). U supportu OpenGL 4.5 hè dispunibule per e GPU NVIDIA (nvc0). U supportu OpenGL 3.3 hè dispunibule in i driver softpipe (rasterizzatore software) è nv50 (NVIDIA NV50). OpenGL 3 hè supportatu in i driver panfrost (GPU ARM Mali) è v3.1d (GPU Broadcom VideoCore).
Innuvazioni principali:
- I driver per e GPU Intel (Iris, Crocus è ANV) supportanu avà l'accessu direttu à a GPU da e macchine virtuali utilizendu cuntesti nativi in VirtIO-GPU. I cuntesti nativi migliuranu e prestazioni quandu si travaglia cù una GPU virtuale (virtio-gpu-gl) in un sistema invitatu trasmettendu direttamente cumandamenti à a GPU ospitante attuale.
- U supportu OpenGL ES 2.0 hè statu aghjuntu per e GPU PowerVR via u driver Zink, chì permette OpenGL acceleratu da hardware nantu à i dispositivi chì supportanu l'API Vulkan.
- U driver rusticl OpenCL richiede avà una stdlib C++ ligata staticamente per funziunà currettamente cù l'applicazioni chì utilizanu stdlib C++ native.
- U driver radeonsi (AMD) hà aghjustatu u supportu per l'estensione OpenGL GL_NV_timeline_semaphore.
- U driver panfrost (ARM Mali) avà supporta l'estensione OpenGL GL_EXT_shader_image_load_store.
- U driver v3d (Broadcom VideoCore) avà supporta l'estensione OpenGL GL_ARB_sample_shading.
- Aggiuntu supportu per l'estensione Vulkan:
- VK_ARM_scheduling_controls per panvk
- VK_EXT_acquire_drm_display per panvk
- VK_EXT_astc_decode_mode per panvk
- VK_EXT_attachment_feedback_loop_dynamic_state per panvk
- VK_EXT_attachment_feedback_loop_layout per panvk
- VK_EXT_blend_operation_advanced per lavapipe
- VK_EXT_color_write_enable per panvk
- VK_EXT_rendering_cundiziunale per panvk
- VK_EXT_depth_clamp_control per panvk
- VK_EXT_descriptor_heap per RADV (quandu si imposta 'export RADV_EXPERIMENTAL=heap')
- VK_EXT_hdr_metadati per v3dv
- VK_EXT_image_drm_format_modifier per pvr
- VK_EXT_image_view_min_lod per panvk
- VK_EXT_legacy_dithering per panvk
- VK_EXT_map_memory_placed per panvk
- VK_EXT_nested_command_buffer per panvk
- VK_EXT_non_seamless_cube_map per pvr
- VK_EXT_present_timing per RADV, NVK, Turnip, ANV, Honeykrisp, panvk
- VK_EXT_primitive_restart_index per RADV
- VK_EXT_rgba10x6_furmati per panvk
- VK_EXT_shader_atomic_float per panvk
- VK_EXT_shader_stencil_export per panvk
- VK_EXT_zero_initializà_a_memoria_di_dispositivu per panvk
- VK_KHR_copy_memory_indirect per nvk, RADV/GFX8+
- Cumandamenti di l'indirizzu di u dispusitivu VK_KHR per RADV
- VK_{KHR,EXT}_{surface,swapchain}_maintenance1 per panvk
- VK_KHR_get_display_properties2 per panvk
- VK_KHR_get_surface_capabilities2 per panvk
- VK_KHR_code_sincronizzate_internamente per RADV
- VK_KHR_maintenance4 per pvr
- Pruprietà_eseguibili_di_VK_KHR_pipeline per pvr
- VK_KHR_present_id per panvk, v3dv
- VK_KHR_present_wait per panvk, v3dv
- VK_KHR_sampler_ycbcr_conversion per pvr
- VK_KHR_shader_integer_dot_product per pvr
- VK_KHR_shader_untyped_pointers per panvk
- VK_KHR_swapchain_mutabile_furmatu per panvk
- VK_QCOM_elaborazione_d'imagine per Turnip
- Tipu di descrittore_mutabile_VK_VALVE per panvk
- VK_VALVE_shader_mixed_float_dot_product per RADV (Vega20, Navi14, RDNA2+)
- Estensioni OpenCL implementate:
- cl_khr_subgroup_ballot per asahi, iris, llvmpipe, radeonsi è zink
- cl_xr_subgroup_clustered_reduce per asahi, llvmpipe, radeonsi è zink
- cl_khr_subgroup_extended_types per asahi, iris, llvmpipe, radeonsi è zink
- cl_khr_subgroup_non_uniform_arithmetic per asahi, llvmpipe, radeonsi è zink
- cl_khr_subgroup_non_uniform_vote per asahi, iris, llvmpipe, radeonsi è zink
- cl_khr_subgroup_rotate per asahi, llvmpipe è zink
- U driver VirGL, chì implementa una GPU virtuale per QEMU, ùn hè più mantinutu è serà eliminatu à menu chì qualchissia ùn sia dispostu à piglià a so manutenzione.
Source: opennet.ru
