summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/TextureCacheBase.cpp
diff options
context:
space:
mode:
authorAnthony <Helios747@users.noreply.github.com>2018-02-10 22:20:41 -0800
committerGitHub <noreply@github.com>2018-02-10 22:20:41 -0800
commit9f7ed81d9caf33c98d841066279735b50de7a656 (patch)
tree2829e1a40b80b51a698dad6908270c80644b1f66 /Source/Core/VideoCommon/TextureCacheBase.cpp
parent3f81483f83455697ab732a4f8af6e4f6e94ffb9c (diff)
parent93fb0e1e1cb73b12189c96db52c53f19696ab1da (diff)
Merge pull request #6373 from stenzek/disable-efb2tex
TextureCache: Add an option to disable EFB copies to VRAM
Diffstat (limited to 'Source/Core/VideoCommon/TextureCacheBase.cpp')
-rw-r--r--Source/Core/VideoCommon/TextureCacheBase.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/Source/Core/VideoCommon/TextureCacheBase.cpp b/Source/Core/VideoCommon/TextureCacheBase.cpp
index a2c42d4e68..191d0a2009 100644
--- a/Source/Core/VideoCommon/TextureCacheBase.cpp
+++ b/Source/Core/VideoCommon/TextureCacheBase.cpp
@@ -1557,16 +1557,12 @@ void TextureCacheBase::CopyRenderTargetToTexture(u32 dstAddr, EFBCopyFormat dstF
//
// Disadvantage of all methods: Calling this function requires the GPU to perform a pipeline flush
// which stalls any further CPU processing.
- //
- // For historical reasons, Dolphin doesn't actually implement "pure" EFB to RAM emulation, but
- // only EFB to texture and hybrid EFB copies.
-
- bool is_xfb_copy = !is_depth_copy && !isIntensity && dstFormat == EFBCopyFormat::XFB;
-
- bool copy_to_vram = g_ActiveConfig.backend_info.bSupportsCopyToVram;
+ const bool is_xfb_copy = !is_depth_copy && !isIntensity && dstFormat == EFBCopyFormat::XFB;
+ bool copy_to_vram =
+ g_ActiveConfig.backend_info.bSupportsCopyToVram && !g_ActiveConfig.bDisableCopyToVRAM;
bool copy_to_ram =
!(is_xfb_copy ? g_ActiveConfig.bSkipXFBCopyToRam : g_ActiveConfig.bSkipEFBCopyToRam) ||
- g_ActiveConfig.backend_info.bForceCopyToRam;
+ !copy_to_vram;
u8* dst = Memory::GetPointer(dstAddr);
if (dst == nullptr)