Software 43161 Published by

DXVK 2.6 has been released, featuring Nvidia Reflex support in D3D11 games including God of War, Overwatch 2, and Quake Champions. It is important to note that Reflex is not compatible with the majority of Unreal Engine 4 games when operating in D3D11 mode; therefore, users are advised to utilize D3D12 instead.

Recent updates focus on addressing various issues, including a prevalent game bug that resulted in distorted output on Nvidia systems when utilizing MSAA. These enhancements may lead to better GPU-bound performance in titles leveraging the NVAPI UAV Overlap feature, as well as a reduction in CPU overhead for certain games that inefficiently manage resource binding methods. The update addresses several issues in games utilizing both software and hardware cursors, resolves regressions that resulted in improper texture binding, and corrects minor problems leading to wine test failures.





Improvements include a comprehensive reworking of the Vulkan swapchain implementation for enhanced robustness, increased efficiency in multisample resolves on tiling GPUs, and the resolution of a crash that occurs when an application unloads the SetupAPI DLL. Resource initialization is consistently executed on the asynchronous transfer queue when feasible, eliminating the need for extra memory on drivers that are compatible with Vulkan sparse residency features.

Here the full announcement:

DXVK Version 2.6

D3D10 / D3D11

Nvidia Reflex support

When running Proton Experimental and an Nvidia driver with VK_NV_low_latency2 support, Reflex can now be enabled in D3D11 games that support this feature. This includes God of WarOverwatch 2Quake Champions and some others. Approximate input latency can be displayed in these games by setting DXVK_HUD=latency.

Note: Reflex does not work in most Unreal Engine 4 games in D3D11 mode since LatencySleep and other related functions never get called. This cannot be worked around inside DXVK; prefer using D3D12 for affected games.

Bug fixes and Improvements

  • Worked around a common game bug that would cause garbled output on Nvidia when using MSAA. ( #4480, PR  #4731)
    This affects games such as Assassin's Creed 3 / Black FlagWatch DogsStalker: Clear Sky, and others.
    Note: This may have a small impact on performance on memory usage in affected games, including on AMD GPUs, where this issue did not manifest in rendering issues due to hardware details.
  • Potentially improved GPU-bound performance in games that use NVAPI UAVOverlap feature, such as Baldurs Gate 3.
    While this feature was supported before, our previous implementation was too conservative. (PR  #4691)
    Note: LIke other vendor extensions, this does not work on Windows.
  • Removed d3d11.dcSingleUseMode option. Submitting deferred command lists multiple times will now behave as expected by default.
    Note: This may increase memory usage in some games. Fixes rendering issues in Cardfight!! Vanguard Dear Days 2.
  • Slightly improved GPU-bound performance in modern games that extensively use pixel shader UAVs, such as Trine 5. (PR  #4693)
  • Slightly reduced CPU overhead in some games that use resource binding methods inefficiently, such as God of War.
  • Fixed layered D3D11 video processor view creation. (PR  #4651)
  • Added support for the ID3D11On12Device1 interop interface.
  • Clanfolk: Worked around a game bug that would cause missing geometry on Intel. (PR  #4716)
  • Kingdom Come: Deliverance: Fixed a case of invalid Vulkan usage. (PR  #4684)
  • Watch Dogs 2: Worked around a game bug that would cause the sky to flicker on RDNA3 GPUs. (PR  #4717)

D3D8 / D3D9

  • Fixed a race condition that could lead to crashes in games doing multi-threaded asset loading. ( #4613, PR  #4646)
  • Fixed various issues that would occur when disabling shader support via the d3d9.shaderModel option. ( #4625, PR  #4629)
  • Fixed an issue where games using both software and hardware cursors would not transition between the two smoothly. (PR  #4670)
  • Fixed a regression that would cause textures to not be bound correctly in some games. (PR  #4694)
  • Fixed an issue where games that request half-rate Vsync would run at quarter-rate instead.
  • Fixed minor issues that would cause wine test failures. (PR  #4732)
  • CivCity: Rome: Added vendor ID override to make the game render shadows on Intel GPUs. (PR  #4739)
  • Global Operations: Fixed rendering issues ( #4138, PR  #4678)
  • Need For Speed: Hot Pursuit 2: Fixed missing fog. ( #4113, PR  #4653)
  • Silent Hill 2: Fixed an issue where the menu would render incorrectly with the Silent HIll 2 Enhancements mod. ( #3943, PR  #3948)
  • Tom Clancy's Splinter Cell: Worked around alt+tab and shadow rendering issues. (PR  #4656, PR  #4660)
  • Trainz v1.3: Worked around alt+tab issue. ( #4116, PR  #4659)

General Improvements

  • Reworked Vulkan swapchain implementation to be more robust. (PR  #4609)
  • Improved efficiency of multisample resolves on tiling GPUs.
  • Fixed a regression introduced in DXVK 2.5 that would cause memory allocation errors on certain unified memory setups, including the Qualcomm proprietary driver.
    Note: This does not mean that DXVK will officially support Android, or proprietary mobile drivers.
  • Fixed a crash if an application unloads the SetupAPI DLL. This issue affected various AdvHD-based visual novels. ( #4662, PR  #4668)
  • Fixed an issue where software rasterizers such as Lavapipe would not be considered when setting DXVK_FILTER_DEVICE_NAME. (PR  #4716)
  • Resource initialization is now always performed on the asynchronous transfer queue if possible, and no longer uses additional memory on drivers that support Vulkan sparse residency features. This may save up to 64 MiB of VRAM in some games.
  • Worked around an std::regex bug that would cause games to instantly crash when using Japanese locale. (PR  #4669)
  • Worked around potential 32-bit crashes caused by stack alignment issues in GCC-compiled binaries. (PR  #4627, PR  #4633)

The  Developer guidelines wiki page was updated to reflect current implementation details.

Release Version 2.6 · doitsujin/dxvk