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

Dopo due mesi di sviluppo è stata pubblicata la versione gratuita dell'implementazione delle API OpenGL e Vulkan, Mesa 22.1.0. La prima versione del ramo Mesa 22.1.0 ha uno stato sperimentale: dopo la stabilizzazione finale del codice verrà rilasciata una versione stabile 22.1.1.

In Mesa 22.1, il supporto per l'API grafica Vulkan 1.3 è disponibile nei driver anv per GPU Intel, radv per GPU AMD e nel rasterizzatore software lavapipe. Il supporto per Vulkan 1.2 è implementato in modalità emulatore (vn), Vulkan 1.1 è implementato nel driver per GPU Qualcomm (tu). e Vulkan 1.0 nel driver per GPU Broadcom VideoCore VI (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 le GPU AMD (r600) e NVIDIA (nvc0) e il supporto OpenGL 4.3 per virgl (GPU virtuale Virgil3D per QEMU/KVM) e vmwgfx (VMware).

Principali innovazioni:

  • Il driver ANV Vulkan (Intel) e il driver Iris OpenGL supportano le schede grafiche discrete Intel DG2 (Arc Alchemist) e Arctic Sound-M.
  • Il driver D3D12 con un livello per l'organizzazione del lavoro OpenGL sopra l'API DirectX 12 (D3D12) garantisce la compatibilità con OpenGL 4.2. Il driver viene utilizzato nel livello WSL2 per eseguire applicazioni grafiche Linux su Windows.
  • Il driver lavapipe, che implementa un rasterizzatore software per l'API Vulkan (simile a llvmpipe, ma per Vulkan, traduce le chiamate API Vulkan nell'API Gallium), supporta Vulkan 1.3.
  • Aggiunto il supporto per le GPU AMD GFX1036 e GFX1037.
  • Il driver RADV (AMD) ha implementato il ray primitive culling, che migliora il supporto del ray tracing per giochi come DOOM Eternal.
  • È stata proposta una prima implementazione del driver Vulkan per GPU basata sull'architettura PowerVR Rogue sviluppata da Imagination.
  • Il driver Nouveau per le vecchie GPU GeForce 6/7/8 è stato convertito per utilizzare una rappresentazione intermedia (IR) senza tipo degli shader NIR. Il supporto NIR consente inoltre di ottenere supporto per la rappresentazione intermedia TGSI (Tungsten Graphics Shader Infrastructure) attraverso l'uso di un livello per tradurre NIR in TGSI.
  • La composizione include un compilatore OpenCL compatto, proposto da Intel e utilizzato per il ray tracing.
  • Il driver OpenGL v3d, sviluppato per l'acceleratore grafico VideoCore VI, utilizzato a partire dal modello Raspberry Pi 4, implementa il supporto per il caching degli shader su disco.
  • Per le GPU AMD dotate del motore di elaborazione video VCN 2.0 è stato implementato il supporto EFC (Encoder Format Conversion), consentendo l'utilizzo di un codificatore video hardware per leggere direttamente le superfici RGB senza conversioni RGB->YUV eseguite dagli shader.
  • Il driver Crocus, sviluppato per le vecchie GPU Intel basate su microarchitetture Gen4-Gen7 che non sono supportate dal driver Iris, include un profilo di compatibilità con le versioni precedenti di OpenGL.
  • Il driver PanVk, che fornisce supporto per l'API grafica Vulkan per le GPU ARM Mali Midgard e Bifrost, ha iniziato a lavorare sul supporto degli shader di calcolo.
  • Il driver Venus con l'implementazione di una GPU virtuale (virtio-gpu) basata sull'API Vulkan ha aggiunto il supporto per il livello ANGLE, che è responsabile della traduzione delle chiamate OpenGL ES in OpenGL, Direct3D 9/11, Desktop GL e Vulkan.
  • Aggiunto il supporto per l'estensione OpenGL di NVIDIA GL_NV_pack_subimage, progettata per aggiornare i rettangoli nella memoria host utilizzando i dati del framebuffer o della texture.
  • Aggiunto il supporto per le estensioni ai driver Vulkan RADV (AMD), ANV (Intel) e lavapipe:
    • VK_EXT_ Depth_clip_control per lavapipe e RADV.
    • VK_EXT_graphics_pipeline_library per lavapipe.
    • VK_EXT_primitives_generated_query per lavapipe.
    • VK_EXT_image_2d_view_of_3d per ANV e lavapipe.
    • VK_KHR_swapchain_mutable_format per lavapipe.

Fonte: opennet.ru

Aggiungi un commento