Skip to content

Commit c965c13

Browse files
meta: Changelog for 2.14.
Signed-off-by: Hans-Kristian Arntzen <[email protected]>
1 parent a3fe231 commit c965c13

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

CHANGELOG.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,71 @@
11
# Change Log
22

3+
## 2.14
4+
5+
Rolls up the usual collection of new features, performance improvements, bug fixes and the copious amount of game workarounds,
6+
just in time for the holidays.
7+
8+
### Features
9+
10+
- Implement DXGI frame statistics (exposed by DXVK DXGI).
11+
- Implement a global frame rate limiter (see `VKD3D_FRAME_RATE` or `DXVK_FRAME_RATE`).
12+
Also improves behavior of presentation with swap interval > 1 since we use frame limiter instead
13+
of duplicated presents now. Also allows support for full-screen frame rate targets in DXGI which normally would imply a mode change.
14+
- Implement support for planar video formats such as NV12.
15+
- Implement D24 depth bias correctly now on AMD when `VK_EXT_depth_bias_control` is supported.
16+
- Expose a new command interop interface that allows e.g. dxvk-nvapi to implement DLSS3 frame generation.
17+
- Use VK_KHR_compute_shader_derivatives when available.
18+
- Use VK_EXT_device_generated_commands when available. Expose execute indirect tier 1.1.
19+
- Implement GPU upload heap from latest AgilitySDKs. Allows explicit control over ReBAR instead of heuristic based hacks in games that use the new API.
20+
- Implement ID3DDestructionNotifier. Fixes some particular games that expect this to be supported.
21+
22+
### Performance
23+
24+
- Reduce some VRAM bloat on RDNA2 and 3 GPUs when `VK_MESA_image_alignment_control` is exposed.
25+
- Improve CPU overhead for games that query swapchain format support over and over.
26+
- Remove old heuristic that preferred 2 frames of latency depending on BufferCount used.
27+
The default on DXGI is 3, and using 2 caused some performance issues in various games with GPU starvation,
28+
especially on Deck. `VKD3D_SWAPCHAIN_LATENCY_FRAMES` is still available as an override to force a tighter default.
29+
- Rewrite queue submission logic to deal better with difficult submission patterns such as FSR3 3.1 Frame Generation.
30+
On implementations with only one graphics queue, vkd3d-proton will now attempt to do basic software scheduling of GPU work.
31+
This may regress GPU performance in some other cases and `VKD3D_CONFIG=no_staggered_submit` is a way to disable this code path.
32+
One particularly big improvement is FF XVI on RADV with FSR 3 frame-gen, with almost doubled performance in some cases.
33+
We are still awaiting a proper kernel-level fix for this problem to be fully resolved.
34+
- Rewrite queue submission logic to use fewer "dummy" wait/signal submissions.
35+
Works around pathological CPU overhead in amdgpu taking 20ms+ to submit work in some cases.
36+
- Rewrite queue submission logic for sparse updates to be more efficient.
37+
38+
### Fixes and workarounds
39+
40+
- Rework various multi-sampling queries to be more spec correct.
41+
- Workaround bugged MSAA behavior in World of Warcraft.
42+
- Workaround buggy/questionable use of ID3D12PipelineLibrary in FF XVI.
43+
- Always use native 16-bit integers for min16int. Fixes some real-world bugs where shaders expect min16int is always implemented as 16-bit.
44+
- Workaround game bug leading to GPU hang in Dragon Age: Veilguard on RADV.
45+
- Always emit proper floating-point environment modes in DXBC shaders. Fixes glitched eyes in Dragon Age: Veilguard on NV.
46+
- Fix potential use-after-free bug for some sparse resource update cases.
47+
- Correctly validate when application attempts to allocate a too large descriptor heap.
48+
Fixes Stalker 2 entering into undefined behavior.
49+
- A lot of misc fixes in dxil-spirv as usual.
50+
- Workaround broken amdgpu zerovram behavior on 6.10+ kernels. Fixes random extreme glitchiness in Helldivers 2 on AMD.
51+
- Workaround NV issue which lead to GPU hang when loading a save file in Star Wars: Outlaws.
52+
- Fix copying between BC <-> RGBA images in some cases.
53+
- Add workaround for a game bug in The First Descendant which lead to broken cubemap reflections in some cases.
54+
- Workaround Skull & Bones crashing on startup on NV GPUs by disabling Reflex support.
55+
- Workaround Hunt: Showdown missing precise qualifiers on vertex shaders, leading to glitched rendering.
56+
- Workaround poor CPU performance in Red Dead Redemption.
57+
58+
### Misc / Debug
59+
60+
- Add support for instruction_qa_checks. For deep debug, allows us to be notified when NaNs and Infs are generated in shaders.
61+
For internal QA use.
62+
- Add fine-grained control of QA behavior on a per-shader basis. For narrowing down issues.
63+
- Remove a bunch of old and obsolete workarounds for NV drivers. New cutoff is 535 series.
64+
- Bump exposed SDKVersion to 614 to match latest stable AgilitySDK.
65+
- Add an optional code path to support DXBC via the official dxilconv library.
66+
This code is not enabled in release builds,
67+
and is currently only intended as a path to take advantage of QA instrumentation for DXBC shaders.
68+
369
## 2.13
470

571
### Features

0 commit comments

Comments
 (0)