summaryrefslogtreecommitdiffstats
path: root/src/egl/main/eglx.c
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2008-05-29 17:01:19 -0600
committerBrian Paul <[email protected]>2008-05-29 17:04:24 -0600
commitd1a0faffc3fde42b030f3eb18d6f31c10dfdc8f6 (patch)
tree77cd4290c190d41b308cfd5df7605ebefa47ad90 /src/egl/main/eglx.c
parent31e70fa275a48b8020c14017919e08d21f5e982f (diff)
egl: use softpipe_egl driver by default
Diffstat (limited to 'src/egl/main/eglx.c')
-rw-r--r--src/egl/main/eglx.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/egl/main/eglx.c b/src/egl/main/eglx.c
index 4b33080f1a6..085da33e7dc 100644
--- a/src/egl/main/eglx.c
+++ b/src/egl/main/eglx.c
@@ -12,6 +12,8 @@
#include "eglx.h"
+static const char *DefaultXDriver = "softpipe_egl";
+
/**
* Given an X Display ptr (at dpy->Xdpy) try to determine the appropriate
@@ -21,14 +23,24 @@ const char *
_xeglChooseDriver(_EGLDisplay *dpy)
{
#ifdef _EGL_PLATFORM_X
- _XPrivDisplay xdpy = (_XPrivDisplay) dpy->Xdpy;
+ _XPrivDisplay xdpy;
assert(dpy);
+
+ if (!dpy->Xdpy) {
+ dpy->Xdpy = XOpenDisplay(NULL);
+ if (!dpy->Xdpy) {
+ /* can't open X display -> can't use X-based driver */
+ return NULL;
+ }
+ }
+ xdpy = (_XPrivDisplay) dpy->Xdpy;
+
assert(dpy->Xdpy);
printf("%s\n", xdpy->display_name);
- return "foo"; /* XXX todo */
+ return DefaultXDriver; /* XXX temporary */
#else
return NULL;
#endif