[PATCH v2 xserver 4/5] xwayland: Do not disable glamor if eglstream failed
Olivier Fourdan
ofourdan at redhat.com
Thu May 24 14:33:05 UTC 2018
EGL stream requires glamor, but the opposite is not true. So if someone
passes "-eglstream" with a GPU which does not support EGL stream, we
could maybe still try GBM and be lucky.
That allows Wayland compositor to pass "eglstream" regardless of the
actual hardware, if they want to enable EGL stream on GPU which support
it.
Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
---
v2: Try GBM only if EGL streams actually failed (or wasn't requested)
hw/xwayland/xwayland.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
index cc16edf27..a08d58451 100644
--- a/hw/xwayland/xwayland.c
+++ b/hw/xwayland/xwayland.c
@@ -939,9 +939,7 @@ xwl_screen_init(ScreenPtr pScreen, int argc, char **argv)
struct xwl_screen *xwl_screen;
Pixel red_mask, blue_mask, green_mask;
int ret, bpc, green_bpc, i;
-#ifdef XWL_HAS_EGLSTREAM
Bool use_eglstreams = FALSE;
-#endif
xwl_screen = calloc(1, sizeof *xwl_screen);
if (xwl_screen == NULL)
@@ -998,12 +996,12 @@ xwl_screen_init(ScreenPtr pScreen, int argc, char **argv)
#ifdef XWL_HAS_EGLSTREAM
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 = 0;
+ ErrorF("xwayland glamor: failed to setup eglstream backend\n");
+ use_eglstreams = FALSE;
}
- } else
+ }
#endif
- if (!xwl_glamor_init_gbm(xwl_screen)) {
+ if (!use_eglstreams && !xwl_glamor_init_gbm(xwl_screen)) {
ErrorF("xwayland glamor: failed to setup GBM backend, falling back to sw accel\n");
xwl_screen->glamor = 0;
}
--
2.17.0
More information about the xorg-devel
mailing list