github doitsujin/dxvk v2.6
Version 2.6

one day ago

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 War, Overwatch 2, Quake 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 Flag, Watch Dogs, Stalker: Clear Sky, and others.
    Note: This may have a small impact on performance and 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.

Don't miss a new dxvk release

NewReleases is sending notifications on new releases.