Release av Mesa 21.1, en gratis implementering av OpenGL och Vulkan

Releasen av den fria implementeringen av OpenGL och Vulkan API - Mesa 21.1.0 - har presenterats. Den första utgåvan av Mesa 21.1.0-grenen har en experimentell status - efter den slutliga stabiliseringen av koden kommer en stabil version 21.1.1 att släppas. Mesa 21.1 inkluderar fullt stöd för OpenGL 4.6 för drivrutiner för 965, iris (Intel), radeonsi (AMD), zink och llvmpipe. OpenGL 4.5-stöd är tillgängligt för AMD (r600) och NVIDIA (nvc0) GPU:er och OpenGL 4.3-stöd för virgl (Virgil3D virtuell GPU för QEMU/KVM). Vulkan 1.2-stöd är implementerat för Intel- och AMD-kort, Vulkan 1.1 för Qualcomm GPU:er och lavapipe-programvaran rasterizer, och Vulkan 1.0 för Broadcom VideoCore VI GPU:er (Raspberry Pi 4).

Huvudsakliga innovationer:

  • Stöd för tilläggen VK_KHR_workgroup_memory_explicit_layout och VK_KHR_zero_initialize_workgroup_memory har lagts till i Vulkan-drivrutinerna RADV (AMD) och ANV (Intel).
  • Stöd för DRM-formatmodifierare har lagts till i RADV-drivrutinen (för AMD GFX9-kort) (tillägget VK_EXT_image_drm_format_modifier är aktiverat).
  • RADV-drivrutinen inkluderar stöd för VRS (Variable Rate Shading) för användning med alla djupbuffertar. VRS förbättrar produktiviteten till bekostnad av kvalitet.
  • Lagt till stöd för AMD Aldebaran GPU (gfx90a).
  • Lade till en ny Venus-drivrutin med en virtuell GPU-implementering (virtio-gpu) baserad på Vulkan API.
  • Zink-drivrutinen (en implementering av OpenGL API ovanpå Vulkan) inkluderar stöd för OpenGL 4.6 och OpenGL ES 3.1. Zink låter dig få hårdvaruaccelererad OpenGL om systemet har drivrutiner begränsade till att endast stödja Vulkan API. Zinks prestanda är nära den för infödda OpenGL-implementeringar.
  • Lavapipe-drivrutinen med implementeringen av en mjukvaru-rasterizer för Vulkan API (analogt med llvmpipe, men för Vulkan) lade till stöd för Vulkan 1.1 och implementerade Vulkan-tillägget VK_KHR_copy_commands2. Mjukvaruimplementeringen i lavapipe är baserad på att spegla Vulkan API-anrop till Gallium API.
  • Lagt till stöd för att lagra shader-cacher i en fil.
  • Drivrutinerna Virgl (Virtual GPU Virgil3D för QEMU/KVM) och Lima (ARM Mali GPU) ger stöd för cachning av shaders på disk.
  • Gallium-drivrutinen D3D12 med ett lager för att organisera OpenGL-arbete ovanpå DirectX 12 API (D3D12) säkerställer kompatibilitet med OpenGL 3.3 när man arbetar ovanpå D3D12-drivrutinerna WARP (programvara rasterizer) och NVIDIA. Drivrutinen används i WSL2-lagret för att köra Linux-grafiska applikationer på Windows.
  • Lade till nya OpenGL-tillägg:
    • GL_EXT_depth_bounds_test för softpipe och zink drivers
    • GL_EXT_texture_filter_minmax för nvc0-drivrutin (gm200+)
    • GL_ARB_texture_filter_minmax för nvc0-drivrutin (gm200+)
    • GL_ARB_post_depth_coverage för zinkdrivaren.

Källa: opennet.ru

Lägg en kommentar