summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/TextureCacheBase.cpp
diff options
context:
space:
mode:
authoriwubcode <iwubcode@users.noreply.github.com>2022-03-15 01:46:58 -0500
committeriwubcode <iwubcode@users.noreply.github.com>2022-06-27 18:20:52 -0500
commit69839df1eb2a594b81bceb8cfac58ccbba286628 (patch)
tree5100396162fa62e08a4b5c4aa6906432d1b945ff /Source/Core/VideoCommon/TextureCacheBase.cpp
parent892678648eee7a1724b790fba0aa312e0fe8c728 (diff)
VideoCommon: support dynamically updating game mods at runtime
Diffstat (limited to 'Source/Core/VideoCommon/TextureCacheBase.cpp')
-rw-r--r--Source/Core/VideoCommon/TextureCacheBase.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/TextureCacheBase.cpp b/Source/Core/VideoCommon/TextureCacheBase.cpp
index 3bd6e2ae52..9bbabb0252 100644
--- a/Source/Core/VideoCommon/TextureCacheBase.cpp
+++ b/Source/Core/VideoCommon/TextureCacheBase.cpp
@@ -154,6 +154,9 @@ void TextureCacheBase::OnConfigChanged(const VideoConfig& config)
HiresTexture::Update();
}
+ const u32 change_count =
+ config.graphics_mod_config ? config.graphics_mod_config->GetChangeCount() : 0;
+
// TODO: Invalidating texcache is really stupid in some of these cases
if (config.iSafeTextureCache_ColorSamples != backup_config.color_samples ||
config.bTexFmtOverlayEnable != backup_config.texfmt_overlay ||
@@ -161,7 +164,9 @@ void TextureCacheBase::OnConfigChanged(const VideoConfig& config)
config.bHiresTextures != backup_config.hires_textures ||
config.bEnableGPUTextureDecoding != backup_config.gpu_texture_decoding ||
config.bDisableCopyToVRAM != backup_config.disable_vram_copies ||
- config.bArbitraryMipmapDetection != backup_config.arbitrary_mipmap_detection)
+ config.bArbitraryMipmapDetection != backup_config.arbitrary_mipmap_detection ||
+ config.bGraphicMods != backup_config.graphics_mods ||
+ change_count != backup_config.graphics_mod_change_count)
{
Invalidate();
TexDecoder_SetTexFmtOverlayOptions(config.bTexFmtOverlayEnable, config.bTexFmtOverlayCenter);
@@ -257,6 +262,8 @@ void TextureCacheBase::SetBackupConfig(const VideoConfig& config)
backup_config.disable_vram_copies = config.bDisableCopyToVRAM;
backup_config.arbitrary_mipmap_detection = config.bArbitraryMipmapDetection;
backup_config.graphics_mods = config.bGraphicMods;
+ backup_config.graphics_mod_change_count =
+ config.graphics_mod_config ? config.graphics_mod_config->GetChangeCount() : 0;
}
TextureCacheBase::TCacheEntry*