From 77db9c818fc0eb2ec2f77079bb44bc833f0d7210 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sun, 23 Jan 2022 00:54:37 -0800 Subject: [PATCH] softgpu: Fix state race on screen offset. Caused glitches in Motorstorm. --- GPU/Software/BinManager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GPU/Software/BinManager.cpp b/GPU/Software/BinManager.cpp index 41ef81235a..294261131a 100644 --- a/GPU/Software/BinManager.cpp +++ b/GPU/Software/BinManager.cpp @@ -347,8 +347,8 @@ void BinManager::Drain() { int h2 = (queueRange_.y2 - queueRange_.y1 + 31) / 32; // Always bin the entire possible range, but focus on the drawn area. - ScreenCoords tl = TransformUnit::DrawingToScreen(DrawingCoords(0, 0), 0); - ScreenCoords br = TransformUnit::DrawingToScreen(DrawingCoords(1024, 1024), 0); + ScreenCoords tl(queueOffsetX_, queueOffsetY_, 0); + ScreenCoords br(queueOffsetX_ + 1024 * 16, queueOffsetY_ + 1024 * 16, 0); taskRanges_.clear(); if (h2 >= 18 && w2 >= h2 * 4) {