Рэліз Mesa 20.1.0, свабоднай рэалізацыі OpenGL і Vulkan

Прадстаўлены рэліз свабоднай рэалізацыі API OpenGL і Vulkan Mesa 20.1.0. Першы выпуск галінкі Mesa 20.1.0 мае эксперыментальны статус - пасля правядзення канчатковай стабілізацыі кода будзе выпушчана стабільная версія 20.1.1. У Mesa 20.1 рэалізавана поўная падтрымка OpenGL 4.6 для GPU Intel (драйверы i965, iris) і AMD (radeonsi), падтрымка OpenGL 4.5 для GPU AMD (r600) і NVIDIA (nvc0), OpenGL 4.3 для virgl (віртуальны GPU Virgil3D для QEMU / KVM), а таксама падтрымка Vulkan 1.2 для карт Intel і AMD.

Сярод змен:

  • Дададзена праслойка для выбару актыўнай прылады для API Vulkan у сістэмах з некалькімі GPU з падтрымкай Vulkan, якая працуе па аналогіі з DRI_PRIME для OpenGL. Для выбару актыўнага драйвера і GPU прадугледжана зменная асяроддзі MESA_VK_DEVICE_SELECT (калі не ўсталявана выкарыстоўваецца DRI_PRIME).
  • У драйверы i965 і iris для GPU Intel дададзеная падтрымка чаканых у наступным годзе чыпаў на базе новай мікраархітэктуры. Возера Ракета.
  • У які развіваецца для GPU Intel Vulkan-драйвер ANV дададзена аптымізацыя для чыпаў на базе мікраархітэктуры Icelake (Gen11), якая дапускае выкарыстанне чыстых кветак пры тэкстураванні. Пры тэставанні ў Dota2 змена дазволіла зменшыць лік аперацый пераўтварэнні кветак на 95% і падвысіць прадукцыйнасць на 3.5%.
  • У Vulkan-драйверы ANV падвышаная эфектыўнасць выкарыстання кэша на сістэмах з чыпамі Intel Ivybridge і Haswell. Выкарыстанне тэстаў вылічальных функцый Vulkan з набору Geekbench 5 паказала прырост прадукцыйнасці на 330% на абсталяванні Haswell GT3 (прырост за рахунак таго, што раней кэш у некаторых умовах не выкарыстоўваўся).
  • У драйверы для GPU Intel (i965, вясёлкавая абалонка) дададзены рэжым "чорнай дзюры" (OpenGL-пашырэнне INTEL_blackhole_render), які адключае ўсе аперацыі рэндэрынгу, якія перадаюцца GPU, але захоўвае апрацоўку аперацый OpenGL.
  • Для графічных чыпаў Intel партаваная раней дададзеная для чыпаў AMD падтрымка вектарызацыі NIR, бестыповага прамежкавага прадстаўлення (IR) шэйдараў, накіраванага на працу на самым ніжнім узроўні, пад GLSL IR і унутраным IR Mesa. З практычнага боку за кошт больш якаснай аптымізацыі шэйдараў змена дазволіла падняць прадукцыйнасць працы OpenGL і Vulkan у шматлікіх гульнях на сістэмах з GPU Intel. Напрыклад, у гульні
    Паўстанне Raider Tomb адзначаецца прырост прадукцыйнасці на 3%, а ў Shadow of the Tomb Raider на 10%.

  • У бэкэнд для кампіляцыі шэйдараўACO«, Які развіваецца кампаніяй Valve ў якасці альтэрнатывы кампілятару шэйдараў LLVM, для GPU GFX9 + дададзена падтрымка тыпу shaderInt16, які дазваляе выкарыстоўваць 16-разрадныя цэлыя лікі ў кодзе шэйдараў. Для
    GPU AMD Navi (GFX10) забяспечана ужыванне рухавікоў NGG (Next-Gen Geometry) пры працы з вяршынямі і тесселяционными шэйдарамі.

  • Для GPU AMD Navi 12 і Navi 14 ўключаная падтрымка рэжыму які адлюстроўваецца DCC (Delta Сolor Сompression), які забяспечвае працу са сціснутымі дадзенымі кветак пры арганізацыі высновы на экран.
  • Дададзена эксперыментальная падтрымка NIR для класічнага Gallium3D-драйвера R600 (AMD Radeon HD 2000-6000) з падтрымкай геаметрычных, фрагментных, вяршынных і тэселяцыйных шэйдараў.
  • У Vulkan драйвер RADV дададзены патч за кошт аптымізацыі працы з памяццю які павялічвае прадукцыйнасць гульняў Id Tech на сістэмах з APU AMD.
  • У драйверы Panfrost рэалізавана эксперыментальная падтрымка OpenGL ES 3.0 і забяспечана падтрымка 3D-рэндэрынгу для GPU Bifrost (Mali G31). Падрыхтавана пачатковая рэалізацыя кампілятара шэйдараў, які падтрымлівае спецыфічны для GPU Bifrost набор унутраных інструкцый.
  • У Vulkan-драйвер TURNIP, які развіваецца для GPU Qualcomm Adreno, дададзена падтрымка геаметрычных шэйдараў і чыпаў Adreno 650.
  • У Gallium3D-драйверы LLVMpipe, які забяспечвае праграмную адмалёўку, з'явілася падтрымка теселяцыйных шэйдараў.
  • Унесена вялікая порцыя аптымізацый у glthread (шматструменная рэалізацыя OpenGL). Пасля занясення змен прадукцыйнасць гоначнага сімулятара Torcs вырасла на 16% у канфігурацыі па змаўчанні і на 40% пры ўключэнні glthread.
  • Дададзена опцыя allow_draw_out_of_order (уключаецца праз driconf) для ўключэння аптымізацый для паскарэння аперацый неўпарадкаванай адмалёўкі, характэрных для САПР. Пры ўключэнні опцыі ў тэсце Viewperf11 Catia назіраецца паскарэнне ў 7%.
  • Дададзены новыя пашырэнні OpenGL:
  • У Vulkan-драйвер RADV (для карт AMD) дададзены пашырэнні:
  • У Vulkan-драйвер ANV (для карт Intel) дададзены пашырэнні:

    Крыніца: opennet.ru

Дадаць каментар