From e170e9281de13474ff52df0d7dff6344e5ab480b Mon Sep 17 00:00:00 2001 From: refractionpcsx2 Date: Mon, 4 Apr 2022 18:07:54 +0100 Subject: [PATCH] GS: Fix reversed reversed GS copies. --- pcsx2/GS/GSState.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pcsx2/GS/GSState.cpp b/pcsx2/GS/GSState.cpp index 2d4d52dc49..0d34885b07 100644 --- a/pcsx2/GS/GSState.cpp +++ b/pcsx2/GS/GSState.cpp @@ -1869,11 +1869,11 @@ void GSState::Move() // What probably happens is because the copy is buffered, the source stays just ahead of the destination. if (sbp == dbp && (((_sy < _dy) && ((ypage + page_height) > _dy)) || ((sx < dx) && ((xpage + page_width) > dx)))) { - int starty = 0; - int endy = h; + int starty = (yinc > 0) ? 0 : h-1; + int endy = (yinc > 0) ? h : -1; int y_inc = yinc; - if (((_sy < _dy) && ((ypage + page_height) > _dy))) + if (((_sy < _dy) && ((ypage + page_height) > _dy)) && yinc > 0) { _sy += h; _dy += h;