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

Després de dos mesos de desenvolupament, es va publicar el llançament d'una implementació gratuïta de les API OpenGL i Vulkan - Mesa 22.1.0. La primera versió de la branca Mesa 22.1.0 té un estat experimental: després de l'estabilització final del codi, es publicarà una versió estable 22.1.1.

A Mesa 22.1, el suport per a l'API de gràfics Vulkan 1.3 està disponible als controladors anv per a les GPU Intel, radv per a les GPU AMD i el rasteritzador de programari lavapipe. El suport per a Vulkan 1.2 s'implementa en mode emulador (vn), Vulkan 1.1 s'implementa al controlador per a les GPU Qualcomm (tu). i Vulkan 1.0 al controlador de la GPU Broadcom VideoCore VI (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 OpenGL 4.5 està disponible per a les GPU AMD (r600) i NVIDIA (nvc0), i el suport OpenGL 4.3 per a virgl (GPU virtual Virgil3D per a QEMU/KVM) i vmwgfx (VMware).

Principals innovacions:

  • El controlador ANV Vulkan (Intel) i el controlador Iris OpenGL admeten les targetes gràfiques discretes Intel DG2 (Arc Alchemist) i Arctic Sound-M.
  • El controlador D3D12 amb una capa per organitzar el treball OpenGL a la part superior de l'API de DirectX 12 (D3D12) garanteix la compatibilitat amb OpenGL 4.2. El controlador s'utilitza a la capa WSL2 per executar aplicacions gràfiques Linux a Windows.
  • El controlador lavapipe, que implementa un rasteritzador de programari per a l'API Vulkan (similar a llvmpipe, però per a Vulkan, que tradueix les trucades de l'API Vulkan a l'API Gallium), és compatible amb Vulkan 1.3.
  • S'ha afegit suport per a les GPU AMD GFX1036 i GFX1037.
  • El controlador RADV (AMD) ha implementat la eliminació primitiva de raigs, que millora la compatibilitat amb el traçat de raigs per a jocs com DOOM Eternal.
  • S'ha proposat una implementació inicial del controlador Vulkan per a GPU basat en l'arquitectura PowerVR Rogue desenvolupada per Imagination.
  • El controlador Nouveau per a les GPU GeForce 6/7/8 més antigues s'ha convertit per utilitzar una representació intermèdia (IR) sense tipus de shaders NIR. El suport NIR també us permet obtenir suport per a la representació intermèdia TGSI (Tungsten Graphics Shader Infrastructure) mitjançant l'ús d'una capa per traduir NIR a TGSI.
  • La composició inclou un compilador OpenCL compacte, proposat per Intel i utilitzat per al traçat de raigs.
  • El controlador OpenGL v3d, desenvolupat per a l'accelerador de gràfics VideoCore VI, utilitzat a partir del model Raspberry Pi 4, implementa suport per a l'emmagatzematge d'ombres en memòria cau al disc.
  • Per a les GPU AMD equipades amb el motor de processament de vídeo VCN 2.0, s'ha implementat el suport EFC (Encoder Format Conversion), que permet l'ús d'un codificador de vídeo de maquinari per llegir directament superfícies RGB sense conversions RGB->YUV realitzades pels shaders.
  • El controlador Crocus, desenvolupat per a GPU Intel més antigues basades en microarquitectures Gen4-Gen7 que no són compatibles amb el controlador Iris, inclou un perfil de compatibilitat amb versions anteriors d'OpenGL.
  • El controlador PanVk, que proporciona suport per a l'API de gràfics Vulkan per a les GPU ARM Mali Midgard i Bifrost, ha començat a treballar per donar suport als shaders informàtics.
  • El controlador Venus amb la implementació d'una GPU virtual (virtio-gpu) basada en l'API Vulkan ha afegit suport per a la capa ANGLE, que s'encarrega de traduir les trucades d'OpenGL ES a OpenGL, Direct3D 9/11, Desktop GL i Vulkan.
  • S'ha afegit suport per a l'extensió OpenGL de NVIDIA GL_NV_pack_subimage, dissenyada per actualitzar rectangles a la memòria de l'amfitrió mitjançant dades del framebuffer o la textura.
  • S'ha afegit suport per a extensions als controladors RADV (AMD), ANV (Intel) i lavapipe Vulkan:
    • VK_EXT_depth_clip_control per a lavapipe i RADV.
    • VK_EXT_graphics_pipeline_library per a lavapipe.
    • VK_EXT_primitives_generated_query per a lavapipe.
    • VK_EXT_image_2d_view_of_3d per a ANV i lavapipe.
    • VK_KHR_swapchain_mutable_format per a lavapipe.

Font: opennet.ru

Afegeix comentari