DXVK-GPLAsync-LowLatency 2.6.7-1 (DXVK-GPLALL 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] Make depth-stencil state fully dynamic - Make depth-stencil and depth bias state fully dynamic
da33bdf - [dxvk] Only enable dynamic stencil test when using a stencil format - Make depth-stencil and depth bias state fully dynamic
94252d6 - [util] Add shared_mutex wrapper - Add shader cache and enable dxbc-spirv by default
01cfc8e - [util] Add FNV-1a implementation - Add shader cache and enable dxbc-spirv by default
48d25e6 - [util] Make fnv1a hash operate efficiently on byte arrays - Optimize pipeline look-up if there are many pipeline variants
9b1bb7b - [dxvk] Add hash functions to graphics and compute pipeline state - Optimize pipeline look-up if there are many pipeline variants
ceeb1d8 - [dxvk] Add efficient look-up table for pipeline variants - Optimize pipeline look-up if there are many pipeline variants
46ce92e - [dxvk] Use new pipeline variant table for graphics pipelines - Optimize pipeline look-up if there are many pipeline variants
4412884 - [dxvk] Use new pipeline variant table for compute pipelines - Optimize pipeline look-up if there are many pipeline variants
4057d3e - [util] Remove thread-safe list - Optimize pipeline look-up if there are many pipeline variants
9380aaa - [dxvk] Bump spec constant count to 20 - Optimize pipeline look-up if there are many pipeline variants
f64cac5 - [dxvk] Use fnv1a for DxvkHashState - Optimize pipeline look-up if there are many pipeline variants
1d4120a - [dxvk] Remove DxvkFramebufferKey - Optimize pipeline look-up if there are many pipeline variants
dcfb183 - [dxvk] Silence annoying gcc warnings
85b10cc - [dxvk] Enable VK_EXT_sample_locations if supported - Implement centered sample locations
e8d6c2a - [dxvk] Use small_vector for dynamic states - Implement centered sample locations
deb71c8 - [dxvk] Set up dynamic sample locations as necessary - Implement centered sample locations
dbdcda9 - [dxvk] Recreate depth-stencil image with SAMPLE_COMPATIBLE_DEPTH_BIT - Implement centered sample locations
d7fb1a3 - [d3d9] Implement D3DRS_MULTISAMPLEANTIALIAS - Implement centered sample locations
f082ec7 - [meta] Add VK_EXT_sample_locations to profile - Implement centered sample locations
1e4b86a - [meta] Add VK_EXT_extended_dynamic_state3 to profile - Implement centered sample locations
be4ac08 - [d3d9] Adjust fixed function shaders HUD element
cc41851 - [dxvk] Fix thread synchronization on pipeline compiles - Fix parallel pipeline variant compiles
602d7a8 - [dxvk] Adjust logic that assigns compile worker priorities - Fix parallel pipeline variant compiles
48d852b - [d3d9] Add a config option for cube texture depth format support
d7b1a29 - [util] Extend Fallout NV regex to include the GOG release
4277b7e - [d3d11] Fail device creation for some cases unsupported on Windows
80c80bf - [d3d11] Include all planes in subresource layout DepthPitch calculation.
2cae043 - [d3d9] Consolidate SWVP HUD
3db36db - [d3d9,dxgi] Add unified dxvk.maxFrameRate option
ab0940f - [meta] Fix sample config derp
eae7563 - [dxvk] Dirty-check input layouts in the backend - Optimize D3D9 input layout binding