diff options
| author | Duck912 <350528965+Duck912@users.noreply.github.com> | 2026-11-03 13:18:12 -0500 |
|---|---|---|
| committer | Duck912 <350528965+Duck912@users.noreply.github.com> | 2026-11-03 13:23:47 -0500 |
| commit | 1889602c7a0dc17850692594eae2e77e16ac13fc (patch) | |
| tree | 590e65ffee2bbf7905acb41a7b02dfec0c143585 | |
| parent | f9d0c802e8e4e71644bf4b7e6cceca8e6df22464 (diff) | |
video_core: accept an empty Streamline device-extension list
Streamline may report that DLSS needs no extra device extensions. The check required a non-empty
list, so that result counted as "extensions unavailable": Streamline was stopped and FSR 3.1 used.
Only require that every listed extension is supported.
Found by CodeRabbit review.
Assisted-by: Claude Opus 5.5 (implementation)
Signed-off-by: Duck912 <350528965+Duck912@users.noreply.github.com>
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_device.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index 6309599877..2499f46f87 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp @@ -1153,10 +1153,9 @@ bool Device::GetSuitability(bool requires_swapchain) { // The extensions NVIDIA's DLSS asks for, where the device has them all. if (Streamline::WantsDevice()) { const std::vector<std::string> wanted = Streamline::DeviceExtensions(); - const bool all = - !wanted.empty() && std::ranges::all_of(wanted, [&](const std::string& name) { - return supported_extensions.contains(name); - }); + // Streamline may ask for no extensions at all. + const bool all = std::ranges::all_of( + wanted, [&](const std::string& name) { return supported_extensions.contains(name); }); std::string names; for (const std::string& name : wanted) { if (all) { @@ -1166,7 +1165,7 @@ bool Device::GetSuitability(bool requires_swapchain) { } streamline_extensions = all; LOG_INFO(Render_Vulkan, "NVIDIA DLSS device extensions: {} ({})", - all ? "enabled" : "unavailable", names); + all ? "enabled" : "unavailable", names.empty() ? "none" : names); } #endif |
