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

Прадстаўлены рэліз свабоднай рэалізацыі API OpenGL і Vulkan Mesa 19.3.0. Першы выпуск галінкі Mesa 19.3.0 мае эксперыментальны статус - пасля правядзення канчатковай стабілізацыі кода будзе выпушчана стабільная версія 19.3.1. У Mesa 19.3 рэалізавана поўная падтрымка OpenGL 4.6 для GPU Intel (драйверы i965, iris), падтрымка OpenGL 4.5/600 для GPU AMD (r0, radeonsi) і NVIDIA (nvc1.1), а таксама падтрымка Vulkan 4.6 для карт Intel і AMD. Учора змены для падтрымкі OpenGL XNUMX таксама дададзены у драйвер radeonsi, але ў галінку Mesa 19.3/XNUMX яны не ўвайшлі.

Сярод змен:

  • Для RADV (Vulkan-драйвер для чыпаў AMD) прапанаваны новы бэкенд для кампіляцыі шэйдараўACO«, Які развіваецца кампаніяй Valve ў якасці альтэрнатывы кампілятару шэйдараў LLVM. Бэкенд накіраваны на забеспячэнне генерацыі кода, наколькі гэта магчыма аптымальнага для шэйдараў гульнявых прыкладанняў, а таксама на дасягненне вельмі высокай хуткасці кампіляцыі. ACO напісаны на мове З++, распрацоўваецца з аглядкай на магчымасць ужывання для JIT-кампіляцыі і выкарыстае хуткія для перабору структуры дадзеных, пазбягаючы структур на аснове паказальнікаў. Прамежкавае паданне кода цалкам засноўваецца на SSA (Static Single Assignment) і дазваляе выконваць размеркаванне рэгістраў, сапраўды папярэдне вылічаючы рэгістр у залежнасці ад шэйдара. ACO можа быць актываваны для GPU Vega 8, Vega 9, Vega 10 і Navi 10 праз выстаўленне зменнай асяроддзі "RADV_PERFTEST=aco";
  • У кодавую базу ўключаны Gallium3D-драйвер Zink, які рэалізуе API OpenGL па-над Vulkan. Zink дазваляе атрымаць апаратна паскораны OpenGL пры наяўнасці ў сістэме драйвераў, абмежаваных падтрымкай толькі API Vulkan;
  • У Vulkan-драйверы ANV і OpenGL-драйверы iris рэалізавана пачатковая падтрымка 12 пакаленні чыпаў Intel (Tiger Lake, gen12). У ядро ​​Linux, кампаненты для падтрымкі Tiger Lake, уключаны пачынальна з выпуску 5.4;
  • У драйверах i965 і iris забяспечана падтрымка прамежкавага прадстаўлення шэйдараў SPIR-V, што дазволіла дабіцца ў дадзеных драйверах поўнай падтрымкі. OpenGL 4.6;
  • У драйвер RadeonSI дададзеная падтрымка GPU AMD Navi 14 і палепшаны сродкі паскарэння дэкадавання відэа, напрыклад, дададзеная падтрымка дэкадавання відэа з дазволам 8K у фарматах H.265 і VP9;
  • У Vulkan-драйвер RADV дададзена падтрымка рэжыму абароненай кампіляцыі, У якім запускаюцца для кампіляцыі шэйдараў патокі ізалююцца пры дапамозе механізму seccomp. Рэжым уключаецца пры дапамозе зменнай асяроддзя RADV_SECURE_COMPILE_THREADS;
  • У драйверах для чыпаў AMD задзейнічаны які з'явіўся ў модулі ядра AMDGPU праграмны інтэрфейс для скіду GPU;
  • Праведзена праца па падвышэнні прадукцыйнасці на сістэмах з APU AMD Radeon. Таксама падвышаная прадукцыйнасць Gallium3D-драйвера Iris для GPU Intel;
  • У Gallium3D-драйверы LLVMpipe, які забяспечвае праграмную адмалёўку, з'явілася падтрымка вылічальных шэйдараў;
  • Сістэма кэшавання шэйдараў на дыску аптымізавана для сістэм, якія ўключаюць больш за 4 ядры CPU;
  • Забяспечана прымяненне сістэмы зборкі Meson для кампіляцыі ў Windows з выкарыстаннем MSVC і MinGW. Выкарыстанне для зборкі scons абвешчана састарэлым для сістэм, выдатных ад Windows;
  • Рэалізавана EGL-пашырэнне EGL_EXT_image_flush_external;
  • Дададзены новыя пашырэнні OpenGL:
  • У Vulkan-драйвер RADV (для карт AMD) дададзены пашырэнні:
  • У Vulkan-драйвер ANV (для карт Intel) дададзены пашырэнні:

Дадаткова можна адзначыць публікацыю кампаніяй AMD дакументацыі па архітэктуры каманд APU "Vega" 7nm на базе мікраархітэктуры GCN (Graphics Core Next).

Крыніца: opennet.ru

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