Ava pärast kolme kuu arendust on välja antud tasuta OpenGL ja Vulkan API realiseerimise versioon — Mesa 25.0.0. Esimene versioon harust Mesa 25.0.0 on eksperimentaalse staatusega — pärast koodi lõppstabiliseerimist toimub stabiilse versiooni 25.0.1 väljalaskmine.
Mesa 25.0-s on saadaval graafika API Vulkan 1.4 tugi Intel GPU-de ANV, AMD GPU-de RADV, NVIDIA GPU-de NVK, Apple GPU-de Asahi, Qualcomm GPU-de Turnip ja lavapipe (lvp) tarkvaralise rasteriseerija jaoks. Emulaatorirežiimis (vn) on tugi Vulkan 1.3 API-le, ARM Mali GPU PanVK draiveris on tugi Vulkan 1.1 ja Broadcom VideoCore GPU-de v3dv (Raspberry Pi 4+) ja dzn (Vulkan rakendamine Direct3D 12 peal) draiverites on tugi Vulkan 1.0.
Mesa tagab ka täieliku OpenGL 4.6 toe draiveritele iris (Intel Gen 8+ GPU), radeonsi (AMD), Crocus (vanemad Intel Gen4-Gen7 GPU-d), zink, llvmpipe, virgl (virtuaalne GPU Virgil3D QEMU/KVM jaoks), freedreno (Qualcomm Adreno), d3d12 (OpenGL töötamise korraldamiseks DirectX 12 peal) ja asahi (Apple M1 ja M2 kiipide AGX GPU). OpenGL 4.5 tuge on saadaval AMD (r600) ja NVIDIA (nvc0) GPU-de jaoks. OpenGL 3.3 tuge pakuvad draiverid softpipe (programmiline rasteriseerija) ja nv50 (NVIDIA NV50).
Põhilised uuendused:
- Vaikimisi on lubatud "tehingute elimineerimise" mehhanism, mis eemaldab liigsed toimingud (nt eemaldatakse kordusoperatsioonid, kui fragmendid ei ole pärast viimast joonistamist muutunud).
- Lisatud on järkjärgulise renderdamise tugi, mis võimaldab vähendada mälu tarbimist suure arvu objektide renderdamisel, töötlemisel fragmentide kaupa (tile).
- AFBC 32×8 režiimi tugi on lisatud, et optimeerida väljundipuhvri (scan-out buffer) tööd mõnedes kuvarikontrollerites.
- Maksimaalne toetatud tekstuuride laius ja kõrgus on suurenenud 8192 pikslilt 32768 pikslini.
- Lisatud tugi tekstuuride režiimile MTK_FMT_MOD_TILE_16L32S, kus killustatud andmed kopeeritakse joonistamise eel ajutisse killustamata puhvri (kasutatakse MediaTek SoC-s olevate riistvarade videodekooderite jaoks).
- VK_KHR_8bit_storage
- VK_KHR_dedicated_allocation
- VK_KHR_global_priority
- VK_KHR_index_type_uint8
- VK_KHR_map_memory2
- VK_KHR_multiview
- VK_KHR_shader_draw_parameters
- VK_KHR_shader_float16_int8
- VK_KHR_shader_non_semantic_info
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_shader_subgroup_rotate
- VK_KHR_vertex_attribute_divisor
- VK_KHR_zero_initialize_workgroup_memory
- VK_EXT_4444_formats
- VK_EXT_global_priority_query
- VK_EXT_global_priority
- VK_EXT_host_query_reset
- VK_EXT_image_robustness
- VK_EXT_pipeline_robustness
- VK_EXT_provoking_vertex
- VK_EXT_queue_family_foreign
- VK_EXT_sampler_filter_minmax
- VK_EXT_scalar_block_layout
- VK_EXT_subgroup_size_control
- VK_EXT_tooling_info
- VK_EXT_subgroup_size_control
Allikas: opennet.ru
