Release di Mesa 25.0, implementazione open source di OpenGL e Vulkan

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:

  • Nei driver Vulkan ANV (Intel), RADV (AMD), NVK (NVIDIA), Asahi (Apple), PanVK (ARM Mali) e Turnip (Qualcomm), così come nel rasterizzatore software lavapipe (lvp), è stata annunciata la supporto per l'API Vulkan 1.4 (in precedenza era supportata la versione Vulkan 1.3).
  • Nel driver Vulkan RADV è stata aggiunta la supporto iniziale per le GPU AMD RDNA4 (GFX12, serie AMD Radeon RX 9000).
  • Il driver RadeonSI è stato convertito per utilizzare il backend di compilazione shader ACO, creato da Valve come alternativa al compilatore shader LLVM. Il backend ACO è progettato per garantire la generazione di codice il più ottimale possibile per gli shader delle applicazioni di gioco, oltre a raggiungere velocità di compilazione molto elevate. ACO è scritto in C++, sviluppato pensando anche all'uso per JIT-compilazione e utilizza strutture dati facilmente percorrenabili, evitando strutture basate su puntatori.
  • È stato aggiunto il driver amdgpu_virtio, che consente al sistema ospitante di utilizzare i driver OpenGL e Vulkan radeonsi, radeonsi_drv_video e radv forniti dall'ambiente host. L'accesso avviene tramite VirtIO, garantendo alte prestazioni nell'accelerazione 3D. macchina virtuale. Si afferma che le prestazioni di amdgpu_virtio siano superiori a quelle ottenute utilizzando i driver virgl e venus, precedentemente sviluppati per accedere a Vulkan e OpenGL dai sistemi guest.
  • Ampliate le funzionalità del driver OpenGL Panfrost per GPU ARM Mali.
    • 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).
  • Nel driver ANV (Intel) è stata aggiunta la supporto per le estensioni Vulkan per la decodifica video in formato AV1.
  • Nel driver Vulkan PanVK per GPU ARM Mali basato sull'architettura V10, come Mali-G610 e Mali-G310, è stata implementata la supporto per l'API Vulkan 1.1 (in precedenza era supportata la versione Vulkan 1.0). PanVK è incluso di default nell'elenco dei driver disponibili per l'uso in Mesa (precedentemente PanVK non appariva nell'elenco dei driver e per utilizzarlo era necessario impostare una variabile di ambiente). Nelle sistemi ARM, la compilazione di PanVK è abilitata di default.
  • Nel driver PanVK sono implementate le estensioni Vulkan:
    • 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
  • Nel driver RADV (AMD) è stata aggiunta la supporto per le estensioni Vulkan VK_KHR_maintenance8 e VK_KHR_depth_clamp_zero_one.
  • Nel driver rusticl è stata aggiunta la supporto per l'estensione OpenCL cl_khr_depth_images.

    Fonte: opennet.ru

  • Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster