Add Wayland with GPU support.
Cherry-pick from http://192.168.110.45/sdk/buildroot/-/commit/ed70e2b79cbc7a504792899e2cd3577777fd54bd
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
From 66118837ec11358ea86373c343c147e9659c19b8 Mon Sep 17 00:00:00 2001
|
||||
From: Brendan King <Brendan.King@imgtec.com>
|
||||
Date: Wed, 8 Nov 2017 15:15:20 +0000
|
||||
Subject: [PATCH 21/50] egl/wayland: post maximum damage when blitting
|
||||
|
||||
When blitting, as part of the "is_different_gpu" case when swapping
|
||||
buffers, the blit is done using the full surface dimensions, ignoring
|
||||
the damage region. This results in corruption of the non damaged region
|
||||
on screen. Workaround this by posting maximum damage when blitting.
|
||||
|
||||
A better fix would be to limit the blit to the damaged region, at least
|
||||
when the number of damage rectangles is 1.
|
||||
---
|
||||
src/egl/drivers/dri2/platform_wayland.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c
|
||||
index 6eb2c7cbdf6..b76c63f1439 100644
|
||||
--- a/src/egl/drivers/dri2/platform_wayland.c
|
||||
+++ b/src/egl/drivers/dri2/platform_wayland.c
|
||||
@@ -1121,7 +1121,8 @@ dri2_wl_swap_buffers_with_damage(_EGLDisplay *disp,
|
||||
/* If the compositor doesn't support damage_buffer, we deliberately
|
||||
* ignore the damage region and post maximum damage, due to
|
||||
* https://bugs.freedesktop.org/78190 */
|
||||
- if (!n_rects || !try_damage_buffer(dri2_surf, rects, n_rects))
|
||||
+ if (dri2_dpy->is_different_gpu ||
|
||||
+ !n_rects || !try_damage_buffer(dri2_surf, rects, n_rects))
|
||||
wl_surface_damage(dri2_surf->wl_surface_wrapper,
|
||||
0, 0, INT32_MAX, INT32_MAX);
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
||||
Reference in New Issue
Block a user