summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/TextureCacheBase.cpp
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2018-01-10 14:56:18 +0100
committerJosJuice <josjuice@gmail.com>2018-01-10 17:51:45 +0100
commitc25fffc9a064851bd93c4b82fdd25e41a4975961 (patch)
treec7d95206356c7f819b0e16cb7c088bbc20707ded /Source/Core/VideoCommon/TextureCacheBase.cpp
parenta1467f0e5a1ba53e712a003d9f38dea8534df303 (diff)
Treat custom textures with "_arb" suffix as having arbitrary mipmaps
This is adapted from Bighead's code that was posted at https://forums.dolphin-emu.org/Thread-dolphin-custom-texture-mipmaps?pid=460867#pid460867 In master, custom textures are never treated as having arbitrary mipmaps, so we need either a change like this or a change that makes us apply the arbitrary mipmap heuristic even when a custom texture is used.
Diffstat (limited to 'Source/Core/VideoCommon/TextureCacheBase.cpp')
-rw-r--r--Source/Core/VideoCommon/TextureCacheBase.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/Source/Core/VideoCommon/TextureCacheBase.cpp b/Source/Core/VideoCommon/TextureCacheBase.cpp
index 36e1328a92..444076aad4 100644
--- a/Source/Core/VideoCommon/TextureCacheBase.cpp
+++ b/Source/Core/VideoCommon/TextureCacheBase.cpp
@@ -718,9 +718,8 @@ TextureCacheBase::GetTexture(u32 address, u32 width, u32 height, const TextureFo
return nullptr;
}
- // If we are recording a FifoLog, keep track of what memory we read.
- // FifiRecorder does it's own memory modification tracking independant of the texture hashing
- // below.
+ // If we are recording a FifoLog, keep track of what memory we read. FifoRecorder does
+ // its own memory modification tracking independent of the texture hashing below.
if (g_bRecordFifoData && !from_tmem)
FifoRecorder::GetInstance().UseMemory(address, texture_size + additional_mips_size,
MemoryUpdate::TEXTURE_MAP);
@@ -1088,7 +1087,8 @@ TextureCacheBase::GetTexture(u32 address, u32 width, u32 height, const TextureFo
}
}
- entry->has_arbitrary_mips = arbitrary_mip_detector.HasArbitraryMipmaps(dst_buffer);
+ entry->has_arbitrary_mips = hires_tex ? hires_tex->HasArbitraryMipmaps() :
+ arbitrary_mip_detector.HasArbitraryMipmaps(dst_buffer);
if (g_ActiveConfig.bDumpTextures && !hires_tex)
{