Make arbitrary mipmap detection toggle invalidate the texture cache

We want this setting to invalidate the cache because it may affect the appearance of textures in the rendered scene, therefore one would expect changing it while the game is running to have the expected effect immediately.
This commit is contained in:
Techjar 2018-07-03 06:19:07 -04:00
parent 4b1b713e61
commit 80b05b6f0d
3 changed files with 10 additions and 7 deletions

View File

@ -349,12 +349,12 @@ void EnhancementsWidget::AddDescriptions()
"some games as \"deflickering\" or \"smoothing\". Disabling the filter has no "
"effect on performance, but may result in a sharper image, and causes few "
"graphical issues.\n\nIf unsure, leave this checked.");
static const char TR_ARBITRARY_MIPMAP_DETECTION_DESCRIPTION[] =
QT_TR_NOOP("Enables detection of arbitrary mipmaps, which some games use for special "
"distance-based effects.\nMay have false positives that result in blurry textures "
"at increased internal resolution, such as in games that use very low resolution "
"mipmaps.\nDisabling this can also reduce stutter in games that "
"frequently load new textures.\n\nIf unsure, leave this checked.");
static const char TR_ARBITRARY_MIPMAP_DETECTION_DESCRIPTION[] = QT_TR_NOOP(
"Enables detection of arbitrary mipmaps, which some games use for special distance-based "
"effects. May have false positives that result in blurry textures at increased internal "
"resolution, such as in games that use very low resolution mipmaps.\nDisabling this can also "
"reduce stutter in games that frequently load new textures.\nThis feature is not compatible "
"with GPU Texture Decoding.\n\nIf unsure, leave this checked.");
AddDescription(m_ir_combo, TR_INTERNAL_RESOLUTION_DESCRIPTION);
AddDescription(m_aa_combo, TR_ANTIALIAS_DESCRIPTION);

View File

@ -126,7 +126,8 @@ void TextureCacheBase::OnConfigChanged(VideoConfig& config)
config.bTexFmtOverlayCenter != backup_config.texfmt_overlay_center ||
config.bHiresTextures != backup_config.hires_textures ||
config.bEnableGPUTextureDecoding != backup_config.gpu_texture_decoding ||
config.bDisableCopyToVRAM != backup_config.disable_vram_copies)
config.bDisableCopyToVRAM != backup_config.disable_vram_copies ||
config.bArbitraryMipmapDetection != backup_config.arbitrary_mipmap_detection)
{
Invalidate();
@ -230,6 +231,7 @@ void TextureCacheBase::SetBackupConfig(const VideoConfig& config)
backup_config.efb_mono_depth = config.bStereoEFBMonoDepth;
backup_config.gpu_texture_decoding = config.bEnableGPUTextureDecoding;
backup_config.disable_vram_copies = config.bDisableCopyToVRAM;
backup_config.arbitrary_mipmap_detection = config.bArbitraryMipmapDetection;
}
TextureCacheBase::TCacheEntry*

View File

@ -357,6 +357,7 @@ private:
bool efb_mono_depth;
bool gpu_texture_decoding;
bool disable_vram_copies;
bool arbitrary_mipmap_detection;
};
BackupConfig backup_config = {};
};