summaryrefslogtreecommitdiffstats
path: root/src/egl/drivers/dri2
diff options
context:
space:
mode:
authorMatt Turner <[email protected]>2012-01-24 11:34:42 -0500
committerMatt Turner <[email protected]>2012-01-24 11:34:42 -0500
commit027ce0c493a85c863df88b43f61aea34bcd4cd58 (patch)
treef845bb4ce46ffe9dfa3e77ed88f51d4e354ade96 /src/egl/drivers/dri2
parenta208468e04353239f2876cc2013f860b48a4f1c1 (diff)
Revert "Always build shared glapi"
This reverts commit adefee50d954151f76150af80207081ae3c247d9. Shared glapi was never tested with --enable-xlib-glx and turns out to cause a lot of problems. Conflicts: configure.ac
Diffstat (limited to 'src/egl/drivers/dri2')
-rw-r--r--src/egl/drivers/dri2/Android.mk1
-rw-r--r--src/egl/drivers/dri2/Makefile4
-rw-r--r--src/egl/drivers/dri2/egl_dri2.c8
3 files changed, 13 insertions, 0 deletions
diff --git a/src/egl/drivers/dri2/Android.mk b/src/egl/drivers/dri2/Android.mk
index b120c952127..5c506f83ab2 100644
--- a/src/egl/drivers/dri2/Android.mk
+++ b/src/egl/drivers/dri2/Android.mk
@@ -34,6 +34,7 @@ LOCAL_SRC_FILES := \
LOCAL_CFLAGS := \
-D_EGL_MAIN=_eglBuiltInDriverDRI2 \
-DDEFAULT_DRIVER_DIR=\"/system/lib/dri\" \
+ -DHAVE_SHARED_GLAPI \
-DHAVE_ANDROID_PLATFORM
LOCAL_C_INCLUDES := \
diff --git a/src/egl/drivers/dri2/Makefile b/src/egl/drivers/dri2/Makefile
index 5780510dca1..d2b1f4f077a 100644
--- a/src/egl/drivers/dri2/Makefile
+++ b/src/egl/drivers/dri2/Makefile
@@ -21,6 +21,10 @@ EGL_LIBS = $(LIBUDEV_LIBS) $(DLOPEN_LIBS) $(LIBDRM_LIB)
EGL_CFLAGS = -D_EGL_MAIN=_eglBuiltInDriverDRI2
EGL_BUILTIN = true
+ifeq ($(SHARED_GLAPI),1)
+EGL_CFLAGS += -DHAVE_SHARED_GLAPI
+endif
+
ifneq ($(findstring x11, $(EGL_PLATFORMS)),)
EGL_SOURCES += platform_x11.c
EGL_INCLUDES += -DHAVE_X11_PLATFORM $(XCB_DRI2_CFLAGS)
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index a320f351655..80b2e38d9d3 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -1362,11 +1362,19 @@ static EGLBoolean
dri2_load(_EGLDriver *drv)
{
struct dri2_egl_driver *dri2_drv = dri2_egl_driver(drv);
+#ifdef HAVE_SHARED_GLAPI
#ifdef HAVE_ANDROID_PLATFORM
const char *libname = "libglapi.so";
#else
const char *libname = "libglapi.so.0";
#endif
+#else
+ /*
+ * Both libGL.so and libglapi.so are glapi providers. There is no way to
+ * tell which one to load.
+ */
+ const char *libname = NULL;
+#endif
void *handle;
/* RTLD_GLOBAL to make sure glapi symbols are visible to DRI drivers */