Llançament de Mesa 22.3, una implementació gratuïta d'OpenGL i Vulkan

S'ha publicat el llançament de la implementació gratuïta de les API OpenGL i Vulkan - Mesa 22.3.0. La primera versió de la branca Mesa 22.3.0 té un estat experimental: després de l'estabilització final del codi, es publicarà una versió estable 22.3.1.

A Mesa 22.3, el suport per a l'API de gràfics Vulkan 1.3 està disponible als controladors anv per a GPU Intel, radv per a GPU AMD, tu per a GPU Qualcomm i en mode emulador (vn). El suport Vulkan 1.1 s'implementa al rasteritzador de programari lavapipe (lvp) i Vulkan 1.0 al controlador v3dv (GPU Broadcom VideoCore VI de Raspberry Pi 4).

Mesa també ofereix suport complet per a OpenGL 4.6 per als controladors 965, iris (Intel), radeonsi (AMD), zink i llvmpipe. El suport d'OpenGL 4.5 està disponible per a les GPU AMD (r600), NVIDIA (nvc0) i Qualcomm Adreno (freedreno), OpenGL 4.3 per a virgl (GPU virtual virgil3D per a QEMU/KVM) i OpenGL 4.2 per al controlador d3d12 (una capa per organitzar OpenGL). treballar a la part superior de DirectX 12).

Principals innovacions:

  • El controlador freedreno per a les GPU Qualcomm Adreno ofereix suport per a l'API de gràfics OpenGL 4.5 i el controlador de l'emulador (vn) és compatible amb l'API Vulkan 1.3.
  • El controlador Panfrost implementa la capacitat d'emmagatzemar ombrejats a la memòria cau al disc i afegeix suport per a la GPU Mali T620. El controlador és compatible amb l'especificació OpenGL 3.1 i OpenGL ES 3.1.
  • El controlador Vulkan RADV (AMD) ha afegit suport per a les GPU GFX11/RDNA3 (sèrie Radeon RX 7000). S'ha optimitzat el codi per al traçat de raigs. S'ha afegit compatibilitat amb els formats de píxels R8G8B8, B8G8R8 i R16G16B16, així com els formats de memòria intermèdia de vèrtex de 64 bits. S'ha afegit suport per a la marca extendedDynamicState2PatchControlPoints, que determina la compatibilitat amb l'extensió VK_EXT_extended_dynamic_state2. Radeon Raytracing Analyzer integrat.
  • El paquet inclou el controlador Rusticle amb la implementació de l'especificació OpenCL 3.0, que defineix l'API i les extensions del llenguatge C per organitzar la informàtica paral·lela multiplataforma. El controlador està escrit en Rust, desenvolupat utilitzant la interfície Gallium proporcionada a Mesa i actua com un anàleg de la interfície Clover OpenCL present a Mesa. Clover ha estat abandonat durant molt de temps i rusticl es posiciona com el seu futur substitut. El suport per a Rust i rusticl està desactivat per defecte i requereix una compilació amb opcions explícites "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". Quan es construeix, es requereixen com a dependències addicionals el compilador rustc, el generador d'enllaços Bindgen, LLVM, SPIRV-Tools i SPIRV-LLVM-Translator.
  • El controlador RadeonSI inclou suport per a la representació multiprocés mitjançant OpenGL de manera predeterminada.
  • S'ha presentat Mesa-DB, un nou tipus de memòria cau de shader que emmagatzema dades en un sol fitxer.
  • S'ha afegit suport per a les extensions OpenGL:
    • GL_ARB_shader_clock per a llvmpipe.
    • GL_KHR_blend_equation_advanced_coherent per a zink.
    • GL_NV_shader_atomic_float per a llvmpipe.
  • S'ha afegit suport per a les extensions Vulkan:
    • VK_KHR_shader_clock per a lavapipe.
    • VK_EXT_attachment_feedback_loop_layout per a RADV, lavapipe.
    • VK_KHR_global_priority per a RADV.
    • VK_EXT_load_store_op_none per a RADV.
    • VK_EXT_tipus_descriptor_mutable per a RADV.
    • VK_EXT_shader_atomic_float per a lvp.
    • VK_EXT_shader_atomic_float2 per a lvp.
    • VK_EXT_image_robustness per a v3dv.
    • VK_EXT_extended_dynamic_state3 per a lavapipe, RADV i ANV.
    • VK_EXT_extended_dynamic_state2 per a RADV.
    • VK_EXT_pipeline_robustness per a v3dv.
    • VK_EXT_mesh_shader per a ANV.

Font: opennet.ru

Afegeix comentari