Browse files

dri: Emit a critical error if the swrast driver fails to load.

Something has gone wrong if swrast is requested but cannot be
loaded. The user really should be made aware of this, (and instructed
to set LIBGL_DEBUG for more details).

The wording of this error message is updated from "reverting to
indirect rendering" to the more objectively descriptive "failed to
load driver: swrast". The former wording makes assumptions about what
the calling code will decide to do next, rather than simply describing
what went wrong within the current function. The new wording is
consistent with the critical errors recently added for hardware
drivers that fail to load.

Reviewed-by: Eugeni Dodonov <>
  • Loading branch information...
1 parent 6c9af97 commit 26de5273acf1ebe6730b5e72b55b3bcceba167c6 @cworth-gh cworth-gh committed Feb 3, 2012
Showing with 4 additions and 2 deletions.
  1. +4 −2 src/glx/drisw_glx.c
6 src/glx/drisw_glx.c
@@ -571,13 +571,15 @@ driswDestroyScreen(struct glx_screen *base)
+#define SWRAST_DRIVER_NAME "swrast"
static void *
void *driver = NULL;
if (driver == NULL)
- driver = driOpenDriver("swrast");
+ driver = driOpenDriver(SWRAST_DRIVER_NAME);
return driver;
@@ -702,7 +704,7 @@ driswCreateScreen(int screen, struct glx_display *priv)
- ErrorMessageF("reverting to indirect rendering\n");
+ CriticalErrorMessageF("failed to load driver: %s\n", SWRAST_DRIVER_NAME);
return NULL;

0 comments on commit 26de527

Please sign in to comment.