PĂ€rast kolme kuud arendust on vĂ€lja lastud avatud rakenduste liidese OpenGL ja Vulkan vabatahtlik teostus â Mesa 25.2.0. Esimene vĂ€ljaanne harust Mesa 25.2.0 on eksperimentaalse staatusega â pĂ€rast koodi lĂ”plikku stabiliseerimist vabastatakse stabiilne versioon 25.2.1.
Mesa 25.2-s on saadaval graafilise API Vulkan 1.4 tugi ANV draiverites Intel GPU-de jaoks, RADV AMD GPU-dele, NVK NVIDIA GPU-dele, Asahi Apple GPU-dele, Turnip Qualcomm GPU-dele, PanVK ARM Mali GPU-dele, tarkvaralises rasteriseerijas lavapipe (lvp) ja emulaatori reĆŸiimis (vn). Draiverites v3dv (Broadcom VideoCore GPU Raspberry Pi 4+ jaoks) ja dzn (Vulkani teostus Direct3D 12 peal) toetatakse Vulkan 1.0.
Mesas on samuti tÀielikult toetatud OpenGL 4.6 draiverites iris (Intel Gen 8+ GPU), radeonsi (AMD), Crocus (vana Intel Gen4-Gen7 GPU), AMD (r600), zink, llvmpipe, virgl (virtuaalne GPU Virgil3D QEMU/KVM jaoks), freedreno (Qualcomm Adreno), d3d12 (kiht OpenGL toimimiseks DirectX 12 peal) ja asahi (AGX GPU, mida kasutatakse Apple M1 ja M2 kiipides). OpenGL 4.5 tuge pakutakse NVIDIA GPU-dele (nvc0). OpenGL 3.3 tugi on olemas softpipe (tarkvaraline rasteriseerija) ja nv50 (NVIDIA NV50) draiverites. Draiverites panfrost (ARM Mali GPU) ja v3d (Broadcom VideoCore GPU) toetatakse OpenGL 3.1.
Peamised uuendused:
- Vulkan-draiver PanVK ARM Mali V10 arhitektuuril pÔhinevatele seadmetele, nagu Mali-G610 ja Mali-G310, on lisatud tugi graafilise API Vulkan 1.4 jaoks (varem toetati Vulkan 1.2).
- OpenGL-draiver r600 vanade AMD GPU-de jaoks (kuni Radeon HD 7000 seeriani) on lisatud graafilise API OpenGL 4.6 tugi (varem toetati OpenGL 4.5).
- Vulkan-draiveris NVK on lisatud tugi NVIDIA GPU-dele, mis pĂ”hinevad mikroarhitektuuridel Blackwell ja Kepler (GTX 600/700). Blackwell GPU-dele on rakendatud Vulkan 1.4 tugi, samas kui Kepler GPU-dele â API Vulkan 1.2 (uudsemaid Vulkan versioone ei toetata riistvaraliste piirangute tĂ”ttu). NVIDIA GPU-dele, mis pĂ”hinevad mikroarhitektuuril Maxwell, on tagatud tĂ€ielik ĂŒhilduvus Vulkan 1.4-ga.
- Shaderite kompilaatori NAK, mis on kirjutatud Rusti keeles ja mida kasutatakse NVK draiveris, töö on optimeeritud. NVK draiveri sÔltuvustesse on lisatud crate-pakett rustc-hash, mille abil on suudetud vÀhendada shaderite kompileerimisaega umbes 12%.
- OpenGL tugi NVIDIA Maxwell, Pascal ja Volta GPU-dele on vahetatud vaikimisi Nouveau draiverilt Zink draiverile koos Vulkan draiveriga NVK. Zink toetab ka OpenGL-i toetust Blackwell GPU-dele (Nouveau OpenGL draiveris ei plaanita Blackwell GPU-de toetuse lisamist). Zink pakub OpenGL 4.6 teostust Vulkani peal, mis vÔimaldab saada riistvaraliselt kiirendatud OpenGL-i seadeid, mis toetavad Vulkan API-d. Zinki jÔudlus on lÀhedane kohalike OpenGL-i teostuste jÔudlusele.
- Vulkan draiveri Honeykrisp jÔudlust on mÀrkimisvÀÀrselt parendatud Apple M1/M2 kiipides kasutatavatele graafikaprotsessoritele.
- Vulkan draiveritesse RADV (AMD GPU) ja ANV (Intel) on lisatud VP9 videode kodeerimise riistvarakiirenduse tugi. See vÔimalus on realiseeritud lÀbi Vulkani laienduse VK_KHR_video_decode_vp9, mille valmistas kevadel Vulkan WG töögrupp. Riistvarakiirendus on saadaval AMD GPU-dele alates Navi 10 arhitektuurist RDNA 1.0.
- Vulkan draiveris RADV AMD GPU-dele, mis pÔhinevad RDNA3 ja RDNA4 arhitektuuridel, on parendatud kiirteelehe jÀlgimise jÔudlust ja tÀiustatud supertampimise tehnoloogia FSR 4 (FidelityFX Super Resolution) tuge. Lisati vÔimalus seada prioriteedid kÀsu voogude jÀrjekorrale (OpenCL laiend cl_khr_priority_hints).
- OpenGL draiveris radeonsi on vanade AMD Evergreen ja Cayman GPU peredele rakendatud OpenGL 4.6 tuge. Lisatud on jagatud virtuaalmÀlu (SVM, Shared Virtual Memory) tugi.
- OpenGL draiveris Iris ja Vulkan draiveris ANV on rakendatud tugi GPU-dele, mida kasutatakse Intel Wildcat Lake protsessorites. Iris ja ANV on ka teatanud stabiilsest toetusest Xe3 arhitektuuril pÔhinevatele Intel GPU-dele, mida kasutatakse Panther Lake protsessorites. Parendatud on Xe2 ja Xe3 GPU-de perede tuge. Iris draiveris on lisatud jagatud virtuaalmÀlu (SVM, Shared Virtual Memory) tugi.
- OpenGL draiveris freedreno on lisatud Adreno X1-45 GPU tugi, mida kasutatakse Qualcomm Snapdragon X Plus SoC-s.
- JÀtkub OpenCL draiveri Rusticl arendamine, mis on kirjutatud Rust keeles ja asendab Clover draiverit. Rusticl on lisatud SVM (Shared Virtual Memory) tugi, pildid sRGB vÀrviruumis (formaadid CL_sRGBA ja CL_sBGRA), FP16 formaadi (OpenCL laiend cl_khr_fp16 draiveritele asahi, freedreno, llvmpipe, panfrost, radeonsi ja zink) tugi.
- Lisatud on Gallium3D eesliide MFT (Media Foundation Transform), mis vÔimaldab kasutada D3D12 (Direct3D 12) draiverit teiste graafiliste API-de rakendamiseks. Microsoft on selle vÀlja töötanud WSL (Windows Subsystem for Linux) jaoks.
- Toetust DRI2 (Direct Rendering Infrastructure) infrastruktuurile on eemaldatud, mille asenduseks on tulnud DRI3 liides, mis kasutab DMA-BUF-i, et korraldada otsest juurdepÀÀsu graafikakaardile. PĂ”hjuseks tuuakse vĂ€lja, et DRI3 liides eksisteerib juba ĂŒle 10 aasta, DRI2 on ammu aegunud ning kĂ”ik toetatud GPU draiverid on juba rakendanud DRI3 liidest.
- Toetust vananenud meetodite jaoks, mis olid seotud pubufferitega, on lĂ”petatud â alles on jĂ€etud ainult dma-buf kasutamise vĂ”imalus.
- Toetust libX11 versioonidele, mis ei taganud ohutut töötamist mitme lÔimega rakendustes, on lÔpetatud. Alles on jÀÀnud libX11 versioon 1.8 (aprill 2022) ja uuemad vÀljalasked, mis kasutavad XInitThreads() funktsiooni.
- EGL-laiendi EGL_WL_bind_wayland_display, mis on rakendatud Waylandi jaoks, on vĂ€lja kuulutatud vananenuks ja on vaikimisi vĂ€lja lĂŒlitatud. Piksli pubufferite vahetamiseks kliendi ja Waylandi vahel, serverilt soovitakse kasutada Waylandi protokolli linux_dmabuf. Toetuse taasalustamiseks peab kompileerimise ajal sisestama flagi â-Dlegacy-wayland=bind-wayland-displayâ. Xwayland toetab korrektset tööd ilma EGL_WL_bind_wayland_display pingutusteta alates versioonist 24.1 (mai 2024).
- Vananev OpenCL draiver Clover on eemaldatud. OpenCL-i jaoks on soovitatav kasutada draiverit RustiCL, mis on funktsionaalsem ja toetab rohkem OpenCL versioone.
- Draiveris ANV (Intel) on rakendatud Vulkan-laiend:
- VK_KHR_shader_bfloat16
- Draiveris RADV (AMD) on rakendatud Vulkan-laiendeid:
- VK_KHR_shader_bfloat16
- VK_KHR_robustness2
- VK_EXT_zero_initialize_device_memory
- VK_EXT_scalar_block_layout
- VK_KHR_maintenance9
- VK_KHR_unified_image_layouts
- VK_KHR_shader_float8
- VK_EXT_host_image_copy
- Draiveris NVK (NVIDIA) on rakendatud Vulkan-laiendeid:
- VK_EXT_zero_initialize_device_memory
- VK_KHR_cooperative_matrix
- Draiveris zink on rakendatud Vulkan-laiend:
- NV_timeline_semaphore
- Draiveris v3d (GPU Broadcom VideoCore Raspberry Pi 4+ jaoks) on rakendatud OpenGL-laiend:
- on v3d GL_ARB_blend_func_extended
- Draiveris panfrost on rakendatud OpenGL-laiendeid:
- GL_KHR_texture_compression_astc_hdr
- GL_ARB_shader_clock
- GL_EXT_shader_realtime_clock
- Draiveris asahi (Apple) on rakendatud OpenGL-laiend:
- GL_KHR_texture_compression_astc_hdr
- Draiveris r600 (AMD) on rakendatud OpenGL-laiendeid
- GL_EXT_window_rectangles
- GL_EXT_shader_image_load_store
- Draiveris PanVK (GPU ARM Mali) on rakendatud Vulkan-laiendeid:
- VK_EXT_vertex_input_dynamic_state/vertexInputDynamicState
- VK_EXT_vertex_input_dynamic_state
- VK_EXT_vertex_attribute_divisor
- VK_KHR_maintenance4
- VK_KHR_maintenance5
- VK_EXT_direct_mode_display
- VK_EXT_extended_dynamic_state
- VK_KHR_shader_quad_control
- VK_KHR_draw_indirect_count
- VK_KHR_shader_integer_dot_product
- VK_KHR_shader_terminate_invocation
- VK_EXT_shader_demote_to_helper_invocation
- VK_EXT_shader_replicated_composites
- VK_EXT_depth_bias_control
- VK_EXT_primitive_topology_list_restart
- VK_EXT_image_2d_view_of_3d
- VK_EXT_texel_buffer_alignment
- VK_EXT_shader_subgroup_ballot
- VK_EXT_shader_subgroup_vote
- VK_KHR_load_store_op_none
- VK_EXT_load_store_op_none
- VK_EXT_inline_uniform_block
- VK_EXT_texture_compression_astc_hdr
- VK_EXT_depth_clamp_zero_one
- VK_KHR_depth_clamp_zero_one
- VK_EXT_depth_clip_control
- VK_KHR_unified_image_layouts
- VK_KHR_vulkan_memory_model
- VK_EXT_descriptor_indexing
- VK_KHR_maintenance6
- VK_KHR_shader_clock
- VK_KHR_shader_atomic_int64
- VK_KHR_calibrated_timestamps
- VK_EXT_non_seamless_cube_map
- VK_ARM_shader_core_properties
- VK_KHR_host_image_copy
Allikas: opennet.ru
