diff --git a/src/render/psp/SDL_render_psp.c b/src/render/psp/SDL_render_psp.c index fb7a53e1f5..7d19a3f37e 100644 --- a/src/render/psp/SDL_render_psp.c +++ b/src/render/psp/SDL_render_psp.c @@ -1223,7 +1223,7 @@ static int PSP_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd, v } } - 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 = SDL_TRUE; }