mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-06 20:58:37 +01:00
[dxgi] Add useMonitorFallback option
And enable it for CP2077. It is supposed to be dropped once QueryDisplayConfig optimization is in Proton Wine.
This commit is contained in:
parent
4d974685c9
commit
552d2f0a6d
5 changed files with 28 additions and 0 deletions
11
dxvk.conf
11
dxvk.conf
|
@ -623,3 +623,14 @@
|
||||||
# DO NOT CHANGE THIS UNLESS YOU HAVE A VERY GOOD REASON.
|
# DO NOT CHANGE THIS UNLESS YOU HAVE A VERY GOOD REASON.
|
||||||
|
|
||||||
# d3d9.textureMemory = 100
|
# d3d9.textureMemory = 100
|
||||||
|
|
||||||
|
# Always enumerate all monitors on each dxgi output
|
||||||
|
#
|
||||||
|
# Used to avoid performance degradation in some games
|
||||||
|
# (will be deprecated once QueryDisplayConfig optimization
|
||||||
|
# is in Proton Wine).
|
||||||
|
#
|
||||||
|
# Supported values:
|
||||||
|
# - True/False
|
||||||
|
|
||||||
|
# dxgi.useMonitorFallback = False
|
||||||
|
|
|
@ -124,10 +124,13 @@ namespace dxvk {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// If any monitors are left on the list, enable the
|
// If any monitors are left on the list, enable the
|
||||||
// fallback to always enumerate all monitors.
|
// fallback to always enumerate all monitors.
|
||||||
if ((m_monitorFallback = !monitors.empty()))
|
if ((m_monitorFallback = !monitors.empty()))
|
||||||
Logger::warn("DXGI: Found monitors not associated with any adapter, using fallback");
|
Logger::warn("DXGI: Found monitors not associated with any adapter, using fallback");
|
||||||
|
else
|
||||||
|
m_monitorFallback = m_options.useMonitorFallback;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -101,6 +101,10 @@ namespace dxvk {
|
||||||
Logger::info("HDR was configured to be enabled, but has been force disabled as a UE4 DX11 game was detected.");
|
Logger::info("HDR was configured to be enabled, but has been force disabled as a UE4 DX11 game was detected.");
|
||||||
this->enableHDR = false;
|
this->enableHDR = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this->useMonitorFallback = config.getOption<bool>("dxgi.useMonitorFallback", env::getEnvVar("DXVK_MONITOR_FALLBACK") == "1");
|
||||||
|
if (this->useMonitorFallback)
|
||||||
|
Logger::info("Enabled useMonitorFallback option");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,6 +44,9 @@ namespace dxvk {
|
||||||
|
|
||||||
/// Enable HDR
|
/// Enable HDR
|
||||||
bool enableHDR;
|
bool enableHDR;
|
||||||
|
|
||||||
|
/// Use monitor fallback to enumerating all monitors per output
|
||||||
|
bool useMonitorFallback;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -846,6 +846,13 @@ namespace dxvk {
|
||||||
{ R"(\\RiftApart\.exe$)", {{
|
{ R"(\\RiftApart\.exe$)", {{
|
||||||
{ "dxgi.hideNvidiaGpu", "False" },
|
{ "dxgi.hideNvidiaGpu", "False" },
|
||||||
}} },
|
}} },
|
||||||
|
/* CP2077 enumerates display outputs each frame.
|
||||||
|
* Avoid using QueryDisplayConfig to avoid
|
||||||
|
* performance degradation until the
|
||||||
|
* optimization of that function is in Proton. */
|
||||||
|
{ R"(\\Cyberpunk2077\.exe$)", {{
|
||||||
|
{ "dxgi.useMonitorFallback", "True" },
|
||||||
|
}} },
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue