Lançamento do Mesa 22.3, uma implementação gratuita de OpenGL e Vulkan

Foi publicado o lançamento da implementação gratuita das APIs OpenGL e Vulkan - Mesa 22.3.0. O primeiro lançamento do branch Mesa 22.3.0 tem status experimental - após a estabilização final do código, uma versão estável 22.3.1 será lançada.

No Mesa 22.3, o suporte para a API gráfica Vulkan 1.3 está disponível nos drivers anv para GPUs Intel, radv para GPUs AMD, tu para GPUs Qualcomm e no modo emulador (vn). O suporte Vulkan 1.1 é implementado no rasterizador de software lavapipe (lvp) e Vulkan 1.0 no driver v3dv (GPU Broadcom VideoCore VI do Raspberry Pi 4).

Mesa também oferece suporte completo a OpenGL 4.6 para drivers 965, iris (Intel), radeonsi (AMD), zink e llvmpipe. O suporte OpenGL 4.5 está disponível para GPUs AMD (r600), NVIDIA (nvc0) e Qualcomm Adreno (freedreno), OpenGL 4.3 para virgl (GPU virtual virgil3D para QEMU/KVM) e OpenGL 4.2 para o driver d3d12 (uma camada para organizar OpenGL trabalhar em cima do DirectX 12).

Principais inovações:

  • O driver freedreno para GPUs Qualcomm Adreno oferece suporte para a API gráfica OpenGL 4.5, e o driver do emulador (vn) oferece suporte à API Vulkan 1.3.
  • O driver Panfrost implementa a capacidade de armazenar shaders em cache no disco e adiciona suporte para a GPU Mali T620. O driver é compatível com a especificação OpenGL 3.1 e OpenGL ES 3.1.
  • O driver RADV (AMD) Vulkan adicionou suporte para GPUs GFX11/RDNA3 (série Radeon RX 7000). O código para traçado de raio foi otimizado. Adicionado suporte para formatos de pixel R8G8B8, B8G8R8 e R16G16B16, bem como formatos de buffer de vértice de 64 bits. Adicionado suporte para o sinalizador extendedDynamicState2PatchControlPoints, que determina o suporte para a extensão VK_EXT_extended_dynamic_state2. Analisador Radeon Raytracing integrado.
  • O pacote inclui o driver Rusticle com a implementação da especificação OpenCL 3.0, que define a API e extensões da linguagem C para organizar a computação paralela multiplataforma. O driver é escrito em Rust, desenvolvido usando a interface Gallium fornecida no Mesa e atua como um análogo do frontend Clover OpenCL presente no Mesa. O trevo está abandonado há muito tempo e o rústico se posiciona como seu futuro substituto. O suporte para Rust e rusticl está desabilitado por padrão e requer uma compilação com opções explícitas "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". Ao construir, o compilador Rustc, o gerador de ligação bindgen, LLVM, SPIRV-Tools e SPIRV-LLVM-Translator são necessários como dependências adicionais.
  • O driver RadeonSI inclui suporte para renderização multithread via OpenGL por padrão.
  • Introduzido o Mesa-DB, um novo tipo de cache de shader que armazena dados em um único arquivo.
  • Adicionado suporte para extensões OpenGL:
    • GL_ARB_shader_clock para llvmpipe.
    • GL_KHR_blend_equation_advanced_coherent para zink.
    • GL_NV_shader_atomic_float para llvmpipe.
  • Adicionado suporte para extensões Vulkan:
    • VK_KHR_shader_clock para lavapipe.
    • VK_EXT_attachment_feedback_loop_layout para RADV, lavapipe.
    • VK_KHR_global_priority para RADV.
    • VK_EXT_load_store_op_none para RADV.
    • VK_EXT_mutable_descriptor_type para RADV.
    • VK_EXT_shader_atomic_float para lvp.
    • VK_EXT_shader_atomic_float2 para lvp.
    • VK_EXT_image_robustness para v3dv.
    • VK_EXT_extended_dynamic_state3 para lavapipe, RADV e ANV.
    • VK_EXT_extended_dynamic_state2 para RADV.
    • VK_EXT_pipeline_robustness para v3dv.
    • VK_EXT_mesh_shader para ANV.

Fonte: opennet.ru

Adicionar um comentário