Lanzamento de Mesa 22.1, unha implementación gratuíta de OpenGL e Vulkan

Despois de dous meses de desenvolvemento, publicouse o lanzamento dunha implementación gratuíta das API OpenGL e Vulkan - Mesa 22.1.0. A primeira versión da rama Mesa 22.1.0 ten un estado experimental: despois da estabilización final do código, lanzarase unha versión estable 22.1.1.

En Mesa 22.1, o soporte para a API de gráficos Vulkan 1.3 está dispoñible nos controladores anv para GPU Intel, radv para GPU AMD e o rasterizador de software lavapipe. O soporte para Vulkan 1.2 está implementado en modo emulador (vn), Vulkan 1.1 está implementado no controlador para as GPU Qualcomm (tu). e Vulkan 1.0 no controlador para Broadcom VideoCore VI GPU (Raspberry Pi 4). Mesa tamén ofrece compatibilidade completa con OpenGL 4.6 para os controladores 965, iris (Intel), radeonsi (AMD), zink e llvmpipe. O soporte OpenGL 4.5 está dispoñible para GPU AMD (r600) e NVIDIA (nvc0), e compatibilidade con OpenGL 4.3 para virgl (GPU virtual virgil3D para QEMU/KVM) e vmwgfx (VMware).

Principais novidades:

  • O controlador ANV Vulkan (Intel) e o controlador Iris OpenGL admiten tarxetas gráficas discretas Intel DG2 (Arc Alchemist) e Arctic Sound-M.
  • O controlador D3D12 cunha capa para organizar o traballo OpenGL enriba da API de DirectX 12 (D3D12) garante a compatibilidade con OpenGL 4.2. O controlador úsase na capa WSL2 para executar aplicacións gráficas de Linux en Windows.
  • O controlador lavapipe, que implementa un rasterizador de software para a API de Vulkan (semellante a llvmpipe, pero para Vulkan, que traduce as chamadas da API de Vulkan á API de Gallium), admite Vulkan 1.3.
  • Engadido soporte para GPU AMD GFX1036 e GFX1037.
  • O controlador RADV (AMD) implementou a eliminación primitiva de raios, que mellora a compatibilidade de trazado de raios para xogos como DOOM Eternal.
  • Propúxose unha implementación inicial do controlador Vulkan para GPU baseada na arquitectura PowerVR Rogue desenvolvida por Imagination.
  • O controlador Nouveau para as GPU GeForce 6/7/8 máis antigas converteuse para utilizar unha representación intermedia (IR) sen tipo de sombreadores NIR. A compatibilidade con NIR tamén permítelle obter soporte para a representación intermedia TGSI (Tungsten Graphics Shader Infrastructure) mediante o uso dunha capa para traducir NIR a TGSI.
  • A composición inclúe un compilador compacto OpenCL, proposto por Intel e usado para o trazado de raios.
  • O controlador OpenGL v3d, desenvolvido para o acelerador de gráficos VideoCore VI, usado a partir do modelo Raspberry Pi 4, implementa compatibilidade para almacenar sombreadores en caché no disco.
  • Para as GPU AMD equipadas co motor de procesamento de vídeo VCN 2.0, implementouse o soporte EFC (Conversión de formato de codificador), que permite o uso dun codificador de vídeo de hardware para ler directamente superficies RGB sen conversións RGB->YUV realizadas polos sombreadores.
  • O controlador Crocus, desenvolvido para as GPU Intel máis antigas baseadas en microarquitecturas Gen4-Gen7 que non son compatibles co controlador Iris, inclúe un perfil de compatibilidade con versións anteriores de OpenGL.
  • O controlador PanVk, que ofrece soporte para a API de gráficos Vulkan para as GPU ARM Mali Midgard e Bifrost, comezou a traballar para admitir os sombreadores informáticos.
  • O controlador Venus coa implementación dunha GPU virtual (virtio-gpu) baseada na API Vulkan engadiu soporte para a capa ANGLE, que se encarga de traducir as chamadas OpenGL ES a OpenGL, Direct3D 9/11, Desktop GL e Vulkan.
  • Engadiuse soporte para a extensión OpenGL de NVIDIA GL_NV_pack_subimage, deseñada para actualizar rectángulos na memoria do host usando datos do framebuffer ou da textura.
  • Engadiuse soporte para extensións aos controladores Vulkan RADV (AMD), ANV (Intel) e lavapipe:
    • VK_EXT_depth_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

Engadir un comentario