From b427ead0cc46ae6e35568a85228f6261204a197f Mon Sep 17 00:00:00 2001 From: anthony Date: Fri, 7 Oct 2016 19:55:47 -0700 Subject: Remove Frameskip --- Source/Core/VideoBackends/Software/EfbCopy.cpp | 41 ++++++++++++-------------- 1 file changed, 19 insertions(+), 22 deletions(-) (limited to 'Source/Core/VideoBackends/Software/EfbCopy.cpp') diff --git a/Source/Core/VideoBackends/Software/EfbCopy.cpp b/Source/Core/VideoBackends/Software/EfbCopy.cpp index c2c63f8a9e..26afc6c779 100644 --- a/Source/Core/VideoBackends/Software/EfbCopy.cpp +++ b/Source/Core/VideoBackends/Software/EfbCopy.cpp @@ -67,34 +67,31 @@ void CopyEfb() rc.right = rc.left + (int)bpmem.copyTexSrcWH.x + 1; rc.bottom = rc.top + (int)bpmem.copyTexSrcWH.y + 1; - if (!Fifo::WillSkipCurrentFrame()) + if (bpmem.triggerEFBCopy.copy_to_xfb) { - if (bpmem.triggerEFBCopy.copy_to_xfb) - { - float yScale; - if (bpmem.triggerEFBCopy.scale_invert) - yScale = 256.0f / (float)bpmem.dispcopyyscale; - else - yScale = (float)bpmem.dispcopyyscale / 256.0f; - - float xfbLines = ((bpmem.copyTexSrcWH.y + 1.0f) * yScale); + float yScale; + if (bpmem.triggerEFBCopy.scale_invert) + yScale = 256.0f / (float)bpmem.dispcopyyscale; + else + yScale = (float)bpmem.dispcopyyscale / 256.0f; - if (yScale != 1.0) - WARN_LOG(VIDEO, "yScale of %f is currently unsupported", yScale); + float xfbLines = ((bpmem.copyTexSrcWH.y + 1.0f) * yScale); - if ((u32)xfbLines > MAX_XFB_HEIGHT) - { - INFO_LOG(VIDEO, "Tried to scale EFB to too many XFB lines (%f)", xfbLines); - xfbLines = MAX_XFB_HEIGHT; - } + if (yScale != 1.0) + WARN_LOG(VIDEO, "yScale of %f is currently unsupported", yScale); - CopyToXfb(bpmem.copyTexDest << 5, bpmem.copyMipMapStrideChannels << 4, (u32)xfbLines, rc, - s_gammaLUT[bpmem.triggerEFBCopy.gamma]); - } - else + if ((u32)xfbLines > MAX_XFB_HEIGHT) { - CopyToRam(); // FIXME: should use the rectangle we have already created above + INFO_LOG(VIDEO, "Tried to scale EFB to too many XFB lines (%f)", xfbLines); + xfbLines = MAX_XFB_HEIGHT; } + + CopyToXfb(bpmem.copyTexDest << 5, bpmem.copyMipMapStrideChannels << 4, (u32)xfbLines, rc, + s_gammaLUT[bpmem.triggerEFBCopy.gamma]); + } + else + { + CopyToRam(); // FIXME: should use the rectangle we have already created above } } } -- cgit v1.2.3