Udgivelsen af den gratis implementering af OpenGL og Vulkan API'erne - Mesa 21.0.0 præsenteres. Den første udgivelse af Mesa 21.0.0-grenen har en eksperimentel status - efter den endelige stabilisering af koden vil en stabil version 21.0.1 blive frigivet. Mesa 21.0 har fuld OpenGL 4.6-understøttelse til 965, iris (Intel), radeonsi (AMD), zink og llvmpipe-drivere. OpenGL 4.5-understøttelse er tilgængelig for AMD (r600) og NVIDIA (nvc0) GPU'er og OpenGL 4.3 for virgl (Virgil3D virtuel GPU til QEMU/KVM). Vulkan 1.2 understøttes til Intel- og AMD-kort, og Vulkan 1.0 til VideoCore VI (Raspberry Pi 4).
Vigtigste innovationer:
- Zink-driveren (en implementering af OpenGL API oven på Vulkan) understøtter OpenGL 4.6. Zink giver dig mulighed for at få hardwareaccelereret OpenGL, hvis du har drivere i dit system, der er begrænset til kun at understøtte Vulkan API. Ydeevnen for Zink er tæt på den for native OpenGL-implementeringer.
- llvmpipe-driveren, designet til softwaregengivelse, understøtter OpenGL 4.6.
- Freedreno-driveren, der bruges til Qualcomm-grafikundersystemet, understøtter OpenGL ES 6 til Adreno a3.0xx GPU.
- Panfrost-driveren til GPU Midgard (Mali-T7xx, Mali-T8xx) og Bifrost (Mali G3x, G5x, G7x) understøtter OpenGL 3.1, samt understøttelse af OpenGL ES 3.0 til GPU Bifrost.
- Radeonsi-driveren understøtter OpenGL-udvidelserne GL_EXT_demote_to_helper_invocation og GL_NV_compute_shader_derivatives. For spillet "Counter-Strike: Global Offensive" er optimeringstilstanden "mesa_glthread" aktiveret som standard, hvilket gør det muligt at øge ydeevnen med 10-20%. Implementerede optimeringer, der påvirker beståelsen af SPECViewPerf-tests. Tilføjet understøttelse af Radeon GPU Profiler (RGP) profileringsværktøj. Tilføjet understøttelse af Smart Access Memory-teknologi til Zen 3 og RDNA 2 GPU'er. Tilføjet understøttelse af HEVC SAO-kodere (Sample Adaptive Offset, for GPU'er, der understøtter VCN2-, VCN2.5- og VCN3-motorer) og AV1-dekodere (for RDNA 2/RX 6000 og kun gennem OpenMAX-grænsefladen).
- RADV Vulkan-driver (til AMD-kort) tilføjer understøttelse af hurtig pakket matematik (16-bit vektorisering) og sparsom hukommelse (giver dig mulighed for at udlægge ressourcer såsom billeder og teksturer inkonsekvent og genføje dem til forskellige hukommelsestildelinger). Optimeret ydeevne til kort i RX 6000-serien Tilføjet VK_VALVE_mutable_descriptor_type og VK_KHR_fragment_shading_rate extensions (kun RDNA2).
- Intel ANV- og Iris-drivere tilføjer ydeevneoptimeringer og tilbyder indledende support til Vulkan ray-sporingsudvidelser implementeret i Xe HPG-grafikkort.
- Tilføjet understøttelse af EGL_MESA_platform_xcb-udvidelsen, som tillader applikationer at oprette EGL-ressourcer fra X11-ressourcer uden at bruge Xlib.
- Vulkan-driveren V3DV, udviklet til VideoCore VI-grafikacceleratoren brugt i Raspberry Pi 4-kort baseret på Broadcom BCM2711-chippen, har tilføjet understøttelse af Wayland WSI (Windowing System Integration), som giver adgang til Vulkan API fra Wayland-baserede miljøer.
- Den indledende implementering af laget, der oversætter OpenGL-kald til DirectX 12 API, blev vedtaget for at organisere arbejdet med grafiske applikationer i WSL-miljøet (Windows Subsystem for Linux). Derudover er spirv_to_dxil-biblioteket til konvertering af den mellemliggende repræsentation af SPIR-V shaders til DXIL (DirectX Intermediate Language) udviklet af Microsoft.
- Omdesignet og væsentligt forbedret understøttelse af Haiku OS.
- Fjernede glx_disable_oml_sync_control, glx_disable_sgi_video_sync og glx_disable_ext_buffer_age indstillinger fra driconf.
- Fjernede understøttelse af DRI1 og stoppede med at indlæse DRI-drivere fra versioner af Mesa under 8.0.
- Fjernede swrast-driveren, bygget på basis af den klassiske DRI-grænseflade og beregnet til OpenGL-software-rendering (de resterende software-rendering-drivere llvmpipe og softpipe er mærkbart foran swrast med hensyn til ydeevne og funktionalitet). Fjernelsen af swrast blev lettet af tilstedeværelsen af mange uløste problemer og forekomsten af regressioner, på trods af at denne driver ikke længere bruges i distributioner.
- Den gamle klassiske version af OSMesa API er blevet fjernet (Gallium-baseret OSMesa er tilbage), hvilket tillader gengivelse ikke til skærmen, men til en buffer i hukommelsen.
Kilde: opennet.ru