Pas tre muaj zhvillimi, u prezantua rrelease i realizimit tĂ« lirĂ« tĂ« API OpenGL dhe Vulkan â Mesa 25.2.0. LĂ«shimi i parĂ« i degĂ«s Mesa 25.2.0 ka status eksperimental â pas pĂ«rfundimit tĂ« stabilizimit tĂ« kodit do tĂ« publikohet versioni i qĂ«ndrueshĂ«m 25.2.1.
Në Mesa 25.2 është e disponueshme mbështetje për grafik API Vulkan 1.4 në drejtuesit ANV për GPU Intel, RADV për GPU AMD, NVK për GPU NVIDIA, Asahi për GPU Apple, Turnip për GPU Qualcomm, PanVK për GPU ARM Mali, në rasterizatorin programor lavapipe (lvp) dhe në mënyrën simulator (vn). Në drejtuesit v3dv (GPU Broadcom VideoCore për Raspberry Pi 4+) dhe dzn (implementimi i Vulkan mbi Direct3D 12) mbështetet Vulkan 1.0.
Në Mesa gjithashtu sigurohet mbështetje e plotë për OpenGL 4.6 për drejtuesit iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (GPU të vjetra Intel Gen4-Gen7), AMD (r600), zink, llvmpipe, virgl (GPU virtual Virgil3D për QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (layer për organizimin e funksionimit të OpenGL mbi DirectX 12) dhe asahi (GPU AGX, e përdorur në çipat Apple M1 dhe M2). Mbështetje për OpenGL 4.5 është e disponueshme për GPU NVIDIA (nvc0). Mbështetje për OpenGL 3.3 është e pranishme në drejtuesit softpipe (rasterizator programor) dhe nv50 (NVIDIA NV50). Në drejtuesit panfrost (GPU ARM Mali) dhe v3d (GPU Broadcom VideoCore) mbështetet OpenGL 3.1.
TĂ« rejat kryesore:
- Në Vulkan-nxjerrësin PanVK për pajisjet me GPU ARM Mali të bazuara në arkitekturën V10, si Mali-G610 dhe Mali-G310, është shtuar mbështetje për API-në grafike Vulkan 1.4 (më parë mbështetej Vulkan 1.2).
- Në OpenGL-nxjerrësin r600 për GPU-të e vjetra AMD (deri në serinë Radeon HD 7000 përfshirë) është shtuar mbështetje për API-në grafike OpenGL 4.6 (më parë mbështetej OpenGL 4.5).
- NĂ« Vulkan-nxjerrĂ«sin NVK Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r GPU-tĂ« NVIDIA tĂ« bazuara nĂ« mikroarkitekturĂ«n Blackwell dhe Kepler (GTX 600/700). PĂ«r GPU-nĂ« Blackwell, Ă«shtĂ« realizuar mbĂ«shtetje pĂ«r Vulkan 1.4, ndĂ«rsa pĂ«r GPU-nĂ« Kepler â API-nĂ« Vulkan 1.2 (versionet mĂ« tĂ« reja tĂ« Vulkan nuk suportohen pĂ«r shkak tĂ« kufizimeve harduerike). PĂ«r GPU-tĂ« NVIDIA tĂ« bazuara nĂ« mikroarkitekturĂ«n Maxwell, Ă«shtĂ« siguruar pĂ«rputhshmĂ«ri e plotĂ« me Vulkan 1.4.
- Puna e kompilatorit të shenjave NAK, i shkruar në gjuhën Rust dhe i përdorur në nxjerrësin NVK, është optimizuar. Në grupin e varësive për nxjerrësin NVK është përfshirë paketa crate rustc-hash, e cila ka lejuar të reduktojë kohën e kompilimit të shenjave me rreth 12%.
- Përkrahja OpenGL për GPU NVIDIA Maxwell, Pascal dhe Volta është aktivizuar si parazgjedhje nga drejtuesi Nouveau në përdorimin e drejtuesit Zink në bashkëpunim me drejtuesin Vulkan NVK. Zink gjithashtu përdoret për të siguruar përkrahje OpenGL në sistemet me GPU Blackwell (nuk është planifikuar të shtohet përkrahja për GPU Blackwell në drejtuesin OpenGL Nouveau). Zink ofron një realizim OpenGL 4.6 sipër Vulkan, duke lejuar një OpenGL të aceleruar nga hardueri në pajisjet që përkrahin API Vulkan. Performanca e Zink është e ngjashme me performancën e realizimeve natyrale të OpenGL.
- Performanca e drejtuesit Vulkan Honeykrisp për procesorët grafikë të ofruar në çipat Apple M1/M2 është rritur ndjeshëm.
- Drejtorët Vulkan RADV (GPU AMD) dhe ANV (Intel) kanë shtuar përkrahjen për akcelerimin harduerik të dekodimit të videove në formatin VP9. Kjo mundësi është realizuar përmes shtrirjes Vulkan VK_KHR_video_decode_vp9, e përgatitur gjatë pranverës nga grupi i punës Vulkan WG. Akcelerimi harduerik është në dispozicion për GPU AMD duke filluar nga GPU Navi 10 që bazohet në mikroarkitekturën RDNA 1.0.
- NĂ« drajin Vulkan RADV pĂ«r GPU AMD tĂ« bazuar nĂ« mikroarkitekturĂ«n RDNA3 dhe RDNA4, Ă«shtĂ« rritur performanca e gjurmimit tĂ« rrezeve dhe Ă«shtĂ« pĂ«rmirĂ«suar mbĂ«shtetje pĂ«r teknologjinĂ« e super-sampling FSR 4 (FidelityFX Super Resolution). ĂshtĂ« shtuar mundĂ«sia pĂ«r tĂ« konfiguruar prioritetet pĂ«r radhĂ«n e komandave (zgjerimi OpenCL cl_khr_priority_hints).
- NĂ« drajin OpenGL radeonsi pĂ«r familjet mĂ« tĂ« vjetra tĂ« GPU AMD Evergreen dhe Cayman Ă«shtĂ« realizuar mbĂ«shtetje pĂ«r OpenGL 4.6. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r kujtesĂ«n virtuale tĂ« ndarĂ« (SVM, Shared Virtual Memory).
- NĂ« drajin OpenGL Iris dhe drajin Vulkan ANV Ă«shtĂ« implementuar mbĂ«shtetje pĂ«r GPU-tĂ« qĂ« pĂ«rdoren nĂ« procesorĂ«t Intel Wildcat Lake. NĂ« Iris dhe ANV Ă«shtĂ« shpallur gjithashtu mbĂ«shtetje stabile pĂ«r GPU-tĂ« Intel tĂ« bazuara nĂ« arkitekturĂ«n Xe3, tĂ« angazhuara nĂ« procesorĂ«t Panther Lake. ĂshtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r familjet e GPU-ve Xe2 dhe Xe3. NĂ« drajin Iris Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r kujtesĂ«n virtuale tĂ« ndarĂ« (SVM, Shared Virtual Memory).
- Në drajin OpenGL freedreno është shtuar mbështetje për GPU Adreno X1-45, e përdorur në SoC Qualcomm Snapdragon X Plus.
- Vazhdimi i zhvillimit të drejtuesit OpenCL Rusticl, i shkruar në gjuhën Rust dhe që zëvendësoi drejtuesin Clover. Në Rusticl u shtua mbështetje për SVM (Memorie Virtuale të Ndashur), imazhe në hapësirën e ngjyrave sRGB (formatet CL_sRGBA dhe CL_sBGRA), si dhe formati FP16 (zgjatja OpenCL cl_khr_fp16 për drejtuesit asahi, freedreno, llvmpipe, panfrost, radeonsi dhe zink).
- U shtua frontendi Gallium3D MFT (Transformimi i Fondit të Medias), i cili lejon përdorimin e drejtuesit D3D12 (Direct3D 12) për realizimin e API-ve të tjera grafike. I zhvilluar nga Microsoft për WSL (Sistemi i Nënshkrimeve për Linux).
- U hoq mbështetje për infrastrukturën DRI2 (Infrastruktura e Renderingut të Drejtpërdrejtë), e cila u zëvendësua nga ndërfaqja DRI3, e cila përdor DMA-BUF për organizimin e qasjes së drejtpërdrejtë në kartelen grafike. Arsyeja është se ndërfaqja DRI3 ekziston prej më shumë se 10 vjetësh, DRI2 është e vjetruar dhe të gjithë drejtuesit GPU të mbështetur kanë implementuar prej kohësh ndërfaqen DRI3.
- PĂ«rkrahja pĂ«r metodat e vjetruara tĂ« bashkĂ«punimit me tamponĂ«t Ă«shtĂ« ndaluar â Ă«shtĂ« lĂ«nĂ« vetĂ«m mundĂ«sia e pĂ«rdorimit tĂ« dma-buf.
- Përkrahja për versionet e libX11, që nuk sigurojnë funksionim të sigurt në aplikacione me shumë thesare, është ndalur. Mbështetet vetëm libX11 1.8 (prill 2022) dhe lëshime më të reja që përdorin thirrjen XInitThreads().
- Mbështetje EGL për zgjerimin EGL_WL_bind_wayland_display, implementuar për Wayland, është shpallur e vjetruar dhe është çaktivizuar si parazgjedhje. Për shkëmbimin e bufereve të pikselëve midis klientit dhe serverin Wayland rekomandohet përdorimi i protokollit Wayland linux_dmabuf. Për të rikthyer mbështetje shkruani flagun "-Dlegacy-wayland=bind-wayland-display" gjatë ndërtimit. Xwayland mbështet funksionimin e saktë pa EGL_WL_bind_wayland_display duke filluar nga lëshimi 24.1 (maj 2024).
- Drejtoni drejtuesin e vjetruar OpenCL Clover. Për OpenCL, duhet të përdorni drejtuesin RustiCL, më funksional dhe mbështet një numër më të madh versionesh të OpenCL.
- Në drejtuesin ANV (Intel) është implementuar zgjerimi Vulkan:
- VK_KHR_shader_bfloat16
- Në drejtuesin RADV (AMD) janë implementuar zgjerimet Vulkan:
- 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
- Në drejtuesin NVK (NVIDIA) janë implementuar zgjerimet Vulkan:
- VK_EXT_zero_initialize_device_memory
- VK_KHR_cooperative_matrix
- Në drejtuesin zink është implementuar zgjerimi Vulkan:
- NV_timeline_semaphore
- Në drejtuesin v3d (GPU Broadcom VideoCore për Raspberry Pi 4+) zbatohet zgjerimi OpenGL:
- në v3d GL_ARB_blend_func_extended
- Në drejtuesin panfrost janë të implementuara zgjerimet OpenGL:
- GL_KHR_texture_compression_astc_hdr
- GL_ARB_shader_clock
- GL_EXT_shader_realtime_clock
- NĂ« drejtuesin asahi (Apple) zbatohet zgjerimi OpenGL:
- GL_KHR_texture_compression_astc_hdr
- Në drejtuesin r600 (AMD) janë të implementuara zgjerimet OpenGL
- GL_EXT_window_rectangles
- GL_EXT_shader_image_load_store
- Në drejtuesin PanVK (GPU ARM Mali) janë të implementuara zgjerimet Vulkan:
- 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
Burimi: opennet.ru
