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 avoid stutter. - Based on tests results
m_rtBindingFrameCountwas changed fromm_rtBindingFrameCount >= 2tom_rtBindingFrameCount >= 6.
GPLALL: Implemented significant improvements to upstream DXVK FPS Limiter, such as constant timer inteval - 1 ms, which is now does not depend on CPU or OS capabilities, implemented per-CPU-architecture specifc pause macros to save energy during busy-waiting, improved overall sleep logic. Author - Digger1955- I was advised to debug DXVK FPS Limiter issues myself by DXVK's development team - doitsujin#5802 (comment) - and that is what I did.
- DXVK FPS Limiter in
dxvk.framePace = max-frame-latencyin DXVK-GPLALL 2.6.8-1 uses signifcantly less CPU time (higher efficiency), while having better frame pacing (due to stable logic and higher precision), compared to DXVK-GPLALL 2.6.7-1 and DXVK 3.0.2.
GPLALL: Changed defaultdxvk.framePacemode fromdxvk.framePace = "low-latency"todxvk.framePace = "max-frame-latency". Author - Digger1955- Reasons:
- Benchmarks. Link to Benchmarks in DXVK-GPLALL Wiki.
- Broader compatibility, due to workarounding
DXVK-GPLALL 2.6.7-1known issue - now on devices that do not havetimestampValidBits = 64(Adreno/Mail/PowerVR etc. mobile GPUs, Intel iGPUs, Intel ARC A GPU Series, possibly more) DXVK-GPLALL by default works properly out of the box, no user intervention is needed.
Note: The cause of the issue is not yet fixed. So do not setdxvk.framePace = "low-latency"ordxvk.framePace = "low-latency-vrr-x"modes on aforementioned devices. - Unfortunately, there is still no way to automatically set refresh rate for
dxvk.framePace = "low-latency-vrr-x"mode, which is the best low latency mode. And since user in any case will have to tweak DXVK-GPLALL config to get the best result for his specific needs, if user wants to useLow Latencyfeature, there is no reason to set worse low latency mode (dxvk.framePace = "low-latency") by default.
- Reasons:
Next maintenance releases will have less changes, due to more significant incompatibilities between DXVK 2.6.x and next DXVK versions.
Benchmarks:
In order to showcase the progress between different DXVK-GPLALL versions, improvements that were made to upstream DXVK's default FPS Limiter and the reason why DXVK-GPLALL 2.6.8-1 default mode was changed from dxvk.framePace = "low-latency" to dxvk.framePace = "max-frame-latency", it has been decided to provide some benchmarks. Also, benchmarks show the direction of improvements in both upstream DXVK and DXVK-GPLALL.
Link to Benchmarks in DXVK-GPLALL Wiki.
List of ported and adapted upstream DXVK commits:
2bb8900 - [d3d9] Improve SetRenderState state tracking - [d3d9] Improve SetRenderState state tracking
37d9930 - [d3d9] Remove stored shader masks - D3D9 Tracking mask cleanup
84e125d - [d3d9] Remove unused IsDMAPSampler - D3D9 Tracking mask cleanup
e83f48e - [d3d9] Add dref clamp bits for VS textures - D3D9 Tracking mask cleanup
a39414c - [d3d9] Move texture type bitmask update into UpdateTextureBitmasks - D3D9 Tracking mask cleanup
54c2776 - [d3d9] Remove cubemap tracking mask - D3D9 Tracking mask cleanup
f2706fb - [d3d9] Remove lastSamplerType - D3D9 Tracking mask cleanup
c3755a5 - [d3d9] Move texture tracking masks to struct - D3D9 Tracking mask cleanup
b992dd8 - [d3d9] Move render target tracking masks to struct - D3D9 Tracking mask cleanup
a0ecae3 - [d3d9] Move vertex buffer tracking masks to struct - D3D9 Tracking mask cleanup
51f7a36 - [dxvk] Add new pipeline layout and binding map abstractions - Refactor pipeline layouts
9a37b63 - [dxvk] Add new pipeline layout objects to shader pipelines - Refactor pipeline layouts
4c05f0e - [dxvk] Ensure compatibility between old and new pipeline layouts - Refactor pipeline layouts
4efbc94 - [dxvk] Use new pipeline layouts for pipelines and resource updates - Refactor pipeline layouts
2db1ac8 - [dxvk] Use new pipeline layouts for descriptor set allocation - Refactor pipeline layouts
63d8b00 - [dxvk] Use new pipeline layouts for resource updates - Refactor pipeline layouts
373e62e - [dxvk] Use new pipeline layouts for hazard checking - Refactor pipeline layouts
1ae6050 - [dxvk] Special-case uniform buffers in descriptor updates - Refactor pipeline layouts
dcce371 - [dxvk] Do not set buffer slice when binding buffer views - Refactor pipeline layouts
91a4146 - [dxvk] Use separate arrays for different resource types - Refactor pipeline layouts
788f984 - [dxvk] Remove old pipeline layout code - Refactor pipeline layouts
2ff3e2e - [dxvk] Restore push constant trimming - Refactor pipeline layouts
00561c1 - [dxvk] Rework push constant tracking - Refactor pipeline layouts
2f6f1f3 - [dxbc] Don't declare rasterizer push constant for compute shaders - Refactor pipeline layouts
d9955a6 - [dxvk] Rework DxvkBindingInfo - Refactor pipeline layouts
50b989e - [dxbc] Use unique set and binding numbers for shader resources - Refactor pipeline layouts
adaf53c - [dxbc] Treat different resource types as their own namespace - Refactor pipeline layouts
a6c6a3b - [dxvk] Reduce number of resource slots - Refactor pipeline layouts
5730271 - [dxvk] Add convenience method to create pipeline layout - Refactor pipeline layouts
a643e0a - [dxvk] Add method to create built-in compute pipelines - Refactor pipeline layouts
b5bd391 - [dxvk] Add helper to manage built-in shaders - Require maintenance4 and maintenance5
0214c54 - [dxvk] Add method to create built-in graphics pipeline - Refactor pipeline layouts
1dbe53c - [hud] Use new built-in functions for pipeline creation - Refactor pipeline layouts
42958e7 - [dxvk] Use new built-in pipeline creation for swapchain blitter - Refactor pipeline layouts
9e9bb81 - [dxvk] Use new built-in pipeline creation for clear pipelines - Refactor pipeline layouts
2b9741d - [dxvk] Don't create shader modules for internal clear pipelines - Require maintenance4 and maintenance5
02b91e1 - [dxvk] Use new built-in pipeline creation for blit pipelines - Refactor pipeline layouts
fcb55fc - [dxvk] Don't create shader modules for internal blit pipelines - Require maintenance4 and maintenance5
b6de022 - [dxvk] Use new built-in pipeline creation for copy pipelines - Refactor pipeline layouts
a2738e0 - [dxvk] Don't create shader modules for internal copy pipelines - Require maintenance4 and maintenance5
daddabc - [dxvk] Use new built-in pipeline creation for resolve pipelines - Refactor pipeline layouts
8080bb7 - [dxvk] Don't create shader modules for internal resolve pipelines - Require maintenance4 and maintenance5
431f37f - [d3d9] Use new built-in pipeline creation for format conversion - Refactor pipeline layouts
03e7123 - [d3d9] Don't create shader module for format helper pipelines - Require maintenance4 and maintenance5
1a0cb45 - [dxvk] Reduce push constant size to 64 Bytes - Refactor pipeline layouts
0cdebaf - [dxvk] Use generic push constant layout for linked pipelines - Refactor pipeline layouts
3c5a371 - [d3d9] Bind output for ProcessVertices as raw buffer view - Refactor pipeline layouts
e9eff9c - [dxvk] Use internal descriptor set layout pointer for set look-up
1085ccb - [dxvk] Rename dxvk_descriptor.*
0f4bf3b - [util] Add functionality to query rejected submission request type - Rework tiler submission heuristic (again)
a169933 - [d3d11] Rework render pass boundary submission heuristic for tilers - Rework tiler submission heuristic (again)
5d09231 - [util] Remove medium hint for submission heuristic - Rework tiler submission heuristic (again)
4751079 - [util] Add D3DDestructionNotifier implementation - Clean up device and instance creation
6647394 - [d3d11] Add D3DDestructionNotifier to all relevant interfaces - Clean up device and instance creation
2e0d0fe - [dxgi] Add D3DDestructionNotifier to swap chain - Clean up device and instance creation
e73b324 - [d3d11] Remove unused image subresources from D3D11VideoProcessorInputView - [d3d11] Support planar outputs in video processor
218360b - [d3d11] Add VideoProcessorView class - [d3d11] Support planar outputs in video processor
d677a4c - [d3d11] Use VideoProcessorView in D3D11VideoProcessorInputView - [d3d11] Support planar outputs in video processor
c39233a - [d3d11] Use VideoProcessorView in D3D11VideoProcessorOutputView - [d3d11] Support planar outputs in video processor
c78dc47 - [d3d11] Allow video blit shader to handle planar and YCbCr outputs - [d3d11] Support planar outputs in video processor
7d9faaa - [d3d11] Use multiple passes to render planar video output - [d3d11] Support planar outputs in video processor
9c69d21 - [d3d11] Refactor ClearView method - Rework ClearView
4a988d3 - [d3d11] Support clearing planar video output views - Rework ClearView
d44370e - [dxvk] Fix broken aspect check in clearImageView - Rework ClearView
3494386 - [d3d11] Remove unused GetView method from D3D11VideoProcessorOutputView - Rework ClearView
cbd8253 - [d3d11] Store image directly in video output view
2e2d6e7 - [d3d11] Reintroduce shadow image path for video processor views
e93c4fc - [d3d11] Fix planar video output when dst rect is enabled
7e55c2d - [d3d11] Use existing MD5 hash to look up shader objects
0b4a79d - [dxvk] Rename some more descriptor structures - Descriptor management rework
a532b6d - [dxvk] Only allow one image usage bit per view - Descriptor management rework
7ffa281 - [dxvk] Add image layout property to image view key - Descriptor management rework
51dfd04 - [d3d11] Set explicit view layout for RTVs, DSVs and UAVs - Descriptor management rework
57abc54 - [d3d9] Set explicit view layout for RTVs and DSV - Descriptor management rework
6d97353 - [dxvk] Remove render target layout from attachment info - Descriptor management rework
677f670 - [d3d11] Validate buffer size for UpdateSubresource - Descriptor management rework
53c495e - [dxvk] Use plain image view descriptor info for resource updates - Descriptor management rework
a7dce4f - [dxvk] Implement equality checks for render target classes - Render target binding fix
35d7974 - [dxvk] Clean up and fix render target updates - Render target binding fix
f620939 - [dxvk] Properly end render pass if there are pending resolves
de4d685 - [dxvk] Use smaller global sampler set - Post-descriptor buffer cleanup
69b57e8 - [dxvk] Don't needlessly destroy samplers if there is space - Sampler simplification
c5e6e31 - [dxvk] Fix live sampler reporting - Sampler simplification
e5e001e - [dxvk] Remove total sampler counter - Sampler simplification
a06cb51 - [d3d9] Remove sampler count HUD - Sampler simplification
6eb92c2 - [d3d9] Rework RT binding logic - [d3d9] Rework render target binding logic
1cf46d3 - [d3d9] Remove redundant GetImageView - [d3d9] Rework render target binding logic
366df98 - [d3d8/9] Clean up CheckDeviceFormat and CreateImageSurface formats
78b1e01 - [d3d9] Return error when creating lockable MS texture - [d3d9] Optimize StretchRect stretching resolves
ab8ad4f - [dxvk] Add resolving blit - [d3d9] Optimize StretchRect stretching resolves
1bf8878 - [d3d9] Remove intermediate resolve in StretchRect - [d3d9] Optimize StretchRect stretching resolves
f2f7bf0 - [dxvk] Remove unused DxvkMetaBlitRenderPassKey - D3D9 blit + resolve rework
133e80a - [dxvk] Refactor meta blit pipeline creation - D3D9 blit + resolve rework
11590fb - [dxvk] Pass filter to blit pipeline - D3D9 blit + resolve rework
211e3bd - [dxvk] Rework multisampled blit shader - D3D9 blit + resolve rework
5a2c246 - [d3d9] Only use readonly depth layout if necessary
c958880 - Add missing ID3DDestructionNotifier support in DXGI - Add missing ID3DDestructionNotifier support in DXGI
8d74493 - [d3d9] Fix shared resource behavior - [d3d9] Shared resource fixes (based on d3d9ex wine tests)
6d48513 - [dxvk] Support average resolve in blit shader
4889adf - [d3d9] Don't use RT mask in UpdateActiveHazardsRT - [d3d9] Bind framebuffer rework
0f62760 - [d3d9] Rework BindFramebuffer - [d3d9] Bind framebuffer rework
4e603f7 - [d3d9] Avoid rebinding frame buffer based on shader change - [d3d9] Bind framebuffer rework
b8832d5 - [d3d9] Consolidate ATOC & alpha test state changes - [d3d9] TF2 fixes
29dc5c1 - [d3d9] Correct spelling of Reference - [d3d9] TF2 fixes
6a37435 - [d3d9] Override sampler anisotropy only on multi-mip textures - [d3d9] Override sampler anisotropy only on multi-mip textures
f271a1d - [d3d9] Don't hold adapter pointer in format table
96b223e - [d3d9] Forward 9On12 args to device - Display whether device is 11on12 or 9on12 device in HUD
425e3c9 - [d3d9] Display whether device is a 9On12 device - Display whether device is 11on12 or 9on12 device in HUD
86d4b25 - [d3d11] Display whether device is an 11on12 device - Display whether device is 11on12 or 9on12 device in HUD
edd935e - [d3d9] Add some missing texture validation - [d3d9] Texture creation cleanup + missing D3D9Ex texture creation validations
e0863c2 - [d3d9] Keep depth write state in mind when trying to keep DS hazards - [d3d9] Keep depth write state in mind when trying to keep DS hazards
89b7637 - [d3d9] Keep COLORWRITEMASK state in mind when trying to keep RT hazards - [d3d9] Keep depth write state in mind when trying to keep DS hazards
841c499 - [dxvk] Get raw image view descriptors - Implement descriptor buffers
ff0f815 - [util] Add convenience class for fence sync points - Implement descriptor buffers
0e78a8c - [dxvk] Assign high memory priority to dedicated HVV allocations - Implement descriptor buffers
b327601 - [dxvk] Check whether views and samplers actually changed - Implement descriptor buffers
95001cd - [dxvk] Use force_inline for some common refcounting methods - Implement descriptor buffers
833ee11 - [dxvk] Turn image view usage to flag type - [d3d9] Add feedback loop usage to RT image view
635dae6 - [d3d9] Add feedback loop usage to attachment image views - [d3d9] Add feedback loop usage to RT image view
cac185f - [d3d9] Update the new texture type before checking diff
b433d32 - [d3d9] Statically register all linker slots used by FF - [d3d9] Preparation for the FF Ubershader
ca749ed - [dxso] Emit all outputs that fixed function fragment shaders expect - [d3d9] Preparation for the FF Ubershader
159f0c4 - [d3d9] Reorganize spec constants - [d3d9] Preparation for the FF Ubershader
ed17382 - [d3d9] Slightly improve spec const naming - [d3d9] Preparation for the FF Ubershader
2c3869a - [d3d9] Turn drefScaling into spec constant - [d3d9] Preparation for the FF Ubershader
252891d - [d3d9] Reduce size of VertexBlendCount field - [d3d9] Preparation for the FF Ubershader
bb24f08 - [d3d9] Clean up parts of the fixed function generator - [d3d9] Preparation for the FF Ubershader
0e06635 - [d3d9] Simplify vertex and index buffer binding - Optimize D3D9 vertex buffer binding
ea98788 - [d3d9] Only update buffer range when re-binding same vertex buffer - Optimize D3D9 vertex buffer binding
e4e43ed - [d3d9] Move non-dirty flags out of D3D9DeviceFlag - [d3d9] Move non-dirty flags out of D3D9DeviceFlag
bd0dc07 - [d3d9] Clean up SetRenderTargetInternal - [d3d9] Move non-dirty flags out of D3D9DeviceFlag
4bf7f3f - [d3d9] Use D_READONLY_S_OPTIMAL layout for DS sampling views
9e09adb - [d3d9] Reset texture projected bitmask
660d382 - [dxvk] Limit shader compiler threads to 8 on 32-bit - Note: Changed to 12 in GPLALL.
30f6f83 - [dxvk] Always include depth and stencil aspects in barriers
07ae4ab - [build] Link with version DLL on Windows builds - Only hide Intel vendor ID for XeSS 1.x
4ccfdab - [dxgi] Do not hide Intel GPU when the XeSS library is version 2 or above - Only hide Intel vendor ID for XeSS 1.x
843b200 - [dxvk] Do not fuse clears with feedback loops
ba4c7e0 - [d3d8] Always quick return on failure - [d3d8] Handle odd cases of texture UAF
f1fa1a5 - [d3d8] Add a UAF texture guard config option - [d3d8] Handle odd cases of texture UAF
ec44064 - [util] Force sampler anisotropy for Mafia
d435948 - [dxvk] Disable HVV usage if zeroMappedMemory option is set
5c45928 - [d3d9] Pass view format and swizzle to samplers - Implement border color swizzle - Note: Previously unimplemented part of PR#5390.
5000fb1 - [d3d9] Simplify and fix light enablement - Simplify D3D9 fixed-function lighting
67dba69 - [dxgi] Create a windowed swapchain instead when the fullscreen mode scanline order or scaling is invalid.
68dbde1 - [dxvk] Enable VK_EXT_dynamic_rendering_unused_attachments - Some rasterizer discard optimizations
0566ef7 - [dxvk] Enable rasterizer discard if GS does not export position - Some rasterizer discard optimizations
9e293e7 - [dxvk] Do not pass unnecessary state for pipelines with rasterizer discard - Some rasterizer discard optimizations
3fcacb8 - [dxvk] Disable raster-related dynamic state if raster is disabled - Some rasterizer discard optimizations
5ab213f - [dxvk] Fix transform feedback synchronization - Some rasterizer discard optimizations
a30e715 - [util] Don't error out if created directory already exists
0174158 - [util] Add check for winevulkan usage - Only enable CUDA interop extensions on winevulkan
994aaf5 - [dxvk] Disable CUDA interop extensions on Windows and native - Only enable CUDA interop extensions on winevulkan
a2e671e - [util] Avoid division by zero with invalid refresh rates
6454283 - [util] Actually return proper refresh period
8dc0423 - [dxvk] Fix memory ordering for release
3c6a6ff - [dxvk] Fix self-assignment of resource cookie for imported resources
f2f7b50 - [util] Add FPS limit for Manhunt
6ff51fc - [d3d9] Do not transform normals if WorldView is not invertible
cc13f9d - Revert "[d3d9] Ignore buffer lock range for static D3DPOOL_DEFAULT buffers"
1c11472 - [dxvk] Add helper for unmappable memory blobs - Rewrite unmaped memory allocator
31e1787 - [d3d9] Use new unmapping code for textures - Rewrite unmaped memory allocator
57343d1 - [d3d9] Use new unmapping code for shaders - Rewrite unmaped memory allocator
8d4115b - [d3d9] Remove old unmapping code - Rewrite unmaped memory allocator
0002371 - [d3d9] Add option to ignore buffer locking ranges - Add option to ignore D3DDPOOL_DEFAULT buffer lock range
c2f9dfc - [util] Enable ignoring default lock ranges for Splinter Cell Chaos Theory - Add option to ignore D3DDPOOL_DEFAULT buffer lock range
deed337 - [dxgi] Use singleton for DXGI options
b5bebe5 - [util] Enable ignoring default lock ranges for Halo Trial and Halo Custom Edition
f08cb4d - [dxgi] Write back altered swapchain flags
a137f78 - [dxvk] Add option to enable descriptor update templates on legacy
dbfb867 - [dxgi] Hide Intel vendor ID for XeSS < 2.0.2.68 (doitsujin#5798)
List of reverted upstream DXVK commits:
51f2e24 - [util,dxvk] Limit frame rate based on deadline - Limit frame rate to display refresh - Reverted
d819ec2 - [util] Implement refresh rate heuristic for frame rate limiter - Limit frame rate to display refresh - Reverted