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

Após dois meses de desenvolvimento, foi publicado o lançamento de uma implementação gratuita das APIs OpenGL e Vulkan - Mesa 22.1.0. O primeiro lançamento do branch Mesa 22.1.0 tem status experimental - após a estabilização final do código, uma versão estável 22.1.1 será lançada.

No Mesa 22.1, o suporte para a API gráfica Vulkan 1.3 está disponível nos drivers anv para GPUs Intel, radv para GPUs AMD e no rasterizador de software lavapipe. O suporte para Vulkan 1.2 é implementado no modo emulador (vn), Vulkan 1.1 é implementado no driver para GPUs Qualcomm (tu). e Vulkan 1.0 no driver da GPU Broadcom VideoCore VI (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) e NVIDIA (nvc0), e suporte OpenGL 4.3 para virgl (GPU virtual Virgil3D para QEMU/KVM) e vmwgfx (VMware).

Principais inovações:

  • O driver ANV Vulkan (Intel) e o driver Iris OpenGL suportam placas gráficas discretas Intel DG2 (Arc Alchemist) e Arctic Sound-M.
  • O driver D3D12 com uma camada para organizar o trabalho OpenGL sobre a API DirectX 12 (D3D12) garante compatibilidade com OpenGL 4.2. O driver é usado na camada WSL2 para executar aplicativos gráficos Linux no Windows.
  • O driver lavapipe, que implementa um rasterizador de software para a API Vulkan (semelhante ao llvmpipe, mas para Vulkan, traduzindo chamadas de API Vulkan para a API Gallium), suporta Vulkan 1.3.
  • Adicionado suporte para GPUs AMD GFX1036 e GFX1037.
  • O driver RADV (AMD) implementou seleção primitiva de raios, o que melhora o suporte ao rastreamento de raios para jogos como DOOM Eternal.
  • Foi proposta uma implementação inicial do driver Vulkan para GPUs baseado na arquitetura PowerVR Rogue desenvolvida pela Imagination.
  • O driver Nouveau para GPUs GeForce 6/7/8 mais antigas foi convertido para usar uma representação intermediária sem tipo (IR) de shaders NIR. O suporte NIR também permite obter suporte para a representação intermediária TGSI (Tungsten Graphics Shader Infrastructure) por meio do uso de uma camada para traduzir NIR para TGSI.
  • A composição inclui um compilador OpenCL compacto, proposto pela Intel e usado para ray tracing.
  • O driver OpenGL v3d, desenvolvido para o acelerador gráfico VideoCore VI, usado a partir do modelo Raspberry Pi 4, implementa suporte para cache de shaders em disco.
  • Para GPUs AMD equipadas com mecanismo de processamento de vídeo VCN 2.0, foi implementado suporte EFC (Encoder Format Conversion), permitindo o uso de um codificador de vídeo de hardware para ler diretamente superfícies RGB sem conversões RGB->YUV realizadas por shaders.
  • O driver Crocus, desenvolvido para GPUs Intel mais antigas baseadas em microarquiteturas Gen4-Gen7 que não são suportadas pelo driver Iris, inclui um perfil de compatibilidade com versões mais antigas do OpenGL.
  • O driver PanVk, que fornece suporte para a API gráfica Vulkan para GPUs ARM Mali Midgard e Bifrost, começou a trabalhar no suporte a shaders de computação.
  • O driver Venus com implementação de GPU virtual (virtio-gpu) baseado na API Vulkan adicionou suporte para a camada ANGLE, que é responsável por traduzir chamadas OpenGL ES para OpenGL, Direct3D 9/11, Desktop GL e Vulkan.
  • Adicionado suporte para a extensão OpenGL GL_NV_pack_subimage da NVIDIA, projetada para atualizar retângulos na memória do host usando dados do framebuffer ou textura.
  • Foi adicionado suporte para extensões aos drivers Vulkan RADV (AMD), ANV (Intel) e lavapipe:
    • VK_EXT_profundidade_clip_control para lavapipe e RADV.
    • VK_EXT_graphics_pipeline_library para lavapipe.
    • VK_EXT_primitives_generated_query para lavapipe.
    • VK_EXT_image_2d_view_of_3d para ANV e lavapipe.
    • VK_KHR_swapchain_mutable_format para lavapipe.

Fonte: opennet.ru

Adicionar um comentário