Kutolewa kwa Mesa 20.1.0, utekelezaji wa bure wa OpenGL na Vulkan

Iliyowasilishwa na kutolewa kwa utekelezaji wa bure wa OpenGL na Vulkan API - Mesa 20.1.0. Toleo la kwanza la tawi la Mesa 20.1.0 lina hali ya majaribio - baada ya uimarishaji wa mwisho wa msimbo, toleo la 20.1.1 la utulivu litatolewa. Katika Mesa 20.1 kutekelezwa Usaidizi kamili wa OpenGL 4.6 kwa Intel (i965, iris) na AMD (radeonsi) GPU, usaidizi wa OpenGL 4.5 kwa AMD (r600) na NVIDIA (nvc0) GPU, OpenGL 4.3 kwa virgl (GPU halisi Virgil3D kwa QEMU/KVM), pamoja na msaada wa Vulkan 1.2 kwa kadi za Intel na AMD.

Miongoni mwa mabadiliko:

  • Imeongezwa Safu inayotumika ya uteuzi wa kifaa kwa API ya Vulkan kwenye mifumo iliyo na GPU nyingi zinazotumia Vulkan, inafanya kazi sawa na DRI_PRIME ya OpenGL. Ili kuchagua kiendeshi amilifu na GPU, tofauti ya mazingira ya MESA_VK_DEVICE_SELECT imetolewa (ikiwa haijasakinishwa, DRI_PRIME inatumika).
  • Msaada wa chipsi zinazotarajiwa mwaka ujao kulingana na usanifu mpya umeongezwa kwa i965 na viendesha iris vya Intel GPUs. Ziwa la roketi.
  • Dereva ya ANV Vulkan inatengenezwa kwa Intel GPUs aliongeza uboreshaji wa chips kulingana na usanifu mdogo wa Icelandke (Gen11), kuruhusu matumizi ya rangi safi wakati wa kutuma maandishi. Ilipojaribiwa katika Dota2, mabadiliko hayo yalipunguza idadi ya shughuli za kubadilisha rangi kwa 95% na kuongeza utendaji kwa 3.5%.
  • Katika dereva wa Vulkan ANV iliongezeka ufanisi wa matumizi ya kache kwenye mifumo iliyo na Intel Ivybridge na chips za Haswell. Kutumia majaribio ya utendakazi wa Vulkan kutoka Geekbench 5 ilionyesha ongezeko la utendaji la 330% kwenye vifaa vya Haswell GT3 (ongezeko kutokana na ukweli kwamba awali kache haikutumiwa katika hali fulani).
  • Viendeshaji vya Intel GPUs (i965, iris) imeongezwa Hali ya "shimo jeusi" (Kiendelezi cha OpenGL INTEL_blackhole_render), ambacho huzima shughuli zote za uwasilishaji zinazopitishwa na GPU, lakini hudumisha uchakataji wa shughuli za OpenGL.
  • Usaidizi wa Vectorization ulioongezwa hapo awali kwa chips za AMD umewekwa kwa chips za michoro za Intel NIR, uwakilishi wa kati usio na aina (IR) wa vivuli vinavyolenga kufanya kazi katika kiwango cha chini kabisa, chini ya GLSL IR na IR ya ndani ya Mesa. Kwa upande wa vitendo, kwa sababu ya uboreshaji bora wa vivuli, mabadiliko yalifanya iwezekane kuongeza utendaji wa OpenGL na Vulkan katika michezo mingi kwenye mifumo iliyo na Intel GPU. Kwa mfano, katika mchezo
    Kupanda kwa Tomb Raider alibainisha utendaji kuongezeka kwa 3%, na katika kivuli cha Tomb Raider kwa 10%.

  • Katika sehemu ya nyuma ya kuunda vivuli "ACO", ambayo inatengenezwa na Valve kama njia mbadala ya mkusanyaji wa shader ya LLVM, usaidizi wa aina ya shaderInt9 umeongezwa kwa GFX16+ GPU, ikiruhusu matumizi ya nambari 16-bit katika msimbo wa shader. Kwa
    AMD Navi GPU (GFX10) salama matumizi ya injini za NGG (Next-Gen Geometry) wakati wa kufanya kazi na vertex na vivuli vya tessellation.

  • Kwa AMD Navi 12 na Navi 14 GPU pamoja usaidizi wa hali ya DCC (Mfinyazo wa Rangi ya Delta), ambayo huhakikisha kufanya kazi na data iliyobanwa ya rangi wakati wa kupanga matokeo ya onyesho.
  • Imeongezwa msaada wa majaribio wa NIR kwa kiendeshi cha Gallium3D cha zamani R600 (AMD Radeon HD 2000-6000) na usaidizi wa jiometri, kipande, kipeo na tessellation vivuli.
  • Dereva wa Vulkan RADV imeongezwa Kipande kinachoboresha utendaji wa michezo ya Id Tech kwenye mifumo iliyo na APU za AMD kwa kuboresha udhibiti wa kumbukumbu.
  • Katika dereva wa Panfrost kutekelezwa msaada wa majaribio kwa OpenGL ES 3.0 na salama Usaidizi wa uwasilishaji wa 3D kwa Bifrost GPU (Mali G31). Utekelezaji wa awali wa mkusanyiko wa shader umeandaliwa ambao unaauni seti maalum ya Bifrost GPU ya maagizo ya ndani.
  • Dereva wa Vulkan TURNIP, iliyoundwa kwa ajili ya Qualcomm Adreno GPUs, aliongeza msaada kwa vivuli vya jiometri na Adreno 650 chips.
  • Katika kiendeshi cha Gallium3D LLVMpipe, ambayo hutoa utoaji wa programu, alionekana msaada kwa vivuli vya tessellation.
  • Ilianzisha большая sehemu uboreshaji katika glthread (utekelezaji wa multithreaded wa OpenGL). Baada ya kufanya mabadiliko, utendakazi wa kiigaji cha mbio za Torcs uliongezeka kwa 16% katika usanidi chaguo-msingi na kwa 40% glthread ilipowashwa.
  • Imeongezwa allow_draw_out_of_order chaguo (imewezeshwa kupitia driconf) ili kuwezesha uboreshaji ili kuharakisha shughuli za kuchora nje ya mpangilio maalum za CAD. Chaguo hili linapowashwa, uongezaji kasi wa 11% huzingatiwa katika jaribio la Viewperf7 Catia.
  • Imeongeza viendelezi vipya vya OpenGL:
  • Viendelezi vilivyoongezwa kwa kiendeshi cha RADV Vulkan (kwa kadi za AMD):
  • Imeongeza viendelezi kwa kiendeshi cha ANV Vulkan (kwa kadi za Intel):

    Chanzo: opennet.ru

Kuongeza maoni