From 52a3c2248d2d263df5e000467f1dbff2c45a6ebf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Wed, 20 May 2020 10:25:54 +0200 Subject: [PATCH] Move the check from #12908 into the firmware version check. The original change took care of #11660, let's hope it stay fixed. This fixes Toca (#12936). --- GPU/GPUCommon.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/GPU/GPUCommon.cpp b/GPU/GPUCommon.cpp index 3b5d220724..e1f64afb81 100644 --- a/GPU/GPUCommon.cpp +++ b/GPU/GPUCommon.cpp @@ -678,17 +678,18 @@ u32 GPUCommon::EnqueueList(u32 listpc, u32 stall, int subIntrBase, PSPPointernumStacks >= 256) { - ERROR_LOG_REPORT(G3D, "sceGeListEnqueue: invalid size %d", args->numStacks); - return SCE_KERNEL_ERROR_INVALID_SIZE; - } - + int id = -1; u64 currentTicks = CoreTiming::GetTicks(); u32_le stackAddr = args.IsValid() ? args->stackAddr : 0; // Check compatibility if (sceKernelGetCompiledSdkVersion() > 0x01FFFFFF) { + // See #12908. + if (args.IsValid() && args->numStacks >= 256) { + ERROR_LOG(G3D, "sceGeListEnqueue: invalid size %08x", args->numStacks); + return SCE_KERNEL_ERROR_INVALID_SIZE; + } + //numStacks = 0; //stack = NULL; for (int i = 0; i < DisplayListMaxCount; ++i) {