Releases: doitsujin/dxvk
Version 2.7.1
Bug fixes and Improvements
- Fixed a regression that would cause MSAA resolves to look like MSAA was not working in a number of D3D9 games.
- Improved performance in some D3D9 games by avoiding unnecessary render pass barriers, such as Dead Space 2 (PR #5112).
- Fixed the way tessellation factors are interpreted for line tessellation. This fixes particle rendering in DCS World and potentially other issues. (#4327)
- Added the
d3d9.modeCountCompatibility
configuration option to work around buffer overflows in older games that do not expect monitors to support more than ~16 different display modes. This fixes a crash in AquaNox 2. - Alone in the Dark: Worked around a crash on start. (PR #5158)
- Comanche 4: Worked around an issue where the in-game anti-aliasing option would only be exposed on certain GeForce4 Ti GPUs.
- Crysis 3: Removed GPU vendor override to work around an issue where the game wouldn't start after recent EA app updates.
Note that this change may cause a noticeable performance regression on AMD systems due to less efficient code paths in the game. - Dungeon Siege 2: Fixed a regression that would cause character models to not show in the menu. (#5175)
- Everybody's Gone to the Rapture: Worked around poor CPU-bound performance. (PR #5168)
- Fallout New Vegas: Added vendor override to work around an issue with the FNV Reloaded mod using an unimplemented NVAPI function on Nvidia GPUs. (PR #5136)
- Guilty Gear: Added 60 FPS cap to work around the game speeding up at higher frame rates. (#5142, PR #5143)
- PsiOps: Added 60 FPS cap to work around broken physics at higher frame rates. (PR #5145)
- Scarface: Worked around a rendering issue caused by breaking changes in D3D9 API behaviour.
- Team Fortress 2: Fixed an MSAA-related rendering issue. (#5119, PR #5132)
- The Witcher 1: Added 300 FPS cap to work around a game issue where Geralt's hair would not render properly in the inventory menu.
- Top Spin 2004: Fixed a memory leak as well as rendering issues. (PR #5155)
Version 2.7
Driver support
The Vulkan extension VK_KHR_maintenance5
is now required. DXVK has been relying on guarantees made by this extension since version 2.5, so in order to remove some maintenance burden, fallbacks that would allow older drivers to run were now removed.
Please check the driver support page on the Wiki for details.
Note: These changes will primarily affect Windows users on AMD Polaris and Vega GPUs, for which AMD has effectively discontinued driver support. On Linux, these older GPUs will keep working on RADV when using Mesa 25.0 or newer.
Due to a growing number of compatibility issues with the AMD Windows driver in general, supporting it is no longer a priority.
Binding model changes
Descriptor management was largely rewritten and modernized. On newer AMD and Nvidia cards, VK_EXT_descriptor_buffer
is now used by default, which significantly reduces CPU overhead compared to the legacy binding model and may thus improve CPU-bound performance in games such as Final Fantasy XIV, God of War, Metaphor: ReFantazio, Watch Dogs 2 and others.
This feature remains disabled on older GPUs due to severe performance regressions in some cases, specifically on Nvidia Pascal or older, as well as AMD RDNA2 or older when using AMDVLK or the AMD Windows driver. RADV is unaffected by these issues.
Note: A small hit to GPU-bound performance is expected in some cases, in exchange for more consistent overall performance. Users can override the default behaviour with the dxvk.enableDescriptorBuffer
option. Enabling Resizeable BAR on supported systems is strongly recommended.
Memory management
Memory defragmentation is now enabled by default on Intel Battlemage and Lunar Lake GPUs. On older Intel GPUs, this feature remains disabled as it may cause rendering issues for unknown reasons, see #4395.
On discrete GPUs, DXVK will now enforce the driver-reported VRAM budget as much as possible, and dynamically evict unused resources to system memory when under memory pressure. This should improve performance in many Unity Engine titles on VRAM-constrained systems, and may allow for higher texture quality settings to be used in some games. Temporary slowdowns and stutters are still expected when exceeding VRAM capacity.
Note: This feature currently does not work as intended on AMD GPUs due to kernel driver issues.
Legacy feature removal
The state cache was introduced in Version 0.80 to reduce shader compilation stutter, and has been largely unused since the introduction of VK_EXT_graphics_pipeline_library
in DXVK 2.0. In order to reduce maintenance burden, particularly with pipeline-related changes in this release, this legacy feature was now removed.
Additionally, the d3d9.forceSwapchainMSAA
option was removed. This feature was not really useful since most games either use additional render targets or provide a built-in MSAA option themselves anyway. For games that do not provide built-in MSAA, users are encouraged to use Gamescope to run these games with a higher render resolution instead.
Bug fixes and Improvements
- Added support for planar video output views. (PR #4872).
This is required for video playback in JR EAST Train Simulator. - D3D11 shaders will now zero-initialize all variables and groupshared memory by default in order to work around game bugs resulting in undefined behaviour. The
d3d11.zeroWorkgroupMemory
option was removed accordingly. - Optimized D3D9
StretchRect
in certain multisample resolve cases encountered in Source Engine. (PR #5023) - Fixed an instance of invalid Vulkan usage in Modulus, and possibly other Unity Engine games that use the D3D11 video API.
- Implemented support for the
ID3DDestructionNotifier
interface. - Vulkan devices that lack the required feature support to run DXVK will no longer be listed as DXGI / D3D9 adapters. This may fix crashes in case an outdated graphics driver or an unsupported integrated GPU are present on the system.
- Trying to build DXVK in a MinGW environment with AVX enabled will now result in a compile-time error.
We cannot support AVX builds due to toolchain issues, nor is it expected to be beneficial. - Astebreed: Fixed crash when changing graphics options. (PR #5034)
- GTR - FIA GT Racing Game: Worked around a game issue that would cause it to not start. (PR #5072)
- LEGO City Undercover: Worked around a game issue that would cause the intro video to be broken. (#4997, PR #5000)
- Star Trek: Starfleet Command III: Worked around resource leak in GOG build. (PR #5056)
- Test Drive Unlimited 2: Worked around alt-tab issue causing input loss. (PR #5057)
- Wargame: European Escalation: Worked around gamma issue when the game detects an Nvidia GPU. (PR #5055)
Version 2.6.2
This is a maintenance release intended to fix some bugs and regressions from version 2.6.1. It is not based on latest development code and does not use or require any new Vulkan features.
Bug fixes and Improvements
- Added
DXVK_FILTER_DEVICE_UUID
environment variable to filter devices by their reported driver UUID. (PR #4956)
This may be useful on setups with multiple GPUs of the same model. - Improved vendor ID override logic for D3D9 and added
d3d9.hide{Amd,Intel,Nvidia}Gpu
configuration options to improve the out-of-the-box experience in games that refuse to run on Intel GPUs, or only run with significantly reduced graphics features. (PR #4869) - Improved WSI backend selection in dxvk-native.
- D3D9 vendor hack features are now only exposed when reporting a GPU vendor that supports the given feature on Windows.
This may avoid issues in case games make assumptions based on vendor IDs rather than format queries. - FIxed an issue that could lead to one eye not updating properly in some VR games.
- Fixed log spam for unsupported D3D8 render states. (#4918)
- Fixed log spam for frequent DXGI adapter queries.
- osu! stable: Fixed black screen in D3D9 mode. (#4769, PR #4984)
- Pirate Hunter: Worked around out-of-memory crash. (PR #4922)
- Red Orchestra: Ostfront: Worked around alt+tab issues. (PR #4919)
- Rocketbirds 2: Worked around a game bug that would cause the intro video to be garbled.
- Thumper: Worked around track rendering issues on Intel. (#4861, PR #4866)
Version 2.6.1
Bug fixes and Improvements
- Removed sparse buffer usage that was introduced in DXVK 2.6. This caused all sorts of driver issues that would cause hangs and instability on AMD Vega GPUs and others. (PR #4763)
Note: This may increase peak memory usage in some games again. - Worked around an RTSS bug that would cause the overlay to render incorrectly if the Vulkan swapchain uses an sRGB format. (#4777, PR #4778)
- Worked around an issue where multisample resolves would lead to visual issues on Nvidia in certain Unity Engine games. (#4817, PR #4818)
- Worked around an Intel ANV issue that would cause terrain to misrender in games such as Assassin's Creed Origins.
Note: This driver bug was fixed in Mesa 25.0.3. - Worked around a RADV issue that would cause hangs on RDNA4 GPUs prior to Mesa 25.0.2.
Note: Please keep your drivers up to date when using these newer GPUs. - Further improved render pass efficiency for tiling GPUs in some cases, especially if
VK_KHR_load_store_op_none
is supported.
Note: This change does not affect desktop GPUs in any meaningful way. - Fixed a potential issue with display mode handling on uncommon monitor setups. (PR #4764)
- Fixed various issues with the SDL3 backend in dxvk-native. (PR #4825, PR #4826)
- Fixed compatibility of MSVC builds with very old CPUs. (PR #4811)
- Fixed various minor issues that would cause Vulkan validation errors in rare scenarios.
- Hitman 2: Worked around poor CPU-bound performance in certain areas. (PR #4796)
Note: This may slightly regress GPU-bound performance. - LEGO Batman: The Video Game and LEGO Indiana Jones: The Original Adventures: Worked around a game issue causing horrible UI performance. (PR #4798, PR #4810)
- Need For Speed: Most Wanted (2005): Worked around a crash on Windows. (#4624)
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 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.
Version 2.5.3
Windows changes
In order to address feedback regarding issues with variable refresh rate displays, performance and HDR, exclusive full-screen mode was reintroduced as an option. It remains disabled by default, but users can enable it by setting dxvk.allowFse = True
in the configuration file.
As usual, this option has no effect on non-Windows platforms.
Bug fixes and Improvements
- Fixed a regression that would cause severe rendering issues in many D3D8 and D3D9 games that use fixed-function rendering. (PR #4533)
- Fixed invalid shader code generation for certain rare texture operations in D3D11.
This fixes a potential crash in TopSpin 2k25. (PR #4576) - Fixed a potential issue with handling
NaN
tessellation factors in D3D11 hull shaders. - Fixed an issue with D3D9 shader validation that would cause valid shader code to be rejected in some situations. (#4576, PR #4590)
- Improved the debugging experience when
DXVK_DEBUG=markers
is set. (PR #4589, PR #4591) - Arcana Heart 3 Love Max!!!!!: Enabled 60 FPS limit to work around a game issue on Steam Deck OLED. (PR #4566)
- Bright Memory: Worked around an issue where the game would prioritize integrated graphics over dedicated Intel GPUs. (PR #4605)
- Far Cry 5: Worked around an issue that would cause terrain to be invisible on Intel GPUs. (PR #4604)
- Halo: The Master Chief Collection: Fixed a shader-related issue that would cause flickering objects on some drivers. (PR #4603)
- Max Payne 3: Enabled strict float emulation to work around broken rendering in D3D9 mode. (PR #4611)
- The Hurricane of the Varstray -Collateral hazard-: Enabled 60 FPS limit to work around game issues when running in windowed mode. (#4568, PR #4573)
Version 2.5.2
Windows changes
On Windows, if VK_EXT_fullscreen_exclusive
is supported, DXVK will now always try to disable exclusive fullscreen in an attempt to work around common alt-tab issues, as well as issues with numerous games that mix D3D9 with GDI user interfaces. Whether this is honored is up to the graphics driver. (#4465, PR #4485)
Previously, this was only done for D3D9 applications that explicitly enabled support for GDI dialog boxes in fullscreen mode. The d3d9.enableDialogMode
configuration option to control that behaviour was removed accordingly.
Note: This change may affect input latency and/or performance, depending on the exact implementation of Vulkan swap chains in the graphics driver. It does not affect Linux systems in any way since the concept of exclusive fullscreen, and thus any problems associated with it, do not exist there.
Bug fixes and Improvements
- Added an implementation of D3D9 shader validation interfaces. This is needed for The Void and used in several other D3D9 games. (PR #4398)
- Fixed behaviour when D3D9 applications use incorrect texture types as seen in Alpha Protocol. (PR #4513)
- If
VK_KHR_maintenance5
is supported, DXVK will now useVK_FORMAT_A8_UNORM
to implement the corresponding D3D11 format. This fixes warnings in various games, as well as rendering issues in TopSpin 2K25 (#4514). - Optimized behaviour of disabled clip planes for D3D9 games. (PR #4508)
- Fixed an issue where the
DXVK_CONFIG
environment variable was not applied correctly under specific circumstances. - Fixed various issues causing Wine test failures for D3D8 and D3D9. (PR #4479)
- Borderlands 2: Fixed missing lava in certain places. (PR #4482)
- Codename Panzers: Phase One / Two: Work around an issue with the main menu not rendering on regular Wine builds. (PR #4495)
- The Sims 2: Extended existing app profiles to various mod tools. (#4518, PR #4520)
Version 2.5.1
Bug fixes
- Fixed a major regression where anisotropic filtering would not work correctly in D3D9 games. (#4452)
- Fixed some build issues with dxvk-native. (PR #4446)
- Fixed some build issues with recent versions of clang. (#4467)
- GTA Trilogy Definitive Edition: Work around a crash when HDR is enabled. (PR #4450)
Note: Since these games use Unreal Engine 4, HDR is unsupported in D3D11 mode.
Version 2.5
Memory managment
Resource and memory management were completely rewritten in order to use allocated video memory more efficiently:
- Reduced fragmentation may reduce peak memory usage in games such as God of War by up to 1 GiB in extreme cases.
- Memory defragmentation is now performed periodically to return some unused memory back to the system.
The goal is not to reduce VRAM usage at all costs; instead this is done conservatively if the system is under memory pressure, or if a significant amount of allocated memory is unused. Keeping some unused memory is useful to quickly service subsequent allocations.
Note: Defragmentation is currently disabled on Intel's ANV driver, see #4434. The dxvk.enableMemoryDefrag
config option can be set to enable or disable this feature via the the Configuration file.
Driver support
While technically not required, the new memory management works best on drivers that support both VK_EXT_memory_budget
and VK_KHR_maintenance5
. The Driver Support page was updated accordingly.
D3D8 / D3D9
Software cursor
Support for emulated cursors was implemented for the D3D9 cursor API, which allows games to set an arbitrary image as the mouse cursor. This fixes an issue in Dungeon Siege 2 (#3020) and makes the cursor appear correctly in Act of War and various older D3D8 games. (PR #4302)
Sampler pool
Unreal Engine 3 games using D3D9 have a quirk in that they pass a seemingly uninitialized value as the mipmap LOD bias. In order to avoid creating more Vulkan sampler objects than the driver supports, previous versions of DXVK would round the LOD bias to a multiple of 0.5, which could introduce visual inaccuracies. As a more correct solution, DXVK will now destroy unused Vulkan samplers on the fly and use the correct LOD bias.
Note: The aforementioned workaround was never needed or used in the D3D11 implementation, it only affected D3D9.
Bug fixes and Improvements
- On Nvidia driver version 565.57.01 and newer, strict float emulation is enabled by default for improved correctness.
Games for which this option was already enabled may see a small performance uplift on this driver. - Made various changes to potentially improve performace on certain mobile GPUs. (includes PR #4358)
- Display modes are now ordered by refresh rate to be more consistent with wined3d and fix issues with some games picking the wrong display mode.
- Fixed a large number of wine test failures.
- Ascension to the Throne: Fixed old regression that would cause parts of the ground to render black. (#4338, PR #4341)
- Command & Conquer: Generals: Fixed performance issue caused by a missing D3D8 entry point. (PR #4342)
- King's Bounty: Warriors of the North: Fixed water rendering issue. (#4344, PR #4350)
- Tomb Raider: Legend: Fixed flickering geometry with strict float emulation. (#4319, PR #4442)
- Rayman 3: Fixed a regression that caused rendering issues. (#4422, PR #4423)
D3D11 / DXGI
Resource management changes
In order to reduce system memory pressure and improve stability in 32-bit games, creating, uploading and discarding resources is now throttled if the amount of temporary staging memory allocations exceed a certain threshold. This fixes crashes in Total War: Rome II and a number of other games. Additionally, large DYNAMIC
textures commonly used for video playback will no longer use a staging buffer.
The d3d11.maxDynamicImageBufferSize
and d3d11.maxImplicitDiscardSize
options were removed accordingly; affected games such as Total War: Warhammer III and Ryse: Son of Rome should now perform well by default, without excessive memory usage.
Note: These changes negatively affect CPU-bound performance in a number of games, including Shadow Warrior 2.
Bug fixes and Improvements
SEQUENTIAL
swap effects are now implemented for DXGI swap chains, which allows games to read previously presented backbuffers. This fixes an issue wherein savegame thumbnails would appear black in certain visual novels. (ValveSoftware/Proton#7017)- Devirtualized some D3D11 method calls to improve compatibility with Special K.
- Fixed incorrect shader code generation for
EvaluateAttributeSnapped
. - Lock contention is reduced in certain games that use Deferred Contexts for rendering.
This may improve performance on older CPUs in Sekiro: Shadows Die Twice and some other games. - Call of Duty: Modern Warfare 2 Campaign Remastered: Fixed a possible GPU hang. (#3884)
- Diablo 4: Work around an issue where the game does not start if an integrated GPU is exposed.
- The Sims 4: Work around a use-after-free bug in the game's D3D11 renderer for real this time. (#4360)
- Vindictus: Work around potential rendering issues caused by uninitialized constant buffer data. (#4405, #4406)
- Yakuza 0 and Yakuza Kiwami: Fixed a regression introduced in DXVK 2.4.1 that would cause these games to lock up on start. (PR #4297)
Miscellaneous changes
- An SDL3 backend was added for dxvk-native. (PR #4326, #4404)
- Fixed an issue introduced in DXVK 2.4.1 which would lead to error messages about failed buffer creation.
- Fixed a long-standing issue where overlapping occlusion queries would lead to incorrect Vulkan usage. (#2698)
- Fixed a rare issue wherein timestamp queries would not be tracked correctly and could read incorrect data.
- Fixed various other issues that led to Vulkan validation errors in games such as Dishonored 2, Tales of Arise and The Sims 4.
- Fixed various issues with MSVC builds. (PR #4444)
- Disabled a workaround for broken render target clears on Nvidia drivers prior to version 560.28.03 on unaffected drivers.
- If supported,
VK_EXT_pageable_device_local_memory
is now used to enable better driver-side memory management.
Version 2.4.1
General improvements
- The size for memory chunks is now determined dynamically based on the amount of memory the application has already allocated.
This should improve the out-of-the-box behaviour in various game launchers; thedxvk.maxChunkSize
option was removed accordingly. - Fixed an issue where the Vulkan swap chain would not always be recreated appropriately in a native Wayland environment. (PR #4252)
- Fixed an issue with descriptor pools growing too large on Nvidia cards in some situations. (PR #4166)
- Changed default shader code generation for DXBC
mad
instructions to work around flickering issues in games that use different vertex shaders to render the same geometry in multiple render passes. Thed3d11.longMad
andd3d9.longMad
options were removed accordingly.
D3D8 / D3D9
- Improved overall robustness of the D3D8 implementation with error handling and fixed various memory leaks.
- Slightly improved performance by optimizing vertex buffer uploads. (PR #4275)
- Significantly improved performance in some games using Software Vertex Processing. (PR #4274)
- Fixed full-screen presentation issues in some Game Maker games. (PR #4245)
- Removed
VK_IMAGE_USAGE_SAMPLED_BIT
from textures that don't need it. (#4176) - Enabled strict float emulation by default on AMDVLK now that this driver optimizes the pattern emitted by DXVK. (PR #4203). Do note that this was already the case on RADV.
- Chrome: Gold Edition: Enabled 60 FPS limit to work around game issues at higher frame rates. (PR #4260)
- GTA: San Andreas: Fix regression that made it crash with DXVK 2.4 (#4141, PR #4151)
- Operation Racoon City: Worked around a game crash. (#4172, PR #4175)
- Prince of Persia (2008): Enabled 240 FPS limit to work around game issues at very high frame rates. (PR #4281)
- Rayman 3: Fixed missing geometry. (PR #4143)
- Serious Sam 2: Fix in-game videos (#4158, PR #4161)
- Splinter Cell: Pandora Tomorrow: Enabled 60 FPS limit to fix broken input and physics. (PR #4254)
- The First Templar: Fixed lighting issues. (#4291, PR #4292)
- The Sims 2: Fix regression that made it crash with earlier DXVK versions (PR #4277)
D3D11 / DXGI
- Worked around a general issue wherein some games default to an integrated GPU based on the amount of available video memory.
- Worked around an issue where various games would misbehave when the amount of available VRAM is reported as a power of two.
- Changed shader code generation for dot product instructions to be more in line with code generation on native drivers.
This fixes a water rendering issue in Trails through Daybreak on Nvidia. (#4162) - Implemented a basic dead code elimination pass to avoid generating invalid SPIR-V shaders in rare situations.
Note: All these shader-related changes will invalidate fossilize databases. - Games will now leave fullscreen mode when the game window loses focus.
This is closer to Windows behaviour and fixes various issues with games hanging on some setups. (PR #2675) - Made sure the built-in options in DXVK for a game take precedence over the options enabled/disabled by DXVK-NVAPI.
This fixes a performance regression in God of War on Nvidia GPUs. - Batman Arkham Knight: Worked around an issue where the game does not start when it detects an Intel GPU. (PR #4152)
- Hunt Showdown: Fixed a crash caused by DXVK reporting a very high UMD driver version.
- Kena: Bridge of Spirits: Worked around a water rendering issue when the game detects an Intel GPU. (PR #4207)
- Microsoft Flight Simulator: Fixed garbled screen on start-up (#4276)
- Senran Kagura Peach Ball: Fixed character models being rendered the wrong way around. (#4216)
- The Sims 4: Work around a crash caused by a use-after-free bug in the game.