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

Gipasa ni pagpagawas sa usa ka libre nga pagpatuman sa OpenGL ug Vulkan API - Mesa 19.3.0. Ang una nga pagpagawas sa sanga sa Mesa 19.3.0 adunay eksperimento nga kahimtang - pagkahuman sa katapusan nga pagpalig-on sa code, usa ka lig-on nga bersyon 19.3.1 ipagawas. Sa Mesa 19.3 gipatuman Bug-os nga suporta sa OpenGL 4.6 para sa Intel GPUs (i965, iris drivers), OpenGL 4.5 support para sa AMD (r600, radeonsi) ug NVIDIA (nvc0) GPUs, ug Vulkan 1.1 nga suporta para sa Intel ug AMD cards. Kagahapon nagbag-o aron suportahan usab ang OpenGL 4.6 gidugang ngadto sa drayber sa radeonsi, apan wala sila maapil sa sanga sa Mesa 19.3.

Lakip sa kausaban:

  • Usa ka bag-ong backend alang sa pag-compile sa mga shaders gisugyot alang sa RADV (Vulkan driver alang sa AMD chips) "ACO", nga gipalambo sa Valve isip alternatibo sa LLVM shader compiler. Ang backend gitumong sa pagsiguro sa paghimo sa code nga labing maayo kutob sa mahimo alang sa mga shaders sa aplikasyon sa pagdula, ingon man pagkab-ot sa taas kaayo nga tulin sa pag-compile. Ang ACO gisulat sa C ++, gidisenyo uban ang JIT compilation sa hunahuna, ug naggamit sa paspas nga iterative data structures, paglikay sa pointer-based structures. Ang intermediate nga representasyon sa code hingpit nga gibase sa SSA (Static Single Assignment) ug nagtugot sa alokasyon sa rehistro pinaagi sa tukma nga pagkalkula sa rehistro depende sa shader. Ang ACO mahimong ma-activate alang sa Vega 8, Vega 9, Vega 10 ug Navi 10 GPUs pinaagi sa pag-set sa environment variable "RADV_PERFTEST=aco";
  • Ang drayber sa Gallium3D gilakip sa base sa code Zink, nga nagpatuman sa OpenGL API sa ibabaw sa Vulkan. Gitugotan ka sa Zink nga makakuha og hardware accelerated OpenGL kung ang sistema adunay mga drayber nga limitado sa pagsuporta lamang sa Vulkan API;
  • Ang drayber sa ANV Vulkan ug ang drayber sa iris OpenGL naghatag og inisyal nga suporta alang sa ika-12 nga henerasyon sa Intel chips (Tiger Lake, gen12). Sa Linux kernel, ang mga sangkap nga mosuporta sa Tiger Lake gilakip sukad sa pagpagawas sa 5.4;
  • Ang i965 ug iris nga mga drayber naghatag suporta alang sa usa ka intermediate nga representasyon sa SPIR-V shaders, nga nagpaposible nga makab-ot ang hingpit nga suporta niini nga mga drayber. OpenGL 4.6;
  • Ang drayber sa RadeonSI nagdugang suporta alang sa AMD Navi 14 GPUs ug nagpauswag sa pagpadali sa pag-decode sa video, pananglitan, pagdugang og suporta alang sa pag-decode sa 8K nga video sa H.265 ug VP9 nga mga format;
  • Gidugang nga suporta alang sa drayber sa RADV Vulkan gipanalipdan nga kompilasyon, diin ang mga hilo nga gilunsad sa pag-compile sa mga shaders gilain gamit ang mekanismo sa seccomp. Ang mode gipalihok gamit ang RADV_SECURE_COMPILE_THREADS environment variable;
  • Ang mga drayber alang sa AMD chips naggamit sa AMDGPU nga nagpakita sa kernel module interface sa software aron i-reset ang GPU;
  • Gihimo ang trabaho aron mapaayo ang pasundayag sa mga sistema nga adunay mga AMD Radeon APU. Ang pasundayag sa drayber sa Gallium3D nga si Iris alang sa mga Intel GPU gipauswag usab;
  • Sa Gallium3D driver LLVMpipe, nga naghatag software rendering, nagpakita suporta alang sa computational shaders;
  • Shader caching system sa disk optimized alang sa mga sistema nga adunay labaw pa sa 4 nga mga core sa CPU;
  • Gi-enable ang sistema sa pagtukod sa Meson sa pag-compile sa Windows gamit ang MSVC ug MinGW. Ang paggamit sa mga scons sa pagtukod wala na gigamit sa mga sistema nga dili Windows;
  • Gipatuman ang EGL extension EGL_EXT_image_flush_external;
  • Gidugang bag-ong mga extension sa OpenGL:
  • Gidugang nga mga extension sa RADV Vulkan driver (alang sa AMD card):
  • Gidugang nga mga extension sa driver sa ANV Vulkan (alang sa mga Intel card):

Dugang pa, kini mahimong matikdan publikasyon pinaagi sa AMD dokumentasyon sumala sa command architecture sa "Vega" 7nm APU base sa GCN (Graphics Core Next) microarchitecture.

Source: opennet.ru

Idugang sa usa ka comment