Wydanie Mesa 22.0, darmowej implementacji OpenGL i Vulkan

Po czterech miesiącach prac opublikowano bezpłatną implementację API OpenGL i Vulkan – Mesa 22.0.0. Pierwsze wydanie gałęzi Mesa 22.0.0 ma status eksperymentalny - po ostatecznej stabilizacji kodu zostanie wydana stabilna wersja 22.0.1. Nowa wersja wyróżnia się implementacją API graficznego Vulkan 1.3 w sterowniku anv dla procesorów graficznych Intel i radv dla procesorów graficznych AMD.

Obsługa Vulkan 1.2 jest dostępna w trybie emulatora (vn), obsługa Vulkan 1.1 jest dostępna dla procesorów graficznych Qualcomm (tu) i rasterizera oprogramowania lavapipe, a obsługa Vulkan 1.0 jest dostępna dla procesorów graficznych Broadcom VideoCore VI (Raspberry Pi 4). Mesa 22.0 zapewnia także pełną obsługę OpenGL 4.6 dla sterowników 965, iris (Intel), radeonsi (AMD), zink i llvmpipe. Obsługa OpenGL 4.5 jest dostępna dla procesorów graficznych AMD (r600) i NVIDIA (nvc0), a obsługa OpenGL 4.3 jest dostępna dla virgl (wirtualny procesor graficzny Virgil3D dla QEMU/KVM) i vmwgfx (VMware).

Główne innowacje:

  • Dodano obsługę API graficznego Vulkan 1.3.
  • Kod dla klasycznych sterowników OpenGL, które nie korzystają z interfejsu Gallium3D, został przeniesiony z głównej Mesy do osobnej gałęzi „Amber”, włączając sterowniki i915 i i965 dla procesorów graficznych Intel, r100 i r200 dla procesorów graficznych AMD oraz Nouveau dla procesorów graficznych NVIDIA. Do gałęzi „Amber” przeniesiono także sterownik SWR, który oferował programowy rasteryzator OpenGL oparty na projekcie Intel OpenSWR. Z głównej struktury wyłączona jest klasyczna biblioteka xlib, zamiast której zaleca się użycie wariantu galium-xlib.
  • Sterownik Gallium D3D12 z warstwą do organizacji pracy OpenGL na bazie API DirectX 12 (D3D12) zapewnia kompatybilność z OpenGL ES 3.1. Sterownik wykorzystywany jest w warstwie WSL2 do uruchamiania aplikacji graficznych Linux w systemie Windows.
  • Do sterownika OpenGL „iris” i sterownika Vulkan „ANV” dodano obsługę chipów Intel Alderlake (S i N).
  • Sterowniki procesorów graficznych Intel domyślnie obsługują technologię Adaptive-Sync (VRR), umożliwiając adaptacyjną zmianę częstotliwości odświeżania monitora w celu uzyskania płynnego wyświetlania bez łez.
  • Sterownik RADV Vulkan (AMD) w dalszym ciągu wdraża obsługę ray tracingu i shaderów do ray tracingu.
  • Sterownik v3dv opracowany dla akceleratora graficznego VideoCore VI, stosowany począwszy od modelu Raspberry Pi 4, zapewnia możliwość pracy na platformie Android.
  • W przypadku EGL zaimplementowano mechanizm „dma-buf feedback”, który dostarcza dodatkowych informacji o dostępnych procesorach graficznych i umożliwia zwiększenie wydajności wymiany danych pomiędzy głównym i dodatkowym procesorem graficznym, na przykład w celu zorganizowania wyjścia bez pośredniego buforowania.
  • Do sterownika vmwgfx dodano obsługę OpenGL 3, służącą do implementacji akceleracji 4.3D w środowiskach VMware.
  • Do sterowników Vulkan dodano obsługę rozszerzeń RADV (AMD), ANV (Intel) i Zink (OpenGL przez Vulkan):
    • VK_KHR_dynamic_rendering (lavapipe,radv,anv)
    • VK_EXT_image_view_min_lod (radv) KHR_synchronization2.txt VK_KHR_synchronization2]] (radv)
    • VK_EXT_memory_object (cynk)
    • VK_EXT_memory_object_fd (cynk)
    • VK_EXT_semafor (cynk)
    • VK_EXT_semaphore_fd (cynk)
    • VK_VALVE_mutable_descriptor_type (cynk)
  • Dodano nowe rozszerzenia OpenGL:
    • GL_ARB_sparse_texture (radeonsi, cynk)
    • GL_ARB_sparse_texture2 (radeonsi, cynk)
    • GL_ARB_sparse_texture_clamp (radeonsi, cynk)
    • GL_ARB_framebuffer_no_attachments
    • GL_ARB_sample_shading

    Źródło: opennet.ru

Dodaj komentarz