Rilascio di Mesa 22.3, un'implementazione gratuita di OpenGL e Vulkan

È stato pubblicato il rilascio dell'implementazione gratuita delle API OpenGL e Vulkan - Mesa 22.3.0. La prima versione del ramo Mesa 22.3.0 ha uno stato sperimentale: dopo la stabilizzazione finale del codice verrà rilasciata una versione stabile 22.3.1.

In Mesa 22.3, il supporto per l'API grafica Vulkan 1.3 è disponibile nei driver anv per GPU Intel, radv per GPU AMD, tu per GPU Qualcomm e in modalità emulatore (vn). Il supporto Vulkan 1.1 è implementato nel rasterizzatore software lavapipe (lvp) e Vulkan 1.0 nel driver v3dv (GPU Broadcom VideoCore VI da Raspberry Pi 4).

Mesa fornisce inoltre il supporto completo OpenGL 4.6 per i driver 965, iris (Intel), radeonsi (AMD), zink e llvmpipe. Il supporto OpenGL 4.5 è disponibile per GPU AMD (r600), NVIDIA (nvc0) e Qualcomm Adreno (freedreno), OpenGL 4.3 per virgl (virgil3D virtual GPU per QEMU/KVM) e OpenGL 4.2 per il driver d3d12 (un livello per organizzare OpenGL lavorare su DirectX 12).

Principali innovazioni:

  • Il driver freedreno per le GPU Qualcomm Adreno fornisce supporto per l'API grafica OpenGL 4.5 e il driver dell'emulatore (vn) supporta l'API Vulkan 1.3.
  • Il driver Panfrost implementa la possibilità di memorizzare nella cache gli shader sul disco e aggiunge il supporto per la GPU Mali T620. Il driver è compatibile con le specifiche OpenGL 3.1 e OpenGL ES 3.1.
  • Il driver Vulkan RADV (AMD) ha aggiunto il supporto per le GPU GFX11/RDNA3 (serie Radeon RX 7000). Il codice per il ray tracing è stato ottimizzato. Aggiunto supporto per i formati pixel R8G8B8, B8G8R8 e R16G16B16, nonché per i formati buffer dei vertici a 64 bit. Aggiunto il supporto per il flag ExtendedDynamicState2PatchControlPoints, che determina il supporto per l'estensione VK_EXT_extended_dynamic_state2. Analizzatore di raggi Radeon integrato.
  • Il pacchetto include il driver Rusticle con l'implementazione della specifica OpenCL 3.0, che definisce l'API e le estensioni del linguaggio C per l'organizzazione del calcolo parallelo multipiattaforma. Il driver è scritto in Rust, sviluppato utilizzando l'interfaccia Gallium fornita in Mesa e funge da analogo del frontend Clover OpenCL presente in Mesa. Clover è stato abbandonato per molto tempo e rusticl è posizionato come il suo futuro sostituto. Il supporto per Rust e rusticl è disabilitato per impostazione predefinita e richiede una build con opzioni esplicite "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". Durante la creazione, come dipendenze aggiuntive sono richiesti il ​​compilatore rusticc, il generatore di collegamenti bindgen, LLVM, SPIRV-Tools e SPIRV-LLVM-Translator.
  • Il driver RadeonSI include il supporto per il rendering multi-thread tramite OpenGL per impostazione predefinita.
  • Introdotto Mesa-DB, un nuovo tipo di cache shader che memorizza i dati in un singolo file.
  • Aggiunto supporto per le estensioni OpenGL:
    • GL_ARB_shader_clock per llvmpipe.
    • GL_KHR_blend_equation_advanced_coherent per zink.
    • GL_NV_shader_atomic_float per llvmpipe.
  • Aggiunto supporto per le estensioni Vulkan:
    • VK_KHR_shader_clock per lavapipe.
    • VK_EXT_attachment_feedback_loop_layout per RADV, lavapipe.
    • VK_KHR_global_priority per RADV.
    • VK_EXT_load_store_op_none per RADV.
    • VK_EXT_mutable_descriptor_type per RADV.
    • VK_EXT_shader_atomic_float per lvp.
    • VK_EXT_shader_atomic_float2 per lvp.
    • VK_EXT_immagine_robustezza per v3dv.
    • VK_EXT_extended_dynamic_state3 per lavapipe, RADV e ANV.
    • VK_EXT_extended_dynamic_state2 per RADV.
    • VK_EXT_pipeline_robustness per v3dv.
    • VK_EXT_mesh_shader per ANV.

Fonte: opennet.ru

Aggiungi un commento