summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Software/EfbCopy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/VideoBackends/Software/EfbCopy.cpp')
-rw-r--r--Source/Core/VideoBackends/Software/EfbCopy.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/Source/Core/VideoBackends/Software/EfbCopy.cpp b/Source/Core/VideoBackends/Software/EfbCopy.cpp
index c23ca5622c..15a3fb3a02 100644
--- a/Source/Core/VideoBackends/Software/EfbCopy.cpp
+++ b/Source/Core/VideoBackends/Software/EfbCopy.cpp
@@ -3,6 +3,8 @@
#include "VideoBackends/Software/EfbCopy.h"
+#include <algorithm>
+
#include "Common/CommonTypes.h"
#include "Common/Logging/Log.h"
#include "Core/HW/Memmap.h"
@@ -11,6 +13,7 @@
#include "VideoCommon/BPMemory.h"
#include "VideoCommon/Fifo.h"
+#include "VideoCommon/VideoCommon.h"
namespace EfbCopy
{
@@ -21,8 +24,8 @@ void ClearEfb()
int left = bpmem.copyTexSrcXY.x;
int top = bpmem.copyTexSrcXY.y;
- int right = left + bpmem.copyTexSrcWH.x;
- int bottom = top + bpmem.copyTexSrcWH.y;
+ int right = std::min(left + bpmem.copyTexSrcWH.x, EFB_WIDTH - 1);
+ int bottom = std::min(top + bpmem.copyTexSrcWH.y, EFB_HEIGHT - 1);
for (u16 y = top; y <= bottom; y++)
{