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

Dopo tre mesi di sviluppo, è stata rilasciata l'implementazione open source dell'API OpenGL e Vulkan — Mesa 21.2.0. La prima versione della serie Mesa 21.2.0 ha uno stato sperimentale — dopo la finalizzazione della stabilizzazione del codice, verrà rilasciata la versione stabile 21.2.1.

Mesa 21.2 offre supporto completo per OpenGL 4.6 per i driver 965, iris (Intel), radeonsi (AMD), zink e llvmpipe. Il supporto per OpenGL 4.5 è disponibile per le GPU AMD (r600) e NVIDIA (nvc0), mentre OpenGL 4.3 è disponibile per virgl (GPU virtuale Virgil3D per QEMU/KVM). Il supporto per Vulkan 1.2 è implementato per le schede Intel e AMD, oltre che in modalità emulatore (vn), mentre il supporto per Vulkan 1.1 è disponibile per le GPU Qualcomm e il rasterizzatore software lavapipe, e Vulkan 1.0 per le GPU Broadcom VideoCore VI (Raspberry Pi 4).

Novità principali:

  • È incluso il driver OpenGL asahi con supporto iniziale per le GPU fornite nei chip Apple M1. Il driver utilizza l'interfaccia Gallium e supporta gran parte delle funzionalità di OpenGL 2.1 e OpenGL ES 2.0, ma attualmente non è adatto per eseguire la maggior parte dei giochi. Il codice del driver si basa sul driver Gallium di riferimento noop con il trasferimento di parte del codice dal driver Panfrost, sviluppato per le GPU ARM Mali.
  • È incluso il driver OpenGL Crocus con supporto per le vecchie GPU Intel (basate sulle microarchitetture Gen4-Gen7), non supportate dal driver Iris. A differenza del driver i965, il nuovo driver si basa sull'architettura Gallium3D, liberando i compiti di gestione della memoria al driver DRI nel kernel Linux e fornendo un tracker di stato pronto con supporto per la cache di riutilizzo degli oggetti di output.
  • È incluso il driver PanVk, che fornisce supporto per l'API grafica Vulkan per GPU ARM Mali Midgard e Bifrost. PanVk è sviluppato dai collaboratori di Collabora e si propone come un continuo sviluppo del progetto Panfrost, che garantisce supporto per OpenGL.
  • Nel driver Panfrost per GPU Midgard (Mali T760 e versioni successive) e GPU Bifrost (Mali G31, G52, G76) è stata implementata la supporto per OpenGL ES 3.1. Tra i piani futuri, si segnala il lavoro per aumentare le prestazioni sui chip Bifrost e realizzare il supporto per le GPU basate sull'architettura Valhall (Mali G77 e versioni successive).
  • Nelle build a 32 bit per l'architettura x86, invece delle istruzioni x87 per i calcoli matematici, sono utilizzate le istruzioni sse2.
  • Nel driver Nouveau nv50 per GPU NVIDIA GT21x (GeForce GT 2×0) è stato implementato il supporto per OpenGL ES 3.1.
  • Nel driver Vulkan TURNIP e nel driver OpenGL Freedreno, sviluppati per GPU Qualcomm Adreno, è stata implementata una supporto iniziale per le GPU Adreno a6xx gen4 (a660, a635).
  • Nel driver Vulkan RADV (AMD) è stata aggiunta la supporto per il culling dei primitivi utilizzando i motori shader NGG (Next-Gen Geometry). È stata implementata la possibilità di compilare il driver RADV sulla piattaforma Windows utilizzando il compilatore MSVC.
  • Nel driver Vulkan ANV (Intel) e nel driver OpenGL Iris è stata effettuata una preparazione per garantire la supporto delle future schede grafiche Intel Xe-HPG (DG2). Sono state incluse capacità iniziali relative al ray tracing e al supporto per gli shader di ray tracing.
  • Nel driver lavapipe, che implementa un rasterizzatore software per l'API Vulkan (analogo a llvmpipe, ma per Vulkan, che traduce le chiamate API Vulkan in API Gallium), è stata implementata la supporto per la modalità "wideLines" (che consente il supporto per linee con larghezza superiore a 1.0).
  • È stata implementata la supporto per il rilevamento dinamico e il caricamento di backend alternativi GBM (Generic Buffer Manager). Questa modifica mira a migliorare il supporto per Wayland sui sistemi con driver NVIDIA.
  • Nel driver Zink (implementazione dell'API OpenGL sopra Vulkan, che consente di ottenere OpenGL accelerato dall'hardware in presenza di driver di sistema limitati al supporto solo dell'API Vulkan) è stato implementato il supporto per le estensioni OpenGL GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_group_vote, GL_ARB_texture_filter_minmax e GL_ARB_shader_clock. Sono stati aggiunti i modificatori di formato DRM (Direct Rendering Manager, incluso l'estensione VK_EXT_image_drm_format_modifier).
  • Aggiunto supporto per le estensioni nei driver Vulkan RADV (AMD), ANV (Intel) e lavapipe:
    • VK_EXT_provoking_vertex (RADV);
    • VK_EXT_extended_dynamic_state2 (RADV);
    • VK_EXT_global_priority_query (RADV);
    • VK_EXT_physical_device_drm (RADV);
    • VK_KHR_shader_subgroup_uniform_control_flow (RADV, ANV);
    • VK_EXT_color_write_enable (RADV);
    • VK_EXT_acquire_drm_display (RADV, ANV);
    • VK_EXT_vertex_input_dynamic_state (lavapipe);
    • VK_EXT_line_rasterization (lavapipe);
    • VK_EXT_multi_draw (ANV, lavapipe, RADV);
    • VK_KHR_separate_depth_stencil_layouts (lavapipe);
    • VK_EXT_separate_stencil_usage (lavapipe);
    • VK_EXT_extended_dynamic_state2 (lavapipe).

Fonte: opennet.ru

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