summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/TextureCacheBase.cpp
diff options
context:
space:
mode:
authordegasus <wickmarkus@web.de>2015-10-29 17:48:35 +0100
committerdegasus <wickmarkus@web.de>2015-11-15 11:59:52 +0100
commitdcdf8fd3ced5e5d2b94299bc710a69ee06bab0d6 (patch)
tree9ec976d055973f7607b6d7aeaf48bb4a17eada99 /Source/Core/VideoCommon/TextureCacheBase.cpp
parentd7d870435367b2a9eb2f5153c954b354efd98202 (diff)
TextureCache: Split efb2ram from efb2tex
Diffstat (limited to 'Source/Core/VideoCommon/TextureCacheBase.cpp')
-rw-r--r--Source/Core/VideoCommon/TextureCacheBase.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/TextureCacheBase.cpp b/Source/Core/VideoCommon/TextureCacheBase.cpp
index 8f1d700dfd..44fdf9fe48 100644
--- a/Source/Core/VideoCommon/TextureCacheBase.cpp
+++ b/Source/Core/VideoCommon/TextureCacheBase.cpp
@@ -1050,6 +1050,25 @@ void TextureCacheBase::CopyRenderTargetToTexture(u32 dstAddr, unsigned int dstFo
entry->FromRenderTarget(dst, dstFormat, dstStride, srcFormat, srcRect, isIntensity, scaleByHalf, cbufid, colmat);
+ if (g_ActiveConfig.bSkipEFBCopyToRam)
+ {
+ entry->Zero(dst);
+ }
+ else
+ {
+ g_texture_cache->CopyEFB(
+ dst,
+ entry->format,
+ entry->native_width,
+ entry->BytesPerRow(),
+ entry->NumBlocksY(),
+ entry->memory_stride,
+ srcFormat,
+ srcRect,
+ isIntensity,
+ scaleByHalf);
+ }
+
u64 hash = entry->CalculateHash();
entry->SetHashes(hash, hash);