Rilascio di Mesa 25.2, implementazione open source di OpenGL e Vulkan

Dopo tre mesi di sviluppo, è stato rilasciato l'implementazione libera dell'API OpenGL e Vulkan — Mesa 25.2.0. La prima versione della serie Mesa 25.2.0 ha uno stato sperimentale — dopo la stabilizzazione finale del codice, sarà rilasciata la versione stabile 25.2.1.

In Mesa 25.2 è disponibile il supporto per l'API grafica Vulkan 1.4 nei driver ANV per GPU Intel, RADV per GPU AMD, NVK per GPU NVIDIA, Asahi per GPU Apple, Turnip per GPU Qualcomm, PanVK per GPU ARM Mali, nell'micro rasterizzatore lavapipe (lvp) e nella modalità emulatore (vn). Nei driver v3dv (GPU Broadcom VideoCore per Raspberry Pi 4+) e dzn (implementazione di Vulkan su Direct3D 12), è supportato Vulkan 1.0.

Mesa fornisce anche un supporto completo per OpenGL 4.6 per i driver iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (vecchie GPU Intel Gen4-Gen7), AMD (r600), zink, llvmpipe, virgl (GPU virtuale Virgil3D per QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (interfaccia per il funzionamento di OpenGL su DirectX 12) e asahi (GPU AGX, utilizzato nei chip Apple M1 e M2). Il supporto per OpenGL 4.5 è disponibile per le GPU NVIDIA (nvc0). Il supporto per OpenGL 3.3 è presente nei driver softpipe (micro rasterizzatore) e nv50 (NVIDIA NV50). Nei driver panfrost (GPU ARM Mali) e v3d (GPU Broadcom VideoCore) è supportato OpenGL 3.1.

Novità principali:

  • Nel driver Vulkan PanVK per dispositivi con GPU ARM Mali basati sull'architettura V10, come Mali-G610 e Mali-G310, è stato aggiunto il supporto per l'API grafica Vulkan 1.4 (precedentemente era supportato Vulkan 1.2).
  • Nel driver OpenGL r600 per vecchie GPU AMD (fino alla serie Radeon HD 7000 inclusa) è stato aggiunto il supporto per l'API grafica OpenGL 4.6 (precedentemente era supportato OpenGL 4.5).
  • Nel driver Vulkan NVK è stato aggiunto il supporto per le GPU NVIDIA basate sulle microarchitetture Blackwell e Kepler (GTX 600/700). Per le GPU Blackwell è stato implementato il supporto per Vulkan 1.4, mentre per le GPU Kepler — l'API Vulkan 1.2 (versioni più recenti di Vulkan non sono supportate a causa di limitazioni hardware). Per le GPU NVIDIA basate sulla microarchitettura Maxwell è garantita la compatibilità completa con Vulkan 1.4.
  • È stata ottimizzata l'operatività del compilatore di shader NAK, scritto in Rust e utilizzato nel driver NVK. Tra le dipendenze del driver NVK è stato incluso il pacchetto crate rustc-hash, che ha permesso di ridurre il tempo di compilazione degli shader di circa il 12%.
  • Il supporto OpenGL per le GPU NVIDIA Maxwell, Pascal e Volta è impostato per default da driver Nouveau all'uso del driver Zink in combinazione con il driver Vulkan NVK. Zink è anche impiegato per garantire il supporto OpenGL sui sistemi con GPU Blackwell (non si prevede di aggiungere il supporto per le GPU Blackwell nel driver OpenGL Nouveau). Zink fornisce un'implementazione di OpenGL 4.6 sopra Vulkan, consentendo di ottenere OpenGL accelerato hardware su dispositivi che supportano l'API Vulkan. Le prestazioni di Zink sono paragonabili alle prestazioni delle implementazioni native di OpenGL.
  • Significativo miglioramento delle prestazioni del driver Vulkan Honeykrisp per le schede grafiche fornite nei chip Apple M1/M2.
  • Nei driver Vulkan RADV (GPU AMD) e ANV (Intel) è stato aggiunto il supporto per l'accelerazione hardware della decodifica video nel formato VP9. Questa funzionalità è stata implementata tramite l'estensione Vulkan VK_KHR_video_decode_vp9, preparata in primavera dal gruppo di lavoro Vulkan WG. L'accelerazione hardware è disponibile per le GPU AMD a partire dalla GPU Navi 10 basata sull'architettura RDNA 1.0.
  • Nel driver Vulkan RADV per GPU AMD basate sulle architetture RDNA3 e RDNA4 sono state migliorate le prestazioni del ray tracing e il supporto per la tecnologia di supersampling FSR 4 (FidelityFX Super Resolution). È stata aggiunta la possibilità di configurare le priorità per la coda dei comandi (estensione OpenCL cl_khr_priority_hints).
  • Nel driver OpenGL radeonsi per le vecchie famiglie di GPU AMD Evergreen e Cayman è stato implementato il supporto per OpenGL 4.6. È stato aggiunto il supporto per la memoria virtuale condivisa (SVM, Shared Virtual Memory).
  • Nel driver OpenGL Iris e nel driver Vulkan ANV è stato implementato il supporto per le GPU utilizzate nei processori Intel Wildcat Lake. In Iris e ANV è stata dichiarata stabile la compatibilità con le GPU Intel basate sull'architettura Xe3, utilizzata nei processori Panther Lake. È stato migliorato il supporto per le famiglie di GPU Xe2 e Xe3. Nel driver Iris è stato aggiunto il supporto per la memoria virtuale condivisa (SVM, Shared Virtual Memory).
  • Nel driver OpenGL freedreno è stato aggiunto il supporto per la GPU Adreno X1-45, utilizzata nel SoC Qualcomm Snapdragon X Plus.
  • Continua lo sviluppo del driver OpenCL Rusticl, scritto in linguaggio Rust e subentrato al driver Clover. In Rusticl è stato aggiunto il supporto per SVM (Shared Virtual Memory), immagini nello spazio colore sRGB (formati CL_sRGBA e CL_sBGRA), e il formato FP16 (estensione OpenCL cl_khr_fp16 per i driver asahi, freedreno, llvmpipe, panfrost, radeonsi e zink).
  • Aggiunto il front-end Gallium3D MFT (Media Foundation Transform), che consente di utilizzare il driver D3D12 (Direct3D 12) per implementare altre API grafiche. Sviluppato da Microsoft per WSL (Windows Subsystem for Linux).
  • Rimossa la supporto per l'infrastruttura DRI2 (Direct Rendering Infrastructure), sostituita dall'interfaccia DRI3, che utilizza DMA-BUF per l'accesso diretto all'adattatore video. Come motivo si menziona che l'interfaccia DRI3 esiste da oltre 10 anni, DRI2 è obsoleta da tempo e tutti i driver GPU supportati hanno da tempo implementato l'interfaccia DRI3.
  • Interrotta la supporto per i metodi obsoleti di interazione con i buffer: rimane solo la possibilità di utilizzare dma-buf.
  • Interrotta la supporto per le versioni di libX11 che non garantiscono un funzionamento sicuro in applicazioni multithread. Rimane solo il supporto per libX11 1.8 (aprile 2022) e versioni più recenti che utilizzano la chiamata XInitThreads().
  • Dichiarato obsoleto e disabilitato per impostazione predefinita il supporto per l'estensione EGL EGL_WL_bind_wayland_display, implementata per Wayland. Per lo scambio di buffer di pixel tra il client e server Wayland si propone di utilizzare il protocollo Wayland linux_dmabuf. Per ripristinare il supporto è necessaria l'indicazione del flag "-Dlegacy-wayland=bind-wayland-display" durante la compilazione. Xwayland supporta un funzionamento corretto senza EGL_WL_bind_wayland_display a partire dalla versione 24.1 (maggio 2024).
  • Rimosso il driver OpenCL obsoleto Clover. Per OpenCL si consiglia di utilizzare il driver RustiCL, più funzionale e che supporta più versioni di OpenCL.
  • Nel driver ANV (Intel) è stata implementata l'estensione Vulkan:
    • VK_KHR_shader_bfloat16
  • Nel driver RADV (AMD) sono state implementate le estensioni 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
  • Nel driver NVK (NVIDIA) sono state implementate le estensioni Vulkan:
    • VK_EXT_zero_initialize_device_memory
    • VK_KHR_cooperative_matrix
  • Nel driver zink è stata implementata l'estensione Vulkan:
    • NV_timeline_semaphore
  • Nel driver v3d (GPU Broadcom VideoCore per Raspberry Pi 4+) è stata implementata l'estensione OpenGL:
    • su v3d GL_ARB_blend_func_extended
  • Nel driver panfrost sono state implementate le estensioni OpenGL:
    • GL_KHR_texture_compression_astc_hdr
    • GL_ARB_shader_clock
    • GL_EXT_shader_realtime_clock
  • Nel driver asahi (Apple) è stata implementata l'estensione OpenGL:
    • GL_KHR_texture_compression_astc_hdr
  • Nel driver r600 (AMD) sono state implementate le estensioni OpenGL
    • GL_EXT_window_rectangles
    • GL_EXT_shader_image_load_store
  • Nel driver PanVK (GPU ARM Mali) sono state implementate le estensioni 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

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster