Releasen för den fria implementationen av API OpenGL och Vulkan - Mesa 24.1.0 Àr publicerad. Den första utgÄvan av Mesa 24.1.0 har experimentell status - efter att den slutliga kodstabilisering har genomförts kommer den stabila versionen 24.1.1 att slÀppas.
I Mesa 24.0 finns stöd för grafik-API Vulkan 1.3 i drivrutinerna anv för Intel GPU, radv för AMD GPU, NVK för NVIDIA GPU, tu för Qualcomm GPU, i det programbaserade rasteriseringsmotorn lavapipe (lvp) och i emulatorlÀge (vn). Stöd för Vulkan 1.0 implementeras i drivrutinerna v3dv (GPU Broadcom VideoCore VI frÄn Raspberry Pi 4) och dzn (implementering av Vulkan ovanpÄ Direct3D 12).
Mesa erbjuder ocksÄ fullt stöd för OpenGL 4.6 för drivrutinerna iris (Intel Gen 8+ GPU), radeonsi (AMD), Crocus (Àldre Intel Gen4-Gen7 GPU), zink, llvmpipe, virgl (virtuella GPU Virgil3D för QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (arkitektur för att köra OpenGL ovanpÄ DirectX 12) och asahi (GPU AGX som anvÀnds i Apple M1 och M2-chipsen). Stöd för OpenGL 4.5 finns för AMD (r600) och NVIDIA (nvc0). Stöd för OpenGL 3.3 finns i drivrutinerna softpipe (programbaserat rasteriseringsmotor) och nv50 (NVIDIA NV50).
Huvudsakliga nyheter:
- I asahi-drivrutinen, som utvecklas för AGX GPU, som anvÀnds i Apple ARM-chips, har stöd för OpenGL 4.6 och OpenGL ES 3.2 sÀkerstÀllts.
- Prestandan hos drivrutinen NVK för NVIDIA GPU baserade pÄ mikroarkitekturerna Turing (GeForce GTX 16xx, RTX 20xx och Quadro RTX), Ampere (GeForce RTX 30xx och RTX A2000/4000/5000/6000-serierna) och Ada (GeForce RTX 4xxx, RTX 4000 SFF, RTX 4xxx/5000/6000 Ada) har förbÀttrats avsevÀrt. Drivrutinen anses vara redo för vardagligt bruk av ett brett spektrum av anvÀndare. Stödet för Vulkan 1.3 i NVK har certifierats av Khronos-konsortiet. Prestandan ovanpÄ NVKs DXVK-mellanvara, som tillhandahÄller en implementation av Direct3D 9, 10 och 11, har ocksÄ förbÀttrats.
- En Àndring har lagts till för att aktivera Zink-drivrutinen (implementation av OpenGL ovanpÄ Vulkan) för att sÀkerstÀlla stöd för OpenGL 4.6 pÄ system med nya serier av NVIDIA-grafikkort (börjar med GeForce RTX 20xx), dÀr det kan förekomma problem med den grundlÀggande OpenGL-drivrutinen Nouveau (NVC0). För att aktivera Zink istÀllet för NVC0 bör miljövariabeln "NOUVEAU_USE_ZINK=1" stÀllas in.
- I Panfrost-drivrutinen har stöd för GPU Mali G610, Mali G310 och Mali T600 lagts till.
- I alla Vulkan-drivrutiner har stöd för Explicit Sync implementerats för Wayland och X11. Explicit Sync gör det möjligt för applikationer att informera kompositorn om nÀr en ram Àr redo för visning, vilket minskar fördröjningar och eliminerar artefakter vid grafisk visning.
- Möjligheterna i d3d12-drivrutinen, som tillhandahÄller en mellanliggande implementation av OpenGL ovanpÄ DirectX 12, har utökats.
- I drivrutinen V3DV, som utvecklas för GPU Broadcom VideoCore (anvÀnds pÄ Raspberry Pi-kort), har stöd för dynamisk rendering lagts till.
- Vulkan-drivrutinen ANV (Intel) har uppdaterats för att anvÀnda asynkrona mappningsoperationer för videominne (Asynchronous VM_BIND). För GPU:er baserade pÄ Intel Xe-arkitekturen, som anvÀnds i Intel Arc-grafikkort och integrerad grafik frÄn Tiger Lake-processorer, har möjligheten att ÄterstÀlla tillstÄnddumpningar för felsökning av GPU-hÀngningar lagts till. Förberedelser har gjorts för att stödja Intel LunarLake GPU-chip (Xe 2).
- Stöd för nya Vulkan-tillÀgg har lagts till:
- VK_EXT_map_memory_placed för drivrutinerna RADV, ANV och NVK
- VK_KHR_shader_subgroup_rotate för RADV, ANV och NVK
- VK_KHR_load_store_op_none för RADV, ANV, NVK och Turnip
- VK_KHR_line_rasterization för RADV, ANV, NVK och Turnip
- VK_KHR_index_type_uint8 för RADV, ANV, NVK och Turnip
- VK_KHR_shader_expect_assume för alla Vulkan-drivrutiner
- VK_KHR_shader_maximal_reconvergence för RADV, ANV och NVK
- VK_KHR_shader_quad_control för RADV
- VK_KHR_shader_subgroup_uniform_control_flow för NVK
- VK_EXT_device_address_binding_report för RADV
- VK_EXT_external_memory_dma_buf för lavapipe
- VK_EXT_queue_family_foreign för lavapipe
- VK_EXT_shader_object för RADV
- VK_EXT_nested_command_buffer för NVK och RADV
- VK_EXT_queue_family_foreign för NVK
- VK_EXT_image_drm_format_modifier för NVK
KĂ€lla: opennet.ru
