From 711d491729d83b17114fd08d784bc0ddfd17ff6a Mon Sep 17 00:00:00 2001 From: "Ivan A. Melnikov" Date: Wed, 21 Dec 2022 18:29:21 +0400 Subject: [PATCH] glamor: Don't initialize on softpipe There are systems where softpipe is the default renderer, e.g. when llvmpipe is not is not available. Using glamor on such systems is never a good idea. This mirrors what commit 0a9415cf793babed1f28c61f8047d51de04f1528 did for llvmpipe. Closes: #1417 Signed-off-by: Ivan A. Melnikov --- glamor/glamor_egl.c | 5 +++++ hw/xwayland/xwayland-glamor-gbm.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c index e2a2a1050..c35b10d83 100644 --- a/glamor/glamor_egl.c +++ b/glamor/glamor_egl.c @@ -1080,6 +1080,11 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd) "glGetString() returned NULL, your GL is broken\n"); goto error; } + if (strstr((const char *)renderer, "softpipe")) { + xf86DrvMsg(scrn->scrnIndex, X_INFO, + "Refusing to try glamor on softpipe\n"); + goto error; + } if (!strncmp("llvmpipe", (const char *)renderer, strlen("llvmpipe"))) { if (scrn->confScreen->num_gpu_devices) xf86DrvMsg(scrn->scrnIndex, X_INFO, diff --git a/hw/xwayland/xwayland-glamor-gbm.c b/hw/xwayland/xwayland-glamor-gbm.c index 5e2c618ab..93c15cac9 100644 --- a/hw/xwayland/xwayland-glamor-gbm.c +++ b/hw/xwayland/xwayland-glamor-gbm.c @@ -1030,6 +1030,10 @@ xwl_glamor_gbm_init_egl(struct xwl_screen *xwl_screen) ErrorF("glGetString() returned NULL, your GL is broken\n"); goto error; } + if (strstr((const char *)renderer, "softpipe")) { + ErrorF("Refusing to try glamor on softpipe\n"); + goto error; + } if (!strncmp("llvmpipe", (const char *)renderer, strlen("llvmpipe"))) { ErrorF("Refusing to try glamor on llvmpipe\n"); goto error;