From 37cfdf6fe2b6215e02777fefac67072f52273f18 Mon Sep 17 00:00:00 2001 From: Charlie Date: Thu, 13 Aug 2015 21:54:02 +0100 Subject: [PATCH] Request the use of the high-performance graphics card on systems where multiple graphics processors are available (nVidia Optimus, AMD Hybrid Graphics). --- pcsx2/windows/Optimus.cpp | 32 +++++++++++++++++++ pcsx2/windows/VCprojects/pcsx2.vcxproj | 1 + .../windows/VCprojects/pcsx2.vcxproj.filters | 3 ++ 3 files changed, 36 insertions(+) create mode 100644 pcsx2/windows/Optimus.cpp diff --git a/pcsx2/windows/Optimus.cpp b/pcsx2/windows/Optimus.cpp new file mode 100644 index 0000000000..4ead3a6d38 --- /dev/null +++ b/pcsx2/windows/Optimus.cpp @@ -0,0 +1,32 @@ +/* PCSX2 - PS2 Emulator for PCs +* Copyright (C) 2002-2015 PCSX2 Dev Team +* +* PCSX2 is free software: you can redistribute it and/or modify it under the terms +* of the GNU Lesser General Public License as published by the Free Software Found- +* ation, either version 3 of the License, or (at your option) any later version. +* +* PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +* PURPOSE. See the GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License along with PCSX2. +* If not, see . +*/ + +#include "PrecompiledHeader.h" + +#ifdef _WIN32 + +//This ensures that the nVidia graphics card is used for PCSX2 on an Optimus-enabled system. +//302 or higher driver required. +extern "C" { + _declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001; +} + +//This is the equivalent for an AMD system. +//13.35 or newer driver required. +extern "C" { + _declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1; +} + +#endif diff --git a/pcsx2/windows/VCprojects/pcsx2.vcxproj b/pcsx2/windows/VCprojects/pcsx2.vcxproj index 9a2306c9e4..5e5a7f9a3c 100644 --- a/pcsx2/windows/VCprojects/pcsx2.vcxproj +++ b/pcsx2/windows/VCprojects/pcsx2.vcxproj @@ -698,6 +698,7 @@ + diff --git a/pcsx2/windows/VCprojects/pcsx2.vcxproj.filters b/pcsx2/windows/VCprojects/pcsx2.vcxproj.filters index 680312903a..07759ca487 100644 --- a/pcsx2/windows/VCprojects/pcsx2.vcxproj.filters +++ b/pcsx2/windows/VCprojects/pcsx2.vcxproj.filters @@ -871,6 +871,9 @@ AppHost\Win32 + + AppHost\Win32 +