From ac8760c00534b0c28a1de51af38844718e068119 Mon Sep 17 00:00:00 2001
From: Hans-Kristian Arntzen <post@arntzen-software.no>
Date: Thu, 15 Dec 2022 17:38:33 +0100
Subject: [PATCH] meta: Changelog for version 2.8.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
---
 CHANGELOG.md | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 35fac6b21a..21a9012ebe 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,75 @@
 # Change Log
 
+## 2.8
+
+This release rolls up some significant new developments before the holidays.
+
+## VK_EXT_descriptor_buffer support
+
+This extension is significant in that it removes a ton of CPU overhead.
+We already had most of this in place on RADV and Steam Deck,
+but this will allow NVIDIA, Intel, Turnip, and other AMD driver implementations to hit the same optimal code paths.
+GPU bound performance increases slightly since we can also remove some shader code that was required to workaround lack of descriptor buffers.
+
+### New extension requirements
+
+To support descriptor buffers in the code base, these features are now required instead of optional.
+Note that these features are widely supported already and is not expected to cause any problems.
+If an implementation could support v2.7, it will support v2.8.
+
+- `VK_KHR_buffer_device_address`
+- `VK_KHR_push_descriptor`
+
+## Rewritten support for host accessible images
+
+The entire API feature was rewritten from scratch to support more implementations and edge cases without
+a lot of per-application hacks and workarounds.
+As the most extreme example of weird API usage, Guardians of the Galaxy should (finally) run well on NVIDIA.
+
+## Rewritten swap chain
+
+To most users, this change should be transparent.
+
+- Allow more precise control on latency and frame pacing with `VK_KHR_present_wait`.
+  - mesa-git supports this along with NVIDIA.
+  - `VKD3D_SWAPCHAIN_LATENCY_FRAMES=n` allows user to force a specific amount of latency.
+  - Implementation of DXGI latency fences is now correct.
+- Reduce CPU overhead on the main thread that presents to swap chain.
+- Fixes a spurious hang in Hitman III where game relies on asynchronous present in order to not lock up.
+- Win32 specific DXGI code is handled by DXVK. A DXVK build from Experimental or later is required for this to work.
+  This allows a native Linux implementation of vkd3d-proton, including swap chain.
+- When `VK_KHR_present_wait` is not supported, behavior should be 1:1 with old implementation.
+
+NOTE: The old swapchain implementation is still in the repository, and is expected to be removed in the next release.
+For now, `VKD3D_CONFIG=swapchain_legacy` can be used to triage any potential issues with the new one.
+
+NOTE: A driver crash was observed on NVIDIA 525.x drivers when running in some PRIME configurations.
+For now, we disable use of present_wait on these drivers.
+
+### Fixes and workarounds
+
+- Workaround GPU hangs in Spiderman Remastered: Miles Morales (same issue as the original).
+- Fix rendering bug with gun damage in Borderlands 3 on RADV.
+- Refactor how resizable BAR is used. GPUs with 4 GiB and lower will no longer attempt to use resizable BAR,
+  which can avoid some out-of-memory situations.
+- Fix GPU hang in Age of Empires IV.
+- Fix some minor issues in mesh shader implementation.
+- Fix some issues preventing RE: Village from booting on Arc.
+- Some last minute frenzied fixes for Witcher 3 next-gen update.
+  - All features except RT appears to work on RADV.
+  - Hairworks is known to crash GPU on NVIDIA. More investigation is needed to root cause.
+  - Some RT effects work on NVIDIA, others don't:
+    - GI is reported to work.
+    - AO crashes GPU. More investigation is needed to root cause.
+
+#### Implement minor missing D3D12 features
+
+An obscure feature was stubbed out and forgotten until now.
+`ID3D12Device1::SetEventOnMultipleFenceCompletion()` is now implemented.
+
+Also, implement SetEventOn(Multiple)FenceCompletion for shared D3D12 fences.
+Fixes a regression in Gears 5 causing lockup on boot.
+
 ## 2.7
 
 This release rolls up a massive amount of work since the Steam Deck launch in late February