mirror of
https://github.com/mpv-player/mpv
synced 2024-11-03 03:19:24 +01:00
wayland: use the advertised size in fullscreen
When we receive the wl_shell_surface::configure event, it makes sense to respect the aspect ratio of the video in windowed mode, but in fullscreen it forces compositing and wastes resources (until atomic modesetting is available everywhere and we can stop having desynchronised planes). Weston mitigates a resolution mismatch by creating black surfaces and compositing them around the fullscreen surface, placed at the middle, while GNOME puts it at the top-left and leaves the rest of the desktop composited below, both of them producing a subpar experience. Fixes #3021, #2657.
This commit is contained in:
parent
7d9eab15f0
commit
f99e48ae6a
@ -739,7 +739,6 @@ static void schedule_resize(struct vo_wayland_state *wl,
|
||||
{
|
||||
int32_t minimum_size = 150;
|
||||
int32_t x, y;
|
||||
float temp_aspect = width / (float) MPMAX(height, 1);
|
||||
float win_aspect = wl->window.aspect;
|
||||
if (win_aspect <= 0)
|
||||
win_aspect = 1;
|
||||
@ -770,12 +769,6 @@ static void schedule_resize(struct vo_wayland_state *wl,
|
||||
case WL_SHELL_SURFACE_RESIZE_BOTTOM_RIGHT:
|
||||
height = (1 / win_aspect) * width;
|
||||
break;
|
||||
default:
|
||||
if (wl->window.aspect < temp_aspect)
|
||||
width = wl->window.aspect * height;
|
||||
else
|
||||
height = (1 / win_aspect) * width;
|
||||
break;
|
||||
}
|
||||
|
||||
if (edges & WL_SHELL_SURFACE_RESIZE_LEFT)
|
||||
|
Loading…
Reference in New Issue
Block a user