Објавување на имплементации DXVK 2.0, Direct3D 9/10/11 на врвот на Vulkan API

Објавувањето на слојот DXVK 2.0 е достапно, обезбедувајќи имплементација на DXGI (DirectX Graphics Infrastructure), Direct3D 9, 10 и 11, што работи преку превод на повици до Vulkan API. DXVK бара драјвери што го поддржуваат Vulkan 1.3 API, како што се Mesa RADV 22.0, NVIDIA 510.47.03, Intel ANV 22.0 и AMDVLK. DXVK може да се користи за извршување на 3D апликации и игри на Linux со помош на Wine, служејќи како алтернатива со повисоки перформанси на вградените Direct3D 9/10/11 имплементации на Wine кои работат на врвот на OpenGL.

Главни промени:

  • Барањата за верзијата на графичкиот API на Vulkan се зголемени - сега бара драјвер со поддршка за Vulkan 1.3 (претходно беше потребен Vulkan 1.1), што овозможи да се имплементира поддршка за нови функции поврзани со компилација на шејдер. Во пракса, DXVK 2.0 може да се стартува на кој било систем што поддржува употреба на Протон Експериментален пакет за извршување игри базирани на 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 се прекинати, кои не беа стандардно инсталирани поради присуството на понапредна имплементација на D3D10 во виното. Во исто време, поддршката за D3D10 API продолжува во библиотеката d3d10core.dll.
  • Поддршката за Direct3D 11 е доведена до ниво на функционалност 12_1 (Ниво на карактеристики D3D11), за да се постигнат карактеристиките како што се ресурси со плочки, конзервативна растеризација и прегледи наредени со растеризатор.
  • Имплементацијата на интерфејсот ID3D11DeviceContext, кој го претставува контекстот на уредот кој генерира команди за цртање, е редизајниран и е поблизок во своето однесување до Windows. Повторната работа ја подобри компатибилноста со библиотеките од трети страни и го намали оптоварувањето на процесорот. Особено, оптоварувањето на процесорот е намалено во игрите кои активно користат одложени контексти (на пример, Assassin's Creed: Origins) или често ја нарекуваат операцијата ClearState (на пример, God of War).
  • Направени се промени поврзани со компилацијата на шејдер. Во присуство на драјвери на Vulkan со поддршка за екстензијата VK_EXT_graphics_pipeline_library, компилацијата на шејдерите на Vulkan се имплементира додека игрите се вчитуваат D3D шејдери, а не за време на рендерирање, што ги реши проблемите со замрзнување поради компилација на шејдери за време на играта. Потребната екстензија моментално е поддржана само во комерцијални драјвери на NVIDIA, почнувајќи од верзијата 520.56.06.
  • Шејдерите D3D11 го користат моделот на меморија Vulkan.
  • Отстрането е ограничувањето на бројот на ресурси што може да се врзат истовремено.
  • Поправени проблеми што се појавија во игрите:
    • Алан Разбуди
    • Алис лудило се враќа
    • Аномалија: Земја на воената зона
    • Надвор од доброто и злото
    • Потекло на ерата на змејот
    • Империја: Тотална војна
    • Final Fantasy XV
    • Grand Theft Auto IV
    • Херои на уништените империи
    • Ограничете го Кралот на борците XIII
    • Metal Gear Solid V: нула на земјата
    • SiN епизоди: Појава
    • Sonic Генерации
    • човек пајак
    • Бродот
    • Warhammer преку Интернет
    • Седум имаш

Извор: opennet.ru

Додадете коментар