Release Mesa 25.2, een vrije implementatie van OpenGL en Vulkan

Na drie maanden ontwikkeling is de release van de vrije implementatie van de API OpenGL en Vulkan - Mesa 25.2.0 - gepresenteerd. De eerste uitgave van de Mesa 25.2.0-tak heeft een experimentele status; na de definitieve stabilisatie van de code zal de stabiele versie 25.2.1 worden uitgebracht.

In Mesa 25.2 is er ondersteuning voor de grafische API Vulkan 1.4 in de ANV-stuurprogramma's voor Intel GPU's, RADV voor AMD GPU's, NVK voor NVIDIA GPU's, Asahi voor Apple GPU's, Turnip voor Qualcomm GPU's, PanVK voor ARM Mali GPU's, in de software-rasterizer lavapipe (lvp) en in de emulatormodus (vn). In de v3dv-stuurprogramma's (Broadcom VideoCore GPU voor Raspberry Pi 4+) en dzn (implementatie van Vulkan bovenop Direct3D 12) wordt Vulkan 1.0 ondersteund.

Mesa biedt ook volledige ondersteuning voor OpenGL 4.6 voor de iris-stuurprogramma's (Intel Gen 8+ GPU), radeonsi (AMD), Crocus (oudere Intel Gen4-Gen7 GPU's), AMD (r600), zink, llvmpipe, virgl (virtuele GPU Virgil3D voor QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (laag voor het functioneren van OpenGL bovenop DirectX 12) en asahi (AGX GPU gebruikt in Apple M1 en M2 chips). Ondersteuning voor OpenGL 4.5 is beschikbaar voor NVIDIA GPU's (nvc0). Ondersteuning voor OpenGL 3.3 is aanwezig in de softpipe-stuurprogramma's (software-rasterizer) en nv50 (NVIDIA NV50). In de panfrost (ARM Mali GPU) en v3d (Broadcom VideoCore GPU) stuurprogramma's wordt OpenGL 3.1 ondersteund.

Belangrijkste vernieuwingen:

  • In de Vulkan-stuurprogramma PanVK voor apparaten met ARM Mali GPU's op basis van de V10-architectuur, zoals Mali-G610 en Mali-G310, is ondersteuning voor de grafische API Vulkan 1.4 toegevoegd (voorheen werd Vulkan 1.2 ondersteund).
  • In de OpenGL-stuurprogramma r600 voor oudere AMD GPU's (tot en met de Radeon HD 7000-serie) is ondersteuning voor de grafische API OpenGL 4.6 toegevoegd (voorheen werd OpenGL 4.5 ondersteund).
  • In de Vulkan-stuurprogramma NVK is ondersteuning toegevoegd voor NVIDIA GPU's op basis van de architectures Blackwell en Kepler (GTX 600/700). Voor Blackwell GPU's is ondersteuning voor Vulkan 1.4 geïmplementeerd, en voor Kepler GPU's de Vulkan API 1.2 (nieuwere versies van Vulkan worden niet ondersteund vanwege hardwarebeperkingen). Voor NVIDIA GPU's op basis van de Maxwell-architectuur is volledige compatibiliteit met Vulkan 1.4 gewaarborgd.
  • De werking van de NAK shadercompiler, geschreven in Rust en toegepast in de NVK-stuurprogramma, is geoptimaliseerd. De crate-pakket rustc-hash is opgenomen in de afhankelijkheden van de NVK-stuurprogramma, waardoor de compilatietijd van shaders met ongeveer 12% is verkort.
  • De ondersteuning voor OpenGL voor NVIDIA Maxwell, Pascal en Volta GPU's is standaard overgeschakeld van de Nouveau driver naar het gebruik van de Zink driver in combinatie met de Vulkan driver NVK. Zink wordt ook gebruikt om OpenGL-ondersteuning te bieden op systemen met Blackwell GPU's (de Nouveau OpenGL driver plant geen ondersteuning voor Blackwell GPU's toe te voegen). Zink biedt een implementatie van OpenGL 4.6 bovenop Vulkan, waardoor hardwareversneld OpenGL mogelijk is op apparaten die de Vulkan API ondersteunen. De prestaties van Zink zijn comparabel met die van de native OpenGL-implementaties.
  • De prestaties van de Vulkan driver Honeykrisp voor grafische processors in Apple M1/M2 chips zijn aanzienlijk verbeterd.
  • De Vulkan-drivers RADV (voor AMD GPU's) en ANV (voor Intel) hebben ondersteuning voor hardwareversnelling van VP9 videodecodering toegevoegd. Deze mogelijkheid is gerealiseerd met behulp van de Vulkan-uitbreiding VK_KHR_video_decode_vp9, die deze lente door de Vulkan WG is voorbereid. Hardwareversnelling is beschikbaar voor AMD GPU's vanaf de Navi 10 GPU, die gebaseerd is op de RDNA 1.0 microarchitectuur.
  • De Vulkan-driver RADV voor AMD GPU's gebaseerd op de RDNA3 en RDNA4 microarchitecturen heeft verbeterde prestaties voor ray tracing en verbeterde ondersteuning voor de FSR 4 (FidelityFX Super Resolution) supersampling technologie. Er is een mogelijkheid toegevoegd om prioriteiten in te stellen voor de commandoqueue (OpenCL-uitbreiding cl_khr_priority_hints).
  • De OpenGL-driver radeonsi voor oudere AMD GPU-families Evergreen en Cayman heeft ondersteuning voor OpenGL 4.6 geïmplementeerd. Ondersteuning voor gedeeld virtueel geheugen (SVM, Shared Virtual Memory) is toegevoegd.
  • De OpenGL-driver Iris en Vulkan-driver ANV hebben ondersteuning geïmplementeerd voor GPU's die worden gebruikt in Intel Wildcat Lake-processoren. In Iris en ANV is ook de stabiele ondersteuning voor GPU's gebaseerd op de Xe3-architectuur, gebruikt in Panther Lake-processoren, aangekondigd. De ondersteuning voor Xe2 en Xe3 GPU-families is verbeterd. In de Iris driver is ondersteuning voor gedeeld virtueel geheugen (SVM, Shared Virtual Memory) toegevoegd.
  • De OpenGL-driver freedreno heeft ondersteuning toegevoegd voor de Adreno X1-45 GPU, die wordt gebruikt in de Qualcomm Snapdragon X Plus SoC.
  • De ontwikkeling van de OpenCL-driver Rusticl, geschreven in Rust ter vervanging van de Clover driver, is voortgezet. In Rusticl is ondersteuning toegevoegd voor SVM (Shared Virtual Memory), afbeeldingen in het kleurruimte sRGB (formaten CL_sRGBA en CL_sBGRA), en het FP16-formaat (OpenCL-uitbreiding cl_khr_fp16 voor de drivers asahi, freedreno, llvmpipe, panfrost, radeonsi en zink).
  • Gallium3D front-end MFT (Media Foundation Transform) is toegevoegd, waarmee de D3D12 (Direct3D 12) driver kan worden gebruikt voor de implementatie van andere grafische API's. Ontwikkeld door Microsoft voor WSL (Windows Subsystem for Linux).
  • Ondersteuning voor de DRI2 (Direct Rendering Infrastructure) is verwijderd, ter vervanging waarvan de DRI3-interface is gekomen, die DMA-BUF gebruikt voor directe toegang tot de video-adapter. Er wordt aangegeven dat de DRI3-interface al meer dan 10 jaar bestaat, DRI2 verouderd is, en dat alle ondersteunde GPU-drivers al DRI3 ondersteunen.
  • Ondersteuning voor verouderde methoden van buffer-coöperatie is beëindigd — alleen de mogelijkheid om dma-buf te gebruiken is overgebleven.
  • Ondersteuning voor versies van libX11 die geen veilige werking in multithreaded toepassingen garanderen, is beëindigd. Alleen de ondersteuning voor libX11 1.8 (april 2022) en nieuwere versies die XInitThreads() gebruiken, is behouden.
  • De ondersteuning voor de EGL-uitbreiding EGL_WL_bind_wayland_display, geïmplementeerd voor Wayland, is als verouderd verklaard en standaard uitgeschakeld. Voor het uitwisselen van pixelbuffers tussen de client en server Wayland wordt het Wayland-protocol linux_dmabuf aanbevolen. Om de ondersteuning opnieuw in te schakelen, moet de vlag '-Dlegacy-wayland=bind-wayland-display' worden opgegeven tijdens het bouwen. Xwayland ondersteunt correcte werking zonder EGL_WL_bind_wayland_display vanaf versie 24.1 (mei 2024).
  • De verouderde OpenCL-driver Clover is verwijderd. Voor OpenCL dient de RustiCL-driver te worden gebruikt, die functioneler is en meer versies van OpenCL ondersteunt.
  • In de ANV-driver (Intel) is een Vulkan-uitbreiding geïmplementeerd:
    • VK_KHR_shader_bfloat16
  • In de RADV-driver (AMD) zijn Vulkan-uitbreidingen geïmplementeerd:
    • 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
  • In de NVK-driver (NVIDIA) zijn Vulkan-uitbreidingen geïmplementeerd:
    • VK_EXT_zero_initialize_device_memory
    • VK_KHR_cooperative_matrix
  • In de zinkdriver is de Vulkan-uitbreiding geïmplementeerd:
    • NV_timeline_semaphore
  • In de v3d-driver (GPU Broadcom VideoCore voor Raspberry Pi 4+) is de OpenGL-uitbreiding geïmplementeerd:
    • op v3d GL_ARB_blend_func_extended
  • In de panfrost-driver zijn OpenGL-uitbreidingen geïmplementeerd:
    • GL_KHR_texture_compression_astc_hdr
    • GL_ARB_shader_clock
    • GL_EXT_shader_realtime_clock
  • In de asahi-driver (Apple) is de OpenGL-uitbreiding geïmplementeerd:
    • GL_KHR_texture_compression_astc_hdr
  • In de r600-driver (AMD) zijn OpenGL-uitbreidingen geïmplementeerd
    • GL_EXT_window_rectangles
    • GL_EXT_shader_image_load_store
  • In de PanVK-driver (GPU ARM Mali) zijn Vulkan-uitbreidingen geïmplementeerd:
    • 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

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster