Byl vydán nový svobodný API OpenGL a Vulkan — Mesa 24.1.0. První vydání vetve Mesa 24.1.0 má experimentální status — po konečné stabilizaci kódu bude vydána stabilní verze 24.1.1.
V Mesa 24.0 je k dispozici podpora grafického API Vulkan 1.3 v driverech anv pro GPU Intel, radv pro GPU AMD, NVK pro GPU NVIDIA, tu pro GPU Qualcomm, v programovém rasterizátoru lavapipe (lvp) a v emulačním režimu (vn). Podpora Vulkan 1.0 je realizována v driverech v3dv (GPU Broadcom VideoCore VI z Raspberry Pi 4) a dzn (realizace Vulkan na Direct3D 12).
Mesa také zajišťuje plnou podporu OpenGL 4.6 pro drivery iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (starší GPU Intel Gen4-Gen7), zink, llvmpipe, virgl (virtuální GPU Virgil3D pro QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (vrstva pro zajištění fungování OpenGL na DirectX 12) a asahi (GPU AGX používané v čipech Apple M1 a M2). Podpora OpenGL 4.5 je k dispozici pro GPU AMD (r600) a NVIDIA (nvc0). Podpora OpenGL 3.3 je přítomna v driverech softpipe (programový rasterizátor) a nv50 (NVIDIA NV50).
Hlavní novinky:
- V driveru asahi, vyvíjeném pro GPU AGX používaném v ARM čipech Apple, je zajištěna podpora OpenGL 4.6 a OpenGL ES 3.2.
- Významně byla vylepšena funkčnost driveru NVK pro GPU NVIDIA založené na mikroarchitekturách Turing (série GeForce GTX 16xx, RTX 20xx a Quadro RTX), Ampere (série GeForce RTX 30xx a RTX A2000/4000/5000/6000) a Ada (série GeForce RTX 4xxx, RTX 4000 SFF, RTX 4xxx/5000/6000 Ada). Driver byl uznán jako připravený pro každodenní použití širokým spektrem uživatelů. Podpora Vulkan 1.3 v NVK byla certifikována konsorciem Khronos. Byla zlepšena funkčnost nad NVK prostřednictvím vrstvy DXVK poskytující implementaci Direct3D 9, 10 a 11.
- Byla přidána změna, která umožňuje využití driveru Zink (implementace OpenGL na Vulkan) pro zajištění podpory OpenGL 4.6 na systémech s novými sériemi grafických karet NVIDIA (počínaje GeForce RTX 20xx), s nimiž mohou být v běžném OpenGL driveru Nouveau (NVC0) problémy. Pro aktivaci Zink místo NVC0 by měla být nastavena proměnná prostředí „NOUVEAU_USE_ZINK=1“.
- V driveru Panfrost byla přidána podpora GPU Mali G610, Mali G310 a Mali T600.
- Ve všech Vulkan driverech byla implementována podpora explicitní synchronizace (Explicit Sync) pro Wayland a X11. Explicit Sync umožňuje aplikacím informovat kompoziční manažer o připravenosti výstupu rámce na obrazovku, což pomáhá snížit zpoždění a zbavit se artefaktů při vykreslování grafiky.
- Byly rozšířeny funkce driveru d3d12, poskytující vrstvy s implementací OpenGL na DirectX 12.
- V ovladači V3DV, vyvíjeném pro GPU Broadcom VideoCore (používá se na deskách Raspberry Pi), byla přidána podpora dynamického vykreslování.
- Vulkanový ovladač ANV (Intel) byl převeden na používání asynchronních operací mapování video paměti (Asynchronous VM_BIND). Pro GPU založená na architektuře Intel Xe, používané v grafických kartách Intel rodiny Arc a integrované grafice od procesorů Tiger Lake, byla přidána možnost resetovat stavy dumpů pro odstraňování potíží s GPU. Byla provedená příprava na podporu GPU čipů Intel LunarLake (Xe 2).
- Byla přidána podpora nových rozšíření Vulkan:
- VK_EXT_map_memory_placed pro ovladače RADV, ANV a NVK
- VK_KHR_shader_subgroup_rotate pro RADV, ANV a NVK
- VK_KHR_load_store_op_none pro RADV, ANV, NVK a Turnip
- VK_KHR_line_rasterization pro RADV, ANV, NVK a Turnip
- VK_KHR_index_type_uint8 pro RADV, ANV, NVK a Turnip
- VK_KHR_shader_expect_assume pro všechny Vulkanové ovladače
- VK_KHR_shader_maximal_reconvergence pro RADV, ANV a NVK
- VK_KHR_shader_quad_control pro RADV
- VK_KHR_shader_subgroup_uniform_control_flow pro NVK
- VK_EXT_device_address_binding_report pro RADV
- VK_EXT_external_memory_dma_buf pro lavapipe
- VK_EXT_queue_family_foreign pro lavapipe
- VK_EXT_shader_object pro RADV
- VK_EXT_nested_command_buffer pro NVK a RADV
- VK_EXT_queue_family_foreign pro NVK
- VK_EXT_image_drm_format_modifier pro NVK
Zdroj: opennet.ru
