Developer Philip Rebohle just released DXVK 1.3, a fun sounding version of the Vulkan-based D3D11 and D3D10 implementation for Wine with some new features.
Using the new "VK_EXT_shader_demote_to_helper_invocation" extension from Vulkan version 1.1.113 (released on June 30th), DXVK can use it to "implement the discard instruction in shaders, which may improve performance in some games". To make use of it, you need a winevulkan update as well as new drivers:
- AMD: Not supported
- Intel: Mesa 19.2-git
- NVIDIA: 418.52.14 (info)
You don't need to go rush off to upgrade though, if you don't have it DXVK will still work. So eventually everyone should get it through normal driver updates.
DXVK has also introduced "Asynchronous presentation" to hopefully reduce stalls on the main rendering thread. This makes use of the command submission thread that came in DXVK 1.2. Quake Champions is noted to see improvements on AMD GPUs and other games might improve with "high frame rates and when command submission is expensive".
It's also seen some "resource upload changes", making use of the "copy engines of the Vulkan device for initial resource uploads" which might improve frame time consistency in certain games. Which is supported on AMDVLK and NVIDIA drivers.
Additionally, these noted bugs were fixed:
- Removed busy-waiting during presentation. This change will most likely not affect performance, but can reduce CPU load considerably in GPU-limited scenarios.
- Improved error logging in out-of-memory conditions (PR #1112)
- Improved MSVC compatibility (PR #945, PR #1110)
- Fixed incorrect behaviour when an already mapped image subresource gets mapped again. Encountered in Final Fantasy XIV.
- Scrap Mechanic: Fixed crash caused by incorrect "RSGetViewport" behaviour (#1116, PR #1117)
See the full changelog here on GitHub. Good stuff from Rebohle!