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

Ipinasa ni paglabas ng isang libreng pagpapatupad ng OpenGL at Vulkan API - Mesa 19.3.0. Ang unang paglabas ng sangay ng Mesa 19.3.0 ay may pang-eksperimentong katayuan - pagkatapos ng panghuling pag-stabilize ng code, isang stable na bersyon 19.3.1 ang ilalabas. Sa Mesa 19.3 ipinatupad Buong suporta sa OpenGL 4.6 para sa mga Intel GPU (i965, iris driver), suporta sa OpenGL 4.5 para sa AMD (r600, radeonsi) at NVIDIA (nvc0) GPU, at suporta sa Vulkan 1.1 para sa mga Intel at AMD card. Kahapon ay nagbago upang suportahan din ang OpenGL 4.6 idinagdag sa driver ng radeonsi, ngunit hindi sila kasama sa sangay ng Mesa 19.3.

sa mga pagbabago:

  • Ang isang bagong backend para sa pag-compile ng mga shader ay iminungkahi para sa RADV (Vulkan driver para sa AMD chips) "ACO", na binuo ng Valve bilang isang alternatibo sa LLVM shader compiler. Ang backend ay naglalayong tiyakin ang pagbuo ng code na pinakamainam hangga't maaari para sa mga shader ng application ng paglalaro, pati na rin ang pagkamit ng napakataas na bilis ng compilation. Ang ACO ay nakasulat sa C++, na idinisenyo sa JIT compilation sa isip, at gumagamit ng mabilis na umuulit na mga istruktura ng data, na umiiwas sa mga istrukturang nakabatay sa pointer. Ang intermediate na representasyon ng code ay ganap na nakabatay sa SSA (Static Single Assignment) at nagbibigay-daan sa paglalaan ng rehistro sa pamamagitan ng tumpak na paunang pagkalkula ng rehistro depende sa shader. Maaaring i-activate ang ACO para sa Vega 8, Vega 9, Vega 10 at Navi 10 GPU sa pamamagitan ng pagtatakda ng environment variable na β€œRADV_PERFTEST=aco”;
  • Gallium3D driver na kasama sa code base Zink, na nagpapatupad ng OpenGL API sa itaas ng Vulkan. Binibigyang-daan ka ng Zink na makakuha ng hardware accelerated OpenGL kung ang system ay may mga driver na limitado sa pagsuporta lamang sa Vulkan API;
  • Ang driver ng ANV Vulkan at ang driver ng iris OpenGL ay nagbibigay ng paunang suporta para sa ika-12 henerasyon ng mga Intel chips (Tiger Lake, gen12). Sa Linux kernel, ang mga bahagi upang suportahan ang Tiger Lake ay isinama mula noong inilabas ang 5.4;
  • Ang mga driver ng i965 at iris ay nagbibigay ng suporta para sa isang intermediate na representasyon ng mga SPIR-V shaders, na naging posible upang makamit ang buong suporta sa mga driver na ito. OpenGL 4.6;
  • Ang driver ng RadeonSI ay nagdaragdag ng suporta para sa mga AMD Navi 14 GPU at pinapabuti ang pagpabilis ng pag-decode ng video, halimbawa, pagdaragdag ng suporta para sa pag-decode ng 8K na video sa mga format na H.265 at VP9;
  • Nagdagdag ng suporta para sa RADV Vulkan driver protektadong compilation, kung saan ang mga thread na inilunsad upang mag-compile ng mga shader ay nakahiwalay gamit ang mekanismo ng seccomp. Ang mode ay pinagana gamit ang RADV_SECURE_COMPILE_THREADS environment variable;
  • Ang mga driver para sa AMD chips ay gumagamit ng AMDGPU na lumabas sa kernel module interface ng software upang i-reset ang GPU;
  • Ang trabaho ay ginawa upang mapabuti ang pagganap sa mga system na may mga AMD Radeon APU. Ang pagganap ng Gallium3D driver na Iris para sa mga Intel GPU ay napabuti din;
  • Sa Gallium3D driver LLVMpipe, na nagbibigay ng software rendering, lumitaw suporta para sa computational shaders;
  • Shader caching system sa disk na-optimize para sa mga system na may higit sa 4 na mga core ng CPU;
  • Pinagana ang Meson build system na mag-compile sa Windows gamit ang MSVC at MinGW. Ang paggamit ng mga scons upang bumuo ay hindi na ginagamit sa mga non-Windows system;
  • Ipinatupad ang EGL extension na EGL_EXT_image_flush_external;
  • Nagdagdag ng mga bagong extension ng OpenGL:
  • Nagdagdag ng mga extension sa RADV Vulkan driver (para sa AMD card):
  • Nagdagdag ng mga extension sa driver ng ANV Vulkan (para sa mga Intel card):

Bilang karagdagan, maaari mong tandaan publication ng AMD dokumentasyon ayon sa command architecture ng "Vega" 7nm APU batay sa GCN (Graphics Core Next) microarchitecture.

Pinagmulan: opennet.ru

Magdagdag ng komento