Opublikowano wydanie bezpłatnej implementacji API OpenGL i Vulkan - Mesa 23.0.0. Pierwsze wydanie gałęzi Mesa 23.0.0 ma status eksperymentalny - po ostatecznej stabilizacji kodu zostanie wydana stabilna wersja 23.0.1.
Mesa 23.0 zapewnia obsługę interfejsu graficznego Vulkan 1.3 w trybie anv dla procesorów graficznych Intel, radv dla procesorów graficznych AMD, tu dla procesorów graficznych Qualcomm oraz w trybie emulatora (vn). Obsługa Vulkan 1.1 jest zaimplementowana 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), NVIDIA (nvc0) i Qualcomm Adreno (freedreno), OpenGL 4.3 dla virgl (wirtualny procesor graficzny virgil3D dla QEMU/KVM) i OpenGL 4.2 dla sterownika d3d12 (warstwa do organizowania OpenGL pracować na DirectX 12).
Główne innowacje:
- W sterowniku RADV Vulkan (AMD) poprawiono obsługę procesorów graficznych opartych na architekturze RDNA3 (Radeon RX 7900) oraz dodano zmiany związane ze śledzeniem promieni i wykorzystaniem bibliotek potokowych. W przypadku kart AMD opartych na architekturze RDNA2 obsługa shaderów siatki (VK_EXT_mesh_shader) jest domyślnie włączona.
- Sterownik Nouveau dodaje początkową obsługę procesorów graficznych NVIDIA GA102 (RTX 30) opartych na architekturze Ampere.
- Sterowniki RADV i Turnip implementują dodatkowe funkcje związane z rozszerzeniem VK_EXT_dynamic_state3.
- Znacząco rozszerzono możliwości sterownika asahi OpenGL dla procesora graficznego Apple AGX, stosowanego w chipach Apple M1 i M2.
- Sterownik ANV Vulkan (Intel) i sterownik Iris OpenGL poprawiły obsługę dyskretnych kart graficznych Intel DG2-G12 (Arc Alchemist) i procesorów graficznych Meteor Lake.
- Sterownik virgl (Virtual GPU Virgil3D dla QEMU/KVM) poprawił obsługę sprzętowego przyspieszania kodowania wideo.
- Dodano obsługę rozszerzeń OpenGL:
- GL_ARB_clip_control dla panfrost
- GL_ARB_texture_filter_anisotropic dla panfrost, asahi
- GL_ARB_occulsion_query2 dla asahi
- GL_ARB_shader_stencil_export dla asahi
- GL_ARB_draw_instanced dla asahi
- GL_ARB_instanced_ararys dla asahi
- GL_ARB_seamless_cube_map dla asahi
- GL_NV_conditional_render dla asahi
- GL_ARB_texture_mirror_clamp_to_edge dla asahi
- Dodano obsługę rozszerzeń Vulkan:
- VK_EXT_descriptor_buffer dla RADV, Rzepa
- VK_AMD_shader_early_and_late_fragment_tests dla RADV
- Parametr VK_AMD_shader_explicit_vertex_dla RADV/RDNA3
- VK_EXT_swapchain_colorspace dla RADV, ANV, rzepy
- VK_KHR_shader_integer_dot_product dla V3DV
- VK_KHR_present_wait na ANV, RADV, rzepę
- VK_KHR_push_descriptor dla Wenus
- VK_KHR_pci_bus_info dla Wenus
- Rozwiązano problemy z okluzją otoczenia w grze Rise of the Tomb Raider, Minecraft, Battlefield 1 i Hi-Fi Rush.
- Naprawiono problem powodujący awarię sygnału wyjściowego podczas rozmów wideo Zoom w systemach ze sterownikiem Iris.
Źródło: opennet.ru