mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-11-13 09:39:33 +01:00
Add new texture filtering "Auto Max Quality" that tweaks texture filtering for best quality.
It does this by enforcing mipmapping and minification filters, and always autogenerates mipmaps and enforces anisotropic filtering for all modes (if that's separately enabled). This looks nice and flicker free in most games without any additional tweaking, including GTA and Burnout which have long been painfully flickery in the distance due to undersampling. Needs a bit more testing before merge, maybe. Fixes #13888
This commit is contained in:
1 parent
54bb824d37
commit
6b76bcf070
11 files changed
+50
-12
No files matched your search
@@ -751,6 +751,15 @@ void TextureCacheVulkan::BuildTexture(TexCacheEntry *const entry) {
|
||||
// such as when using replacement textures - but let's keep the same amount of levels.
|
||||
int maxLevelToGenerate = maxLevel;
|
||||
|
||||
if (g_Config.iTexFiltering == TEX_FILTER_AUTO_MAX_QUALITY) {
|
||||
// Boost the number of mipmaps.
|
||||
int maxPossibleMipmaps = log2i(std::min(gstate.getTextureWidth(0), gstate.getTextureHeight(0)));
|
||||
if (maxPossibleMipmaps != maxLevelToGenerate) {
|
||||
maxLevelToGenerate = maxPossibleMipmaps;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// If GLES3 is available, we can preallocate the storage, which makes texture loading more efficient.
|
||||
VkFormat dstFmt = GetDestFormat(GETextureFormat(entry->format), gstate.getClutPaletteFormat());
|
||||
|
||||
|
||||
Reference in new issue
Block a user