summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/VideoConfig.cpp
diff options
context:
space:
mode:
authorPokechu22 <Pokechu022@gmail.com>2022-05-16 16:59:23 -0700
committerPokechu22 <Pokechu022@gmail.com>2022-05-16 16:59:57 -0700
commit3949698acf4637412c4b52fac07bc1c9b32665c5 (patch)
tree43fe7bf3d0d97fd2f48b0c9fc9295c4a75eebc64 /Source/Core/VideoCommon/VideoConfig.cpp
parent3950bc4620b659b4ba902a8d8d979dae801b5bd4 (diff)
Verify graphics config validity after populating the backend info
... and refresh the config before populating the backend info, as the config (specifically iAdapter) needs to be set to correctly populate the backend info. Before, the list of valid antialiasing modes was always determined from the first adapter on the list on startup, regardless of the adapter the user selected.
Diffstat (limited to 'Source/Core/VideoCommon/VideoConfig.cpp')
-rw-r--r--Source/Core/VideoCommon/VideoConfig.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp
index 6d8cd7ff29..58893c9267 100644
--- a/Source/Core/VideoCommon/VideoConfig.cpp
+++ b/Source/Core/VideoCommon/VideoConfig.cpp
@@ -44,7 +44,12 @@ void VideoConfig::Refresh()
// invalid values. Instead, pause emulation first, which will flush the video thread,
// update the config and correct it, then resume emulation, after which the video
// thread will detect the config has changed and act accordingly.
- Config::AddConfigChangedCallback([]() { Core::RunAsCPUThread([]() { g_Config.Refresh(); }); });
+ Config::AddConfigChangedCallback([]() {
+ Core::RunAsCPUThread([]() {
+ g_Config.Refresh();
+ g_Config.VerifyValidity();
+ });
+ });
s_has_registered_callback = true;
}
@@ -140,8 +145,6 @@ void VideoConfig::Refresh()
bFastTextureSampling = Config::Get(Config::GFX_HACK_FAST_TEXTURE_SAMPLING);
bPerfQueriesEnable = Config::Get(Config::GFX_PERF_QUERIES_ENABLE);
-
- VerifyValidity();
}
void VideoConfig::VerifyValidity()