From 1b72311e7dc7216032816b0b982955a1e4c1ec7a Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sun, 21 Aug 2022 15:51:56 -0700 Subject: [PATCH 1/2] Headless: Fix comparison for oversized buffers. At least when not flipping. --- headless/Compare.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/headless/Compare.cpp b/headless/Compare.cpp index 890ff6cc6a..f5127e5ee0 100644 --- a/headless/Compare.cpp +++ b/headless/Compare.cpp @@ -326,7 +326,7 @@ std::vector TranslateDebugBufferToCompare(const GPUDebugBuffer *buffer, u32 int outStride = buffer->GetStride(); if (!buffer->GetFlipped()) { // Bitmaps are flipped, so we have to compare backwards in this case. - int toLastRow = outStride * (buffer->GetHeight() - 1); + int toLastRow = outStride * (h > buffer->GetHeight() ? buffer->GetHeight() - 1 : h - 1); pixels32 += toLastRow; pixels16 += toLastRow; outStride = -outStride; From 05ad644c690a048fbc0627c916071d7d38bec99b Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sun, 21 Aug 2022 15:52:18 -0700 Subject: [PATCH 2/2] Headless: Set softgpu config flag. This affects dump playback (whether it updates RAM with what's in the frame dump), so it's confusing when it's not set matching the core. --- headless/Headless.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/headless/Headless.cpp b/headless/Headless.cpp index bb8a0225b7..cad0c9fb20 100644 --- a/headless/Headless.cpp +++ b/headless/Headless.cpp @@ -416,6 +416,7 @@ int main(int argc, const char* argv[]) g_Config.bEnableLogging = fullLog; g_Config.bSoftwareSkinning = true; g_Config.bVertexDecoderJit = true; + g_Config.bSoftwareRendering = coreParameter.gpuCore == GPUCORE_SOFTWARE; g_Config.bSoftwareRenderingJit = true; g_Config.bBlockTransferGPU = true; g_Config.iSplineBezierQuality = 2;