aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuck912 <350528965+Duck912@users.noreply.github.com>2026-11-03 13:18:12 -0500
committerDuck912 <350528965+Duck912@users.noreply.github.com>2026-11-03 13:23:47 -0500
commit1889602c7a0dc17850692594eae2e77e16ac13fc (patch)
tree590e65ffee2bbf7905acb41a7b02dfec0c143585
parentf9d0c802e8e4e71644bf4b7e6cceca8e6df22464 (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.cpp9
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