diff --git a/src/render/psp/SDL_render_psp.c b/src/render/psp/SDL_render_psp.c index eb04d5d61f..54c989604c 100644 --- a/src/render/psp/SDL_render_psp.c +++ b/src/render/psp/SDL_render_psp.c @@ -1264,7 +1264,7 @@ static bool PSP_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd, } } - if (SDL_memcmp(&data->drawstate.cliprect, rect, sizeof(*rect)) != 0) { + if ((data->drawstate.cliprect_enabled || !data->drawstate.viewport_is_set) && SDL_memcmp(&data->drawstate.cliprect, rect, sizeof(*rect)) != 0) { SDL_copyp(&data->drawstate.cliprect, rect); data->drawstate.cliprect_dirty = true; }