diff options
| author | Anthony <Helios747@users.noreply.github.com> | 2018-02-10 22:20:41 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-02-10 22:20:41 -0800 |
| commit | 9f7ed81d9caf33c98d841066279735b50de7a656 (patch) | |
| tree | 2829e1a40b80b51a698dad6908270c80644b1f66 /Source/Core/VideoCommon/TextureCacheBase.cpp | |
| parent | 3f81483f83455697ab732a4f8af6e4f6e94ffb9c (diff) | |
| parent | 93fb0e1e1cb73b12189c96db52c53f19696ab1da (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.cpp | 12 |
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) |
