No doubt some of our readers will be in for a busy weekend testing, with another release of DXVK now officially available.
Developer Philip Rebohle put out DXVK 1.4.3 this evening which adds in a new file format for the state cache, which should give smaller files. The state cache from previous versions of DXVK should be converted automatically, so no manual effort is required.
Additionally, even more performance is continuing to be squeezed out of this Vulkan layer for Wine as it has a reduction in CPU overhead. It was noted that it should be of particular benefit to those games that have a large number of different shaders. Frankly, I'm amazed Rebohle can somehow still push the performance even further.
On top of that, a few bug fixes were added into the mix too:
- Fixed incorrect barriers in case graphics shaders write to UAVs.
- Fixed incorrect MSAA sample positions being reported to shaders.
- Fixed some MSVC compiler warnings (#1218).
Find DXVK on GitHub.
I would like some coding to be done to allow better freesync or VRR support, maybe allowing it to function regardless of monitor(s) setups. That be neat, atm gsync and freesync only work once second monitors are disabled and only if flipping is enabled and compositing is disabled, its got quite a long list of CONDITIONS to get variable refresh rate working.
And even after all that is met, you can still end up with screen flicker like I experience even tho it doesn't exist under Windows (which lets me run at lower VRR rates btw).
Quoting: F.UltraLooked over the list at https://wiki.winehq.org/Vkd3d_known_issues and oboy you where not kidding. The difference in binding model and heap descriptors does not sound fun at all, reducing overhead there is going to be a major pain.
What are the advantages of DX12 over Vulkan for developers? I can only think of the Xbox support.
Quoting: TheRiddickI would like some coding to be done to allow better freesync or VRR support, maybe allowing it to function regardless of monitor(s) setups.All of that is down to the Linux graphics stack, games/dxvk/whatever can't really do anything at all to improve the situation.
Quoting: 1xokWhat are the advantages of DX12 over Vulkan for developers? I can only think of the Xbox support.Well, for starters, D3D12 works on all Windows 10 systems and has excellent driver support from all vendors.
Windows drivers shipping with Windows Update sometimes don't come with Vulkan support -> games straigt-up don't work. Driver quality is also way worse (AMD is pretty bad, Intel seems to be especially bad, only Nvidia is acceptable these days - and that also was a whole different story ~2 years ago).
Tools are fine these days, but developers who are used to the Microsoft ecosystem will want to use Microsoft's tools, which obviously don't support Vulkan either.
For end users, Vulkan games are always annoying because stuff like OBS doesn't support Vulkan properly.
There's a ton of reasons why we probably won't see many Vulkan games on Windows, but the API itself isn't really one of them (I've seen people rant about how much better designed D3D12 is, but I'd wholeheartedly disagree there).
Quoting: XpanderWorld of Warcraft Classic started having heavy freezes after reaching to new areas or completing quests, like 1-2 sec freezes.Sounds like your average shader compiler stutter. 1.4.3 does change some shader code and WoW doesn't really make use of the state cache as well as it could.
There have been no other changes in the code that could cause this.
Quoting: TheRiddickWoW Classis uses DirectX9 doesn't it? is that not D9VK?WoW classic only supports D3D11.
Last edited by YoRHa-2B on 19 October 2019 at 1:15 pm UTC
Quoting: YoRHa-2BIs it primarily harder because there aren't solutions in place or because the way D3D12 works? Like if Vulkan were to have feature parity with D3D12, if that's right way to put it, would that make mapping to Vulkan easier?Quoting: LinuxwarperDo you think that it will be easier to get closer to Windows performance with VKD3D for DX12 games than with DXVK and DX11 games? Considering the similarities DX12 and Vulkan share and the opposite for DX11 and Vulkan.Believe it or not, but mapping D3D12 to Vulkan is harder than D3D11. Yes, the APIs are similar in concept, but there are many little details which make it rather painful and introduce overhead in vkd3d. D3D11 might need more code, but it's fairly straight-forward for the most part since its abstractions are higher-level.
That said, in games where D3D12 is significantly better than D3D11, you'll find that vkd3d beats dxvk by a fair margin as well, so it's by no means slow, but there are quite a few nasty issues to sort out.
Quoting: LinuxwarperIs it primarily harder because there aren't solutions in place or because the way D3D12 works? Like if Vulkan were to have feature parity with D3D12, if that's right way to put it, would that make mapping to Vulkan easier?Both. There are some extensions in the works that will solve some problems, but others are caused by fundamental differences in the API - Vulkan is a lot more explicit, and that's where things get really nasty. Right now, vkd3d technically violates the Vulkan spec quite badly because of that, and fixing it will be very hard and potentially come at a cost.
Last edited by YoRHa-2B on 19 October 2019 at 5:09 pm UTC
err: DxvkMemoryAllocator: Memory allocation failed
err: Size: 33554432
err: Alignment: 256
err: Mem flags: 0x6
err: Mem types: 0x681
err: Heap 0: 1105 MB allocated, 969 MB used, 1149 MB allocated (driver), 7616 MB budget (driver), 8192 MB total
err: Heap 1: 976 MB allocated, 934 MB used, 1035 MB allocated (driver), 11955 MB budget (driver), 11955 MB total
err: DxvkMemoryAllocator: Memory allocation failed
See more from me