Liberigo de Mesa 21.0, senpaga efektivigo de OpenGL kaj Vulkan

La liberigo de la senpaga efektivigo de la OpenGL kaj Vulkan APIs - Mesa 21.0.0 - estis prezentita. La unua eldono de la branĉo Mesa 21.0.0 havas eksperimentan statuson - post la fina stabiligo de la kodo, stabila versio 21.0.1 estos publikigita. Mesa 21.0 inkluzivas plenan subtenon por OpenGL 4.6 por la 965, iris (Intel), radeonsi (AMD), zink kaj llvmpipe-ŝoforoj. OpenGL 4.5-subteno haveblas por AMD (r600) kaj NVIDIA (nvc0) GPU-oj, kaj OpenGL 4.3-subteno por virgl (Virgil3D virtuala GPU por QEMU/KVM). Vulkan 1.2-subteno estas efektivigita por Intel kaj AMD-kartoj, kaj Vulkan 1.0 por VideoCore VI (Raspberry Pi 4).

Ĉefaj novigoj:

  • La Zink-ŝoforo (efektivigo de la OpenGL API aldone al Vulkan) provizas subtenon por OpenGL 4.6. Zink ebligas al vi akiri aparataron akcelitan OpenGL se la sistemo havas ŝoforojn limigitajn por subteni nur la Vulkan API. La efikeco de Zink estas proksima al tiu de indiĝenaj OpenGL-efektivigoj.
  • La llvmpipe-ŝoforo, desegnita por programaro, subtenas OpenGL 4.6.
  • La Freedreno-ŝoforo, uzita por la grafika subsistemo de Qualcomm-blatoj, subtenas OpenGL ES 6 por la Adreno a3.0xx GPU.
  • La Panfrost-ŝoforo por Midgard (Mali-T7xx, Mali-T8xx) kaj Bifrost GPUoj (Mali G3x, G5x, G7x) subtenas OpenGL 3.1, same kiel OpenGL ES 3.0 subtenon por Bifrost GPUoj.
  • La radeonsi-ŝoforo nun subtenas la OpenGL-etendojn GL_EXT_demote_to_helper_invocation kaj GL_NV_compute_shader_derivatives. Por la ludo "Counter-Strike: Global Offensive" la optimumiga reĝimo "mesa_glthread" estas ebligita defaŭlte, permesante pliigi rendimenton je 10-20%. Realigitaj optimumigoj kiuj influas la trapason de SPECViewPerf-testoj. Aldonita subteno por la profililo de Radeon GPU Profiler (RGP). Por GPU Zen 3 kaj RDNA 2, subteno por Smart Access Memory-teknologio estis aldonita. Aldonita subteno por HEVC SAO-kodigiloj (Sample Adaptive Offset, por GPUoj kun subteno por VCN2, VCN2.5 kaj VCN3-motoroj) kaj AV1-malĉifriloj (por RDNA 2/RX 6000 kaj nur per la OpenMAX-interfaco).
  • La RADV Vulkan-ŝoforo (por AMD-kartoj) aldonis subtenon por Rapida pakita matematika teknologio (16-bita vektorizado) kaj Maldensa memoro (permesas rimedojn kiel bildoj kaj teksturoj esti metitaj malkonsekvence kaj re-alkroĉita al malsamaj memoraj asigno operacioj). Efikecoptimumigo estis efektivigita por kartoj de la serio RX 6000. VK_VALVE_mutable_descriptor_type kaj VK_KHR_fragment_shading_rate etendaĵoj estis aldonitaj (nur RDNA2).
  • Intel ANV kaj Iris-ŝoforoj aldonas rendimentooptimumigojn kaj ofertas komencan subtenon por Vulkan-radiaj etendaĵoj efektivigitaj en Xe HPG-grafikaj kartoj.
  • Aldonita subteno por la etendaĵo EGL_MESA_platform_xcb, kiu permesas al aplikoj krei EGL-resursojn de X11-resursoj sen aliri Xlib.
  • La Vulkan-ŝoforo V3DV, evoluigita por la grafika akcelilo VideoCore VI uzata en Raspberry Pi 4-tabuloj bazitaj sur la blato Broadcom BCM2711, aldonis subtenon por Wayland WSI (Windowing System Integration), permesante aliron al la Vulkan API de Wayland-bazitaj medioj.
  • La komenca efektivigo de tavolo kiu tradukas OpenGL-vokojn en la DirectX 12 API estis adoptita por organizi la laboron de grafikaj aplikoj en WSL (Vindoza Subsistemo por Linukso) medio. Krome, la biblioteko spirv_to_dxil por konverti la mezan reprezentadon de SPIR-V-ombriloj al DXIL (DirectX Intermediate Language), evoluigita de Microsoft, estas inkluzivita.
  • Relaborita kaj signife plibonigita subteno por Haiku OS.
  • La agordoj glx_disable_oml_sync_control, glx_disable_sgi_video_sync kaj glx_disable_ext_buffer_age estis forigitaj de driconf.
  • Forigis subtenon por DRI1 kaj ĉesis ŝarĝi DRI-ŝoforojn de Mesa-versioj antaŭ 8.0.
  • La swrast-ŝoforo, konstruita surbaze de la klasika DRI-interfaco kaj destinita por OpenGL-softvaro-bildigo, estis forigita (la ceteraj softvaraj bildigiloj llvmpipe kaj softpipe estas rimarkeble antaŭ swrast laŭ rendimento kaj funkcieco). La forigo de swrast estis faciligita per la ĉeesto de multaj nesolvitaj problemoj kaj la okazo de regresoj, malgraŭ la fakto, ke ĉi tiu pelilo ne plu estas uzata en distribuoj.
  • La malnova klasika versio de la programara interfaco de OSMesa estis forigita (OSMesa bazita sur Gallium-restaĵoj), kio permesas bildigon ne al la ekrano, sed al en-memora bufro.

    fonto: opennet.ru

Aldoni komenton