No dräi Méint Entwécklung gouf d'Open-Source-Implementatioun vun den OpenGL- a Vulkan-APIs, Mesa 26.1.0, verëffentlecht. Déi éischt Versioun vum Mesa 26.1.0-Branch ass experimentell; nodeems de Code komplett stabiliséiert gouf, gëtt déi stabil Versioun, 26.1.1, verëffentlecht.
Mesa 26.1 füügt Ënnerstëtzung fir d'Vulkan 1.4 Grafik-API an den ANV-Treiber fir Intel GPUs, RADV fir AMD GPUs, NVK fir NVIDIA GPUs, HoneyKrisp (hk) fir Apple GPUs, Turnip fir Qualcomm GPUs, PanVK fir ARM Mali GPUs, dem Lavapipe Software Rasterizer (lvp) an dem Emulatormodus (vn) bäi. D'v3dv (Broadcom VideoCore GPU fir Raspberry Pi 4+) an dzn (Vulkan iwwer Direct3D 12) Treiber ënnerstëtzen Vulkan 1.0, den kk Treiber (KosmicKrisp, Vulkan iwwer Metal) ënnerstëtzt Vulkan 1.1, an de pvr Treiber (Imagination PowerVR GPU) ënnerstëtzt Vulkan 1.2.
Mesa bitt och voll OpenGL 4.6 Ënnerstëtzung fir d'Iris (Intel Gen 8+ GPUs), Radeonsi (AMD), Crocus (eeler Intel Gen4-Gen7 GPUs), AMD (r600), zink, llvmpipe, virgl (virgil3D virtuell GPU fir QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (OpenGL Schicht iwwer DirectX 12), an asahi (AGX GPU benotzt an Apple M1 an M2 Chips). OpenGL 4.5 Ënnerstëtzung ass fir NVIDIA (nvc0) GPUs verfügbar. OpenGL 3.3 Ënnerstëtzung ass an den Softpipe (Software Rasterizer) an nv50 (NVIDIA NV50) Treiber verfügbar. OpenGL 3 gëtt an den Panfrost (ARM Mali GPU) an v3.1d (Broadcom VideoCore GPU) Treiber ënnerstëtzt.
Haaptinnovatiounen:
- Treiber fir Intel GPUs (Iris, Crocus an ANV) ënnerstëtzen elo direkten GPU-Zougang vu virtuelle Maschinnen, déi nativ Kontexter an der VirtIO-GPU benotzen. Nativ Kontexter verbesseren d'Performance beim Schaffe mat enger virtueller GPU (virtio-gpu-gl) an engem Gaaschtsystem, andeems se Kommandoen direkt un déi aktuell Host-GPU iwwerdroen.
- OpenGL ES 2.0 Ënnerstëtzung gouf fir PowerVR GPUs iwwer den Zink Treiber bäigefüügt, wat Hardware-beschleunegt OpenGL op Apparater erméiglecht, déi d'Vulkan API ënnerstëtzen.
- Den rusticl OpenCL Treiber erfuerdert elo eng statesch verlinkt C++ stdlib fir korrekt mat Applikatiounen ze funktionéieren, déi nativ C++ stdlibs benotzen.
- Den Radeonsi Treiber (AMD) huet Ënnerstëtzung fir d'GL_NV_timeline_semaphore OpenGL Extensioun bäigefüügt.
- De Panfrost-Treiber (ARM Mali) ënnerstëtzt elo d'OpenGL-Erweiderung GL_EXT_shader_image_load_store.
- Den v3d-Treiber (Broadcom VideoCore) ënnerstëtzt elo d'GL_ARB_sample_shading OpenGL-Erweiderung.
- Zousätzlech Ënnerstëtzung fir Vulkan Extensiounen:
- VK_ARM_scheduling_controls fir panvk
- VK_EXT_acquire_drm_display fir panvk
- VK_EXT_astc_decode_mode fir panvk
- VK_EXT_attachment_feedback_loop_dynamic_state fir panvk
- VK_EXT_attachment_feedback_loop_layout fir panvk
- VK_EXT_blend_operation_advanced fir Lavapipe
- VK_EXT_color_write_enable fir panvk
- VK_EXT_conditional_rendering fir panvk
- VK_EXT_depth_clamp_control fir panvk
- VK_EXT_descriptor_heap fir RADV (wann 'export RADV_EXPERIMENTAL=heap' agestallt gëtt)
- VK_EXT_hdr_metadaten fir v3dv
- VK_EXT_image_drm_format_modifier fir pvr
- VK_EXT_image_view_min_lod fir panvk
- VK_EXT_legacy_Dithering fir panvk
- VK_EXT_map_memory_placed fir panvk
- VK_EXT_nested_command_buffer fir panvk
- VK_EXT_non_seamless_cube_map fir PVR
- VK_EXT_present_timing fir RADV, NVK, Turnip, ANV, Honeykrisp, panvk
- VK_EXT_primitive_restart_index fir RADV
- VK_EXT_rgba10x6_formater fir panvk
- VK_EXT_shader_atomic_float fir panvk
- VK_EXT_shader_stencil_export fir panvk
- VK_EXT_zero_initialize_device_memory fir panvk
- VK_KHR_copy_memory_indirect fir nvk, RADV/GFX8+
- VK_KHR_device_address_commands fir RADV
- VK_{KHR,EXT}_{surface,swapchain}_maintenance1 fir panvk
- VK_KHR_get_display_properties2 fir panvk
- VK_KHR_get_surface_capabilities2 fir panvk
- VK_KHR_internally_synchronized_queues fir RADV
- VK_KHR_maintenance4 fir PVR
- VK_KHR_pipeline_executable_properties fir PVR
- VK_KHR_present_id fir panvk, v3dv
- VK_KHR_present_wait fir panvk, v3dv
- VK_KHR_sampler_ycbcr_conversion fir PVR
- VK_KHR_shader_integer_dot_product fir PVR
- VK_KHR_shader_untyped_pointers fir panvk
- VK_KHR_swapchain_mutable_format fir panvk
- VK_QCOM_image_processing fir Turnip
- VK_VALVE_mutable_descriptor_type fir panvk
- VK_VALVE_shader_mixed_float_dot_product fir RADV (Vega20, Navi14, RDNA2+)
- OpenCL-Erweiderungen implementéiert:
- cl_khr_subgroup_ballot fir Asahi, Iris, llvmpipe, Radeonsi an Zink
- cl_xr_subgroup_clustered_reduce fir Asahi, llvmpipe, Radeonsi an Zink
- cl_khr_subgroup_extended_types fir Asahi, Iris, llvmpipe, Radeonsi an Zink
- cl_khr_subgroup_non_uniform_arithmetic fir Asahi, llvmpipe, Radeonsi an Zink
- cl_khr_subgroup_non_uniform_vote fir Asahi, Iris, llvmpipe, Radeonsi an Zink
- cl_khr_subgroup_rotate fir Asahi, llvmpipe an Zink
- De VirGL-Treiber, deen eng virtuell GPU fir QEMU implementéiert, gëtt net méi ënnerhalen a gëtt ewechgeholl, ausser een ass bereet, seng Ënnerhalt ze iwwerhuelen.
Source: opennet.ru
