Mesa 19.3.0 kaleratzea, OpenGL eta Vulkan-en doako inplementazioa

Bidalita OpenGL eta Vulkan APIaren doako inplementazioa kaleratzea - Mesa 19.3.0. Mesa 19.3.0 adarraren lehen bertsioak egoera esperimentala du; kodea behin betiko egonkortu ondoren, 19.3.1 bertsio egonkorra kaleratuko da. Mesa 19.3 ezarrita OpenGL 4.6 laguntza osoa Intel GPUetarako (i965, iris kontrolatzaileak), OpenGL 4.5 euskarria AMD (r600, radeonsi) eta NVIDIA (nvc0) GPUetarako eta Vulkan 1.1 laguntza Intel eta AMD txarteletarako. Atzo aldaketak OpenGL 4.6 onartzeko ere gehitu radeonsi gidarian, baina ez ziren sartu Mesa 19.3 adarrean.

Artean aldaketak:

  • Shaders konpilatzeko backend berri bat proposatu da RADVrako (AMD txipetarako Vulkan kontrolatzailea) "ACO", Valve garatzen ari dena LLVM shader konpilatzailearen alternatiba gisa. Backend-ak joko-aplikazioen itzalaldietarako ahalik eta onena den kodea sortzea bermatzea du helburu, baita konpilazio-abiadura oso altua lortzera ere. ACO C++-n idatzita dago, JIT konpilazioa kontuan hartuta diseinatuta, eta datu-egitura iteratibo azkarrak erabiltzen ditu, erakusleetan oinarritutako egiturak saihestuz. Kodearen tarteko irudikapena SSAn (Static Single Assignment) oinarritzen da guztiz eta erregistroa esleitzea ahalbidetzen du, itzalaren arabera erregistroa aurrez kalkulatuz. ACO Vega 8, Vega 9, Vega 10 eta Navi 10 GPUetarako aktibatu daiteke "RADV_PERFEST=aco" ingurune-aldagaia ezarriz;
  • Kode oinarrian sartuta dagoen Gallium3D kontrolatzailea zink, OpenGL APIa Vulkan-en gainean ezartzen duena. Zink-ek hardware-azeleratutako OpenGL lortzeko aukera ematen du sistemak Vulkan APIa soilik onartzera mugatuta dauden kontrolatzaileak baditu;
  • ANV Vulkan kontrolatzaileak eta iris OpenGL kontrolatzaileak hasierako laguntza eskaintzen dute Intel txip-en 12. belaunaldiari (Tiger Lake, gen12). Linux nukleoan, Tiger Lake onartzen duten osagaiak 5.4 bertsioaz geroztik sartu dira;
  • i965 eta iris kontrolatzaileek SPIR-V itzalgailuen tarteko irudikapenerako laguntza eskaintzen dute, eta horrek ahalbidetu zuen kontrolatzaile hauetan euskarri osoa lortzea. OpenGL 4.6;
  • RadeonSI kontrolatzaileak AMD Navi 14 GPUetarako euskarria gehitzen du eta bideoa deskodetzeko azelerazioa hobetzen du, adibidez, H.8 eta VP265 formatuetan 9K bideoa deskodetzeko laguntza gehitzen du;
  • RADV Vulkan kontrolatzailerako euskarria gehitu da babestutako konpilazioa, zeinetan itzalgailuak konpilatzeko abiarazitako hariak seccomp mekanismoa erabiliz isolatzen diren. Modua gaitzen da RADV_SECURE_COMPILE_THREADS ingurune-aldagaia erabiliz;
  • AMD txipetarako kontrolatzaileek nukleoaren moduluan agertutako AMDGPU erabiltzen dute software interfazea GPU berrezartzeko;
  • AMD Radeon APUdun sistemetan errendimendua hobetzeko lana egin da. Intel GPUetarako Gallium3D kontrolatzailearen Iris errendimendua ere hobetu da;
  • Softwarearen errendaketa eskaintzen duen Gallium3D kontrolatzailean LLVMpipe-n, agertu itzalaldi konputazionaletarako laguntza;
  • Shader caching sistema diskoan optimizatuta 4 CPU nukleo baino gehiago dituzten sistemetarako;
  • Meson eraikitzeko sistema gaituta Windows-en konpilatzeko MSVC eta MinGW erabiliz. Eraikitzeko scons erabiltzea zaharkituta geratu da Windows ez diren sistemetan;
  • EGL luzapena inplementatu da EGL_EXT_image_flush_external;
  • OpenGL luzapen berriak gehitu dira:
  • RADV Vulkan kontrolatzaileari luzapenak gehitu zaizkio (AMD txarteletarako):
  • ANV Vulkan kontrolatzaileari luzapenak gehitu zaizkio (Intel txarteletarako):

Gainera, nabarmendu daiteke argitalpena AMDren eskutik dokumentazioa GCN (Graphics Core Next) mikroarkitekturan oinarritutako "Vega" 7nm-ko APUren komando-arkitekturaren arabera.

Iturria: opennet.ru

Gehitu iruzkin berria