Выпуск DXVK 2.0, рэалізацыі Direct3D 9/10/11 па-над API Vulkan

Даступны выпуск праслойкі DXVK 2.0, якая прадстаўляе рэалізацыю DXGI (DirectX Graphics Infrastructure), Direct3D 9, 10 і 11, якая працуе праз трансляцыю выклікаў у API Vulkan. Для выкарыстання DXVK патрабуецца наяўнасць драйвераў з падтрымкай API Vulkan 1.3, такіх як Mesa RADV 22.0, NVIDIA 510.47.03, Intel ANV 22.0 і AMDVLK. DXVK можа ўжывацца для запуску 3D-прыкладанняў і гульняў у Linux пры дапамозе Wine, выступаючы ў якасці больш высокапрадукцыйнай альтэрнатывы убудаваных у Wine рэалізацый Direct3D 9/10/11, якія працуюць па-над OpenGL.

Асноўныя змены:

  • Падвышаныя патрабаванні да версіі графічнага API Vulkan – для працы зараз патрабуецца драйвер з падтрымкай Vulkan 1.3 (раней быў неабходны Vulkan 1.1), што дазволіла рэалізаваць падтрымку новых магчымасцяў, злучаных з кампіляцыяй шэйдараў. На практыку DXVK 2.0 можна запусціць на любой сістэме, на якой падтрымліваецца выкарыстанне пакета Proton Experimental для запуску гульняў на базе D3D11 і D3D12. Для працы winevulkan патрабуецца прынамсі Wine 7.1.
  • У склад прыняты код праекта dxvk-native, які дазваляе фармаваць родныя зборкі DXVK для Linux (не прывязаныя да Wine), якія можна выкарыстоўваць не для запуску Windows-прыкладанняў, а ў звычайных Linux-прыкладаннях, што можа быць карысным для стварэння партоў гульняў для Linux без змены кода адмалёўкі на базе D3D.
  • Пашырана падтрымка Direct3D 9, у тым ліку палепшана кіраванне памяццю (для захоўвання копій тэкстур задзейнічаны адлюстраваныя ў памяць файлы), рэалізавана падтрымка карэктнага чытання з актыўных абласцей адмалёўкі (вырашыла праблемы са з'яўленнем артэфактаў пры гульні ў GTA IV) і перапрацавана рэалізацыя праверкі.
  • Для Direct3D 10 спынена пастаўка бібліятэк d3d10.dll і d3d10_1.dll, якія не ўсталёўваліся па змаўчанні з-за наяўнасці ў wine больш прасунутай рэалізацыі D3D10. Пры гэтым падтрымка API D3D10 працягнута ў бібліятэцы d3d10core.dll.
  • Падтрымка Direct3D 11 даведзена да ўзроўню функцыянальнасці 12_1 (D3D11 Feaure Level), для дасягнення якога рэалізаваны такія магчымасці, як мазаічныя рэсурсы (Tiled Resources), кансерватыўная растэрызацыя (Conservative Rasterization) і спарадкаваная адмалёўка ў растэрызатары (Rasteri.
  • Пераробленая і набліжаная па сваіх паводзінах да Windows рэалізацыя інтэрфейсу ID3D11DeviceContext, уяўлялага кантэкст прылады, які генеруе каманды адмалёўкі. Перапрацоўка дазволіла палепшыць сумяшчальнасць са іншымі бібліятэкамі і скараціць нагрузку на CPU. У прыватнасці, зніжана нагрузка на CPU у гульнях, якія актыўна выкарыстоўваюць адкладзеныя кантэксты (напрыклад, гульня Assassin's Creed: Origins) або часта выклікаюць аперацыю ClearState (напрыклад, гульня God of War).
  • Унесены змены, звязаныя з кампіляцыяй шэйдараў. Пры наяўнасці Vulkan-драйвераў з падтрымкай пашырэння VK_EXT_graphics_pipeline_library рэалізавана кампіляцыя шэйдараў Vulkan падчас загрузкі гульнямі шэйдараў D3D, а не падчас адмалёўкі, што вырашыла праблемы з падвісання з-за кампіляцыі шэйдараў падчас гульні. Патрабаванае пашырэнне пакуль падтрымліваецца толькі ў прапрыетарных драйверах NVIDIA, пачынальна з версіі 520.56.06.
  • У шэйдарах D3D11 задзейнічана мадэль памяці Vulkan.
  • Убрана абмежаванне на колькасць рэсурсаў, якія могуць быць прывязаны за адзін раз.
  • Ухілены праблемы, якія выяўляюцца ў гульнях:
    • Alan Wake
    • Аліса вар'яцтва вяртаецца
    • Анамалія: Зямля вайны
    • Па-за Дабра і Зла
    • Паходжанне цмокавага веку
    • Empire: Total War
    • Final Fantasy XV
    • Grand Theft Auto IV
    • Heroes Of Annihilated Empires
    • Limit King Of Fighters XIII
    • Metal Gear Solid V: Наземныя Нулі
    • SiN Episodes: Emergence
    • Sonic Generations
    • чалавек павук
    • The Ship
    • Warhammer Інтэрнэт
    • Да сем

Крыніца: opennet.ru

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