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);
}