File dxvk.changes of Package dxvk

-------------------------------------------------------------------
Sun Aug 31 15:08:24 UTC 2025 - Tobias Klausmann <tobias.klausmann@freenet.de>
- Update to 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)
- Update to version 2.7.0:
  + 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.
  + 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.
  + 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)
- Update to version 2.6.2:
  + 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)

-------------------------------------------------------------------
Tue Apr  8 21:57:10 UTC 2025 - Tobias Klausmann <tobias.klausmann@freenet.de>

- Update to 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)

-------------------------------------------------------------------
Sat Mar 22 18:01:12 UTC 2025 - Tobias Klausmann <tobias.klausmann@freenet.de>

- Update to 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)

-------------------------------------------------------------------
Sat Feb 15 18:55:00 UTC 2025 - Tobias Klausmann <tobias.klausmann@freenet.de>

- Update to version 2.5.3:
  + 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)

-------------------------------------------------------------------
Sat Dec 21 18:25:34 UTC 2024 - Tobias Klausmann <tobias.klausmann@freenet.de>

- Update to version 2.5.2:
  + 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 use VK_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)

-------------------------------------------------------------------
Thu Nov 21 21:21:48 UTC 2024 - Tobias Klausmann <tobias.klausmann@freenet.de>

- Update winedxvkinstall / setup_dxvk.sh
  Add --with-wow option
  As there is a real Windows on windows (wow) mode for wine now, we will only
  have a wine executable, desipte beeing able to execute 32 and 64 bit
  executables, this install 32 and 64 bit dlls when this otion is provided

-------------------------------------------------------------------
Thu Nov 21 20:06:56 UTC 2024 - Tobias Klausmann <tobias.klausmann@freenet.de>

- Update to 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.

-------------------------------------------------------------------
Fri Nov 15 14:47:00 UTC 2024 - Tobias Klausmann <tobias.klausmann@freenet.de>

- Update to 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 compat. 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.

-------------------------------------------------------------------
Sun Sep 29 12:44:00 UTC 2024 - Tobias Klausmann <tobias.klausmann@freenet.de>

- Update to 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;
    the dxvk.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. The d3d11.longMad and
    d3d9.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.

-------------------------------------------------------------------
Fri Jul 12 18:49:08 UTC 2024 - Tobias Klausmann <tobias.klausmann@freenet.de>

- Update to version 2.4:
  + Packaging changes:
    Update dxvk_setup/setup_dxvk to install/uninstall d3d8
  + D3D8 support
    D8VK is now part of DXVK, and implements D3D8 largely on top of the
    existing D3D9 implementation. Please refer to pull request #3411 for
    further details.
  + Native WSI changes
    dxvk-native now supports multiple window system backends that the
    application can choose between at runtime. Refer to the corresponding pull
    request #3738 for details. In addition, proper ABI versioning has been
    added for native libraries.
  + Non-native refresh rate emulation
    In environments where the display mode cannot be changed (e.g. Proton), it
    is possible that DXVK reports a different refresh rate to the game than
    what the display is currently running at. This is problematic for games
    that require to be run at 60 FPS but do not limit their frame rate when
    using a 60 Hz display mode.
    To work around this, the frame rate limiter will now be engaged
    automatically if a game runs in full-screen mode with vertical
    synchronization enabled, and if the detected frame rate over a short period
    of time is higher than the refresh rate of the selected display mode. This
    also applies to D3D12 when using vkd3d-proton as of commit 80f6c46 or later.
    In case a game runs at a lower rate than expected and does not provide an
    in-game option to change refresh rate, this behaviour can be disabled by
    setting d3d9.maxFrameRate = -1 (or the corresponding dxgi option for
    D3D10+ games). Setting DXVK_FRAME_RATE also overrides this behaviour as
    usual.
  + Bug fixes and Improvements
    Fixed various issues with D3D9 fixed-function texture coordinate processing
    (PR #4015, PR #4026).
    Fixed pipeline layout compatibility issues when using graphics pipeline
    libraries, which would cause crashes or rendering issues on AMD's official
    drivers with pipeline libraries enabled.
    If supported, VK_NV_descriptor_pool_overallocation will now be used to
    potentially save small quantities of descriptor memory.
    Improved descriptor pool management in general to save memory in case a
    game renders without ever presenting to the screen.
    Improved video processor blit functionality (PR #3970 PR #3984)
    Improved compatibility to third-party mods hooking various DXGI entry
    points (PR #3966, #3968).
    Battlefield 2, 2142: Work around hang on alt+tab (PR #4109).
    Dead Space 2: Work around issues caused by the game's Vsync implementation
    (PR #4071).
    Dragonshard: Work around performance issues (PR #4079).
    Fallout 4: Work around an issue with the game locking itself to 45 FPS on
    Steam Deck OLED.
    Fallout New Vegas: Fix rendering issues when using certain mods (PR #4079).
    Ghostbusters Remastered: Work around flickering character faces (#4045,
    PR #4046).
    Gothic 3: Fix shadow rendering issues caused by incorrectly reported format
    support (#3980, PR #3991).
    Guild Wars 2: Work around a flickering issue (PR #3992).
    Prototype: Work around broken shadow rendering if the game detects an AMD
    or Intel GPU (#4008, PR #4011).
    Star Citizen: Work around an issue with the game's UMD version check
    (PR #3985).
    The Sims 2: Work around low CPU-bound performance in some situations.
    Tomb Raider Legend: Work around flickering character issues (PR #4105).
    Red Faction Guerrila Remastered: Work around sky box rendering issues
    (#3696, PR #3972).
    Rise of Nations: Work around crash on alt+tab (PR #4117).
    Watch Dogs, Watch Dogs 2: Work around flickering character issues
    (PR#4059, PR #4090).
    WRC 4: Enable 60 FPS limit to work around audio issues (PR #4099).

-------------------------------------------------------------------
Thu Mar 28 18:00:35 UTC 2024 - Tobias Klausmann <tobias.klausmann@freenet.de>

- Update to version 2.3.1:
  + Features
    If supported by the driver, DXVK will now use the VK_NV_raw_access_chains
    extensions to allow more efficient shader code generation on specifically
    on Nvidia GPUs. This is intended to close the gap to Windows performance
    drivers specifically in D3D11 games in GPU-bound scenarios, but not all
    games will see an improvement.
    Note: This extension is currently only supported on Vulkan beta drivers,
    version 550.40.55 or later, and currently requires Proton Experimental.
  + Bug fixes and Improvements
    Fixed invalid SPIR-V being generated for Renderdoc internal D3D11 shaders.
    Fixed undefined behaviour with out-of-bounds constant buffer loads with
    dynamic indices.
    Fixed HDR not being enabled for DXGI_FORMAT_R16G16B16A16_FLOAT swap chains.
    Reworked the dxgi.syncInterval option to also apply to D3D12 games.
    Reverted the use of VK_FORMAT_A8_UNORM due to rendering issues in some
    games.
    D3D9 games will now set the VkApplicationInfo::applicationVersion field to
    1.
    Reworked how dynamic system memory buffers are copied to the GPU in D3D9
    games. (PR #3765)
    This improves performance in games such as Shank 2 (#3755), Flammable
    Freddy (#2375) and Blood Rayne (#1828).
    Only enable alpha to coverage when rendering to a multisampled render
    target in D3D9. (#3815)
    This fixes broken lighting in Flatout 3 (#3798) and incorrect dithering in
    Injustice: Gods Among Us. (#3617)
    Ace Combat Assault Horizon: Fixed GPU hang on RADV. (#3715, PR #3716)
    Assassin's Creed 2: Fixed crash on alt tab. (#3653, PR #3763)
    Battlefield 2, Battlefield 2142: Fixed disappearing spawn and gear
    selection UI on alt tab. (#3651, PR #3797)
    Battlestations Midway: Improved performance. (PR #3683)
    Codename Panzers Phase One/Two: Improved performance. (PR #3812)
    Dead Space (2008): Fixed diagonally sliced menu on RADV. (Mesa Issue 9126,
    PR #3764)
    Granblue Fantasy Relink: Work around a game bug that would cause broken
    rendering with AMDAGS enabled.
    Also enabled the dxvk.ignoreGraphicsBarriers option to increase performance
    in case neither NVAPI nor AGS are loaded.
    Gujian 2: Fix invisible geometry. (#3838, PR #3839)
    Kenshi: Improved performance (PR #3776)
    MySims: Fix mouse selection being off. (#3825, PR #3840)
    Operation Flashpoint: Red River: Fix missing main menu UI elements.
    (#2184, PR #3852)
    SkyDrift: Work around OOM crash on alt tab. (#3639, PR #3689)
    Sonic CD: Limit to 60 FPS because game speed is tied to the frame rate.
    (PR #3771)
    Supreme Ruler Ultimate: Work around game bug causing a freeze on alt tab
    (#3784, PR #3816)
    Tales from the Borderlands: Fixed crash. (PR #3664)
    The Settlers: Fixed crash. (PR #3734)
    Total War: Medieval 2: Fix black loading screen in windowed mode. (#3724,
    PR #3843)
    UK Train Simulator 1: Fix black foliage. (#3780, PR #3782)
    War Thunder: Fix particle effects not rendering properly.

-------------------------------------------------------------------
Tue Sep  5 16:01:27 UTC 2023 - Tobias Klausmann <tobias.klausmann@freenet.de>

- Update to version 2.3:
  + Presentation improvements
    If VK_KHR_present_wait is supported, and if vertical synchronization is
    enabled, frame latency events will now be signaled when an image is
    actually being presented, rather than when rendering work prior to the
    present request has completed on the GPU. This may reduce input latency in
    some games, also affects the dxgi.maxFrameLatency and d3d9.maxFrameLatency
    options.
    This functionality is also used to more accurately report the number of
    frames actually presented via DXGI frame statistics.
    Note: On some platforms and compositors, Vulkan present events may not
    correspond to the image actually being presented on screen, in which case
    frame latency is going to remain higher than expected.
    Additionally, if VK_EXT_swapchain_maintenance1 is supported, enabling and
    disabling vertical synchronization may no longe require recreating the
    Vulkan swap chain, which works around severe performance issues in games
    which change their present interval on a per-frame basis.
    Note: On Linux, this is currently only supported when running Gamescope
    with ENABLE_GAMESCOPE_WSI=1 set.
  + Configuration changes
    The dxgi.nvapiHack config option was deprecated, and a new option
    dxgi.hideNvidiaGpu with a slight change in behaviour was added instead,
    alongside similar options for AMD and Intel GPUs. This allows implementing
    more targeted application workarounds for issues with e.g. XESS libraries
    in the future if necessary. Refer to the example configuration for more
    details.
    Note: The old dxgi.nvapiHack option still works if dxgi.hideNvidiaGpu is
    not set, but will be removed in a future release.
    Additionally, the dxgi.tearFree and d3d9.tearFree options were consolidated
    into a new dxvk.tearFree option, due to changes in the presentation logic.
    The old options were removed.
  + Bug fixes and Improvements
    Configuration options can now be specified via an environment variable,
    DXVK_CONFIG. See the README for details (PR #3581).
    If VK_EXT_depth_bias_control is supported, depth bias scaling will now be
    correct in most situations. This fixes shadow rendering artifacts in
    various D3D9 games and is especially important on GPUs that do not support
    24-bit depth formats. This affects games such as F.E.A.R. (#1461), Far Cry
    2 (#2941) and Assassin's Creed Brotherhood (#2642).
    If VK_EXT_line_rasterization and its relevant features are supported,
    smooth or rectangular lines will now be used if requested by the
    application. This functionality is generally not used by games, but may be
    useful for applications such as level editors.
    If VK_KHR_maintenance5 is supported, DXGI_FORMAT_A8_UNORM images will now
    use the corresponding Vulkan format.
    D3D9 command submission now works the same way as it does for D3D11, which
    will lead to more submissions but generally reduces resource readback
    latency. This may improve performance in games that frequently synchronize
    with the GPU.
    Fixed a minor issue with D3D9 feedback loop tracking.
    Fixed a minor issue with D3D11 stream output (#3634).
    Fixed a bug and performance issues with the implementation of D3D11 tiled
    resources.
    Fixed various issues with reporting HDR metadata.
    Fixed a crash when compiling D3D9 shaders generated by the vkd3d HLSL
    compiler. (PR #3616)
    Implemented keyed mutex synchronization on top of newly added winevulkan
    functionality (PR #3601, PR #3635).
    Note: This will only work with recent Proton builds.
    Added stubs for various D3D9On12 interop interfaces. This is needed for
    Train Simulator Classic (#3445).
    Added an interface to allow external libraries, such as NVAPI, to enable
    HDR in various D3D11 games as well as Elden Ring (PR #3625).
    Note: This will only work in combination with jp7677/dxvk-nvapi@c3a1c48 or
    newer. This will not work on Windows.
    A Total War Saga: TROY: Fixed trees not rendering when MSAA is enabled.
    Far Cry 2: Fixed crash when using D3D10.
    Halo Online: Fixed water rendering. (#3594, PR: #3627)
    Lara Croft and the Temple of Osiris: Fixed deadlock when using Exclusive
    Fullscreen (#3458).
    RaceRoom Racing Experience: Fixed a crash when starting a race. (#3386,
    PR: #3389)
    Spider Man: Shattered Dimensions: Fixed a regression that caused blocky
    shadows. (#3593, PR: #3624)
    Test Drive Unlimited 2: Fixed shadows on grass. (#3469, PR: #3471)
    The Sims 2: Fixed a regression in DXVK 2.2 that affected terrain rendering.
    (#3474, PR: #3476)
    Titanfall: Fixed a crash caused by a miscompiled shader.
    Tomb Raider Anniversary: Improved performance. (#3438, PR: #3439)

-------------------------------------------------------------------
Sat May 13 21:04:25 UTC 2023 - Tobias Klausmann <tobias.klausmann@freenet.de>

- Update to version 2.2:
  + D3D11On12 support
    In order to enable D3D12 support in recent Unity Engine titles such as Lego
    Builder's Journey, this release introduces support for creating D3D11
    devices from a D3D12 device using D3D11On12CreateDevice, as well as the
    basic ID3D11On12Device interface. This is achieved by importing the Vulkan
    device and resource handles from vkd3d-proton into DXVK, and otherwise uses
    DXVK's existing D3D11 implementation.
    A vkd3d-proton build as of HansKristian-Work/vkd3d-proton@26c4fed or later
    is required for this to work.
  + D3D9 Partial Presentation
    DXVK now supports presenting to parts of a window by copying the contents
    of the backbuffer to system memory and then drawing them into the window on
    the CPU. This improves compatibility with game launchers, particularly
    those based on Microsoft's WPF toolkit, and some visual novels. It will
    however come with a noticable performance hit.
    Additionally, overall behaviour of D3D9 swap chains was improved and the
    d3d9.noExplicitFrontBuffer option was removed.
  + Logging changes
    When running on Proton or plain Wine, DXVK will no longer create log files
    by default and instead only write log messages to the console using
    wine-specific functionality, in order to avoid creating unnecessary extra
    files. This matches vkd3d-proton behaviour. Note that log file creation can
    be re-enabled by setting the environment variable DXVK_LOG_PATH to a valid
    path.
    When filing bug reports, users are encouraged to upload the full Proton log.
  + Bug fixes and Improvements
    Warnings about unknown interfaces being queried via QueryInterface will
    only be logged once in order to avoid growing log files indefinitely in
    some games. (#3231)
    Fixed a regression when rendering YUY2 or UYUY texture formats. This fixes
    in-game videos in Jade Empire (#3182) and Sid Meier's Pirates (#3189)
    (PR #3342)
    Fixed an issue wherein threads were not properly destroyed.
    Fixed Vulkan validation errors caused by incorrect layout tracking when
    enabling feedback loops for a texture.
    Fixed Vulkan validation errors caused by 0x0 sized clears in D3D9.
    D3D9 StateBlocks now only allocate memory for the parts that are actually
    used. This fixes Total War: Shogun 2 running out of address space when
    using the D3D9 renderer. (#2703, PR #3248)
    Improved usage of some VK_EXT_extended_dynamic_state3 features to avoid
    hitting slow paths on some drivers.
    Improved enumeration of DXGI outputs on systems with multiple GPUs. This
    fixes performance issues with recent RE Engine games (D3D12) on such
    systems.
    Significantly reduced memory usage in situations where games create unused
    D3D11 devices.
    Battle Fantasia Revised Edition: Locked frame rate to 60 FPS to work around
    game bugs at higher frame rates. (PR #3256)
    Cold Fear: Fixed missing geometry (#3293, PR #3390)
    Dawn of Magic 2: Fixed a crash upon start (#3271, PR #3272)
    DC Universe Online: Fixed a hang after alt-tabbing out and back in.
    (#3314, PR #3316)
    Far Cry 2: Work around rendering issues on Intel hardware, as well as low
    performance on all GPUs. (PR #3241)
    Halo: The Master Chief Collection: Fixed memory leak due to invalid query
    usage by the game (PR #3273)
    Warhammer 40k: Space Marine: Fixed shadow rendering (#3298, PR #3305)

-------------------------------------------------------------------
Wed Jan 25 16:11:55 UTC 2023 - Tobias Klausmann <tobias.klausmann@freenet.de>

- Update to version 2.1:
  + HDR support
    On systems supporting HDR10 color spaces, HDR can now be enabled by setting
    the environment variable DXVK_HDR=1, or by setting the option
    dxgi.enableHDR = True in the configuration file. When using vkd3d-proton
    2.8 or newer, this will allow D3D12 games to detect and use the HDR10 color
    space if they support it.
    No major Linux desktop environment currently supports HDR. In order to use
    this on Linux, a Gamescope session with --hdr-enabled is required. This is
    currently only supported under AMDGPU and requires kernel patches from the
    josh-hdr-colorimetry branch.
    Note: D3D11 support is implemented, but not expected to work in most games
    as they typically require AMDAGS or NVAPI to set up HDR output, rather than
    using the corresponding DXGI APIs. Additionally, only Nvidia drivers are
    expected to work on Windows.
  + Shader compilation improvements
    Use of pipeline libraries was extended to pipelines with tessellation or
    geometry shaders in order to further reduce stutter. Additionally, more
    features of the VK_EXT_extended_dynamic_state3 extension are leveraged to
    reduce stutter in some situations when MSAA is used, provided that the
    Vulkan driver supports them.
    Note: Current development builds of RADV will expose
    VK_EXT_graphics_pipeline_library with the features that DXVK needs if the
    RADV_PERFTEST=gpl environment variable is set. Note that the implementation
    is not yet complete and does not support shader caching at this time, but
    it should generally work with DXVK.
  + Sample rate shading
    For older games that support MSAA, the d3d9.forceSampleRateShading and
    d3d11.forceSampleRateShading options were added to let users enable sample
    rate shading for all shaders. This will have a very high impact on
    GPU-bound performance, but may increase overall image quality in certain
    games that suffer from specular aliasing or shimmering alpha-tested
    geometry.
    Note: Games that resolve the rendered images inadequately (e.g. performing
    a linear resolve on HDR render targets) will likely not benefit from this
    option.
  + GLFW backend
    For native Linux builds of DXVK, a GLFW backend was added as a compile-time
    alternative to the existing SDL2 backend. See PR #3111 for details.
  + Bug fixes and Improvements
    Improved D3D11 command submission logic in order to make overall
    performance more consistent, and to bring DXVK's behaviour more in line
    with native D3D11 drivers.
    Fixed D3D11 reference counting issues around 2D textures. (#3169)
    Fixed Vulkan validation errors when creating DXGI_FORMAT_A8_UNORM UAVs.
    Note that UAVs of this format may not work as expected.
    Fixed Vulkan validation errors that would occur when allocating dedicated
    image memory on Nvidia GPUs in some situations.
    Fixed Vulkan validation errors caused by broken timeline semaphores on
    32-bit Proton.
    Worked around an issue with the Uplay overlay being stuck on screen.(#3146)
    Note that this fix does not apply to Windows as it was achieved by loading
    winevulkan.dll directly instead of the actual Vulkan loader.
    Note that this change will break Red Dead Redemption 2 with dxvk-nvapi
    prior to this commit: jp7677/dxvk-nvapi@ac00a42
    Worked around a bug in AMD's Windows driver as well as AMDVLK that would
    cause numerous games to crash since DXVK 2.0. (#3172)
    Fewer threads will be used to perform background optimization of graphics
    pipeines. This may result in a smoother gameplay experience on some
    systems. Note that this change does not affect initial shader compiling, as
    finishing that quickly is crucial to avoid stutter.
    The state cache file will now only be created when the first pipeline is
    written to it, in order to avoid empty cache files.
    This change mostly affects D3D9 games on systems with
    EXT_graphics_pipeline_library support.
    Ashes of the Singularity: Fixed performance regression caused by suboptimal
    descriptor set allocation.
    Battlefield: Bad Company 2: Fixed flickering (#3078, PR #3079)
    Cardfight!! Vanguard: Fixed rendering (PR #3068).
    Gujian 3: Fixed rendering issues on some GPUs. (#1784)
    Resident Evil 4 HD: Fixed invalid Vulkan usage causing a GPU hang on RADV.
    (PR #3089)
    Saints Row: The Third: Fixed a severe performance issue with rain when
    using the D3D9 renderer. (#2473, PR #3158)
    Sekiro: Shadows Die Twice: Fixed stuttering issues on Nvidia GPUs. (#3179)
    Sonic Frontiers: Worked around a game bug that would cause shadows to
    flicker when GPU-bound.
    Supreme Commander: Forged Alliance: Fixed a crash after loading (#3058,
    PR #3060)
  + GeneralNotes
    Note: The setup script setup_dxvk.sh was no longer deemed useful and got
    removed. This change will only affect users who manually install DXVK into
    a wine prefix, rather than using it through Proton or Lutris.
    This package still ships setup_dxvk.sh as provided by Version 2.0.
    Note: Due to changes to our DXGI implementation, older versions of
    vkd3d-proton (prior to 2.8) will no longer work with this version of DXVK.

-------------------------------------------------------------------
Fri Nov 11 11:53:17 UTC 2022 - Tobias Klausmann <tobias.klausmann@freenet.de>

- Update to version 2.0:
  + Driver compatibility
    A Vulkan 1.3 capable driver and wine version are required to run this
    version of DXVK.
    Many features in this release, especially the shader compilation changes
    detailed below, require the use of modern Vulkan features, such as Dynamic
    Rendering, Extended Dynamic State, and Null Descriptors. Due to the
    significant changes required to make use of them, it was no longer
    practical to maintain and test code paths for older drivers which do not
    support these features.
    In practice, any system capable of running D3D11 and D3D12 games using
    Proton Experimental right now will be able to run DXVK 2.0.
    Note: Third-party Vulkan layers that were not updated for Vulkan 1.3 will
    no longer work.
  + D3D9 changes
    Memory management improvements
    In order to reduce the likelihood of running out of address space in 32-bit
    D3D9 games, DXVK will now use memory-mapped files to store shadow copies of
    textures. This allows us to unmap memory that is not being used by the
    game, thus freeing up significant amounts of address space, up to several
    hundred Megabytes. See PR #2663 for implementation details.
    Note: This change does not affect 64-bit games since address space is not a
    concern there. It also does not affect D3D10 or D3D11 since resource
    uploads work differently in those APIs and are much more memory efficient.
    Render target feedback loops
    On drivers which support VK_EXT_attachment_feedback_loop_layout, reading
    from an active render target in D3D9 games is now properly supported, which
    previously caused rendering artifacts on newer AMD hardware and required
    driver-level workarounds. This affects a number of games, including GTA IV.
    Alpha test improvements
    The D3D9 alpha test implementation was changed to more closely match the
    behaviour of Nvidia's implementation, which fixes inaccuracies in various
    games. The d3d9.alphaTestWiggleRoom option was removed, and games that
    previously required this option should now work correctly by default.
  + D3D10 changes
    DXVK previously shipped incomplete implementations of d3d10.dll and
    d3d10_1.dll, but has not installed them by default since Version 1.6
    since wine's implementation provides more features that are needed for
    D3D10 games to run, including the D3D10 Effects framework.
    Since our implementation is incomplete and has not been used by Proton or
    Lutris for a very long time, DXVK will no longer ship these DLLs starting
    with this release. The D3D10 API itself is still supported via
    d3d10core.dll.
  + D3D11 changes
    Feature support
    DXVK now exposes D3D11 Feature Level 12_1 with the following newly added
    features:
    Tiled Resources up to Tier 3, provided that the corresponding Vulkan sparse
    binding and sparse residency features are supported Conservative
    Rasterization up to Tier 3, provided that the corresponding Vulkan
    conservative rasterization features are supported.
    Rasterizer Ordered Views, provided that the corresponding Vulkan fragment
    shader interlock features are supported.
    While no games are known to use these features directly in D3D11, some
    games and game launchers rely on feature support being consistent between
    D3D11 and D3D12 in order to allow users to enable D3D12 in the game
    options. While our implementation of these feature is generally functional,
    there may be bugs or performance issues in case a game does use them.
    Furthermore, DXVK now supports the D3D11_FEATURE_SHADER_CACHE and
    D3D11_FEATURE_D3D11_OPTIONS5 feature queries.
    Note: AMD Vulkan drivers do currently not support fragment shader interlock
    and are limited to feature level 12_0.
    Note: Intel's ANV driver currently does not support the corresponding
    Vulkan features and is therefore limited to feature level 11_1. This
    applies to both DXVK and vkd3d-proton.
    Device contexts
    The implementations of ID3D11DeviceContext were refactored so that
    immediate contexts and deferred contexts no longer use common entry
    points. This is closer to Windows behaviour and may
    improve compatibility to third-party libraries and mods that hook into the
    D3D11 immediate context specifically, and reduces CPU overhead since some
    frequently used code paths are now more specialized for each context type.
    State clear and restore methods were optimized to further reduce CPU
    overhead in games that heavily use deferred contexts, e.g. Assassin's
    Creed: Origins, or explicitly call ClearState frequently, e.g. God of War.
  + Shader compilation changes
    On drivers which support VK_EXT_graphics_pipeline_library, including the
    IndependentInterpolationDecoration feature, Vulkan shaders will now be
    compiled at the time the game loads its D3D shaders, rather than at draw
    time. This reduces or eliminates shader compile stutter in many games.
    In games that load their shaders during loading screens or in the menu,
    this can lead to prolonged periods of very high CPU utilization, especially
    on weaker CPUs. For affected games it is recommended to wait for shader
    compilation to finish before starting the game to avoid stutter and low
    performance.
    Shader compiler activity can be monitored with DXVK_HUD=compiler.
    Note: The relevant Vulkan features are currently only supported by Nvidia
    drivers (version 520.56.06 or later). Driver support is expected to improve
    in the future.
    State cache interactions
    This feature largely replaces the state cache. If the given Vulkan features
    are supported, only pipelines that cannot use the pipeline library feature
    (e.g. pipelines using tessellation shaders) will be written to and read
    from the state cache, so newly created state cache files will typically
    only contain a few dozen to a few hundred pipelines, as opposed to
    thousands or tens of thousands. If the graphics pipeline library feature is
    not supported, the state cache will be used the same way as it was in older
    DXVK versions.
    Note: State cache files created with DXVK versions prior to 1.4.3 can no
    longer be used.
    Note: Despite our efforts, due to the significant changes under the hood,
    there may be issues when using an older state cache file under some
    circumstances. If you experience crashes, please test if the game runs with
    a clean cache file (DXVK_STATE_CACHE=reset) before reporting a bug.
    Caveats
    Games which only load their D3D shaders at draw time (e.g. Witcher 3, most
    Unreal Engine games) will still exhibit some stutter, although it
    should still be less severe than without this feature.
    For 32-bit games, the implementation tries to aggressively free Vulkan
    pipelines in order to save memory. This may cause stutter if the driver's
    on-disk shader cache is not working properly.
    On Nvidia drivers, the on-disk shader cache will be significantly larger
    than with previous versions of DXVK. It may be necessary to bypass the size
    limit by setting the environment variable
    __GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1, or setting a new limit manually via
    __GL_SHADER_DISK_CACHE_SIZE (in bytes).
  + Linux build support
    Work from dxvk-native has been upstreamed in order to facilitate native
    Linux builds of DXVK, which can be used as a drop-in replacement to port
    D3D applications without having to change rendering code.
    Note: When porting a D3D11 application, please refer to the Feature support
    and Developer Guidelines pages on the Wiki to avoid hitting unsupported or
    slow code paths in DXVK.
  + Bug fixes and Improvements
    Improved behaviour of DXGI waitable swap chains.
    Improved implementation of DXGI frame statistics.
    Note: The implementation is still not accurate, especially in scenarios
    with multiple displays or if variable refresh rate is used.
    Removed limitations on how many resources can be bound at the same time.
    Removed several workarounds for specific Vulkan drivers or driver versions.
    This is primarily relevant for Steam's shader pre-caching, as the generated
    shader code no longer diverges as much
    depending on the driver version and supported feature set.
    D3D11 shaders now use the Vulkan memory model in order to more accurately
    implement UAV coherency rules in compute shaders.
    Fixed various issuses with the D3D11.3 WriteToSubresource and
    ReadFromSubresource methods.
    Fixed various float emulation issues in D3D9 applications.
    Fixed seamless cube map filtering in D3D9 applications (PR #2889).
    Fixed issues when rendering to DXGI_FORMAT_A8_UNORM (D3D11) or D3DFMT_A8
    (D3D9) render targets with blending enabled.
    Fixed a bug with dual-source blending when multiple render targets are
    bound, which could lead to unpredictable results. This affects Elex 2 and
    potentially other games.
    Fixed memory allocation logic on Intel integrated graphics.
    Changed behaviour of the DXVK_STATE_CACHE environment variable, see the
    README for details.
    Changed the DXVK_PERF_EVENTS environment variable to DXVK_DEBUG, see the
    README for details.
    Alan Wake: Fixed a regression that caused grey rectangles to appear on
    screen on AMD GPUs. (#2834, PR: #2835)
    Alice Madness Returns: Fixed an issue with flashing bright spots.
    (PR: #2939)
    Anomaly: Warzone Earth: Fixed a deadlock when starting the game. (#1650,
    PR: #3035)
    Beyond Good and Evil: Enabled 60 FPS limit to work around game bugs.
    (PR #2828)
    Dragon Age Origins: Work around an out of memory issue when alt tabbing out
    of the game. (#3022, PR: #3023)
    Empire: Total War: Fixed rendering. (#3017, PR #3018)
    Final Fantasy XV: Improved performance when VXAO is enabled.
    Grand Theft Auto IV: Disabled support for DF texture formats to make the
    game render mirrors in higher quality.
    Heroes Of Annihilated Empires: Fixed crash. (#2879)
    Limit King Of Fighters XIII: Enabled 60 FPS limit to work around game bugs.
    (#2647, PR #2831)
    Metal Gear Solid V: Ground Zeroes: Work around texture streaming issues on
    GPUs with 4 GiB or more VRAM. (PR #2867)
    SiN Episodes: Emergence: Work around an out-of-memory issue caused by the
    game creating an infinite number of textures. (PR #2907)
    Sonic Generations: Improved performance by reducing GPU synchronization.
    (PR: #3009)
    Spider Man: Shattered Dimensions: Fixed a lighting issue. (#2780, PR: #2782)
    The Ship: Work around an out-of-memory issue caused by the game creating an
    infinite number of textures. (#2893, PR #2896)
    Warhammer Online: Enabled 100 FPS limit on 64-bit executable to work around
    game bugs. (PR #2902)
    Ys Seven: Fixed a regression that caused the game to only render a black
    screen. (PR: #2873)
openSUSE Build Service is sponsored by