Dostupan je izlaz sloja DXVK 2.0, koji pruža implementaciju DXGI (DirectX Graphics Infrastructure), Direct3D 9, 10 i 11, koja radi putem transkripcije poziva u Vulkan API. Za korištenje DXVK-a potrebni su drajveri s podrškom za Vulkan 1.3, poput Mesa RADV 22.0, NVIDIA 510.47.03, Intel ANV 22.0 i AMDVLK. DXVK se može koristiti za pokretanje 3D aplikacija i igara na Linuxu pomoću Wine-a, služeći kao visoko performativna alternativa ugrađenim implementacijama Direct3D 9/10/11 u Wine-u, koje rade na temelju OpenGL-a.
Glavne promjene:
- Povećani su zahtjevi za verziju grafičkog API-a Vulkan — sada je potreban drajver s podrškom za Vulkan 1.3 (prije je bio potreban Vulkan 1.1), što je omogućilo implementaciju novih mogućnosti vezanih za kompilaciju šejdera. U praksi, DXVK 2.0 može se pokrenuti na bilo kojem sustavu koji podržava korištenje paketa Proton Experimental za pokretanje igara temeljenih na D3D11 i D3D12. Za rad winevulkan potrebno je barem Wine 7.1.
- Uključiv kod projekta dxvk-native, koji omogućava kreiranje nativnih paketa DXVK za Linux (nevezanih za Wine), koji se mogu koristiti ne samo za pokretanje Windows aplikacija, već i u običnim Linux aplikacijama, što može biti korisno za stvaranje portova igara za Linux bez mijenjanja koda za prikazivanje temeljenog na D3D-u.
- Proširena je podrška za Direct3D 9, uključujući poboljšano upravljanje memorijom (za pohranu kopija tekstura korišteni su odraženi u memoriju datoteke), implementirana je podrška za ispravno čitanje iz aktivnih područja prikazivanja (riješene su probleme s pojavom artefakata prilikom igranja GTA IV) i redizajniran je mehanizam provjere prozirnosti.
- Za Direct3D 10 prestala je isporuka biblioteka d3d10.dll i d3d10_1.dll, koje se nisu instalirale prema zadanim postavkama zbog prisutnosti naprednijih implementacija D3D10 u Wine-u. Ipak, podrška za API D3D10 nastavljena je u biblioteci d3d10core.dll.
- Podrška za Direct3D 11 je dovedena do razine funkcionalnosti 12_1 (D3D11 Feature Level), za postizanje koje su implementirane takve mogućnosti kao mozaik resursa (Tiled Resources), konzervativna rasterizacija (Conservative Rasterization) i uredno prikazivanje u rasterizatoru (Rasterizer Ordered Views).
- Preuređena i ponašanjem prilagođena Windows verziji sučelja ID3D11DeviceContext, koje predstavlja uređajni kontekst koji generira naredbe za renderiranje. Ova preinaka omogućila je poboljšanje kompatibilnosti s vanjskim bibliotekama i smanjenje opterećenja na CPU. Konkretno, smanjeno je opterećenje na CPU u igrama koje aktivno koriste odložene kontekste (na primjer, igra Assassin’s Creed: Origins) ili često pozivaju operaciju ClearState (na primjer, igra God of War).
- Unesene su izmjene vezane uz kompilaciju shadera. Kada su prisutni Vulkan driveri koji podržavaju ekstenziju VK_EXT_graphics_pipeline_library, implementirana je kompilacija Vulkan shadera tijekom učitavanja D3D shader-a od strane igara, a ne tijekom renderiranja, što je riješilo probleme s zamrzavanjem zbog kompilacije shadera tijekom igre. Zahtijevana ekstenzija trenutno se podržava samo u proprietarnim NVIDIA driverima, počevši od verzije 520.56.06.
- U D3D11 shaderima korišten je model memorije Vulkan.
- Uklonjeno je ograničenje na broj resursa koji se mogu vezati odjednom.
- Rešeni su problemi koji se manifestuju u igrama:
- Alan Wake
- Alice Madness Returns
- Anomaly: Warzone Earth
- Beyond Good and Evil
- Dragon Age Origins
- Empire: Total War
- Final Fantasy XV
- Grand Theft Auto IV
- Heroes Of Annihilated Empires
- Limit King Of Fighters XIII
- Metal Gear Solid V: Ground Zeroes
- SiN Episodes: Emergence
- Sonic Generations
- Spider Man
- The Ship
- Warhammer Online
- Ys Seven
Izvor: opennet.ru
