Wydanie Mesa 22.2, darmowej implementacji OpenGL i Vulkan

Po czterech miesiącach prac opublikowano bezpłatną implementację API OpenGL i Vulkan – Mesa 22.2.0. Pierwsze wydanie gałęzi Mesa 22.2.0 ma status eksperymentalny - po ostatecznej stabilizacji kodu zostanie wydana stabilna wersja 22.2.1.

W Mesa 22.2 obsługa interfejsu graficznego Vulkan 1.3 jest dostępna w sterownikach anv dla procesorów graficznych Intel, radv dla procesorów graficznych AMD i tu dla procesorów graficznych Qualcomm. Obsługa Vulkan 1.2 jest zaimplementowana w trybie emulatora (vn), Vulkan 1.1 w rasteryzatorze oprogramowania lavapipe (lvp), a Vulkan 1.0 w sterowniku v3dv (procesor graficzny Broadcom VideoCore VI z Raspberry Pi 4). Mesa 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:

  • Sterownik GPU Qualcomm (tu) zapewnia obsługę interfejsu graficznego Vulkan 1.3.
  • W sterowniku Panfrost dodano obsługę procesorów graficznych Mali opartych na mikroarchitekturze Valhall (Mali-G57). Sterownik jest zgodny ze specyfikacją OpenGL ES 3.1.
  • Kontynuowano wdrażanie sterownika Vulkan dla procesorów graficznych opartych na architekturze PowerVR Rogue, opracowanego przez firmę Imagination.
  • Sterownik ANV Vulkan (Intel) i sterownik Iris OpenGL poprawiły obsługę dyskretnych kart graficznych Intel DG2-G12 (Arc Alchemist). Sterownik Vulkan znacząco (około 100 razy) zwiększył wydajność kodu ray tracingu.
  • Sterownik R600g dla procesorów graficznych AMD z serii Radeon HD 2000 do HD 6000 został przekonwertowany tak, aby korzystał z pośredniej reprezentacji bez typu (IR) shaderów NIR. Obsługa NIR umożliwia także uzyskanie obsługi pośredniej reprezentacji TGSI (Tungsten Graphics Shader Infrastructure) poprzez zastosowanie warstwy do translacji NIR na TGSI.
  • Rozpoczęły się prace nad sterownikiem Nouveau OpenGL w celu wdrożenia obsługi procesora graficznego RTX 30 „Ampere”.
  • Sterownik Etnaviv dla kart Vivante obsługuje teraz asynchroniczną kompilację shaderów.
  • Dodano obsługę rozszerzeń Vulkan:
    • VK_EXT_robustness2 dla sterownika lavapipe.
    • VK_EXT_image_2d_view_of_3d dla RADV.
    • VK_EXT_primitives_generated_query dla RADV.
    • VK_EXT_non_seamless_cube_map dla RADV, ANV, lavapipe.
    • VK_EXT_border_color_swizzle dla lavapipe, ANV, rzepy, RADV.
    • Identyfikator VK_EXT_shader_module_module dla RADV.
    • VK_EXT_multisampled_render_to_single_sampled dla lavapipe.
    • VK_EXT_shader_subgroup_vote dla lavapipe.
    • VK_EXT_shader_subgroup_ballot dla lavapipe
    • VK_EXT_attachment_feedback_loop_layout dla RADV.
  • Dodano obsługę rozszerzeń OpenGL:
    • WGL_ARB_create_context_solidność.
    • ARB_robust_buffer_access_behavior dla d3d12.
    • EGL_KHR_context_flush_control.
    • GLX_ARB_context_flush_control
    • GL_EXT_memory_object_win32 dla Zinka i d3d12.
    • GL_EXT_semaphore_win32 dla Zinka i d3d12.

Źródło: opennet.ru

Dodaj komentarz