- Properly disable glamor if streams setup fails - Disable window-mode present if streams is in use
Signed-off-by: Adam Jackson <a...@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 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel