From f92c6ae8598904d4ccf1828fb1ecfb67b939f6ec Mon Sep 17 00:00:00 2001 From: Liam Middlebrook Date: Tue, 15 Mar 2022 16:08:29 -0700 Subject: [PATCH] [dxgi] Add DXVK_ENABLE_NVAPI envvar Add a new environment variable DXVK_ENABLE_NVAPI as an environment-level override for 'nvapiHack'. This will allow for DLSS (and other NvAPI-backed features) to be available without the user manually writing a configuration file, allowing for more seamless integration with Proton's launch script. --- src/dxgi/dxgi_options.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/dxgi/dxgi_options.cpp b/src/dxgi/dxgi_options.cpp index 19d4e7a52..469692d19 100644 --- a/src/dxgi/dxgi_options.cpp +++ b/src/dxgi/dxgi_options.cpp @@ -40,7 +40,11 @@ namespace dxvk { this->maxDeviceMemory = VkDeviceSize(config.getOption("dxgi.maxDeviceMemory", 0)) << 20; this->maxSharedMemory = VkDeviceSize(config.getOption("dxgi.maxSharedMemory", 0)) << 20; - this->nvapiHack = config.getOption("dxgi.nvapiHack", true); + // Force nvapiHack to be disabled if NvAPI is enabled in environment + if (env::getEnvVar("DXVK_ENABLE_NVAPI") == "1") + this->nvapiHack = false; + else + this->nvapiHack = config.getOption("dxgi.nvapiHack", true); } -} \ No newline at end of file +}