Vydání Mesa 25.2, svobodné implementace OpenGL a Vulkan

Po třech měsících vývoje byl vydán první svobodný implementační release API OpenGL a Vulkan – Mesa 25.2.0. První verze větve Mesa 25.2.0 má experimentální status – po provedení konečné stabilizace kódu bude vydána stabilní verze 25.2.1.

V Mesa 25.2 je dostupná podpora grafického API Vulkan 1.4 v ovladačích ANV pro GPU Intel, RADV pro GPU AMD, NVK pro GPU NVIDIA, Asahi pro GPU Apple, Turnip pro GPU Qualcomm a PanVK pro GPU ARM Mali, v softwarovém rastrovacím modulu lavapipe (lvp) a v režimu emulátoru (vn). V ovladačích v3dv (GPU Broadcom VideoCore pro Raspberry Pi 4+) a dzn (implementace Vulkan na Direct3D 12) je podpora Vulkan 1.0.

Mesa také nabízí plnou podporu OpenGL 4.6 pro ovladače iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (starší GPU Intel Gen4-Gen7), AMD (r600), zink, llvmpipe, virgl (virtuální GPU Virgil3D pro QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (vrstva pro provoz OpenGL nad DirectX 12) a asahi (GPU AGX používaný v chipsech Apple M1 a M2). Podpora OpenGL 4.5 je k dispozici pro GPU NVIDIA (nvc0). Podpora OpenGL 3.3 je přítomna v ovladačích softpipe (softwarový rastrovací modul) a nv50 (NVIDIA NV50). V ovladačích panfrost (GPU ARM Mali) a v3d (GPU Broadcom VideoCore) je podpora OpenGL 3.1.

Hlavní novinky:

  • Vulkan-ovladač PanVK pro zařízení s GPU ARM Mali založenými na architektuře V10, jako jsou Mali-G610 a Mali-G310, přidal podporu grafického API Vulkan 1.4 (dříve byla podporována verze Vulkan 1.2).
  • V OpenGL-ovladači r600 pro starší GPU AMD (do série Radeon HD 7000 včetně) byla přidána podpora grafického API OpenGL 4.6 (dříve byla podporována verze OpenGL 4.5).
  • Vulkan-ovladač NVK přidal podporu GPU NVIDIA založeným na mikroarchitekturách Blackwell a Kepler (GTX 600/700). Pro GPU Blackwell byla implementována podpora Vulkan 1.4, zatímco pro GPU Kepler – API Vulkan 1.2 (novější verze Vulkan nejsou podporovány kvůli hardwarovým omezením). Pro GPU NVIDIA založené na mikroarchitektuře Maxwell byla zajištěna plná kompatibilita s Vulkan 1.4.
  • Byla optimalizována práce kompilátoru shaderů NAK, napsaného jazykem Rust a používaného v ovladači NVK. Mezi závislosti ovladače NVK byl přidán crate balíček rustc-hash, což vedlo ke snížení doby kompilace shaderů přibližně o 12 %.
  • Podpora OpenGL pro GPU NVIDIA Maxwell, Pascal a Volta je ve výchozím nastavení přepnuta z ovladače Nouveau na použití ovladače Zink ve spojení s Vulkan ovladačem NVK. Zink je také zapojen pro zajištění podpory OpenGL na systémech s GPU Blackwell (neplánuje se přidání podpory GPU Blackwell do ovladače OpenGL Nouveau). Zink poskytuje implementaci OpenGL 4.6 nad Vulkanem, což umožňuje zisk hardwarem urychleného OpenGL na zařízení podporující API Vulkan. Výkon Zink je blízký výkonu nativních implementací OpenGL.
  • Výrazně byla zvýšena výkonnost Vulkan ovladače Honeykrisp pro grafické procesory dodávané v čipech Apple M1/M2.
  • Do Vulkan ovladačů RADV (GPU AMD) a ANV (Intel) byla přidána podpora hardwarového urychlení dekódování videa ve formátu VP9. Tato možnost byla realizována pomocí Vulkan rozšíření VK_KHR_video_decode_vp9, které na jaře připravila pracovní skupina Vulkan WG. Hardwarové urychlení je dostupné pro GPU AMD počínaje GPU Navi 10 postaveném na mikroarchitektuře RDNA 1.0.
  • Ve Vulkan ovladači RADV pro GPU AMD na bázi mikroarchitektur RDNA3 a RDNA4 byla zvýšena výkonnost sledování paprsků a zlepšena podpora technologie supersampling FSR 4 (FidelityFX Super Resolution). Byla přidána možnost nastavení priorit pro frontu příkazů (OpenCL rozšíření cl_khr_priority_hints).
  • V OpenGL ovladači radeonsi pro starší rodiny GPU AMD Evergreen a Cayman byla implementována podpora OpenGL 4.6. Byla přidána podpora sdílené virtuální paměti (SVM, Shared Virtual Memory).
  • V OpenGL ovladači Iris a Vulkan ovladači ANV byla implementována podpora GPU používaných v procesorech Intel Wildcat Lake. V Iris a ANV byla také oznámena stabilní podpora GPU Intel na bázi architektury Xe3, nasazené v procesorech Panther Lake. Byla vylepšena podpora rodin GPU Xe2 a Xe3. V ovladači Iris byla přidána podpora sdílené virtuální paměti (SVM, Shared Virtual Memory).
  • V OpenGL ovladači freedreno byla přidána podpora GPU Adreno X1-45, používaného v SoC Qualcomm Snapdragon X Plus.
  • Pokračuje vývoj OpenCL ovladače Rusticl, napsaného v jazyce Rust, který nahradil ovladač Clover. V Rusticl byla přidána podpora SVM (Shared Virtual Memory), obrázků v barevném prostoru sRGB (formáty CL_sRGBA a CL_sBGRA), formátu FP16 (OpenCL rozšíření cl_khr_fp16 pro ovladače asahi, freedreno, llvmpipe, panfrost, radeonsi a zink).
  • Přidán frontend Gallium3D MFT (Media Foundation Transform), který umožňuje použít ovladač D3D12 (Direct3D 12) pro implementaci dalších grafických API. Vyvinuto firmou Microsoft pro WSL (Windows Subsystem for Linux).
  • Byla odstraněna podpora infrastruktury DRI2 (Direct Rendering Infrastructure), kterou nahradil rozhraní DRI3, využívající DMA-BUF pro přímý přístup k grafické kartě. Důvodem je, že rozhraní DRI3 existuje již více než 10 let, DRI2 je zastaralé a všechny podporované ovladače GPU již implementovaly rozhraní DRI3.
  • Byla ukončena podpora zastaralých metod spolupráce s buffery — ponechána je pouze možnost použití dma-buf.
  • Byla ukončena podpora verzí libX11, které nezajišťují bezpečný provoz v multithreadových aplikacích. Ponechána je pouze podpora libX11 1.8 (duben 2022) a novějších verzí, které využívají volání XInitThreads().
  • Byla prohlášena za zastaralou a ve výchozím nastavení byla deaktivována podpora EGL-rozšíření EGL_WL_bind_wayland_display, implementovaného pro Wayland. Pro výměnu pixelových bufferů mezi klientem a serverem Wayland se doporučuje používat protokol Wayland linux_dmabuf. K obnovení podpory je nutné při sestavení zadat flag „-Dlegacy-wayland=bind-wayland-display“. Xwayland podporuje správnou funkčnost bez EGL_WL_bind_wayland_display od verze 24.1 (květen 2024).
  • Byl odstraněn zastaralý OpenCL ovladač Clover. Pro OpenCL je doporučeno používat ovladač RustiCL, který je funkčnější a podporuje více verzí OpenCL.
  • V ovladači ANV (Intel) bylo implementováno Vulkan-rozšíření:
    • VK_KHR_shader_bfloat16
  • V ovladači RADV (AMD) byly implementovány Vulkan-rozšíření:
    • 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
  • V ovladači NVK (NVIDIA) byla implementována Vulkan-rozšíření:
    • VK_EXT_zero_initialize_device_memory
    • VK_KHR_cooperative_matrix
  • V ovladači zink bylo implementováno Vulkan-rozšíření:
    • NV_timeline_semaphore
  • V ovladači v3d (GPU Broadcom VideoCore pro Raspberry Pi 4+) bylo implementováno OpenGL-rozšíření:
    • on v3d GL_ARB_blend_func_extended
  • V ovladači panfrost byla implementována OpenGL-rozšíření:
    • GL_KHR_texture_compression_astc_hdr
    • GL_ARB_shader_clock
    • GL_EXT_shader_realtime_clock
  • V ovladači asahi (Apple) bylo implementováno OpenGL-rozšíření:
    • GL_KHR_texture_compression_astc_hdr
  • V ovladači r600 (AMD) byla implementována OpenGL-rozšíření
    • GL_EXT_window_rectangles
    • GL_EXT_shader_image_load_store
  • V ovladači PanVK (GPU ARM Mali) byla implementována Vulkan-rozšíření:
    • 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

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster