Der er offentliggjort en ny udgave af den frie implementering af OpenGL- og Vulkan-API'en — Mesa 24.1.0. Den første udgave af Mesa 24.1.0 har en eksperimentel status — efter en endelig stabilisering af koden vil den stabile version 24.1.1 blive udgivet.
Mesa 24.0 tilbyder support for Vulkan 1.3 grafisk API i drv-anv til Intel GPU'er, radv til AMD GPU'er, NVK til NVIDIA GPU'er, tu til Qualcomm GPU'er, i den softwarebaserede rasterizer lavapipe (lvp) og i emulator-tilstand (vn). Vulkan 1.0 er implementeret i drv-v3dv (Broadcom VideoCore VI GPU fra Raspberry Pi 4) og dzn (implementering af Vulkan over Direct3D 12).
Mesa giver også fuld understøttelse af OpenGL 4.6 for iris-drivere (Intel Gen 8+ GPU'er), radeonsi (AMD), Crocus (ældre Intel Gen4-Gen7 GPU'er), zink, llvmpipe, virgl (virtuelt GPU Virgil3D til QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (lag til at få OpenGL til at fungere over DirectX 12) og asahi (AGX GPU, der bruges i Apple M1 og M2 chips). OpenGL 4.5 understøttes for AMD (r600) og NVIDIA (nvc0) GPU'er. OpenGL 3.3 er til stede i drv-softpipe (software-rasterizer) og nv50 (NVIDIA NV50).
Hovednyhederne:
- I asahi-driveren, der udvikles til AGX GPU'en, som bruges i ARM-chips fra Apple, er der tilføjet understøttelse af OpenGL 4.6 og OpenGL ES 3.2.
- Ydeevnen i NVK-driveren til NVIDIA GPU'er baseret på Turing mikroarkitekturen (GeForce GTX 16xx, RTX 20xx og Quadro RTX-serien), Ampere (GeForce RTX 30xx og RTX A2000/4000/5000/6000-serien) og Ada (GeForce RTX 4xxx, RTX 4000 SFF, RTX 4xxx/5000/6000 Ada-serien) er blevet væsentligt forbedret. Driveren er anerkendt som klar til daglig brug af en bred vifte af brugere. Vulkan 1.3-support i NVK er certificeret af Khronos-konsortiet. Ydeevnen for DXVK-laget, der giver en implementering af Direct3D 9, 10 og 11, er forbedret.
- Der er tilføjet en ændring, der gør det muligt at anvende Zink-driveren (implementering af OpenGL over Vulkan) for at sikre støtte til OpenGL 4.6 på systemer med de nyeste NVIDIA grafikkort (startende med GeForce RTX 20xx), som kan have problemer med den almindelige OpenGL-driver Nouveau (NVC0). For at aktivere Zink i stedet for NVC0 skal miljøvariablen "NOUVEAU_USE_ZINK=1" sættes.
- I Panfrost-driveren er der tilføjet støtte for Mali G610, Mali G310 og Mali T600 GPU'er.
- I alle Vulkan-drivere er der implementeret support for eksplicit synkronisering (Explicit Sync) til Wayland og X11. Explicit Sync giver applikationer mulighed for at informere kompositormanageren om, at den aktuelle ramme er klar til at blive vist på skærmen, hvilket reducerer forsinkelser og eliminerer artefakter ved grafikudgang.
- Funktionaliteten i d3d12-driveren, der giver et lag med implementering af OpenGL over DirectX 12, er blevet udvidet.
- I driver V3DV, der udvikles til GPU'en Broadcom VideoCore (brugt i Raspberry Pi kort), har fået tilføjet support til dynamisk rendering.
- Vulkan-driveren ANV (Intel) er blevet opdateret til at bruge asynkrone operationer til kortlægning af videohukommelse (Asynchronous VM_BIND). For GPU'er baseret på Intel Xe arkitekturen, der anvendes i Intel Arc grafikkort og integreret grafik, startende med Tiger Lake-processorerne, er der tilføjet mulighed for at nulstille tilstandslogger for fejlfinding af GPU-låsninger. Forberedelse er blevet udført for at støtte Intel LunarLake (Xe 2) GPU-chips.
- Support til nye Vulkan-udvidelser er blevet tilføjet:
- VK_EXT_map_memory_placed for RADV, ANV og NVK
- VK_KHR_shader_subgroup_rotate for RADV, ANV og NVK
- VK_KHR_load_store_op_none for RADV, ANV, NVK og Turnip
- VK_KHR_line_rasterization for RADV, ANV, NVK og Turnip
- VK_KHR_index_type_uint8 for RADV, ANV, NVK og Turnip
- VK_KHR_shader_expect_assume for alle Vulkan-drivere
- VK_KHR_shader_maximal_reconvergence for RADV, ANV og NVK
- VK_KHR_shader_quad_control for RADV
- VK_KHR_shader_subgroup_uniform_control_flow for NVK
- VK_EXT_device_address_binding_report for RADV
- VK_EXT_external_memory_dma_buf for lavapipe
- VK_EXT_queue_family_foreign for lavapipe
- VK_EXT_shader_object for RADV
- VK_EXT_nested_command_buffer for NVK og RADV
- VK_EXT_queue_family_foreign for NVK
- VK_EXT_image_drm_format_modifier for NVK
Kilde: opennet.ru
