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