Blame SOURCES/0001-glamor_egl-Don-t-initialize-on-llvmpipe.patch

0bac9e
From 722dc4717a4bb1c0ff84f45d0251e3e456476a28 Mon Sep 17 00:00:00 2001
0bac9e
From: Adam Jackson <ajax@redhat.com>
0bac9e
Date: Fri, 14 Sep 2018 11:33:43 -0400
0bac9e
Subject: [PATCH xserver] glamor_egl: Don't initialize on llvmpipe
0bac9e
0bac9e
---
0bac9e
 glamor/glamor_egl.c | 11 ++++++++++-
0bac9e
 1 file changed, 10 insertions(+), 1 deletion(-)
0bac9e
0bac9e
diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c
0bac9e
index df278b1a1a..2f06d6587d 100644
0bac9e
--- a/glamor/glamor_egl.c
0bac9e
+++ b/glamor/glamor_egl.c
0bac9e
@@ -898,6 +898,7 @@ Bool
0bac9e
 glamor_egl_init(ScrnInfoPtr scrn, int fd)
0bac9e
 {
0bac9e
     struct glamor_egl_screen_private *glamor_egl;
0bac9e
+    const GLubyte *renderer;
0bac9e
 
0bac9e
     glamor_egl = calloc(sizeof(*glamor_egl), 1);
0bac9e
     if (glamor_egl == NULL)
0bac9e
@@ -992,6 +993,14 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd)
0bac9e
                    "Failed to make EGL context current\n");
0bac9e
         goto error;
0bac9e
     }
0bac9e
+
0bac9e
+    renderer = glGetString(GL_RENDERER);
0bac9e
+    if (strstr(renderer, "llvmpipe")) {
0bac9e
+        xf86DrvMsg(scrn->scrnIndex, X_INFO,
0bac9e
+                   "Refusing to try glamor on llvmpipe\n");
0bac9e
+        goto error;
0bac9e
+    }
0bac9e
+
0bac9e
     /*
0bac9e
      * Force the next glamor_make_current call to set the right context
0bac9e
      * (in case of multiple GPUs using glamor)
0bac9e
@@ -1005,7 +1014,7 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd)
0bac9e
     }
0bac9e
 
0bac9e
     xf86DrvMsg(scrn->scrnIndex, X_INFO, "glamor X acceleration enabled on %s\n",
0bac9e
-               glGetString(GL_RENDERER));
0bac9e
+               renderer);
0bac9e
 
0bac9e
 #ifdef GBM_BO_WITH_MODIFIERS
0bac9e
     if (epoxy_has_egl_extension(glamor_egl->display,
0bac9e
-- 
0bac9e
2.17.1
0bac9e