Mesa (master): glx: Add a more informative debug message in a DRI3 error path.

Eric Anholt anholt at kemper.freedesktop.org
Fri Nov 8 03:14:09 UTC 2013


Module: Mesa
Branch: master
Commit: 4b5d0d10f106ef7659917235dfbcd6d0e00e5bf0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4b5d0d10f106ef7659917235dfbcd6d0e00e5bf0

Author: Eric Anholt <eric at anholt.net>
Date:   Thu Nov  7 15:44:57 2013 -0800

glx: Add a more informative debug message in a DRI3 error path.

---

 src/glx/dri3_glx.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/src/glx/dri3_glx.c b/src/glx/dri3_glx.c
index a78fc80..61cb2de 100644
--- a/src/glx/dri3_glx.c
+++ b/src/glx/dri3_glx.c
@@ -1579,6 +1579,7 @@ static const struct glx_screen_vtable dri3_screen_vtable = {
 static struct glx_screen *
 dri3_create_screen(int screen, struct glx_display * priv)
 {
+   xcb_connection_t *c = XGetXCBConnection(priv->dpy);
    const __DRIconfig **driver_configs;
    const __DRIextension **extensions;
    const struct dri3_display *const pdp = (struct dri3_display *)
@@ -1602,9 +1603,15 @@ dri3_create_screen(int screen, struct glx_display * priv)
 
    psc->fd = dri3_open(priv->dpy, RootWindow(priv->dpy, screen), None);
    if (psc->fd < 0) {
+      int conn_error = xcb_connection_has_error(c);
+
       glx_screen_cleanup(&psc->base);
       free(psc);
       InfoMessageF("screen %d does not appear to be DRI3 capable\n", screen);
+
+      if (conn_error)
+         ErrorMessageF("Connection closed during DRI3 initialization failure");
+
       return NULL;
    }
    deviceName = NULL;




More information about the mesa-commit mailing list