From c10fb4ce9fcd3dbbf69741eb8499c4cfabbf5412 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Sun, 22 Mar 2015 02:48:09 +0200 Subject: vo_wayland: define opaque region This allows compositor to optimize rendering, as it will know mpv is not transparent. --- video/out/wayland_common.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'video/out/wayland_common.c') diff --git a/video/out/wayland_common.c b/video/out/wayland_common.c index 5ddd1ad54c..aff3d7c2ee 100644 --- a/video/out/wayland_common.c +++ b/video/out/wayland_common.c @@ -795,6 +795,15 @@ static void schedule_resize(struct vo_wayland_state *wl, wl->window.events |= VO_EVENT_RESIZE; wl->vo->dwidth = width; wl->vo->dheight = height; + + struct wl_region *region = wl_compositor_create_region(wl->display.compositor); + + if (region) { + wl_region_add(region, x, y, width, height); + wl_surface_set_opaque_region(wl->window.video_surface, region); + wl_surface_commit(wl->window.video_surface); + wl_region_destroy(region); + } } static void frame_callback(void *data, -- cgit v1.2.3