diff --git a/core/rend/gl4/gles.cpp b/core/rend/gl4/gles.cpp index 202d48b31..4d3003569 100644 --- a/core/rend/gl4/gles.cpp +++ b/core/rend/gl4/gles.cpp @@ -656,7 +656,7 @@ static bool RenderFrame() { scale_x=fb_scale_x; scale_y=fb_scale_y; - if (SCALER_CTL.interlace == 0) + if (SCALER_CTL.interlace == 0 && SCALER_CTL.vscalefactor >= 0x400) scale_y *= SCALER_CTL.vscalefactor / 0x400; //work out scaling parameters ! @@ -870,7 +870,7 @@ static bool RenderFrame() float min_y = pvrrc.fb_Y_CLIP.min / scale_y; if (!is_rtt) { - if (SCALER_CTL.interlace) + if (SCALER_CTL.interlace && SCALER_CTL.vscalefactor >= 0x400) { // Clipping is done after scaling/filtering so account for that if enabled height *= SCALER_CTL.vscalefactor / 0x400; diff --git a/core/rend/gles/gles.cpp b/core/rend/gles/gles.cpp index 684f96e26..9e7c812a2 100644 --- a/core/rend/gles/gles.cpp +++ b/core/rend/gles/gles.cpp @@ -1651,7 +1651,7 @@ bool RenderFrame() { scale_x=fb_scale_x; scale_y=fb_scale_y; - if (SCALER_CTL.interlace == 0) + if (SCALER_CTL.interlace == 0 && SCALER_CTL.vscalefactor >= 0x400) scale_y *= SCALER_CTL.vscalefactor / 0x400; //work out scaling parameters ! @@ -1902,7 +1902,7 @@ bool RenderFrame() float min_y = pvrrc.fb_Y_CLIP.min / scale_y; if (!is_rtt) { - if (SCALER_CTL.interlace) + if (SCALER_CTL.interlace && SCALER_CTL.vscalefactor >= 0x400) { // Clipping is done after scaling/filtering so account for that if enabled height *= SCALER_CTL.vscalefactor / 0x400;