Releases: Digger1955/dxvk-gplall
Release list
2.6.8-1
DXVK-GPLALL 2.6.8-1 (DXVK-GPLAsync-LowLatency 2.6.8-1)
Based on DXVK 2.6.2 and commits from DXVK 2.7, DXVK 2.7.1 and later, DXVK GPLAsync 2.6.2 and DXVK GPLAsync 2.7.1-patch, DXVK Low Latency 2.7.1-commit 9659672.
It consists of:
- DXVK-GPLALL-GCC-WinMacLinux-SSE2-O3-LTO 2.6.8-1
- DXVK-GPLALL-GCC-WinMacLinux-SSE4.2-O3-LTO-GENERIC 2.6.8-1
- DXVK-GPLALL-GCC-WinMacLinux-SSE4.2-O3-LTO-INTEL 2.6.8-1
- DXVK-GPLALL-MSVC-Windows-SSE2-O1_Oi_Ob3-LTCG 2.6.8-1
- DXVK-GPLALL-MSVC-Windows-AVX2-O1_Oi_Ob3-LTCG-AMD64 2.6.8-1
- DXVK-GPLALL-MSVC-Windows-SSE4.2-O1_Oi_Ob3-LTCG-INTEL64 2.6.8-1
- DXVK Native-GPLALL-GCC-SSE2-O3-LTO 2.6.8-1
- DXVK Native-GPLALL-GCC-SSE4.2-O3-LTO-GENERIC 2.6.8-1
- DXVK Native-GPLALL-GCC-SSE4.2-O3-LTO-INTEL 2.6.8-1
- Source Code
- dxvk.conf
DXVK-GPLALL Roadmap Update:
- DXVK-GPLALL 3.x branch is cancelled and will not be released.
- Reasons:
- DXVK 3.x introduced a large amount of performance/stability/rendering issues on different OSes/GPUs/Drivers.
- For the first time from the moment I started to use DXVK, DXVK 3.x with and without GPL usage failed to run Borderlands 2 Remastered (D3D9 x32) on my test system. That alone shows that DXVK targets only a specific set of OSes/GPUs/Drivers. Not to mention, AMD RDNA 1/2 Windows performance, Intel Xe issues and etc.
- Continuation of unjustified increase in Vulkan requirements to the ridiculous point in order to run applicaitons that were released from 2000s to 2010s.
- Vulkan 1.4 should not be a requirement to play WarCraft 3 - I have played it on SiS Mirage 2 M760GX integrated graphics.
- DXVK's development team questionable development decisions:
- DXVK 3.x introduced a large amount of performance/stability/rendering issues on different OSes/GPUs/Drivers.
- As a result, I don't see any practical reason to spend my limited time resources on DXVK-GPLALL 3.x. After all, DXVK-GPLALL is a hobby project, which I develop in my free time. I would rather spend it on a software that works across wide range of devices and does what it was designed to do well. Sorry for any inconvenience.
- Reasons:
- DXVK-GPLALL 2.x branch development, specifically DXVK-GPLALL 2.6.x, will procceed as planned.
- Note: Actually, amount of changes in this release more than justfies naming
DXVK-GPLALL 2.8.0-1. But, in order not to break existing naming scheme and show that this release does have same requirements as DXVK 2.6, it has been decided to keep 2.6.x naming for current and future releases.
- Note: Actually, amount of changes in this release more than justfies naming
Release Notes:
Sixth maintenance release of DXVK-GPLALL 2.6.x branch.
- Significant changes:
DXVK: [d3d9] Improve SetRenderState state tracking- Improves CPU-bound performance in D3D9 applications.
DXVK: D3D9 Tracking mask cleanup- Improves CPU-bound performance in D3D9 applications.
DXVK: Refactor pipeline layouts- Improves CPU-bound performance and shaders compilation time, reduces the amount of memory used for Push Constants from 128 to 64 bytes.
- Interestingly, this PR lowers one of key Vulkan requirements -
maxPushConstantSize- and since upstream DXVK raised this requirement to 256 bytes, this makes DXVK-GPLALL somewhat unique, as it is the only DXVK fork that has such lowmaxPushConstantSizerequirement.
- Interestingly, this PR lowers one of key Vulkan requirements -
- Improves CPU-bound performance and shaders compilation time, reduces the amount of memory used for Push Constants from 128 to 64 bytes.
DXVK: [d3d11] Support planar outputs in video processor- Implements video playback in some applications.
DXVK: 7e55c2d - [d3d11] Use existing MD5 hash to look up shader objects- Significantly speeds up D3D11 shaders compilation.
DXVK: Render target binding fix- Improves CPU-bound performance, allows to use
GPLAsync-2.7.1patch.
- Improves CPU-bound performance, allows to use
DXVK: de4d685 - [dxvk] Use smaller global sampler set- Fixes performance issues on NVIDIA GPUs, lowers max VRAM usage.
DXVK: 69b57e8 - [dxvk] Don't needlessly destroy samplers if there is space- Improves CPU-bound performance.
DXVK: [d3d9] Rework render target binding logic- Improves CPU-bound performance in D3D9 applications.
DXVK: [d3d9] Optimize StretchRect stretching resolves + D3D9 blit + resolve rework + 6d48513 - [dxvk] Support average resolve in blit shader- Improves GPU-bound performance in D3D9 applications that use MSAA.
- Upstream DXVK MSAA shader was rewritten to keep same GPU requirements - it uses the to GLSL 450 and does not require
shaderInt64. In the process of rewriting MSAA shader was optimized - its performance now scales with MSAA count and a few performance tweaks were applied. As a result, it should be faster than upstream DXVK MSAA shader at 2x MSAA and 4x MSAA and should be equal at 8x MSAA.
- Upstream DXVK MSAA shader was rewritten to keep same GPU requirements - it uses the to GLSL 450 and does not require
- Improves GPU-bound performance in D3D9 applications that use MSAA.
DXVK: [d3d9] Bind framebuffer rework- Improves CPU-bound performance in D3D9 applications.
DXVK: Optimize D3D9 vertex buffer binding- Improves CPU-bound performance in D3D9 applications.
DXVK: 660d382 - [dxvk] Limit shader compiler threads to 8 on 32-bit- Set to 12 in DXVK-GPLALL. Due to all
DXVK-GPLALL 2.6.8-1improvements does not affect shaders compilation time in 32-bit applications, but lower address space usage, which is useful for different applications, like Fallout New Vegas, Borderlands 2, World of Warcraft 3.3.5a etc.
- Set to 12 in DXVK-GPLALL. Due to all
DXVK: Some rasterizer discard optimizations- Improves GPU-bound performance in some cases.
DXVK: 5c45928 - [d3d9] Pass view format and swizzle to samplers - Implement border color swizzle -- Previously unimplemented part of PR#5390 - now fully operational.
DXVK: Only enable CUDA interop extensions on winevulkan- Fixes address space issues on NVIDIA GPUs.
GPLALL: Adjusted descriptor set allocation, changedMaxDesiredPoolCount.- Rebalanced to be more optimal for usage without GPL (i.e. when there is no severe address space issues) to improve RAM usage, CPU-bound and GPU-bound performance, should improve frametime consistency.
DXVK: Rewrite unmaped memory allocator- Improves CPU-bound performance and lowers RAM usage in D3D9 applications.
DXVK: a137f78 - [dxvk] Add option to enable descriptor update templates on legacy- Enabled by default in DXVK-GPLALL. Improves CPU-bound performance.
GPLALL: Reverted 51f2e24 - [util,dxvk] Limit frame rate based on deadline + d819ec2 - [util] Implement refresh rate heuristic for frame rate limiter. Author - Digger1955.- Resolves frame pacing issues in
dxvk.framePace = max-frame-latencywith and without enabled DXVK FPS Limiter.- Heuristic logic was the main culprit of the observed frame pacing issues in
dxvk.framePace = max-frame-latencymode. Due to upstream DXVK's defaults, heuristic logic was always enabled, to check whether FPS Limiter needs to be enabled. More info at the respective upstream DXVK issue: doitsujin#5802 - As a result, default state for DXVK FPS Limiter is now -1 - always disabled by default.
- Heuristic logic was the main culprit of the observed frame pacing issues in
- Resolves frame pacing issues in
GPLALL: Raised number of required draw calls for render target, after which asynchronous pipeline compilation for corresponding shader will be enabled. Author - Digger1955.- Improves CPU-bound performance, slightly speeds up shaders compilation time, due to more balanced Sync/Async compilation usage, and Async graphical side effects are lessened, because of more shaders getting synchronous pipeline compilation.
- CPU-bound performance improvements and shader compilation time improvements in DXVK-GPLALL 2.6.8-1 made current number of draw calls inefficient - there is now no need to send so many shaders to the
Asynccompilation in order to av...
2.6.7-1
DXVK-GPLALL 2.6.7-1 (DXVK-GPLAsync-LowLatency 2.6.7-1)
Based on DXVK 2.6.2 and commits from DXVK 2.7, DXVK 2.7.1 and later, DXVK GPLAsync 2.6.2 and DXVK GPLAsync 2.7-patch, DXVK Low Latency 2.7.1-commit 9659672.
It consists of:
- DXVK-GPLALL-GCC-WinMacLinux-SSE2-O3-LTO 2.6.7-1
- DXVK-GPLALL-GCC-WinMacLinux-SSE4.2-O3-LTO-GENERIC 2.6.7-1
- DXVK-GPLALL-GCC-WinMacLinux-SSE4.2-O3-LTO-INTEL 2.6.7-1
- DXVK-GPLALL-MSVC-Windows-SSE2-O1_Oi_Ob3-LTCG 2.6.7-1
- DXVK-GPLALL-MSVC-Windows-AVX2-O1_Oi_Ob3-LTCG-AMD64 2.6.7-1
- DXVK-GPLALL-MSVC-Windows-SSE4.2-O1_Oi_Ob3-LTCG-INTEL64 2.6.7-1
- DXVK Native-GPLALL-GCC-SSE2-O3-LTO 2.6.7-1
- DXVK Native-GPLALL-GCC-SSE4.2-O3-LTO-GENERIC 2.6.7-1
- DXVK Native-GPLALL-GCC-SSE4.2-O3-LTO-INTEL 2.6.7-1
- Source Code
- dxvk.conf
DXVK-GPLALL Roadmap:
-
After the release of DXVK 3.x, two separate DXVK-GPLALL branches will be maintained.
- DXVK-GPLALL 3.x branch, which will consist of
upstream DXVK 3.x + GPLAsync-patch + Low Latency commits + GPLALL-specific commits. It will be updated on every upstream DXVK 3.x release, but only after every aforementioned component is considered ready.- DXVK-GPLALL 3.x branch will be the most performant version of DXVK-GPLALL, due to DXVK 3.x improvements, such as new shader compiler, usage of
VK_EXT_descriptor_heap, huge number of various improvements etc.
- DXVK-GPLALL 3.x branch will be the most performant version of DXVK-GPLALL, due to DXVK 3.x improvements, such as new shader compiler, usage of
- DXVK-GPLALL 2.x branch, specifically DXVK-GPLALL 2.6.x branch, which will consist of
upstream DXVK 2.6.2 + later commits + GPLAsync-patch + Low Latency commits + GPLALL-specific commits. It will be maintained for GPUs/drivers that do not meet requirements for DXVK 2.7.x and later. It will be updated if/when there will be reasonable amount of changes to justify new release.- DXVK-GPLALL 2.6.x branch is chosen due to its broader compatibility, the fact that
DXVK-GPLALL 2.6.7-1is the most performant variant of DXVK-GPLALL 2.x branch and because it incorporates huge number of fixes from upstream DXVK that are not present in DXVK-GPLALL 2.7.x branch.
- DXVK-GPLALL 2.6.x branch is chosen due to its broader compatibility, the fact that
- DXVK-GPLALL 3.x branch, which will consist of
-
DXVK-GPLALL 2.7.x branch will no longer be updated. This decision was made, because DXVK-GPLALL 2.6.x branch have accumulated huge number of fixes and improvements from upstream DXVK that are not present in DXVK-GPLALL 2.7.x branch. Due to this fact, it makes no sense to update DXVK-GPLALL 2.7.x branch.
DXVK-GPLALL 2.7.1-4users should update toDXVK-GPLALL 2.6.7-1. The only missing functionality from DXVK-GPLALL 2.6.x branch isVK_EXT_descriptor_buffer, which is already deperecated by upstream DXVK in favor ofVK_EXT_descriptor_heapin DXVK 3.x.- Note: On devices that do not have
timestampValidBits = 64(Adreno/Mail/PowerVR etc. mobile GPUs, Intel iGPUs, Intel ARC A GPU Series, possibly more) DXVK-GPLALL will crash applications randomly, ifdxvk.framePaceis set todxvk.framePace = "low-latency"(default value) ordxvk.framePace = "low-latency-vrr-x". In order to useDXVK-GPLALL 2.6.7-1on such devices setdxvk.framePace = "max-frame-latency"ordxvk.framePace = "min-latency". Performance of these modes is improved inDXVK-GPLALL 2.6.7-1in comparison to bothDXVK-GPLALL 2.7.1-4andDXVK-GPLALL 2.6.6-1.- Reason:
timestampValidBitscheck can't be implemented, due to DXVK 2.6.x codebase.- In order to check, whether GPU has
timestampValidBits = 64, use Vulkan GPUInfo website, section "Queue Families". Example - NVIDIA GeForce GT730M.
- In order to check, whether GPU has
- Reason:
- Note: On devices that do not have
Release Notes:
Fifth maintenance release of DXVK-GPLALL 2.6.x branch.
- Significant changes:
DXVK: [d3d11] Fix deadlock when recursively destroying state objects- Allows correct functioning of Luma Framework.
DXVK: Make depth-stencil and depth bias state fully dynamic- Improves CPU-bound performance, allows to backport state cache improvements from
DXVK-GPLALL 2.7.1-4.
- Improves CPU-bound performance, allows to backport state cache improvements from
DXVK: Optimize pipeline look-up if there are many pipeline variants- Improves CPU-bound performance and shaders compilation time.
DXVK: Implement centered sample locations- Implements
D3DRS_MULTISAMPLEANTIALIASin D3D9 and fixes rendering issues in some games with MSAA.
- Implements
DXVK: Fix parallel pipeline variant compiles- Improves CPU-bound performance and shaders compilation time, allows to use more performant version of
GPLAsyncpatch.
- Improves CPU-bound performance and shaders compilation time, allows to use more performant version of
DXVK: eae7563 - [dxvk] Dirty-check input layouts in the backend- Improves CPU-bound performance.
- DXVK-GPLALL changes:
GPLALL: Improved state cache functionality by removing duplicated depth-stencil states and using depth-stencil states synthesised at write time. Author - Laitinlok, backport - Digger1955- Improves CPU-bound performance, fixes minor stuttering.
GPLALL: Switched to more performant version ofGPLAsyncpatch. Author - Britt Yazel, backport - Digger1955- Improves CPU-bound performance and shaders compilation time.
GPLALL: Implemented Dynamic State-Aware Bind-Skip. Based on - isygold, idea and initial implementation - Laitinlok, actual implementation and backport - Digger1955- Improves CPU-bound performance and applications startup time.
GCC: GitHub Actions infrastructure, which is used to provide releases, updated to GCC 16.1.MSVC: GitHub Actions infrastructure, which is used to provide releases, was forced to MSVC 2022, due to MSVC 2026 WIP-state.
Next maintenance releases will have less changes, due to more significant incompatibilities between DXVK 2.6.x and next DXVK versions.
List of ported and adapted upstream DXVK commits:
a1abc9c - [wsi] Don't treat SDL_SetWindowPosition failure as fatal
b1b1d97 - [d3d9] Fix weird 16-bit swapchain format mapping - Port built-in shaders to dxbc-spv IR
011706c - [d3d11] Fix deadlock when recursively destroying state objects
89087e6 - [dxgi] Update UMD version
e3d3f69 - [dxvk] Always re-route mapped allocations to cached memory on tilers
817081a - [d3d9] Add option to force draw time buffer uploads - Add option to force draw time upload to work around game bug
3174b66 - [util] Enable draw time buffer uploads for CSGO and Insurgency - Add option to force draw time upload to work around game bug
1986a9c - [dxvk] Correctly track "move" usage
35eb7a2 - [dxvk] Fix feature check when adding image usage flags
c2308b6 - [d3d9] Disable sRGB support for D3DFMT_L8
bdda2cc - [dxvk] Bump maximum number of dynamic states to 20 - Make depth-stencil and depth bias state fully dynamic
6f0e2f1 - [dxvk] Make depth bias enable fully dynamic - Make depth-stencil and depth bias state fully dynamic
92d2145 - [dxvk] Remove depth bias enable from rasterizer state - Make depth-stencil and depth bias state fully dynamic
ab32c6c - [dxvk] Make depth bounds state fully dynamic - Make depth-stencil and depth bias state fully dynamic
e9708d1 - [dxvk]...
2.7.1-4
DXVK-GPLALL 2.7.1-4 (DXVK-GPLAsync-LowLatency 2.7.1-4)
Based on DXVK 2.7.1, DXVK GPLAsync 2.7-patch, DXVK Low Latency 2.7.1-commit 9659672 without upstream DXVK merge commit b687611.
It consists of:
- DXVK-GPLALL-GCC-WinMacLinux-SSE2-O3-LTO 2.7.1-4
- DXVK-GPLALL-GCC-WinMacLinux-SSE4.2-O3-LTO-GENERIC 2.7.1-4
- DXVK-GPLALL-GCC-WinMacLinux-SSE4.2-O3-LTO-INTEL 2.7.1-4
- DXVK-GPLALL-MSVC-Windows-SSE2-O1_Oi_Ob3-LTCG 2.7.1-4
- DXVK-GPLALL-MSVC-Windows-AVX2-O1_Oi_Ob3-LTCG-AMD64 2.7.1-4
- DXVK-GPLALL-MSVC-Windows-SSE4.2-O1_Oi_Ob3-LTCG-INTEL64 2.7.1-4
- DXVK Native-GPLALL-GCC-SSE2-O3-LTO 2.7.1-4
- DXVK Native-GPLALL-GCC-SSE4.2-O3-LTO-GENERIC 2.7.1-4
- DXVK Native-GPLALL-GCC-SSE4.2-O3-LTO-INTEL 2.7.1-4
- Source Code
- dxvk.conf
Release Notes:
GPLALL: Improved state cache functionality by removing duplicated depth-stencil states and using depth-stencil states synthesised at write time. Author - Laitinlok.- Improves CPU-bound performance, fixes minor stuttering.
GCC: GitHub Actions infrastructure, which is used to provide releases, updated to GCC 16.1.MSVC: GitHub Actions infrastructure, which is used to provide releases, was forced to MSVC 2022, due to MSVC 2026 WIP-state.
2.7.1-3
DXVK-GPLALL 2.7.1-3 (DXVK-GPLAsync-LowLatency 2.7.1-3)
Based on DXVK 2.7.1, DXVK GPLAsync 2.7-patch, DXVK Low Latency 2.7.1-commit 9659672 without upstream DXVK merge commit b687611.
It consists of:
- DXVK-GPLALL-GCC-WinMacLinux-SSE2-O3-LTO 2.7.1-3
- DXVK-GPLALL-GCC-WinMacLinux-SSE4.2-O3-LTO-GENERIC 2.7.1-3
- DXVK-GPLALL-GCC-WinMacLinux-SSE4.2-O3-LTO-INTEL 2.7.1-3
- DXVK-GPLALL-MSVC-Windows-SSE2-O1_Oi_Ob3-LTCG 2.7.1-3
- DXVK-GPLALL-MSVC-Windows-AVX2-O1_Oi_Ob3-LTCG-AMD64 2.7.1-3
- DXVK-GPLALL-MSVC-Windows-SSE4.2-O1_Oi_Ob3-LTCG-INTEL64 2.7.1-3
- DXVK Native-GPLALL-GCC-SSE2-O3-LTO 2.7.1-3
- DXVK Native-GPLALL-GCC-SSE4.2-O3-LTO-GENERIC 2.7.1-3
- DXVK Native-GPLALL-GCC-SSE4.2-O3-LTO-INTEL 2.7.1-3
- Source Code
- dxvk.conf
Release Notes:
IMPORTANT: Please refer to Quick Start Guide to achieve the best results on the end-user system.
- DXVK-GPLALL changes:
GCC: Added-ffunction-sections,-fdata-sections,-Wl,--gc-sectionsflags.- Has the same effect as
/Gw,/GF,/Gy,/OPT:REF,ICFforMSVC- reduces DLLs size and potentially improves performance.
- Has the same effect as
GCC-SSE4.2-O3-LTO-INTEL: Added-mbmi,-mbmi2,-mmovbeflags.- Allows compiler usage of BMI, BMI2 and MOVBE instructions, which improve CPU-bound performance. These instructions are non-AVX part of
x86-64-v3set and do not change DXVK-GPLALL requirements specified in Builds Reference Guide.- Note:
MSVC-AVX2-O1_Oi_Ob3-LTCG-AMD64build uses all of these instructions as a part of/arch:AVX2.MSVC-SSE4.2-O1_Oi_Ob3-LTCG-INTEL64build does not use these instructions, due to/arch:SSE4.2, and there is no way to specify usage of separate instruction inMSVCcompiler.
- Note:
- Allows compiler usage of BMI, BMI2 and MOVBE instructions, which improve CPU-bound performance. These instructions are non-AVX part of
GCC-SSE4.2-O3-LTO-GENERIC: Added-mbmi,-mmovbeflags.- Allows compiler usage of BMI and MOVBE instructions, which improve CPU-bound performance. These instructions are non-AVX part of
x86-64-v3set and do not change DXVK-GPLALL requirements specified in Builds Reference Guide.- Note:
-mbmi2flag is not used, in order to avoid performance regression on AMD CPUs up to and including Zen2, due to usage of BMI2PDEP/PEXTinstructions.
- Note:
- Allows compiler usage of BMI and MOVBE instructions, which improve CPU-bound performance. These instructions are non-AVX part of
MSVC: Changed optimization level from/O2to/O1with/Oi.- CPU-bound performance improvements. For DXVK-type workloads (DirectX-to-Vulkan translation layer) on out-of-order CPUs (all x86-64 CPUs) fitting a code segment into the instruction cache is preffered to fastest code. Older CPUs with slower and smaller cache will see the most significant performance improvements.
- Note: For
GCC, change from-O3to-Osleads to compilation failure, probably due to alignment issues.
- Note: For
- CPU-bound performance improvements. For DXVK-type workloads (DirectX-to-Vulkan translation layer) on out-of-order CPUs (all x86-64 CPUs) fitting a code segment into the instruction cache is preffered to fastest code. Older CPUs with slower and smaller cache will see the most significant performance improvements.
GCC: Added-Wno-deprecatedflag to silence not very useful compilation warnings about-mtune=x86-64usage.MSVC: Set/Qpar-report:1and/Qvec-report:1flags to decrease compilation logs size.MSVCandMSVC-AVX2-O1_Oi_Ob3-LTCG-AMD64: Additions of defaultMSVCflags, in order to have an explicit way to changeMSVCdefaults - no functional changes.Clang: Added-fwhole-program-vtablescompiler flag.- Requires FullLTO, enables single-implementation devirtualization and virtual constant propagation, improves CPU-bound performance.
GCC/MSVC/Clang: Added explanatory comments to compiler optimization flags.
- Updated DXVK Low Latency-part of the source code to the latest state.
- Improvements in DXVK Low Latency are significant enough to bulid a new DXVK-GPLALL release.
- Note: Upstream DXVK commits, that are part of DXVK Low Latency 2.7.1-3-521, are not part of this release, due to upstream DXVK WIP-state.
- Improvements in DXVK Low Latency are significant enough to bulid a new DXVK-GPLALL release.
List of ported and adapted DXVK Low Latency commits:
40e778a - [dxvk] Enable calibrated timestamps only for low-latency modes - Minor optimizations
159ff57 - [dxvk] Fix ringbuffer allocator bug - Minor optimizations
eeb9e83 - [dxvk] Reduce memory footprint of latency markers - Minor optimizations
e554b1b - [dxvk] Optimize DxvkSharedAllocationCache::freeAllocation - Minor optimizations
c42092a - [dxvk] Optimize DxvkCsChunkPool - Minor optimizations
b81475c - [dxvk] Optimize sync::Fence - Minor optimizations
96daf3c - [util] Add sync::AtomicSignal based on WaitOnAddress / futex - Threaded sleep
5311d42 - [dxvk] Add ThreadedSleep - Threaded sleep
6ccd7b4 - [dxvk] Add frame duration measurement for app-thread - Jitter display
9b85b1e - [dxvk] Add jitter tracking - Jitter display
07d5b3e - [hud] Change initialization location of latency hud items - Jitter display
9659672 - [hud] Add jitter hud item - Jitter display
2.6.6-1
DXVK-GPLALL 2.6.6-1 (DXVK-GPLAsync-LowLatency 2.6.6-1)
Based on DXVK 2.6.2 and commits from DXVK 2.7, DXVK 2.7.1 and later, DXVK GPLAsync 2.6.2 and DXVK GPLAsync 2.7-patch, DXVK Low Latency 2.7.1-commit 9659672.
It consists of:
- DXVK-GPLALL-GCC-WinMacLinux-SSE2-O3-LTO 2.6.6-1
- DXVK-GPLALL-GCC-WinMacLinux-SSE4.2-O3-LTO-GENERIC 2.6.6-1
- DXVK-GPLALL-GCC-WinMacLinux-SSE4.2-O3-LTO-INTEL 2.6.6-1
- DXVK-GPLALL-MSVC-Windows-SSE2-O1_Oi_Ob3-LTCG 2.6.6-1
- DXVK-GPLALL-MSVC-Windows-AVX2-O1_Oi_Ob3-LTCG-AMD64 2.6.6-1
- DXVK-GPLALL-MSVC-Windows-SSE4.2-O1_Oi_Ob3-LTCG-INTEL64 2.6.6-1
- DXVK Native-GPLALL-GCC-SSE2-O3-LTO 2.6.6-1
- DXVK Native-GPLALL-GCC-SSE4.2-O3-LTO-GENERIC 2.6.6-1
- DXVK Native-GPLALL-GCC-SSE4.2-O3-LTO-INTEL 2.6.6-1
- Source Code
- dxvk.conf
Release Notes:
IMPORTANT: DXVK-GPLALL 2.6.x version will be maintained for GPUs/drivers that do not have VK_KHR_maintenance5 and/or maxPushConstantsSize=256. Commits from DXVK, DXVK GPLAsync, DXVK Low Latency will be ported to DXVK-GPLALL 2.6.x, if possible. Also, DXVK-GPLALL 2.6.x will be recompiled from time to time, when new compiler versions with significant improvements are out.
Fourth maintenance release of DXVK-GPLALL 2.6.x branch.
IMPORTANT: Please refer to Quick Start Guide to achieve the best results on the end-user system.
- Significant changes:
DXVK: [dxvk] Throttle resource eviction- Improves performance under extreme memory pressure.
DXVK Low Latency: Use calibrated device timestamps for each submit- Significant precision and smoothness improvements for GPU Drivers that support
VK_EXT_calibrated_timestamps. Note:VK_EXT_calibrated_timestampswas used instead ofVK_KHR_calibrated_timestampsdue to larger coverage of devices and drivers. - IMPORTANT:
timestampValidBitscheck can't be implemented, due to DXVK 2.6.x codebase. In order to check, whether GPU hastimestampValidBits = 64, use Vulkan GPUInfo website, section "Queue Families". Example - NVIDIA GeForce GT730M. - IMPORTANT: On devices that do not have
timestampValidBits = 64(Adreno/Mail/PowerVR etc. mobile GPUs, Intel iGPUs, Intel ARC A GPU Series, possibly more) DXVK-GPLALL will crash applications randomly, ifdxvk.framePaceis set todxvk.framePace = "low-latency"(default value) ordxvk.framePace = "low-latency-vrr-x". In order to use DXVK-GPLALL 2.6.6-1 on such devices setdxvk.framePace = "max-frame-latency"ordxvk.framePace = "min-latency".
- Significant precision and smoothness improvements for GPU Drivers that support
DXVK Low Latency: Minor optimizations- CPU-bound performance improvements.
DXVK Low Latency: Threaded sleep- Significant smoothness improvements, minor performance and latency improvement.
- DXVK-GPLALL changes:
GCC: Added-ffunction-sections,-fdata-sections,-Wl,--gc-sectionsflags.- Has the same effect as
/Gw,/GF,/Gy,/OPT:REF,ICFforMSVC- reduces DLLs size and potentially improves performance.
- Has the same effect as
GCC-SSE4.2-O3-LTO-INTEL: Added-mbmi,-mbmi2,-mmovbeflags.- Allows compiler usage of BMI, BMI2 and MOVBE instructions, which improve CPU-bound performance. These instructions are non-AVX part of
x86-64-v3set and do not change DXVK-GPLALL requirements specified in Builds Reference Guide.- Note:
MSVC-AVX2-O1_Oi_Ob3-LTCG-AMD64build uses all of these instructions as a part of/arch:AVX2.MSVC-SSE4.2-O1_Oi_Ob3-LTCG-INTEL64build does not use these instructions, due to/arch:SSE4.2, and there is no way to specify usage of separate instruction inMSVCcompiler.
- Note:
- Allows compiler usage of BMI, BMI2 and MOVBE instructions, which improve CPU-bound performance. These instructions are non-AVX part of
GCC-SSE4.2-O3-LTO-GENERIC: Added-mbmi,-mmovbeflags.- Allows compiler usage of BMI and MOVBE instructions, which improve CPU-bound performance. These instructions are non-AVX part of
x86-64-v3set and do not change DXVK-GPLALL requirements specified in Builds Reference Guide.- Note:
-mbmi2flag is not used, in order to avoid performance regression on AMD CPUs up to and including Zen2, due to usage of BMI2PDEP/PEXTinstructions.
- Note:
- Allows compiler usage of BMI and MOVBE instructions, which improve CPU-bound performance. These instructions are non-AVX part of
MSVC: Changed optimization level from/O2to/O1with/Oi.- CPU-bound performance improvements. For DXVK-type workloads (DirectX-to-Vulkan translation layer) on out-of-order CPUs (all x86-64 CPUs) fitting a code segment into the instruction cache is preffered to fastest code. Older CPUs with slower and smaller cache will see the most significant performance improvements.
- Note: For
GCC, change from-O3to-Osleads to compilation failure, probably due to alignment issues.
- Note: For
- CPU-bound performance improvements. For DXVK-type workloads (DirectX-to-Vulkan translation layer) on out-of-order CPUs (all x86-64 CPUs) fitting a code segment into the instruction cache is preffered to fastest code. Older CPUs with slower and smaller cache will see the most significant performance improvements.
GCC: Added-Wno-deprecatedflag to silence not very useful compilation warnings about-mtune=x86-64usage.MSVC: Set/Qpar-report:1and/Qvec-report:1flags to decrease compilation logs size.MSVCandMSVC-AVX2-O1_Oi_Ob3-LTCG-AMD64: Additions of defaultMSVCflags, in order to have an explicit way to changeMSVCdefaults - no functional changes.Clang: Added-fwhole-program-vtablescompiler flag.- Requires FullLTO, enables single-implementation devirtualization and virtual constant propagation, improves CPU-bound performance.
GCC/MSVC/Clang: Added explanatory comments to compiler optimization flags.
Next maintenance releases will have less changes, due to more significant incompatibilities between DXVK 2.6.x and next DXVK versions.
List of ported and adapted upstream DXVK commits:
584041f - [util] Add a frame cap for The Evil Within 2
c774d93 - [include] Fix Windows typedefs in native headers
5c3437c - [d3d11] Fix surface map flags check
a26a504 - [d3d11] Add D3D11Device::RegisterDeviceRemovedEvent() stub
b776f63 - [dxvk] Fix VVL error about vkGetPhysicalDeviceMultisamplePropertiesEXT
c10c75e - [d3d8] Readjust ZBIAS factor
aa7f779 - Support for MW:R HMW-Mod
08925ba - Add comment for AMD AGS crash in HMW-Mod
77d57f2 - [util] Add infinite warfare / iw7-mod support
8710c80 - [dxgi,dxvk] Add support for P010/P016 textures
a5d2ded - [d3d9] Allow cursor clears on hidden HW cursors
9d5dd98 - [d3d9] Add a tiny amount of padding to texture mapping data - [d3d9] Add a tiny amount of padding to texture mapping data
252bdd8 - [util] Remove BlazBlue textureMemory workaround - [d3d9] Add a tiny amount of padding to texture mapping data
c27ef1c - [util] Spoof GPU for Sims 3
fe277ae - Correct a few native API data types
eab5145 - [d3d11] Construct D3D11DXGISurface with only ID3D11Resource. - [d3d11] Implement subresource surface support.
0bf876e - [d3d11] Implement subresource surface support. - [d3d11] Implement subresource surface support.
4bbe487 - [util] Fix crash on resolution change in Pirates
c8d5d8e - [dxgi] Do not update target frame rate when PRESENT_TEST is set
aadc4b4 - meson: Fix glfw dependency request to use correct pkgconfig name
9f97d4c - native: Add define for DECLARE_INTERFACE_IID
31c5433 - [dxvk] Throttle resource eviction
d222d2c -...
2.7.1-2
DXVK-GPLALL 2.7.1-2 (DXVK-GPLAsync-LowLatency 2.7.1-2)
Based on DXVK 2.7.1, DXVK GPLAsync 2.7-patch, DXVK Low Latency 2.7.1-3.
It consists of:
- DXVK-GPLALL-GCC-WinMacLinux-SSE2-O3-LTO 2.7.1-2
- DXVK-GPLALL-GCC-WinMacLinux-SSE4.2-O3-LTO-GENERIC 2.7.1-2
- DXVK-GPLALL-GCC-WinMacLinux-SSE4.2-O3-LTO-INTEL 2.7.1-2
- DXVK-GPLALL-MSVC-Windows-SSE2-O2-LTCG 2.7.1-2
- DXVK-GPLALL-MSVC-Windows-AVX2-O2-LTCG-AMD64 2.7.1-2
- DXVK-GPLALL-MSVC-Windows-SSE4.2-O2-LTCG-INTEL64 2.7.1-2
- DXVK Native-GPLALL-GCC-SSE2-O3-LTO 2.7.1-2
- DXVK Native-GPLALL-GCC-SSE4.2-O3-LTO-GENERIC 2.7.1-2
- DXVK Native-GPLALL-GCC-SSE4.2-O3-LTO-INTEL 2.7.1-2
- Source Code
- dxvk.conf
Release Notes:
IMPORTANT: Please refer to DXVK-GPLALL Wiki for information about changes to the recommended configuration of Low Latency Frame Pacing Options.
- Updated DXVK Low Latency to 2.7.1-3.
- Improvements in DXVK Low Latency are significant enough to bulid a new DXVK-GPLALL release:
- GitHub Actions infrastructure, which is used to provide releases, updated to GCC 15.2.
2.6.5-1
DXVK-GPLALL 2.6.5-1 (DXVK-GPLAsync-LowLatency 2.6.5-1)
Based on DXVK 2.6.2 and commits from DXVK 2.7, DXVK 2.7.1 and later, DXVK GPLAsync 2.6.2 and DXVK GPLAsync 2.7-patch, DXVK Low Latency 2.7.1-commit b7e76e6.
It consists of:
- DXVK-GPLALL-GCC-WinMacLinux-SSE2-O3-LTO 2.6.5-1
- DXVK-GPLALL-GCC-WinMacLinux-SSE4.2-O3-LTO-GENERIC 2.6.5-1
- DXVK-GPLALL-GCC-WinMacLinux-SSE4.2-O3-LTO-INTEL 2.6.5-1
- DXVK-GPLALL-MSVC-Windows-SSE2-O2-LTCG 2.6.5-1
- DXVK-GPLALL-MSVC-Windows-AVX2-O2-LTCG-AMD64 2.6.5-1
- DXVK-GPLALL-MSVC-Windows-SSE4.2-O2-LTCG-INTEL64 2.6.5-1
- DXVK Native-GPLALL-GCC-SSE2-O3-LTO 2.6.5-1
- DXVK Native-GPLALL-GCC-SSE4.2-O3-LTO-GENERIC 2.6.5-1
- DXVK Native-GPLALL-GCC-SSE4.2-O3-LTO-INTEL 2.6.5-1
- Source Code
- dxvk.conf
Release Notes:
IMPORTANT: DXVK-GPLALL 2.6.x version will be maintained for GPUs/drivers that do not have VK_KHR_maintenance5 and/or maxPushConstantsSize=256. Commits from DXVK, DXVK GPLAsync, DXVK Low Latency will be ported to DXVK-GPLALL 2.6.x, if possible. Also, DXVK-GPLALL 2.6.x will be recompiled from time to time, when new compiler versions with significant improvements are out.
Third maintenance release of DXVK-GPLALL 2.6.x branch.
IMPORTANT: Please refer to DXVK-GPLALL Wiki for information about changes to the recommended configuration of Low Latency Frame Pacing Options.
- Significant changes:
D3D9: [d3d9] Do sequence number tracking for directly mapped buffer and Change Buffer mapping strategy. Ported and adapted by sTc2201- Significantly improves performance of GTA IV and other affected applications. Please refer to DXVK-GPLALL Wiki for information about changes in
dxvk.confoptions.
- Significantly improves performance of GTA IV and other affected applications. Please refer to DXVK-GPLALL Wiki for information about changes in
D3D11: Properly track D3D11 state object lifetime- Significantly improves performance of Bioshock Infinite and other affected applications.
DXVK: Update to VK_KHR_present_id2/wait2- Frame pacing improvements for newer GPU Drivers on Windows that support
VK_KHR_present_id2andVK_KHR_present_wait2Vulkan extensions, but can't run DXVK 2.7 and later in specific games.
- Frame pacing improvements for newer GPU Drivers on Windows that support
DXVK: [dxvk] Optimize load/store ops for single-aspect depth-stencil clearsDXVK: Implement border color swizzle- Note: D3D9-part of PR#5390 - Implement border color swizzle was not implemented due to incompatibility with DXVK-GPLALL 2.6.x codebase.
Next maintenance releases will have less changes, due to more significant incompatibilities between DXVK 2.6.x and next DXVK versions.
List of ported and adapted upstream DXVK commits:
71ed2e6 - [d3d8/9] Adjust invalid viewport handling - [d3d8/9] Adjust invalid viewport handling
07084e1 - [d3d9] Only D3D_OK D3DMULTISAMPLE_NONE checks for NULL format - [d3d8/9] Adjust invalid viewport handling
87f809d - [d3d9] Relax UpdateTexture size validations for single mip textures
66ac77a - [d3d9] Clean up cursor logic
c9feb0d - [d3d9] Advertise multisample NULL format checks - [d3d9] Advertise multisample NULL format checks
554b4e1 - [d3d8] Log d3d9 bridge exceptions and handle them gracefully - [d3d9] Advertise multisample NULL format checks
f963433 - [util] Rename custom device name for Crazy Machines 3
7216d72 - [util] Set custom device name for World of Final Fantasy
dfa52b6 - [d3d9] Fast skip DrawIndexedPrimitive(UP) calls with 0 NumVertices
e37ab16 - [util] Hide nvidia in RaceRoom Racing Experience
9a80ae6 - [util] Disable direct buffer mapping for Lego Racers 2
49ab4b9 - [util] Disable direct buffer mapping for Smash Up Derby
8bd72bb - [d3d9] Relax lock dimension checks on SYSTEMMEM surfaces
5819a1a - [util] Correct naming of scaleDref option in example config
43db11f - [d3d9] Lock the device when applying or capturing state blocks - [d3d8/9] State block refactoring and fixes
49d928f - [d3d8] Refactor d3d8 state blocks - [d3d8/9] State block refactoring and fixes
55ca713 - [d3d8/9] Validate state block types on creation - [d3d8/9] State block refactoring and fixes
53eee4b - [util] Splinter a Steam profile for Pandora Tomorrow
b3da810 - [util] Enable memoryTrackTest for Blitzkrieg 2
f33133a - [util] Disable counting losables for Core Awaken series & Mine Dungeon 2
2f93097 - [dxgi] Return S_OK from DxgiSwapChain::SetRotation() for identity rotation.
faae3ed - [wsi] Introduce separate methods to save and restore window state
e5ca79b - [dxgi] Update saved window state on ResizeTarget
eb1e375 - [util] Fix D3DKMT_DESTROYDCFROMMEMORY hDc member name - [util] Link with gdi32 before dxgi and link D3DKMT functions directly on Win32 platform
f5ad1aa - [util] Move initializers out of D3DKMT_DESTROYDCFROMMEMORY - [util] Link with gdi32 before dxgi and link D3DKMT functions directly on Win32 platform
847f7fd - [d3d11] Link with gdi32 before dxgi - [util] Link with gdi32 before dxgi and link D3DKMT functions directly on Win32 platform
0ad714f - [util] Import D3DKMT functions directly - [util] Link with gdi32 before dxgi and link D3DKMT functions directly on Win32 platform
66ad437 - [util] enable zeroMappedMemory for Ridge Racer Unbounded
47b4817 - [d3d9] Do sequence number tracking for directly mapped buffer - Ported and adapted by sTc2201
4463b5e - [d3d8] General casting and init cleanup - [d3d8] ZBIAS factor adjustment and general cleanup
2cb1816 - [d3d8] ZBIAS factor adjustment - [d3d8] ZBIAS factor adjustment and general cleanup
[1925f04](htt...
2.7.1-1
DXVK-GPLALL 2.7.1-1 (DXVK-GPLAsync-LowLatency 2.7.1-1)
Based on DXVK 2.7.1, DXVK GPLAsync 2.7-patch, DXVK Low Latency 2.7.1.
It consists of:
- DXVK-GPLALL-GCC-WinMacLinux-SSE2-O3-LTO 2.7.1-1
- DXVK-GPLALL-GCC-WinMacLinux-SSE4.2-O3-LTO-GENERIC 2.7.1-1
- DXVK-GPLALL-GCC-WinMacLinux-SSE4.2-O3-LTO-INTEL 2.7.1-1
- DXVK-GPLALL-MSVC-Windows-SSE2-O2-LTCG 2.7.1-1
- DXVK-GPLALL-MSVC-Windows-AVX2-O2-LTCG-AMD64 2.7.1-1
- DXVK-GPLALL-MSVC-Windows-SSE4.2-O2-LTCG-INTEL64 2.7.1-1
- DXVK Native-GPLALL-GCC-SSE2-O3-LTO 2.7.1-1
- DXVK Native-GPLALL-GCC-SSE4.2-O3-LTO-GENERIC 2.7.1-1
- DXVK Native-GPLALL-GCC-SSE4.2-O3-LTO-INTEL 2.7.1-1
- Source Code
- dxvk.conf
Release Notes:
- Reverted upstream DXVK 2.7 change which removes state cache starting from DXVK 2.7. Author - Laitinlok.
- Upstream DXVK state cache and DXVK GPLAsync state cache fixes for Async and GPL were ported in full, including options controls in
dxvk.confand environment variables.- State cache would be useful when used with Async without GPL to reduce stuttering in cases where shaders aren't compiling fast enough without GPL. Having state cache enabled should improve frame pacing which might benefit the latency of the application.
- Upstream DXVK state cache and DXVK GPLAsync state cache fixes for Async and GPL were ported in full, including options controls in
2.6.4-1
DXVK-GPLALL 2.6.4-1 (DXVK-GPLAsync-LowLatency 2.6.4-1)
Based on DXVK 2.6.2 and commits from DXVK 2.7, DXVK 2.7.1, DXVK GPLAsync 2.6.2 and DXVK GPLAsync 2.7-patch, DXVK Low Latency 2.7.1-commit d9d9c8f
It consists of:
- DXVK-GPLALL-GCC-WinMacLinux-SSE2-O3-LTO 2.6.4-1
- DXVK-GPLALL-GCC-WinMacLinux-SSE4.2-O3-LTO-GENERIC 2.6.4-1
- DXVK-GPLALL-GCC-WinMacLinux-SSE4.2-O3-LTO-INTEL 2.6.4-1
- DXVK-GPLALL-MSVC-Windows-SSE2-O2-LTCG 2.6.4-1
- DXVK-GPLALL-MSVC-Windows-AVX2-O2-LTCG-AMD64 2.6.4-1
- DXVK-GPLALL-MSVC-Windows-SSE4.2-O2-LTCG-INTEL64 2.6.4-1
- DXVK Native-GPLALL-GCC-SSE2-O3-LTO 2.6.4-1
- DXVK Native-GPLALL-GCC-SSE4.2-O3-LTO-GENERIC 2.6.4-1
- DXVK Native-GPLALL-GCC-SSE4.2-O3-LTO-INTEL 2.6.4-1
- Source Code
- dxvk.conf
Release Notes:
IMPORTANT: DXVK-GPLALL 2.6.x version will be maintained for GPUs/drivers that do not have VK_KHR_maintenance5 and/or maxPushConstantsSize=256. Commits from DXVK, DXVK GPLAsync and DXVK Low Latency will be ported to DXVK-GPLALL 2.6.x, if possible. Also, DXVK-GPLALL 2.6.x will be recompiled from time to time, when new compiler versions with significant improvements are out.
Second maintenance release of DXVK-GPLALL 2.6.x branch. Next maintenance releases will have less changes, due to more significant incompatibilities between DXVK 2.6.x and next DXVK versions.
List of ported and adapted upstream DXVK commits:
3265e4a - [util] Remove Crysis 3 vendor override
070a0a6 - [d3d9] Adjust texture memory reporting - [d3d8/9] Assorted fixes and nits
9738d6c - [util] Atempt to align most config profiles - [d3d8/9] Assorted fixes and nits
1b213e8 - [d3d9] Adjust DrawRect/TriPatch returns - [d3d8/9] Assorted fixes and nits
5743ae9 - [d3d9] Silence GetPresentStats warn loggers - [d3d8/9] Assorted fixes and nits
842b812 - [util] Add a custom device ID for Comanche 4 - [d3d8/9] Assorted fixes and nits
07f0d8e - [d3d9] Validate present parameters on calls to ResetEx - [d3d9] Fix several Wine 9Ex tests
65f9c3e - [d3d9] Validate SetMaximumFrameLatency MaxLatency values - [d3d9] Fix several Wine 9Ex tests
df0f17c - [d3d9] Don't allow D3DPOOL_MANAGED use on extended devices - [d3d9] Fix several Wine 9Ex tests
0286e99 - [d3d9] Validate shader constant register count - [d3d9] Fix several Wine 9Ex tests
61eec75 - [d3d9] Add a modeCountCompatibility config option - [d3d9] Add a modeCountCompatibility config option
2476135 - [util] Add modeCountCompatibility for the first 2 AquaNox games - [d3d9] Add a modeCountCompatibility config option
08c98f6 - [d3d11] Slience video related log spam in Overcooked AYCE
15dd702 - [d3d9] Add some missing texture validation - [d3d9] Texture creation cleanup + missing D3D9Ex texture creation validations
e915668 - [d3d9] Don't add RT usage for every offscreen surface - [d3d9] Texture creation cleanup + missing D3D9Ex texture creation validations
835e98c - [d3d9] Improve naming in StretchRect - [d3d9] Texture creation cleanup + missing D3D9Ex texture creation validations
c3125fe - [util] Hide Nvidia in Fallout New Vegas
5ef9412 - [util] Cap Witcher 1 at 300 fps
9f39fef - [util] Cap Guilty Gear at 60 fps
3425b1c - [util] Add a frame rate cap for Psi-Ops
2014db4 - [d3d9] Allow using StretchRect for simple copies on 9Ex devices - v.2.6.x Backport: TF2 fixes
8ec25ef - [d3d9] Properly set alpha test dirty flag when changing RT - v.2.6.x Backport: TF2 fixes
120fa71 - [d3d9] Address several d3d9Ex specific behaviors - [d3d9] Additional d3d9Ex Wine test fixes
bb2a46c - [d3d9] Restrict ATI2 format use - [d3d9] Additional d3d9Ex Wine test fixes
097c1a5 - [d3d8] Don't ref D3D9 state blocks in D3D8Device::CreateStateBlock - [d3d8] Top Spin fixes
3485312 - [util] Enforce legacy DISCARD behavior for Top Spin - [d3d8] Top Spin fixes
d0c3cde - [d3d9] Handle setting/getting texture palettes - [d3d9] Handling more state-related setters/getters
ba88d0c - [d3d9] Handle setting/getting NPatchMode - [d3d9] Handling more state-related setters/getters
dee6649 - [d3d9] Return 0 on calls to GetGPUThreadPriority - [d3d9] Handling more state-related setters/getters
46488ce - [d3d8] Use Set/GetNPatchMode for D3DRS_PATCHSEGMENTS - [d3d9] Handling more state-related setters/getters
448fd8f - [util] Track memory use for Alone in the Dark
bcb0abd - [util] Set cachedDynamicResources for Everybody's Gone to the Rapture
1e1551e - [d3d9] Fix crash in GetVulkanImageInfo for SYSMEM or NULL textures
84c233b - [d3d9] Validate the cursor bitmap against adapter mode dimensions - [d3d8/9] Yet another motley crew of fixes
fdf0d9d - [d3d8] Consolidate the present param validations - [d3d8/9] Yet another motley crew of fixes
97b220d - [d3d9] Allow the creation of D3DDEVTYPE_REF devices - [d3d8/9] Yet another motley crew of fixes
f0b9a1c - [util] Add a cautionary note on samplerAnisotropy - [d3d8/9] Yet another motley crew of fixes
5bf84f3 - [d3d9] Bring back allowDiscard hack - [d3d9] Bring back allowDiscard hack
5621bd0 - [util] Disable allowDiscard for ...
2.7-3
DXVK-GPLALL 2.7-3 (DXVK-GPLAsync-LowLatency 2.7-3)
Based on DXVK 2.7, DXVK GPLAsync 2.7-patch, DXVK Low Latency 2.7-commit cd329aa.
It consists of:
- DXVK-GPLALL-GCC-WinMacLinux-SSE2-O3-LTO 2.7-3
- DXVK-GPLALL-GCC-WinMacLinux-SSE4.2-O3-LTO-GENERIC 2.7-3
- DXVK-GPLALL-GCC-WinMacLinux-SSE4.2-O3-LTO-INTEL 2.7-3
- DXVK-GPLALL-MSVC-Windows-SSE2-O2-LTCG 2.7-3
- DXVK-GPLALL-MSVC-Windows-AVX2-O2-LTCG-AMD64 2.7-3
- DXVK-GPLALL-MSVC-Windows-SSE4.2-O2-LTCG-INTEL64 2.7-3
- DXVK Native-GPLALL-GCC-SSE2-O3-LTO 2.7-3
- DXVK Native-GPLALL-GCC-SSE4.2-O3-LTO-GENERIC 2.7-3
- DXVK Native-GPLALL-GCC-SSE4.2-O3-LTO-INTEL 2.7-3
- Source Code
- dxvk.conf
Release Notes:
-
Reverted upstream DXVK 2.7 change which removes state cache starting from DXVK 2.7. Author - Laitinlok.
- Upstream DXVK state cache and DXVK GPLAsync state cache fixes for Async and GPL were ported in full, including options controls in
dxvk.confand environment variables.- State cache would be useful when used with Async without GPL to reduce stuttering in cases where shaders aren't compiling fast enough without GPL. Having state cache enabled should improve frame pacing which might benefit the latency of the application.
- Upstream DXVK state cache and DXVK GPLAsync state cache fixes for Async and GPL were ported in full, including options controls in
-
Enabled additional optimization (
/Qpar) for MSVC SSE2-optimized (/arch:SSE2) builds of DXVK-GPLALL to futher increase performance in CPU-bound situations, speed up shader compilation. Author - Digger1955- Note:
/Qpar-report:2and/Qvec-report:2for MSVC builds are enabled for logging purposes and do not affect runtime performance in any way.
- Note: