The project that implements Direct3D 12 on top of Vulkan, VKD3D-Proton, has version 2.12 out now bringing with it more new features like NVIDIA Reflex support! Technology like VKD3D-Proton is used directly by Proton, to enable Windows games to run on Linux / Steam Deck.
New Features:
- Implement support for NVIDIA Reflex through
VK_NV_low_latency2
. Thanks to NVIDIA for contributing implementation. - Implement D3D12 render pass API (tier 0).
- Implement ID3D12DeviceRemovedExtendedDataSettings stubs. Fixes some games that rely on this existing.
- Implement
VK_EXT_device_fault
. Makes it possible to grab fault information and vendor binary if supported. - Implement
VK_EXT_swapchain_maintenance1
- Allows seamless transition between V-Sync and tearing present modes without stutter.
- Implemented on both Mesa and NV drivers.
- Expose Shader Model 6.7 by default if
VK_KHR_shader_maximal_reconvergence
andVK_KHR_shader_quad_control
are supported. - Add optimized descriptor copy path on Intel Arc GPUs that support
VK_EXT_descriptor_buffer
- Implement fallback for compute shader derivatives on NVIDIA Pascal and older GPUs. Allows exposing Shader Model 6.7 by default on Pascal as well (albeit with some known cases where it does not work). The workaround is expected to work with any known use of SM 6.6 compute derivatives in the wild.
There's also some game fixes for Atlas Fallen, Warhammer: Darktide, Resident Evil 4, multiple Unreal Engine 5 games, World of Warcraft and disabling of RT by default in Persona 3 Reload on Steam Deck.
Additionally this release also implements VK_NV_raw_access_chains which they said "significantly" improves GPU performance on NVIDIA in some games.
Full changelog, click me
Features
- Implement support for NVIDIA Reflex through
VK_NV_low_latency2
. Thanks to NVIDIA for contributing implementation - Implement D3D12 render pass API (tier 0)
- Implement ID3D12DeviceRemovedExtendedDataSettings stubs. Fixes some games that rely on this existing
- Implement
VK_EXT_device_fault
. Makes it possible to grab fault information and vendor binary if supported - Implement
VK_EXT_swapchain_maintenance1
- Allows seamless transition between V-Sync and tearing present modes without stutter
- Implemented on both Mesa and NV drivers
- Expose Shader Model 6.7 by default if
VK_KHR_shader_maximal_reconvergence
andVK_KHR_shader_quad_control
are supported - Add optimized descriptor copy path on Intel Arc GPUs that support
VK_EXT_descriptor_buffer
- Implement fallback for compute shader derivatives on NVIDIA Pascal and older GPUs.
Allows exposing Shader Model 6.7 by default on Pascal as well (albeit with some known cases where it does not work).
The workaround is expected to work with any known use of SM 6.6 compute derivatives in the wild
Fixes
- Fix Atlas Fallen black screen due to edge case with MinLODClamp
- Correctly disable alpha-to-coverage if sampler mask is exported
- Fix format feature reports for
DXGI_FORMAT_UNKNOWN
- Relax root signature compatibility rules when compiling Ray Tracing pipelines.
Fixes GPU hang on NV in Warhammer: Darktide - Fix GPU hang on NV in UE5 Lyra demo
- Explicitly validate stage IO signatures in PSO creation similar to native D3D12 runtime.
Fixes some scenarios where a game attempts to create an invalid pipeline that should have failed creation
on native D3D12
Workarounds
- Workaround crash in Resident Evil 4 RT mode when tessellation is enabled
- Workaround mesh shader glitches on NVIDIA in several UE5 titles
- Workaround GPU hang on NVIDIA in World of Warcraft when MSAA is enabled
- Disable RT by default in Persona 3 Reload on Deck
Performance
- Implement
VK_NV_raw_access_chains
. Significantly improves GPU performance on NV GPUs in some games.
Games using DXBC instead of DXIL are expected to see more improvements.
Not all games are expected to see an uplift - Fix extremely poor GPU performance in some locations in Persona 3 Reload
Debug
- Add support for
VKD3D_QUEUE_PROFILE
, a simple system profiling method- Includes
VK_NV_low_latency2
support to debug NVIDIA Reflex sleeps
- Includes
- Root signature blobs are also dumped when dumping shaders
- A simple CLI tool to inspect the root-sig blobs is included in
programs/
- A simple CLI tool to inspect the root-sig blobs is included in
- Misc improvements to breadcrumbs, debug ring, etc
- Pipeline creation failure now dumps PSO creation commands in log
Additionally, DXVK-NVAPI, the alternative implementation of NVIDIA's NVAPI library for usage with DXVK and VKD3D-Proton also had a new release with version 0.7. This added the NVIDIA Reflex support and improvements for NVIDIA NVK support.
So I'm assuming with reflex support - nVidia frame generation may work now for those are after some fake frames.
Not yet.
Tbh its kinda pointless to have higher number of frames anyway when the input is like low fps.. yeah reflex will make input better but you can enable reflex without framegeneration also to make input feel nicer.
But reflex support is quite nice and seems to somewhat work with the games i tried, but hard to really say how much actually improved. My brain is old and slow.
Still not entirely sure what reflex is supposed to bring me. Any suggestions for testing it?Use a camera and a wired input device. Record in high framerate (proper slow motion). The time between input and action can be determined by comparing the time between press and apparent action over frames per logical second.
Last edited by D34VA_ on 18 March 2024 at 11:28 am UTC
Still not entirely sure what reflex is supposed to bring me. Any suggestions for testing it?Use a camera and a wired input device. Record in high framerate (proper slow motion). The time between input and action can be determined by comparing the time between press and apparent action over frames per logical second.
That's more about the technical stuff. I meant a game where it should make a difference.
Now use Reflex to see, the game feels much mor responsive.
The better usecase would be fast competitive games, but honestly i'm too old to sense the 10 ms cutting edge 1337ness i would win there with Reflex.
That's more about the technical stuff. I meant a game where it should make a difference.
Cyberpunk 2077, The FINALS, Apex Legends(DX12), Deep Rock Galactic, Ghostrunner ...etc
https://www.nvidia.com/en-gb/geforce/technologies/reflex/supported-products/
dx11 games dont work yet afaik. you need to merge this PR to it: https://github.com/doitsujin/dxvk/pull/3690
Last edited by Xpander on 18 March 2024 at 3:27 pm UTC
See more from me