Pas tre muajsh zhvillimi, Ă«shtĂ« paraqitur lĂ«shimi i implementimit tĂ« lirĂ« tĂ« API OpenGL dhe Vulkan â Mesa 25.3.0. Eti i lĂ«shimit tĂ« ri nĂ« git u publikua mĂ« 15 nĂ«ntor, por njoftimi nĂ« faqe doli vetĂ«m dje (nĂ« newsletter, lĂ«shimi nuk Ă«shtĂ« shpallur ende). LĂ«shimi i parĂ« i degĂ«s Mesa 25.3.0 ka status eksperimental â pas stabilizimit pĂ«rfundimtar tĂ« kodit do tĂ« lĂ«shohet njĂ« version i stabilizuar 25.3.1.
NĂ« Mesa 25.3, mbĂ«shtetja pĂ«r API-nĂ« grafike Vulkan 1.4 Ă«shtĂ« e disponueshme nĂ« drejtuesit ANV pĂ«r GPU Intel, RADV pĂ«r GPU AMD, NVK pĂ«r GPU NVIDIA, HoneyKrisp (hk) pĂ«r GPU Apple, Turnip pĂ«r GPU Qualcomm, PanVK pĂ«r GPU ARM Mali, nĂ« rasterizatorin e softuerit lavapipe (lvp) dhe nĂ« modin emulator (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Ă« drejtuesin kk (KosmicKrisp, Vulkan mbi Metal) â Vulkan 1.1, ndĂ«rsa nĂ« drejtuesin pvr (GPU Imagination PowerVR) â Vulkan 1.2.
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ë përbërje është përfshirë një shofer i ri Vulkan KosmicKrisp (kk), i cili implementon API grafik Vulkan mbi API Metal, që zhvillohet nga Apple dhe përdoret në macOS. Shoferi është krijuar nga LunarG për përdorim në kompjuterët Mac me çipat Apple Silicon. Në formën aktuale, shoferi është plotësisht i kompatibël me API Vulkan 1.1, por vërehet se është shumë pranë realizimit të mbështetjes për Vulkan 1.3.
- Shoferi ethos për NPU Arm Ethos-U65 është shtuar.
- Në shoferin Vulkan pvr, i zhvilluar për GPU Imagination PowerVR, është siguruar mbështetje për Vulkan 1.2.
- Shtesa e optimizimeve nĂ« shoferin Vulkan RADV ka rritur ndjeshĂ«m shpejtĂ«sinĂ« e motorit tĂ« ekzekutimit tĂ« modeleve gjuhĂ«sore tĂ« mĂ«dha Llama.cpp kur pĂ«rdoret backend-i Vulkan nĂ« sistemet me GPU AMD. NĂ« disa teste me llama-bench, konfigurimi i bazuar nĂ« shoferin RADV Ă«shtĂ« treguar mĂ« i shpejtĂ« se shoferi AMDVLK dhe stoku ROCm me 31% pĂ«r pĂ«rpunimin e kĂ«rkesave (testet "pp" â prompt processing) dhe me 4% pĂ«r gjenerimin e tokeneve (testet "tg" â token generation).
- ĂshtĂ« hequr mbĂ«shtetja pĂ«r ndĂ«rfaqen VDPAU (Video Decode and Presentation API pĂ«r Unix) tĂ« krijuar nga NVIDIA. Si arsyet pĂ«r heqjen janĂ« pĂ«rmendur mundĂ«sia e pĂ«rdorimit tĂ« VDPAU vetĂ«m nĂ« sisteme me X11 dhe OpenGL, pĂ«r shkak tĂ« mungesĂ«s sĂ« mbĂ«shtetjes pĂ«r Wayland dhe Vulkan. PĂ«r mĂ« tepĂ«r, API VDPAU ka kufizime qĂ« nuk lejojnĂ« dekodimin e saktĂ« tĂ« disa rrjedhjeve video. NĂ« vend tĂ« VDPAU, rekomandohet pĂ«rdorimi i API VA-API (Video Acceleration API), i cili mund tĂ« pĂ«rdoret me Wayland dhe Vulkan dhe ka mbĂ«shtetje mĂ« tĂ« mirĂ« nĂ« aplikacione.
- Në drayverin Zink, i cili implementon OpenGL 4.6 mbi Vulkan, është implementuar mbështetje për mesh-shader, duke ofruar një mënyrë alternative për gjenerimin e koleksioneve të primitivave gjeometrike.
- Në drayverin rusticl është shtuar mbështetje për zgjerime OpenCL për punën me semaforët (cl_khr_semaphore dhe cl_khr_external_semaphore).
- Në kompilatorin e shaderave është shtuar funksionalitet për zëvendësimin e shaderave SPIR-V.
- ĂshtĂ« realizuar njĂ« sloj Vulkan pĂ«r mbĂ«shtetje tĂ« teknologjisĂ« AMD Anti-Lag, qĂ« minimizon vonesat mes thirrjeve vkQueueSubmit ose vkQueueSubmit2 dhe fillimit tĂ« ekzekutimit tĂ« operacioneve, duke lejuar reduktimin e vonesave gjatĂ« shfaqjes nĂ« ekran nĂ« lojĂ«ra.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r zgjerimet OpenGL:
- GL_EXT_mesh_shader për zink
- GL_ARB_robust_buffer_access_behavior për Panfrost
- GL_KHR_robust_buffer_access_behavior për Panfrost
- GL_KHR_robustness për Panfrost dhe v3d
- GL_ATI_meminfo për r300
- GL_NVX_gpu_memory_info për r300
- GL_NV_shader_atomic_int64 për radeonsi dhe Panfrost V9+
- GL_NV_representative_fragment_test për zink
- EGL_EXT_create_context_robustness për Panfrost V10+
- Në drajverin ANV (Intel) është realizuar zgjerimi Vulkan: VK_KHR_shader_untyped_pointers
- Në drejtuesin RADV (AMD) janë implementuar zgjerimet Vulkan:
- VK_EXT_ycbcr_2plane_444_formats
- VK_KHR_shader_untyped_pointers
- VK_KHR_video_encode_intra_refresh
- VK_KHR_video_encode_quantization_map
- Në drejtuesin NVK (NVIDIA) janë implementuar zgjerimet Vulkan:
- VK_AMD_buffer_marker
- VK_KHR_maintenance8
- VK_KHR_maintenance9
- VK_NVX_image_view_handle
- Në drajverin HoneyKrisp (Apple) është realizuar zgjerimi OpenGL: VK_KHR_maintenance9
- NĂ« drajverin PanVK (GPU ARM Mali) janĂ« realizuar zgjerimet Vulkan: â
- VK_ARM_shader_core_builtins
- VK_EXT_mutable_descriptor_type
- VK_KHR_maintenance7
- VK_KHR_maintenance8
- VK_KHR_maintenance9
- Në drajverin pvr (GPU Imagination PowerVR) janë realizuar zgjerimet Vulkan:
- VK_EXT_border_color_swizzle
- VK_EXT_color_write_enable
- VK_EXT_custom_border_color
- VK_EXT_depth_clamp_zero_one
- VK_EXT_depth_clip_enable
- VK_EXT_extended_dynamic_state
- VK_EXT_extended_dynamic_state2
- VK_EXT_extended_dynamic_state3
- VK_EXT_image_2d_view_of_3d
- VK_EXT_line_rasterization
- VK_EXT_map_memory_placed
- VK_EXT_physical_device_drm
- VK_EXT_provoking_vertex
- VK_EXT_queue_family_foreign
- VK_EXT_robustness2
- VK_EXT_separate_stencil_usage
- VK_EXT_shader_demote_to_helper_invocation
- VK_EXT_shader_replicated_composites
- VK_EXT_vertex_attribute_divisor
- VK_EXT_zero_initialize_device_memory
- VK_KHR_buffer_device_address
- VK_KHR_create_renderpass2
- VK_KHR_dedicated_allocation
- VK_KHR_depth_stencil_resolve
- VK_KHR_descriptor_update_template
- VK_KHR_device_group
- VK_KHR_device_group_creation
- VK_KHR_imageless_framebuffer
- VK_KHR_line_rasterization
- VK_KHR_maintenance1
- VK_KHR_maintenance2
- VK_KHR_maintenance3
- VK_KHR_map_memory2
- VK_KHR_multiview
- VK_KHR_robustness2
- VK_KHR_sampler_mirror_clamp_to_edge
- VK_KHR_separate_depth_stencil_layouts
- VK_KHR_shader_draw_parameters
- VK_KHR_shader_float_controls
- VK_KHR_shader_non_semantic_info
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_shader_subgroup_extended_types
- VK_KHR_shader_terminate_invocation
- VK_KHR_spirv_1_4
- VK_KHR_swapchain_mutable_format
- VK_KHR_vertex_attribute_divisor
- VK_KHR_wayland_surface
- Implementohen zgjerimet OpenCL:
- cl_ext_immutable_memory_objects
- cl_khr_external_semaphore për radeonsi dhe zink
- cl_khr_external_semaphore_sync_fd për radeonsi dhe zink
- cl_khr_semaphore për radeonsi dhe zink
Gjithashtu mund të theksohet publikimi i versionit të ri të specifikimit Vulkan 1.4.333, i cili ofron një zgjerim të ri VK_EXT_ray_tracing_invocation_reorder, që rrit performancën e gjurmimit të rrezeve me 47% në testet e kryera me SER (Shader Execution Reordering) në vk_gltf_renderer.
Burimi: opennet.ru
