Publication de Mesa 25.2, une implémentation libre d'OpenGL et Vulkan

AprĂšs trois mois de dĂ©veloppement, le lancement de l'implĂ©mentation libre des API OpenGL et Vulkan — Mesa 25.2.0 est annoncĂ©. La premiĂšre version de la branche Mesa 25.2.0 est considĂ©rĂ©e comme expĂ©rimentale, et une version stable 25.2.1 sera publiĂ©e aprĂšs la stabilisation finale du code.

Mesa 25.2 propose la prise en charge de l'API graphique Vulkan 1.4 dans les pilotes ANV pour les GPU Intel, RADV pour les GPU AMD, NVK pour les GPU NVIDIA, Asahi pour les GPU Apple, Turnip pour les GPU Qualcomm, PanVK pour les GPU ARM Mali, dans le rasterisateur logiciel lavapipe (lvp) et en mode émulateur (vn). Les pilotes v3dv (GPU Broadcom VideoCore pour Raspberry Pi 4+) et dzn (implémentation de Vulkan sur Direct3D 12) prennent en charge Vulkan 1.0.

Mesa assure également une prise en charge complÚte d'OpenGL 4.6 pour les pilotes iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (anciens GPU Intel Gen4-Gen7), AMD (r600), zink, llvmpipe, virgl (GPU virtuel Virgil3D pour QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (couche pour faire fonctionner OpenGL sur DirectX 12) et asahi (GPU AGX utilisé dans les puces Apple M1 et M2). La prise en charge d'OpenGL 4.5 est disponible pour les GPU NVIDIA (nvc0). La prise en charge d'OpenGL 3.3 est présente dans les pilotes softpipe (rasterisateur logiciel) et nv50 (NVIDIA NV50). Les pilotes panfrost (GPU ARM Mali) et v3d (GPU Broadcom VideoCore) prennent en charge OpenGL 3.1.

Les principales nouveautés :

  • Dans le pilote Vulkan PanVK pour les appareils avec GPU ARM Mali basĂ©s sur l'architecture V10, tels que Mali-G610 et Mali-G310, la prise en charge de l'API graphique Vulkan 1.4 a Ă©tĂ© ajoutĂ©e (jusqu'ici seule la Vulkan 1.2 Ă©tait supportĂ©e).
  • Dans le pilote OpenGL r600 pour les anciens GPU AMD (jusqu'Ă  la sĂ©rie Radeon HD 7000), la prise en charge de l'API graphique OpenGL 4.6 a Ă©tĂ© ajoutĂ©e (auparavant, OpenGL 4.5 Ă©tait supportĂ©).
  • Dans le pilote Vulkan NVK, la prise en charge des GPU NVIDIA basĂ©s sur les microarchitectures Blackwell et Kepler (GTX 600/700) a Ă©tĂ© ajoutĂ©e. La prise en charge de Vulkan 1.4 est mise en Ɠuvre pour les GPU Blackwell, tandis que pour les GPU Kepler, l'API Vulkan 1.2 est supportĂ©e (les versions plus rĂ©centes de Vulkan ne sont pas prises en charge en raison de limitations matĂ©rielles). La compatibilitĂ© complĂšte avec Vulkan 1.4 est assurĂ©e pour les GPU NVIDIA basĂ©s sur l'architecture Maxwell.
  • Le fonctionnement du compilateur de shaders NAK, Ă©crit en Rust et utilisĂ© dans le pilote NVK, a Ă©tĂ© optimisĂ©. Le paquet crate rustc-hash a Ă©tĂ© inclus dans les dĂ©pendances du pilote NVK, ce qui a permis de rĂ©duire le temps de compilation des shaders d'environ 12%.
  • La prise en charge d'OpenGL pour les GPU NVIDIA Maxwell, Pascal et Volta est par dĂ©faut passĂ©e du pilote Nouveau Ă  l'utilisation du pilote Zink associĂ© au pilote Vulkan NVK. Zink est Ă©galement utilisĂ© pour assurer la prise en charge d'OpenGL sur les systĂšmes avec GPU Blackwell (le pilote Nouveau n'envisage pas d'ajouter la prise en charge des GPU Blackwell). Zink fournit une implĂ©mentation d'OpenGL 4.6 sur Vulkan, permettant d'obtenir un OpenGL accĂ©lĂ©rĂ© par le matĂ©riel sur les appareils prenant en charge l'API Vulkan. Les performances de Zink sont proches de celles des implĂ©mentations natives d'OpenGL.
  • Les performances du pilote Vulkan Honeykrisp pour les processeurs graphiques fournis dans les puces Apple M1/M2 ont Ă©tĂ© considĂ©rablement amĂ©liorĂ©es.
  • Le pilote Vulkan RADV (GPU AMD) et le pilote ANV (Intel) ont ajoutĂ© la prise en charge de l'accĂ©lĂ©ration matĂ©rielle du dĂ©codage vidĂ©o au format VP9. Cette fonctionnalitĂ© a Ă©tĂ© rĂ©alisĂ©e grĂące Ă  l'extension Vulkan VK_KHR_video_decode_vp9, prĂ©parĂ©e au printemps par le groupe de travail Vulkan WG. L'accĂ©lĂ©ration matĂ©rielle est disponible pour les GPU AMD Ă  partir du GPU Navi 10 basĂ© sur l'architecture micro RDNA 1.0.
  • Dans le pilote Vulkan RADV pour les GPU AMD basĂ©s sur les architectures micro RDNA3 et RDNA4, les performances du ray tracing ont Ă©tĂ© amĂ©liorĂ©es et la prise en charge de la technologie de supersampling FSR 4 (FidelityFX Super Resolution) a Ă©tĂ© dĂ©veloppĂ©e. Ajout de la possibilitĂ© de configurer des prioritĂ©s pour la file d'attente des commandes (extension OpenCL cl_khr_priority_hints).
  • Dans le pilote OpenGL radeonsi pour les anciens modĂšles de GPU AMD Evergreen et Cayman, la prise en charge d'OpenGL 4.6 a Ă©tĂ© mise en Ɠuvre. La prise en charge de la mĂ©moire virtuelle partagĂ©e (SVM, Shared Virtual Memory) a Ă©tĂ© ajoutĂ©e.
  • Dans le pilote OpenGL Iris et le pilote Vulkan ANV, la prise en charge des GPU utilisĂ©s dans les processeurs Intel Wildcat Lake a Ă©tĂ© rĂ©alisĂ©e. La prise en charge stable des GPU Intel basĂ©s sur l'architecture Xe3, utilisĂ©e dans les processeurs Panther Lake, a Ă©galement Ă©tĂ© annoncĂ©e dans Iris et ANV. La prise en charge des familles de GPU Xe2 et Xe3 a Ă©tĂ© amĂ©liorĂ©e. Le pilote Iris a ajoutĂ© la prise en charge de la mĂ©moire virtuelle partagĂ©e (SVM, Shared Virtual Memory).
  • Dans le pilote OpenGL freedreno, la prise en charge du GPU Adreno X1-45, utilisĂ© dans le SoC Qualcomm Snapdragon X Plus, a Ă©tĂ© ajoutĂ©e.
  • Le dĂ©veloppement du pilote OpenCL Rusticl, Ă©crit en Rust et successeur du pilote Clover, se poursuit. Dans Rusticl, la prise en charge de la SVM (Shared Virtual Memory), des images dans l'espace colorimĂ©trique sRGB (formats CL_sRGBA et CL_sBGRA), et du format FP16 (extension OpenCL cl_khr_fp16 pour les pilotes asahi, freedreno, llvmpipe, panfrost, radeonsi et zink) a Ă©tĂ© ajoutĂ©e.
  • Ajout d'une interface Gallium3D MFT (Media Foundation Transform) permettant d'utiliser le pilote D3D12 (Direct3D 12) pour la mise en Ɠuvre d'autres API graphiques. DĂ©veloppĂ© par Microsoft pour WSL (Windows Subsystem for Linux).
  • Support de l'infrastructure DRI2 (Direct Rendering Infrastructure) retirĂ©, remplacĂ© par l'interface DRI3, qui utilise DMA-BUF pour un accĂšs direct au GPU. La raison Ă©voquĂ©e est que l'interface DRI3 existe depuis plus de 10 ans, DRI2 Ă©tant obsolĂšte, et tous les pilotes GPU pris en charge ont depuis longtemps adoptĂ© l'interface DRI3.
  • Le support des mĂ©thodes obsolĂštes de gestion des tampons a Ă©tĂ© abandonnĂ© — seule la possibilitĂ© d'utiliser dma-buf est conservĂ©e.
  • Le soutien des versions de libX11 n'assurant pas une opĂ©ration sĂ©curisĂ©e dans les applications multithread a Ă©tĂ© arrĂȘtĂ©. Seule la version libX11 1.8 (avril 2022) et les versions ultĂ©rieures, utilisant l'appel XInitThreads(), sont conservĂ©es.
  • Le support de l'extension EGL EGL_WL_bind_wayland_display, mise en Ɠuvre pour Wayland, a Ă©tĂ© dĂ©clarĂ© obsolĂšte et dĂ©sactivĂ© par dĂ©faut. Pour l'Ă©change des tampons de pixels entre le client et serveur Wayland, il est proposĂ© d'utiliser le protocole Wayland linux_dmabuf. Pour restaurer le support, il est nĂ©cessaire d'indiquer le drapeau « -Dlegacy-wayland=bind-wayland-display » lors de la compilation. Xwayland fonctionne correctement sans EGL_WL_bind_wayland_display depuis la version 24.1 (mai 2024).
  • Le pilote OpenCL Clover, obsolĂšte, a Ă©tĂ© supprimĂ©. Pour OpenCL, il est prĂ©fĂ©rable d'utiliser le pilote RustiCL, qui est plus fonctionnel et prend en charge davantage de versions d'OpenCL.
  • Une extension Vulkan a Ă©tĂ© mise en Ɠuvre dans le pilote ANV (Intel) :
    • VK_KHR_shader_bfloat16
  • Des extensions Vulkan ont Ă©tĂ© mises en Ɠuvre dans le pilote RADV (AMD) :
    • 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
  • Des extensions Vulkan ont Ă©tĂ© mises en Ɠuvre dans le pilote NVK (NVIDIA) :
    • VK_EXT_zero_initialize_device_memory
    • VK_KHR_cooperative_matrix
  • Une extension Vulkan a Ă©tĂ© mise en Ɠuvre dans le pilote zink :
    • NV_timeline_semaphore
  • Une extension OpenGL a Ă©tĂ© mise en Ɠuvre dans le pilote v3d (GPU Broadcom VideoCore pour Raspberry Pi 4+) :
    • on v3d GL_ARB_blend_func_extended
  • Des extensions OpenGL ont Ă©tĂ© mises en Ɠuvre dans le pilote panfrost :
    • GL_KHR_texture_compression_astc_hdr
    • GL_ARB_shader_clock
    • GL_EXT_shader_realtime_clock
  • Une extension OpenGL a Ă©tĂ© mise en Ɠuvre dans le pilote asahi (Apple) :
    • GL_KHR_texture_compression_astc_hdr
  • Des extensions OpenGL ont Ă©tĂ© mises en Ɠuvre dans le pilote r600 (AMD)
    • GL_EXT_window_rectangles
    • GL_EXT_shader_image_load_store
  • Des extensions Vulkan ont Ă©tĂ© mises en Ɠuvre dans le pilote PanVK (GPU ARM Mali) :
    • 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

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster