Selepas tiga bulan pembangunan, pelaksanaan sumber terbuka API OpenGL dan Vulkan, Mesa 26.1.0, telah dikeluarkan. Keluaran pertama cabang Mesa 26.1.0 adalah percubaan; selepas kod tersebut distabilkan sepenuhnya, versi stabil, 26.1.1, akan dikeluarkan.
Mesa 26.1 menambah sokongan untuk API grafik Vulkan 1.4 dalam pemacu ANV untuk GPU Intel, RADV untuk GPU AMD, NVK untuk GPU NVIDIA, HoneyKrisp (hk) untuk GPU Apple, Turnip untuk GPU Qualcomm, PanVK untuk GPU Mali ARM, rasterizer perisian lavapipe (lvp) dan mod emulator (vn). Pemacu v3dv (Broadcom VideoCore GPU untuk Raspberry Pi 4+) dan dzn (Vulkan over Direct3D 12) menyokong Vulkan 1.0, pemacu kk (KosmicKrisp, Vulkan over Metal) menyokong Vulkan 1.1, dan pemacu pvr (Imagination PowerVR GPU) menyokong Vulkan 1.2
Mesa juga menyediakan sokongan penuh OpenGL 4.6 untuk iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (GPU Intel Gen4-Gen7 yang lebih lama), AMD (r600), zink, llvmpipe, virgl (GPU maya virgil3D untuk QEMU/KVM), freedreno (lapisan Qualcomm Direct 3 Adreno (O12) dan d12 di atas. asahi (GPU AGX digunakan dalam cip Apple M1 dan M2). Sokongan OpenGL 4.5 tersedia untuk GPU NVIDIA (nvc0). Sokongan OpenGL 3.3 tersedia dalam pemacu softpipe (perisian rasterizer) dan nv50 (NVIDIA NV50). OpenGL 3 disokong dalam pemacu panfrost (ARM Mali GPU) dan v3.1d (Broadcom VideoCore GPU).
Inovasi utama:
- Pemacu untuk GPU Intel (Iris, Crocus dan ANV) kini menyokong akses GPU langsung daripada mesin maya menggunakan konteks natif dalam VirtIO-GPU. Konteks natif meningkatkan prestasi apabila bekerja dengan GPU maya (virtio-gpu-gl) dalam sistem tetamu dengan menghantar arahan secara langsung kepada GPU hos sebenar.
- Sokongan OpenGL ES 2.0 telah ditambah untuk GPU PowerVR melalui pemacu Zink, yang mendayakan OpenGL yang dipercepatkan perkakasan pada peranti yang menyokong API Vulkan.
- Pemacu OpenCL rusticl kini memerlukan stdlib C++ yang dipautkan secara statik untuk berfungsi dengan betul dengan aplikasi yang menggunakan stdlib C++ asli.
- Pemacu radeonsi (AMD) telah menambah sokongan untuk sambungan OpenGL GL_NV_timeline_semaphore.
- Pemacu panfrost (ARM Mali) kini menyokong sambungan OpenGL GL_EXT_shader_image_load_store.
- Pemacu v3d (Broadcom VideoCore) kini menyokong sambungan OpenGL GL_ARB_sample_shading.
- Menambah sokongan untuk sambungan Vulkan:
- Kawalan_penjadualan_VK_ARM untuk panvk
- VK_EXT_acquire_drm_display untuk panvk
- Mod_dekod_VK_EXT_astc_untuk panvk
- VK_EXT_attachment_feedback_gelung_keadaan_dinamik untuk panvk
- VK_EXT_attachment_feedback_loop_layout untuk panvk
- VK_EXT_blend_operation_advanced untuk paip lava
- VK_EXT_color_write_enable untuk panvk
- VK_EXT_pemaparan_bersyarat untuk panvk
- Kawalan_kedalaman_pengapit_VK_EXT untuk panvk
- VK_EXT_descriptor_heap untuk RADV (apabila menetapkan 'eksport RADV_EXPERIMENTAL=heap')
- VK_EXT_hdr_metadata untuk v3dv
- Pengubah suai format_gambar_VK_EXT_untuk pvr
- VK_EXT_image_view_min_lod untuk panvk
- VK_EXT_legacy_dithering untuk panvk
- VK_EXT_map_memory_diletakkan untuk panvk
- VK_EXT_nested_command_buffer untuk panvk
- VK_EXT_peta_kiub_tanpa_seamless_untuk pvr
- VK_EXT_pemasaan_kini untuk RADV, NVK, Turnip, ANV, Honeykrisp, panvk
- VK_EXT_primitive_restart_index untuk RADV
- VK_EXT_rgba10x6_formats untuk panvk
- VK_EXT_shader_atomic_float untuk panvk
- VK_EXT_shader_stencil_export untuk panvk
- VK_EXT_zero_initialize_device_memory untuk panvk
- VK_KHR_copy_memory_indirect untuk nvk, RADV/GFX8+
- Perintah alamat_peranti_VK_KHR untuk RADV
- VK_{KHR,EXT}_{surface,swapchain}_maintenance1 untuk panvk
- VK_KHR_get_display_properties2 untuk panvk
- VK_KHR_get_surface_capabilities2 untuk panvk
- Baris_terbaris_disegerakkan_dalaman_VK_KHR untuk RADV
- VK_KHR_maintenance4 untuk pvr
- VK_KHR_pipeline_executable_properties untuk pvr
- VK_KHR_present_id untuk panvk, v3dv
- VK_KHR_present_tunggu untuk panvk, v3dv
- Penukaran VK_KHR_sampler_ycbcr_untuk pvr
- VK_KHR_shader_integer_dot_product untuk pvr
- VK_KHR_shader_untyped_pointers untuk panvk
- VK_KHR_swapchain_mutable_format untuk panvk
- Pemprosesan imej VK_QCOM untuk Lobak
- Jenis_deskriptor_berubah_VK_VALVE untuk panvk
- Produk VK_VALVE_shader_mixed_float_dot_untuk RADV (Vega20, Navi14, RDNA2+)
- Sambungan OpenCL dilaksanakan:
- cl_khr_subgroup_ballot untuk asahi, iris, llvmpipe, radeonsi dan zink
- cl_xr_subgroup_clustered_reduce untuk asahi, llvmpipe, radeonsi dan zink
- cl_khr_subgroup_extended_types untuk asahi, iris, llvmpipe, radeonsi dan zink
- cl_khr_subgroup_non_uniform_aritmetik untuk asahi, llvmpipe, radeonsi dan zink
- cl_khr_subgroup_non_uniform_vote untuk asahi, iris, llvmpipe, radeonsi dan zink
- cl_khr_subgroup_rotate untuk asahi, llvmpipe dan zink
- Pemacu VirGL, yang melaksanakan GPU maya untuk QEMU, tidak lagi diselenggara dan akan dialih keluar melainkan seseorang sanggup mengambil alih penyelenggaraannya.
Sumber: opennet.ru
