SDL: Fixed clip rect when logical presentation is enabled

From 4bb46e93c8805620d9bcdab45a1213096e629b91 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Tue, 4 Mar 2025 08:24:18 -0800
Subject: [PATCH] Fixed clip rect when logical presentation is enabled

We don't need to include the logical offset, it's already included in the viewport.

Fixes https://github.com/libsdl-org/SDL/issues/12454
---
 src/render/SDL_render.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/render/SDL_render.c b/src/render/SDL_render.c
index 869fbabe11271..6958eeb6f7e1e 100644
--- a/src/render/SDL_render.c
+++ b/src/render/SDL_render.c
@@ -462,8 +462,8 @@ static void UpdatePixelClipRect(SDL_Renderer *renderer, SDL_RenderViewState *vie
 {
     const float scale_x = view->current_scale.x;
     const float scale_y = view->current_scale.y;
-    view->pixel_clip_rect.x = (int)SDL_floorf((view->clip_rect.x * scale_x) + view->logical_offset.x);
-    view->pixel_clip_rect.y = (int)SDL_floorf((view->clip_rect.y * scale_y) + view->logical_offset.y);
+    view->pixel_clip_rect.x = (int)SDL_floorf(view->clip_rect.x * scale_x);
+    view->pixel_clip_rect.y = (int)SDL_floorf(view->clip_rect.y * scale_y);
     view->pixel_clip_rect.w = (int)SDL_ceilf(view->clip_rect.w * scale_x);
     view->pixel_clip_rect.h = (int)SDL_ceilf(view->clip_rect.h * scale_y);
 }