Permalink
Browse files

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.
  • Loading branch information...
Techjar committed Jul 3, 2018
1 parent 4b1b713 commit 80b05b6f0d3dab08e7df9b8c3fac4536c5933932
@@ -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);
@@ -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*
@@ -357,6 +357,7 @@ class TextureCacheBase
bool efb_mono_depth;
bool gpu_texture_decoding;
bool disable_vram_copies;
bool arbitrary_mipmap_detection;
};
BackupConfig backup_config = {};
};

0 comments on commit 80b05b6

Please sign in to comment.