diff --git a/GPU/Common/SplineCommon.cpp b/GPU/Common/SplineCommon.cpp index b8f5a0688e..b7238947e3 100644 --- a/GPU/Common/SplineCommon.cpp +++ b/GPU/Common/SplineCommon.cpp @@ -184,6 +184,8 @@ void _SplinePatchFullQuality(u8 *&dest, int &count, const SplinePatchLocal &spa // JPCSP is wrong at least because their method results in square loco roco. int patch_div_s = (spatch.count_u - 3) * gstate.getPatchDivisionU(); int patch_div_t = (spatch.count_v - 3) * gstate.getPatchDivisionV(); + if (patch_div_s >= 4) patch_div_s /= quality; + if (patch_div_t >= 4) patch_div_t /= quality; if (patch_div_s <= 0) patch_div_s = 1; if (patch_div_t <= 0) patch_div_t = 1;