Paglabas ng Mesa 21.0, isang libreng pagpapatupad ng OpenGL at Vulkan

Ang paglabas ng libreng pagpapatupad ng OpenGL at Vulkan API - Mesa 21.0.0 ay ipinakita. Ang unang paglabas ng sangay ng Mesa 21.0.0 ay may pang-eksperimentong katayuan - pagkatapos ng panghuling pag-stabilize ng code, isang stable na bersyon 21.0.1 ang ilalabas. Ang Mesa 21.0 ay may ganap na suporta sa OpenGL 4.6 para sa mga driver ng 965, iris (Intel), radeonsi (AMD), zink, at llvmpipe. Available ang suporta sa OpenGL 4.5 para sa mga AMD (r600) at NVIDIA (nvc0) GPU, at OpenGL 4.3 para sa virgl (Virgil3D virtual GPU para sa QEMU/KVM). Ang Vulkan 1.2 ay sinusuportahan para sa mga Intel at AMD card, at ang Vulkan 1.0 para sa VideoCore VI (Raspberry Pi 4).

Mga pangunahing inobasyon:

  • Ang Zink driver (isang pagpapatupad ng OpenGL API sa itaas ng Vulkan) ay nagbibigay ng suporta para sa OpenGL 4.6. Binibigyang-daan ka ng Zink na makakuha ng hardware accelerated OpenGL kung mayroon kang mga driver sa iyong system na limitado sa pagsuporta lamang sa Vulkan API. Ang pagganap ng Zink ay malapit sa pagganap ng mga katutubong pagpapatupad ng OpenGL.
  • Ang llvmpipe driver, na idinisenyo para sa pag-render ng software, ay sumusuporta sa OpenGL 4.6.
  • Ang Freedreno driver, na ginagamit para sa graphics subsystem ng Qualcomm chips, ay sumusuporta sa OpenGL ES 6 para sa Adreno a3.0xx GPU.
  • Ang Panfrost driver para sa GPU Midgard (Mali-T7xx, Mali-T8xx) at Bifrost (Mali G3x, G5x, G7x) ay sumusuporta sa OpenGL 3.1, pati na rin ang suporta para sa OpenGL ES 3.0 para sa GPU Bifrost.
  • Sinusuportahan ng driver ng radeonsi ang mga extension ng OpenGL na GL_EXT_demote_to_helper_invocation at GL_NV_compute_shader_derivatives. Para sa larong "Counter-Strike: Global Offensive" ang optimization mode na "mesa_glthread" ay pinagana bilang default, na nagbibigay-daan sa pagtaas ng performance ng 10-20%. Ipinatupad ang mga pag-optimize na nakakaapekto sa pagpasa ng mga pagsubok sa SPECViewPerf. Nagdagdag ng suporta para sa Radeon GPU Profiler (RGP) profileing tool. Nagdagdag ng suporta para sa teknolohiya ng Smart Access Memory para sa Zen 3 at RDNA 2 GPUs. Nagdagdag ng suporta para sa HEVC SAO encoders (Sample Adaptive Offset, para sa mga GPU na sumusuporta sa VCN2, VCN2.5 at VCN3 engine) at AV1 decoder (para sa RDNA 2/RX 6000 at sa pamamagitan lamang ng OpenMAX interface).
  • Ang driver ng RADV Vulkan (para sa mga AMD card) ay nagdaragdag ng suporta para sa Rapid packed math (16-bit vectorization) at Sparse memory (nagbibigay-daan sa iyong maglatag ng mga mapagkukunan tulad ng mga imahe at mga texture nang hindi pare-pareho at muling ilakip ang mga ito sa iba't ibang mga alokasyon ng memorya). Na-optimize na performance para sa mga RX 6000 series card. Nagdagdag ng VK_VALVE_mutable_descriptor_type at VK_KHR_fragment_shading_rate extension (RDNA2 lang).
  • Ang mga driver ng Intel ANV at Iris ay nagdaragdag ng mga pag-optimize sa pagganap at nag-aalok ng paunang suporta para sa mga extension ng pagsubaybay sa Vulkan ray na ipinatupad sa mga graphics card ng Xe HPG.
  • Nagdagdag ng suporta para sa extension ng EGL_MESA_platform_xcb, na nagpapahintulot sa mga application na lumikha ng mga mapagkukunan ng EGL mula sa mga mapagkukunan ng X11 nang hindi gumagamit ng Xlib.
  • Ang Vulkan driver na V3DV, na binuo para sa VideoCore VI graphics accelerator na ginamit sa Raspberry Pi 4 boards batay sa Broadcom BCM2711 chip, ay nagdagdag ng suporta para sa Wayland WSI (Windowing System Integration), na nagbibigay-daan sa pag-access sa Vulkan API mula sa Wayland-based na kapaligiran.
  • Ang paunang pagpapatupad ng layer na nagsasalin ng mga tawag sa OpenGL sa DirectX 12 API ay pinagtibay upang ayusin ang gawain ng mga graphic na application sa kapaligiran ng WSL (Windows Subsystem para sa Linux). Bilang karagdagan, ang spirv_to_dxil library para sa pag-convert ng intermediate na representasyon ng SPIR-V shaders sa DXIL (DirectX Intermediate Language) na binuo ng Microsoft ay kasama.
  • Muling idisenyo at makabuluhang pinahusay na suporta para sa Haiku OS.
  • Inalis ang mga setting ng glx_disable_oml_sync_control, glx_disable_sgi_video_sync at glx_disable_ext_buffer_age mula sa driconf.
  • Inalis ang suporta para sa DRI1 at itinigil ang paglo-load ng mga driver ng DRI mula sa mga bersyon ng Mesa na mas mababa sa 8.0.
  • Inalis ang swrast driver, na binuo batay sa klasikong DRI interface at nilayon para sa OpenGL software rendering (ang natitirang software rendering drivers llvmpipe at softpipe ay kapansin-pansing nauuna sa swrast sa mga tuntunin ng performance at functionality). Ang pag-alis ng swrast ay pinadali ng pagkakaroon ng maraming hindi nalutas na mga problema at ang paglitaw ng mga regression, sa kabila ng katotohanan na ang driver na ito ay hindi na ginagamit sa mga pamamahagi.
  • Ang lumang klasikong bersyon ng OSMesa API ay inalis (Gallium-based na OSMesa ang natitira), na nagpapahintulot sa pag-render hindi sa screen, ngunit sa isang buffer sa memorya.

    Pinagmulan: opennet.ru

Magdagdag ng komento