Features
Implemented initial support for shared resources (PR #2516). This fixes video playback in a number of Koei Tecmo games (Atelier series, Nioh 2), as well as the D3D11-based UI in the Windows version of Black Mesa. The required wine patches are currently only available in Proton Experimental. This feature will not be supported on Windows systems.
This feature is still experimental and has not been thoroughly tested on all graphics drivers, so issues are to be expected. Currently, only basic 2D texture sharing between D3D9 and D3D11 is supported when using DXVK for both APIs. API features that are currently not supported include:
IDXGIKeyedMutex
. Documentation is very poor and it's not clear how an implementation is supposed to behave.- Resource sharing with D3D12 applications under vkd3d-proton. This may be added in the future.
- Resource sharing with Vulkan applications.
Note: The Black Mesa UI flickers heavily when the game is not GPU-bound. This also happens on Windows to some degree and is a game bug.
Bug fixes and Improvements
- Added an environment variable
DXVK_ENABLE_NVAPI
to bypass the vendor ID override. Setting it to1
behaves exactly the same as settingdxvk.nvapiHack = False
in the config file, but may allow for better integration into Lutris or the Proton launch script. (#2544) - Improved shader code generation when local arrays are used. This may improve performance on Nvidia drivers in some D3D11 games.
- Fixed shader code generation when switch-case fallthrough is used in Shader Model 4.0 (#2556). Current FXC versions no longer generate such code.
- Potentially improved performance when rendering to
DXGI_FORMAT_R11G11B10_FLOAT
images that can also be used with unordered access views. - Fixed various D3D9 issues related to texture uploads (#2559, #2541, #2535).
- Assassin's Creed 3, Black Flag: Enabled
d3d11.cachedDynamicResources = a
to work around severe performance issues. - Frostpunk: Enabled
d3d11.cachedDynamicResources = c
to work around low CPU-bound performance. - God of War: Fixed some issues that started with game patch 1.0.9:
- Extremely inconsistent frame pacing when the game detects an AMD GPU,
dxgi.maxFrameLatency = 1
is now set by default to work around this issue. - Heavy flickering of some lights. Apparently this was also fixed in the game in patch 1.0.11.
- Extremely inconsistent frame pacing when the game detects an AMD GPU,
- GTA: San Andreas: Fixed UI rendering issues (#2560)
- Rayman Origins: Fixed rendering issues (#2545)