From 9b58cc1efa84a5c5cf493c05df715db2b81761d0 Mon Sep 17 00:00:00 2001 From: VReaperV Date: Tue, 28 Jan 2025 01:20:19 +0300 Subject: [PATCH] Use dGPU if both dGPU and iGPU are available (Windows) Normally, to use the dGPU on Windows 10/11, you need to manually set it for the executable in Windows setting. This will set some registry values to tell the NVidia/AMD drivers to use the dGPU here. --- src/engine/renderer/tr_init.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/engine/renderer/tr_init.cpp b/src/engine/renderer/tr_init.cpp index 1354bbc132..c69eaad77b 100644 --- a/src/engine/renderer/tr_init.cpp +++ b/src/engine/renderer/tr_init.cpp @@ -26,6 +26,16 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include "DetectGLVendors.h" #include "Material.h" +#ifdef _WIN32 + extern "C" { + // Use dGPU if both dGPU and iGPU are available + // https://developer.download.nvidia.com/devzone/devcenter/gamegraphics/files/OptimusRenderingPolicies.pdf + __declspec( dllexport ) uint32_t NvOptimusEnablement = 0x00000001; + // https://gpuopen.com/learn/amdpowerxpressrequesthighperformance/ + __declspec( dllexport ) uint32_t AmdPowerXpressRequestHighPerformance = 0x00000001; + } +#endif + glconfig_t glConfig; glconfig2_t glConfig2;