RGUI integer scale fix (#17099)

This commit is contained in:
sonninnos 2024-10-16 05:08:58 +03:00 committed by GitHub
parent 73b9a5e899
commit 73fc26c132
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2367,11 +2367,14 @@ void video_viewport_get_scaled_integer(struct video_viewport *vp,
#if defined(RARCH_MOBILE)
if (width < height)
{
viewport_bias_x = settings->floats.video_viewport_bias_portrait_x;
viewport_bias_y = settings->floats.video_viewport_bias_portrait_y;
viewport_bias_x = settings->floats.video_viewport_bias_portrait_x;
viewport_bias_y = settings->floats.video_viewport_bias_portrait_y;
}
#endif
content_width = (content_width == 4) ? video_st->av_info.geometry.base_width : content_width;
content_height = (content_height == 4) ? video_st->av_info.geometry.base_height : content_height;
if (!ydown)
viewport_bias_y = 1.0 - viewport_bias_y;
@ -2389,7 +2392,7 @@ void video_viewport_get_scaled_integer(struct video_viewport *vp,
if (content_width < 2 || content_height < 2)
return;
content_width = (content_width > width) ? width : content_width;
content_width = (content_width > width) ? width : content_width;
content_height = (content_height > height) ? height : content_height;
if (video_aspect_ratio_idx == ASPECT_RATIO_CUSTOM)
@ -2481,7 +2484,10 @@ void video_viewport_get_scaled_integer(struct video_viewport *vp,
uint8_t i = 0;
/* Reset width to exact width */
content_width = (rotation % 2) ? video_st->frame_cache_height : video_st->frame_cache_width;
content_width = (rotation % 2)
? ((video_st->frame_cache_height == 4) ? video_st->av_info.geometry.base_height : video_st->frame_cache_height)
: ((video_st->frame_cache_width == 4) ? video_st->av_info.geometry.base_width : video_st->frame_cache_width);
overscale_w = (width / content_width) + !!(width % content_width);
/* Populate the ratios */