Dopo tre mesi di sviluppo, è stato pubblicato il rilascio dell'implementazione open source delle API OpenGL e Vulkan — Mesa 25.0.0. La prima versione della serie Mesa 25.0.0 ha uno stato sperimentale; dopo la stabilizzazione finale del codice, sarà rilasciata una versione stabile 25.0.1.
Mesa 25.0 introduce il supporto per l'API grafica Vulkan 1.4 nei driver ANV per GPU Intel, RADV per GPU AMD, NVK per GPU NVIDIA, Asahi per GPU Apple, Turnip per GPU Qualcomm e nel rasterizzatore software lavapipe (lvp). In modalità emulatore (vn) è supportata l'API Vulkan 1.3, nel driver PanVK per GPU ARM Mali — Vulkan 1.1, e nei driver v3dv (GPU Broadcom VideoCore per Raspberry Pi 4+) e dzn (implementazione di Vulkan sopra Direct3D 12) — Vulkan 1.0.
Mesa offre anche supporto completo per OpenGL 4.6 nei driver iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (vecchie GPU Intel Gen4-Gen7), zink, llvmpipe, virgl (GPU virtuale Virgil3D per QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (strato per far funzionare OpenGL sopra DirectX 12) e asahi (GPU AGX utilizzata nei chip Apple M1 e M2). Il supporto per OpenGL 4.5 è disponibile per GPU AMD (r600) e NVIDIA (nvc0). Il supporto per OpenGL 3.3 è presente nei driver softpipe (rasterizzatore software) e nv50 (NVIDIA NV50).
Novità principali:
- Attivato per impostazione predefinita il meccanismo di 'eliminazione delle transazioni', che scarta le operazioni ridondanti (ad esempio, le operazioni di sovrascrittura dei frammenti che non sono cambiate dall'ultima visualizzazione).
- Aggiunta la supporto per il rendering incrementale, che consente di ridurre il consumo di memoria durante il rendering di un gran numero di oggetti attraverso l'elaborazione separata dei frammenti (tile).
- Aggiunta la supporto per la modalità AFBC 32×8, utilizzata per ottimizzare il funzionamento con il buffer di uscita (scan-out buffer) in alcuni controller di visualizzazione.
- La larghezza e l'altezza massimamente supportate delle texture sono aumentate da 8192 a 32768 pixel.
- Aggiunta la supporto per la modalità di texturizzazione MTK_FMT_MOD_TILE_16L32S, in cui i dati frammentati vengono copiati in un buffer temporaneo non frammentato prima del rendering (utilizzato per lavorare con i decodificatori hardware video presenti negli SoC MediaTek).
- 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
Fonte: opennet.ru
