[PATCH xserver 4/3] fixup! xwayland streams buglets
Adam Jackson
ajax at redhat.com
Tue Apr 24 19:22:46 UTC 2018
- Properly disable glamor if streams setup fails
- Disable window-mode present if streams is in use
Signed-off-by: Adam Jackson <ajax at redhat.com>
---
hw/xwayland/xwayland-present.c | 9 +++++++++
hw/xwayland/xwayland.c | 2 +-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/hw/xwayland/xwayland-present.c b/hw/xwayland/xwayland-present.c
index c41a8a2d12..07fdc7c184 100644
--- a/hw/xwayland/xwayland-present.c
+++ b/hw/xwayland/xwayland-present.c
@@ -509,5 +509,14 @@ static present_wnmd_info_rec xwl_present_info = {
Bool
xwl_present_init(ScreenPtr screen)
{
+ struct xwl_screen *xwl_screen = xwl_screen_get(screen);
+
+ /*
+ * doesn't work with the streams backend. we don't have an explicit
+ * boolean for that, but we do know gbm doesn't fill in this hook...
+ */
+ if (xwl_screen->egl_backend.post_damage != NULL)
+ return FALSE;
+
return present_wnmd_screen_init(screen, &xwl_present_info);
}
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
index 4c0c2d3270..f7e2ce9312 100644
--- a/hw/xwayland/xwayland.c
+++ b/hw/xwayland/xwayland.c
@@ -998,7 +998,7 @@ xwl_screen_init(ScreenPtr pScreen, int argc, char **argv)
if (use_eglstreams) {
if (!xwl_glamor_init_eglstream(xwl_screen)) {
ErrorF("xwayland glamor: failed to setup eglstream backend, falling back to swaccel\n");
- xwl_screen->glamor = 1;
+ xwl_screen->glamor = 0;
}
} else
#endif
--
2.17.0
More information about the xorg-devel
mailing list