@doitsujin doitsujin released this Nov 11, 2018 · 18 commits to master since this release

Assets 3

Bug fixes and improvements

  • Fixed build issues some users were experiencing with Meson 0.44.
  • Implemented dmovc instruction. Fixes a Mandelbrot demo mentioned in #216.
  • LA Noire: Fixed rendering issues caused by a game bug (#744).
  • Lords of the Fallen and The Surge: Fixed visual issues caused by the lack of depth-stencil buffer mapping (#285). This may have a significant impact on performane in these two games.
  • Shadow of the Tomb Raider: Support bit-accurate clears for R11G11B10 UAVs. This silences an error message in this game, but should have no impact on visuals or performance.

@doitsujin doitsujin released this Nov 4, 2018 · 44 commits to master since this release

Assets 3

Bug fixes and improvements

  • Slightly reduced CPU overhead in some scenarios (e.g. Assassin's Creed Odyssey)
  • Compiling Geometry shaders with Stream Output multiple times with different parameters now works properly (#733)
  • Demul: Fixed potential synchronization issues around UAV rendering
  • Shadow of the Tomb Raider: Fixed state cache getting randomly deleted when starting the game
  • World of Warcraft: Fixed invalid shaders being generated when MSAA is enabled (mentioned in #456)

@doitsujin doitsujin released this Oct 13, 2018 · 94 commits to master since this release

Assets 3

Features

Implemented Stream Output (#695, #135). This fixes rendering issues in a lot of games, most notably missing characters or NPCs in Unity Engine-based games and The Witcher 3, Nvidia Hairworks in The Witcher 3 and Final Fantasy XV, as well as issues in Quake Champions, Overwatch, and other games.

Updated Vulkan drivers and wine builds are required, see this issue for details.

Bug fixes and Improvements

  • Assassin's Creed Odyssey: Slight reduction of CPU overhead
  • Bioshock: Fixed race condition in D3D10 mode (#655)
  • Dark Souls 3: Fixed bug causing resolution changes not to be applied correctly
  • The Evil Within: Fixed regression causing random geometry to be rendered

@doitsujin doitsujin released this Oct 5, 2018 · 144 commits to master since this release

Assets 3

Improvements

  • 32-bit builds are now compiled with the dw2 exception model for better performance
  • Minor reduction of CPU overhead (I know it's getting boring, but I swear I'm telling the truth!)
  • Added configuration option to disable D3D10 support (set d3d10.enable = False). This can be used to let problematic D3D10 games fall back to their D3D9 renderer.

Bug fixes

  • Fixed occational crash/hang when the state cache is enabled (#665)
  • Fixed potential violation of the Vulkan specification when copying images
  • Star Control: Origins: Fixed rendering issues when MSAA is enabled (#666)

@doitsujin doitsujin released this Sep 23, 2018 · 175 commits to master since this release

Assets 3

Improvements

  • Added State Cache (details below).
  • Direct3D Feature Level 11_1 is now supported.
  • Minor overall reduction of CPU overhead.

Bug fixes

  • Fixed crashes on some APU systems without dedicated video memory (#640)
  • Assetto Corsa: Fixed crashes and artifacts when reflections are disabled (#648)
  • Project Cars 2: Fixed crash upon loading the game (#375, #641)

State Cache

In order to reduce stutter on subsequent runs of an application, DXVK now caches pipeline state, which allows it to compile shaders earlier than it currently does, even if the driver's shader cache got invalidated after an update. This may temporarily cause very high CPU load.

By default, this feature is enabled, and cache files are typically created in the same directory where the game executable is located. Refer to the README for further details.

@doitsujin doitsujin released this Sep 14, 2018 · 217 commits to master since this release

Assets 3

Improvements

Added the following configuration options:

  • d3d11.maxTessFactor to limit the maximum tessellation factor
  • d3d11.samplerAnisotropy to enforce or disable anisotropic filtering
  • dxgi.numBackBuffers to override the number of swap chain back buffers
  • dxgi.syncInterval to enforce or disable Vsync

Refer to the Wiki for details.

Additionally, the number of swap chain back buffers requested by the game is now honored by default, i.e. games that request a triple-buffered swap chain without VSync will now use a triple-buffered Vulkans swap chain.

Bug fixes

  • Fixed incorrect behaviour of newly created queries (#620)
  • Assassin's Creed Syndicate: Fixed invalid Vulkan image views for mipmapped 3D textures
  • Assassin's Creed Syndicate / Origins: Fixed corrupted geometry issue (#278)
  • Batman Arkham Knight: Work around detective mode crash on Nvidia (#627)
  • Dragon Quest XI: Work around Unreal Engine 4 bug causing low performance on Nvidia (#622)
  • Shadow of the Tomb Raider: Fixed tessellation issue (same as #368)

@doitsujin doitsujin released this Sep 2, 2018 · 260 commits to master since this release

Assets 3

Improvements

  • Added dxgi.maxDeviceMemory and dxgi.maxSharedMemory options to limit the amount of graphics memory reported to the application. This may help fix texture streaming-related issues in 64-bit games that do not support 4096MB or more VRAM (#591)
  • Added DXVK_FILTER_DEVICE_NAME environment variable, which forces DXVK to use a specific Vulkan device. The device name must match exactly and can be retrieved from the log files, or from tools such as vulkaninfo.
  • Minor overall reduction in CPU overhead

Bug fixes

  • Minor D3D10 fixes
  • Fixed incorrect rasterization sample count reported to shaders
  • Fixed lighting issue in the TressFX 4.0 demo (#598)
  • Fixed pipeline statistics queries around compute shader invocations
  • Fixed possible VSync-related issues if the IMMEDIATE present mode is not available
  • Fixed rare crash or device memory corruption when writing to mapped resources
  • Fixed rendering to DXGI_FORMAT_A8_UNORM images
  • Crysis 1: Fixed incorrect SPIR-V shader
  • World of Tanks: Fixed missing caterpillar traces (#410)

Further notes

  • Removed a RADV-specific workaround (b51361e) that was necessary for older revisions of Mesa 18.2-git. When using git versions of Mesa, please make sure to update your build.

@doitsujin doitsujin released this Aug 17, 2018 · 299 commits to master since this release

Assets 3

Features

  • Added support for the Direct3D 10 API. Please refer to #551 for details.
  • Implemented D3D11.1 ClearView method
  • Implemented D3D11.1 extended double instructions

Setup changes (#569)

Instead of having to set up 32-bit and 64-bit DLLs separately, the release binaries now come with a custom winetricks verb which sets up both sets of DLLs for 64-bit wine prefixes, and only the 32-bit ones for 32-bit prefixes.

In order to install DXVK 0.70 and later into a given wine prefix, run:

export WINEPREFIX=/path/to/.wine-prefix
winetricks --force setup_dxvk.verb

Note that the DLL files are now copied into the wine prefix, whereas the old setup script created symbolic links. When using an older version of DXVK, it may be necessary to uninstall it first using setup_dxvk.sh reset.

Pre-release
Pre-release

@doitsujin doitsujin released this Aug 12, 2018 · 366 commits to master since this release

Assets 3

Per-game Configuration

Instead of relying on environment variables, per-game configuration files can now be used to enable certain quirks that some games may require in order to run or perform better. Refer to the wiki page for details.

The following environment variables are no longer supported:

  • DXVK_FEATURE_LEVEL
  • DXVK_CUSTOM_DEVICE_ID
  • DXVK_CUSTOM_VENDOR_ID
  • DXVK_FAKE_DX10_SUPPORT

Bug fixes and Improvements

  • Fixed violation of the Vulkan specification when using indirect draws with non-zero firstInstance
  • Fixed incorrect COM reference counting behaviour for resource views (#302)
  • Improved validation to prevent games from creating invalid resource views
  • Dragon Age Inquisition: Fixed deadlock when starting the game in fullscreen mode (#293)
  • Monster Hunter World: Fixed invalid shader causing crashes on RADV
  • Yakuza 0: Work around various crashes caused by the game's broken reference counting behaviour (#533)
Pre-release
Pre-release

@doitsujin doitsujin released this Aug 3, 2018 · 410 commits to master since this release

Assets 3

Bug fixes and improvements

  • Added support for D3D11.1 resource discard functionality
  • Fixed possible violation of the minStorageBufferAlignment device limit
  • Updated MSAA sample locations to match the Vulkan 1.1.82 spec update
  • Removed redundant barrier preventing parallel execution of compute shaders in some games
  • Dragonball Xenoverse 2: Fixed shader compilation issue on RADV (#523)
  • Final Fantasy XV: Added workaround for broken compute shader barriers on RADV
  • Hellblade: Fixed overly aggressive flushing behaviour when waiting for mapped resources
  • Hitman (2016), World of Warships: Fixed incorrect clamp-to-border behaviour (#517)