Pagpagawas sa Mesa 21.0, usa ka libre nga pagpatuman sa OpenGL ug Vulkan

Ang pagpagawas sa libre nga pagpatuman sa OpenGL ug Vulkan API - Gipresentar ang Mesa 21.0.0. Ang una nga pagpagawas sa sanga sa Mesa 21.0.0 adunay eksperimento nga kahimtang - pagkahuman sa katapusan nga pagpalig-on sa code, usa ka lig-on nga bersyon 21.0.1 ipagawas. Ang Mesa 21.0 adunay bug-os nga suporta sa OpenGL 4.6 alang sa 965, iris (Intel), radeonsi (AMD), zink, ug llvmpipe nga mga drayber. Ang suporta sa OpenGL 4.5 anaa alang sa AMD (r600) ug NVIDIA (nvc0) nga mga GPU, ug OpenGL 4.3 alang sa virgl (Virgil3D virtual GPU alang sa QEMU/KVM). Ang Vulkan 1.2 gisuportahan alang sa Intel ug AMD nga mga kard, ug ang Vulkan 1.0 alang sa VideoCore VI (Raspberry Pi 4).

Panguna nga mga inobasyon:

  • Ang Zink driver (usa ka pagpatuman sa OpenGL API sa ibabaw sa Vulkan) naghatag og suporta alang sa OpenGL 4.6. Gitugotan ka sa Zink nga makuha ang hardware accelerated OpenGL kung adunay mga drayber sa imong sistema nga limitado sa pagsuporta lamang sa Vulkan API. Ang pasundayag sa Zink hapit sa lumad nga mga pagpatuman sa OpenGL.
  • Ang llvmpipe driver, nga gidisenyo alang sa software rendering, nagsuporta sa OpenGL 4.6.
  • Ang Freedreno driver, nga gigamit alang sa graphics subsystem sa Qualcomm chips, nagsuporta sa OpenGL ES 6 para sa Adreno a3.0xx GPU.
  • Ang Panfrost driver para sa GPU Midgard (Mali-T7xx, Mali-T8xx) ug Bifrost (Mali G3x, G5x, G7x) nagsuporta sa OpenGL 3.1, ingon man suporta sa OpenGL ES 3.0 para sa GPU Bifrost.
  • Gisuportahan sa drayber sa radeonsi ang mga extension sa OpenGL nga GL_EXT_demote_to_helper_invocation ug GL_NV_compute_shader_derivatives. Alang sa dula nga "Counter-Strike: Global Offensive" ang optimization mode nga "mesa_glthread" gipalihok pinaagi sa default, nga nagtugot sa pagdugang sa performance sa 10-20%. Gipatuman nga mga pag-optimize nga makaapekto sa pagpasa sa mga pagsulay sa SPECViewPerf. Gidugang nga suporta alang sa tool sa profile sa Radeon GPU Profiler (RGP). Gidugang nga suporta alang sa teknolohiya sa Smart Access Memory para sa Zen 3 ug RDNA 2 GPUs. Gidugang nga suporta alang sa HEVC SAO encoders (Sample Adaptive Offset, para sa mga GPU nga nagsuporta sa VCN2, VCN2.5 ug VCN3 nga makina) ug AV1 decoder (alang sa RDNA 2/RX 6000 ug pinaagi lamang sa OpenMAX interface).
  • Ang drayber sa RADV Vulkan (para sa mga AMD card) nagdugang suporta alang sa Rapid packed math (16-bit vectorization) ug Sparse memory (nagtugot kanimo sa pagbutang sa mga kapanguhaan sama sa mga imahe ug mga texture nga dili managsama ug ilakip kini sa lainlaing mga alokasyon sa memorya). Na-optimize nga performance para sa RX 6000 series cards. Gidugang ang VK_VALVE_mutable_descriptor_type ug VK_KHR_fragment_shading_rate extensions (RDNA2 lang).
  • Ang mga drayber sa Intel ANV ug Iris nagdugang sa pag-optimize sa performance ug nagtanyag og inisyal nga suporta para sa mga extension sa pagsubay sa Vulkan ray nga gipatuman sa Xe HPG graphics card.
  • Gidugang nga suporta alang sa extension sa EGL_MESA_platform_xcb, nga nagtugot sa mga aplikasyon sa paghimo sa mga kapanguhaan sa EGL gikan sa mga kapanguhaan sa X11 nga wala gigamit ang Xlib.
  • Ang Vulkan driver nga V3DV, naugmad alang sa VideoCore VI graphics accelerator nga gigamit sa Raspberry Pi 4 boards base sa Broadcom BCM2711 chip, midugang og suporta alang sa Wayland WSI (Windowing System Integration), nga nagtugot sa pag-access sa Vulkan API gikan sa Wayland-based environment.
  • Ang inisyal nga pagpatuman sa layer nga naghubad sa OpenGL nga mga tawag sa DirectX 12 API gisagop aron maorganisar ang trabaho sa mga graphic application sa WSL (Windows Subsystem for Linux) environment. Dugang pa, ang library sa spirv_to_dxil gilakip alang sa pag-convert sa intermediate nga representasyon sa SPIR-V shaders ngadto sa DXIL (DirectX Intermediate Language), nga gimugna sa Microsoft.
  • Gidisenyo pag-usab ug labi nga gipaayo nga suporta alang sa Haiku OS.
  • Gitangtang ang glx_disable_oml_sync_control, glx_disable_sgi_video_sync ug glx_disable_ext_buffer_age settings gikan sa driconf.
  • Gikuha ang suporta alang sa DRI1 ug gihunong ang pagkarga sa mga drayber sa DRI gikan sa mga bersyon sa Mesa nga ubos sa 8.0.
  • Gikuha ang swrast driver, nga gitukod base sa classic DRI interface ug gituyo para sa OpenGL software rendering (ang nahabilin nga software rendering drivers llvmpipe ug softpipe mas nauna sa swrast sa termino sa performance ug functionality). Ang pagtangtang sa swrast gipadali pinaagi sa presensya sa daghang wala masulbad nga mga problema ug ang pagtungha sa mga pagbag-o, bisan pa sa kamatuoran nga kini nga drayber wala na gigamit sa pag-apod-apod.
  • Ang daan nga klasiko nga bersyon sa OSMesa API gikuha na (Gallium-based OSMesa ang nahabilin), nga nagtugot sa paghubad dili sa screen, apan sa usa ka buffer sa memorya.

    Source: opennet.ru

Idugang sa usa ka comment