|
1 | 1 | # Change Log
|
2 | 2 |
|
| 3 | +## 2.10 |
| 4 | + |
| 5 | +This release rolls up a ton of bug fixes, game and driver workarounds, and other improvements. |
| 6 | + |
| 7 | +### Features |
| 8 | + |
| 9 | +#### DirectStorage MetaCommands |
| 10 | + |
| 11 | +We can now make use of `NV_memory_decompression` to implement |
| 12 | +GPU accelerated GDeflate compression in DirectStorage. |
| 13 | +This is demonstrated to work in Ratchet & Clank: Rift Apart. |
| 14 | + |
| 15 | +We also worked around an NV driver bug when using the fallback GDeflate shader. |
| 16 | +The fallback works on RADV. |
| 17 | + |
| 18 | +#### Enhanced Barriers |
| 19 | + |
| 20 | +NOTE: This isn't all that well tested because there are no games shipping with this yet to our knowledge. |
| 21 | + |
| 22 | +#### Device generated commands for compute |
| 23 | + |
| 24 | +With `NV_device_generated_commands_compute` we can efficiently implement |
| 25 | +Starfield's use of ExecuteIndirect which hammers multi-dispatch COMPUTE + root parameter changes. |
| 26 | +Previously, we would rely on a very slow workaround. |
| 27 | + |
| 28 | +NOTE: This feature is currently only enabled on RADV due to driver issues. |
| 29 | + |
| 30 | +#### Misc |
| 31 | + |
| 32 | +- Support Root Signature version 1.2 |
| 33 | +- Implement Shader Model 6.7 |
| 34 | + - Includes all SM 6.7 features like AdvancedTextureOps, WaveOpsIncludeHelperLanes |
| 35 | + - Caveat: Technically not Vulkan spec compliant implementation, but works fine on at least NV and RADV. Currently implemented as an opt-in option for now in case some game relies on it to work |
| 36 | +- Implement CreateSampler2 |
| 37 | +- Expose inverted viewport / height feature |
| 38 | +- Implement RelaxedFormatCasting feature from Enhanced Barriers |
| 39 | +- Implement support for adjacency topologies |
| 40 | +- Support A8_UNORM format properly by using `VK_KHR_maintenance5`, allowing A8_UNORM UAVs to work correctly |
| 41 | +- Handle range checked index buffers correctly with `VK_KHR_maintenance5` |
| 42 | + |
| 43 | +#### New extension use |
| 44 | + |
| 45 | +- VK_EXT_dynamic_rendering_unused_attachments |
| 46 | +- VK_KHR_maintenance5 |
| 47 | +- VK_NV_device_generated_commands_compute |
| 48 | + |
| 49 | +### Performance |
| 50 | + |
| 51 | +- Batch acceleration structure builds. Massively improves build performance on at least RADV. |
| 52 | +- Massively improve ExecuteIndirect performance when using COMPUTE + root parameter changes when `VK_NV_device_generated_commands_compute` is enabled. |
| 53 | + |
| 54 | +### Fixes |
| 55 | + |
| 56 | +- Fix root signature creation from DXIL library target (DXR) blobs |
| 57 | +- Fix some dual source blending PSOs scenarios. Fixes Star Wars Battlefront II |
| 58 | +- Implement wave operations in pixel shaders more strictly according to D3D12 rules |
| 59 | +- Fix spurious hangs in Ashes of Singularity when using shared fences and wait-before-signal |
| 60 | +- Fix PSO caching bug in mesh shaders. Fixes mesh shaders in Unreal Engine 5 |
| 61 | +- Fix udiv remainder in DXBC, which fixed some Xenia bugs |
| 62 | +- Fix query heap tracking bug that was exposed by NV Streamline |
| 63 | +- Various DXIL -> SPIR-V fixes as usual |
| 64 | +- Rewrote descriptor set layouts to be more robust against application bugs |
| 65 | + - Motivated by Armored Core VI bug (see below) |
| 66 | + - Native D3D12 drivers are also robust against these application bugs :( |
| 67 | + |
| 68 | +### Workarounds |
| 69 | + |
| 70 | +- Workaround bad ReBAR performance in Age of Wonders 4 |
| 71 | +- Remove workaround for `KHR_present_wait` on NV 535+ drivers |
| 72 | +- Workaround Starfield memory corruption issue where it does not correctly query for 4 KiB alignment |
| 73 | +- Disable ReBAR usage on Halo Infinite to workaround very poor CPU performance |
| 74 | +- Workaround Street Fighter 6 bug causing spurious GPU hangs |
| 75 | + - Also appears to have worked around GPU hangs in Resident Evil 2 |
| 76 | +- Workaround Armored Core VI bug causing GPU hang on Balteus fight in chapter 1 |
| 77 | +- Workaround "firefly" glitches in Resident Evil 4 caused by dubious min16float usage |
| 78 | +- Workaround "firefly" glitches in Monster Hunter Rise caused by dubious shader requiring particular precise math |
| 79 | +- Workaround Unreal Engine 5 breaking if mesh shaders are exposed, but not barycentrics |
| 80 | +- Workaround NV driver bug with TIMESTAMP query heaps that could cause spurious GPU hangs |
| 81 | +- Workaround broken CFG code generation in Xenia's DXBC emitter |
| 82 | + |
3 | 83 | ## 2.9
|
4 | 84 |
|
5 | 85 | This release rolls up various development happening over the last months.
|
|
0 commit comments