summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configs/autoconf.in2
-rw-r--r--configs/default4
-rw-r--r--configure.ac34
-rw-r--r--docs/egl.html32
-rw-r--r--src/egl/main/Makefile6
-rw-r--r--src/egl/main/egldriver.c19
-rw-r--r--src/gallium/state_trackers/egl/Makefile6
-rw-r--r--src/gallium/targets/Makefile.egl18
8 files changed, 64 insertions, 57 deletions
diff --git a/configs/autoconf.in b/configs/autoconf.in
index 3428e3a2944..417138b2a1f 100644
--- a/configs/autoconf.in
+++ b/configs/autoconf.in
@@ -97,7 +97,7 @@ GALLIUM_DRIVERS = $(foreach DIR,$(GALLIUM_DRIVERS_DIRS),$(TOP)/src/gallium/drive
# Driver specific build vars
DRI_DIRS = @DRI_DIRS@
-EGL_DISPLAYS = @EGL_DISPLAYS@
+EGL_PLATFORMS = @EGL_PLATFORMS@
EGL_CLIENT_APIS = @EGL_CLIENT_APIS@
# Dependencies
diff --git a/configs/default b/configs/default
index 9241e807977..3d9744409ae 100644
--- a/configs/default
+++ b/configs/default
@@ -110,8 +110,8 @@ GALLIUM_WINSYS_DIRS = sw sw/xlib
GALLIUM_TARGET_DIRS = libgl-xlib
GALLIUM_STATE_TRACKERS_DIRS = glx vega
-# native displays EGL should support
-EGL_DISPLAYS = x11
+# native platforms EGL should support
+EGL_PLATFORMS = x11
EGL_CLIENT_APIS = $(GL_LIB)
# Library dependencies
diff --git a/configure.ac b/configure.ac
index 7089a87075f..21123eccccb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1301,18 +1301,22 @@ if test "x$HAVE_ST_XORG" = xyes; then
HAVE_XEXTPROTO_71="no")
fi
+AC_ARG_WITH([egl-platforms],
+ [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@],
+ [comma delimited native platforms libEGL supports, e.g.
+ "x11,kms" @<:@default=auto@:>@])],
+ [with_egl_platforms="$withval"],
+ [with_egl_platforms=yes])
AC_ARG_WITH([egl-displays],
[AS_HELP_STRING([--with-egl-displays@<:@=DIRS...@:>@],
- [comma delimited native displays libEGL supports, e.g.
- "x11,kms" @<:@default=auto@:>@])],
- [with_egl_displays="$withval"],
- [with_egl_displays=yes])
+ [DEPRECATED. Use --with-egl-platforms instead])],
+ [with_egl_platforms="$withval"])
-EGL_DISPLAYS=""
-case "$with_egl_displays" in
+EGL_PLATFORMS=""
+case "$with_egl_platforms" in
yes)
if test "x$enable_egl" = xyes && test "x$mesa_driver" != xosmesa; then
- EGL_DISPLAYS="x11"
+ EGL_PLATFORMS="x11"
fi
;;
*)
@@ -1320,18 +1324,18 @@ yes)
AC_MSG_ERROR([cannot build egl state tracker without EGL library])
fi
# verify the requested driver directories exist
- egl_displays=`IFS=', '; echo $with_egl_displays`
- for dpy in $egl_displays; do
- test -d "$srcdir/src/gallium/state_trackers/egl/$dpy" || \
- AC_MSG_ERROR([EGL display '$dpy' does't exist])
- if test "$dpy" = "fbdev"; then
+ egl_platforms=`IFS=', '; echo $with_egl_platforms`
+ for plat in $egl_platforms; do
+ test -d "$srcdir/src/gallium/state_trackers/egl/$plat" || \
+ AC_MSG_ERROR([EGL platform '$plat' does't exist])
+ if test "$plat" = "fbdev"; then
GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/fbdev"
fi
done
- EGL_DISPLAYS="$egl_displays"
+ EGL_PLATFORMS="$egl_platforms"
;;
esac
-AC_SUBST([EGL_DISPLAYS])
+AC_SUBST([EGL_PLATFORMS])
AC_ARG_WITH([egl-driver-dir],
[AS_HELP_STRING([--with-egl-driver-dir=DIR],
@@ -1579,7 +1583,7 @@ echo " Shared libs: $enable_shared"
echo " Static libs: $enable_static"
if test "$enable_egl" = yes; then
echo " EGL: $EGL_DRIVERS_DIRS"
- echo " EGL displays: $EGL_DISPLAYS"
+ echo " EGL platforms: $EGL_PLATFORMS"
else
echo " EGL: no"
fi
diff --git a/docs/egl.html b/docs/egl.html
index 559bd990469..b2198e931d0 100644
--- a/docs/egl.html
+++ b/docs/egl.html
@@ -69,17 +69,17 @@ drivers will be installed to <code>${libdir}/egl</code>.</p>
</li>
-<li><code>--with-egl-displays</code>
+<li><code>--with-egl-platforms</code>
-<p>List the window system(s) to support. It is by default <code>x11</code>,
-which supports the X Window System. Its argument is a comma separated string
-like, for example, <code>--with-egl-displays=x11,kms</code>. Because an EGL
-driver decides which window system to support, this example will enable two
-(sets of) EGL drivers. One supports the X window system and the other supports
-bare KMS (kernel modesetting).</p>
+<p>List the native platform window system(s) to support. It is by default
+<code>x11</code>, which supports the X Window System. Its argument is a comma
+separated string like, for example, <code>--with-egl-platforms=x11,kms</code>.
+Because an EGL driver decides which window system to support, this example will
+enable two (sets of) EGL drivers. One supports the X window system and the
+other supports bare KMS (kernel modesetting).</p>
-<p>The available displays are <code>x11</code>, <code>kms</code>,
-<code>fbdev</code>, and <code>gdi</code>. The <code>gdi</code> display can
+<p>The available platforms are <code>x11</code>, <code>kms</code>,
+<code>fbdev</code>, and <code>gdi</code>. The <code>gdi</code> platform can
only be built with SCons.</p>
</li>
@@ -151,14 +151,14 @@ specific driver. This variable is ignored for setuid/setgid binaries.</p>
</li>
-<li><code>EGL_DISPLAY</code>
+<li><code>EGL_PLATFORM</code>
<p>When <code>EGL_DRIVER</code> is not set, the main library loads <em>all</em>
-EGL drivers that support a certain window system. <code>EGL_DISPLAY</code> can
-be used to specify the window system and the valid values are, for example,
+EGL drivers that support a certain window system. <code>EGL_PLATFORM</code>
+can be used to specify the window system and the valid values are, for example,
<code>x11</code> or <code>kms</code>. When the variable is not set, the main
library defaults the value to the first window system listed in
-<code>--with-egl-displays</code> at configuration time.
+<code>--with-egl-platforms</code> at configuration time.
</li>
@@ -195,9 +195,9 @@ drivers are</p>
<li><code>egl_&lt;dpy&gt;_vmwgfx</code></li>
</ul>
-<p><code>&lt;dpy&gt;</code> is given by <code>--with-egl-displays</code> at
+<p><code>&lt;dpy&gt;</code> is given by <code>--with-egl-platforms</code> at
configuration time. There is usually one EGL driver for each combination of
-the displays listed and the pipe drivers enabled. When the display is pure
+the platforms listed and the pipe drivers enabled. When the platform is pure
software or pure hardware, non-working combinations will not be built.</p>
<p>Classic EGL drivers, on the other hand, support only a subset of the
@@ -322,7 +322,7 @@ should as well lock the display before using it.
<ul>
<li>Pass the conformance tests</li>
-<li>Better automatic driver selection: <code>EGL_DISPLAY</code> loads all
+<li>Better automatic driver selection: <code>EGL_PLATFORM</code> loads all
drivers and might eat too much memory.</li>
</ul>
diff --git a/src/egl/main/Makefile b/src/egl/main/Makefile
index 0af964d8741..d9e9e4fcd6d 100644
--- a/src/egl/main/Makefile
+++ b/src/egl/main/Makefile
@@ -7,7 +7,7 @@ include $(TOP)/configs/current
EGL_MAJOR = 1
EGL_MINOR = 0
-INCLUDE_DIRS = -I$(TOP)/include $(X11_CFLAGS)
+INCLUDE_DIRS = -I$(TOP)/include
HEADERS = \
eglcompiler.h \
@@ -51,10 +51,10 @@ OBJECTS = $(SOURCES:.c=.o)
# use dl*() to load drivers
LOCAL_CFLAGS = -D_EGL_OS_UNIX=1
-EGL_DEFAULT_DISPLAY = $(word 1, $(EGL_DISPLAYS))
+EGL_DEFAULT_PLATFORM = $(firstword $(EGL_PLATFORMS))
LOCAL_CFLAGS += \
- -D_EGL_DEFAULT_DISPLAY=\"$(EGL_DEFAULT_DISPLAY)\" \
+ -D_EGL_DEFAULT_PLATFORM=\"$(EGL_DEFAULT_PLATFORM)\" \
-D_EGL_DRIVER_SEARCH_DIR=\"$(EGL_DRIVER_INSTALL_DIR)\"
.c.o:
diff --git a/src/egl/main/egldriver.c b/src/egl/main/egldriver.c
index ce5f0f22f05..f56214472e9 100644
--- a/src/egl/main/egldriver.c
+++ b/src/egl/main/egldriver.c
@@ -464,24 +464,27 @@ _eglPreloadUserDriver(void)
/**
- * Preload display drivers.
+ * Preload platform drivers.
*
- * Display drivers are a set of drivers that support a certain display system.
- * The display system may be specified by EGL_DISPLAY.
+ * Platform drivers are a set of drivers that support a certain window system.
+ * The window system may be specified by EGL_PLATFORM.
*
* FIXME This makes libEGL a memory hog if an user driver is not specified and
- * there are many display drivers.
+ * there are many platform drivers.
*/
static EGLBoolean
-_eglPreloadDisplayDrivers(void)
+_eglPreloadPlatformDrivers(void)
{
const char *dpy;
char prefix[32];
int ret;
- dpy = getenv("EGL_DISPLAY");
+ dpy = getenv("EGL_PLATFORM");
+ /* try deprecated env variable */
if (!dpy || !dpy[0])
- dpy = _EGL_DEFAULT_DISPLAY;
+ dpy = getenv("EGL_DISPLAY");
+ if (!dpy || !dpy[0])
+ dpy = _EGL_DEFAULT_PLATFORM;
if (!dpy || !dpy[0])
return EGL_FALSE;
@@ -515,7 +518,7 @@ _eglPreloadDrivers(void)
}
loaded = (_eglPreloadUserDriver() ||
- _eglPreloadDisplayDrivers());
+ _eglPreloadPlatformDrivers());
_eglUnlockMutex(_eglGlobal.Mutex);
diff --git a/src/gallium/state_trackers/egl/Makefile b/src/gallium/state_trackers/egl/Makefile
index a11dbf5395c..fec178ffb30 100644
--- a/src/gallium/state_trackers/egl/Makefile
+++ b/src/gallium/state_trackers/egl/Makefile
@@ -42,9 +42,9 @@ ALL_OBJECTS = $(common_OBJECTS) $(x11_OBJECTS) $(kms_OBJECTS) $(fbdev_OBJECTS)
##### TARGETS #####
-EGL_DISPLAYS_MODS = $(foreach dpy, $(EGL_DISPLAYS), libegl$(dpy).a)
+EGL_PLATFORMS_MODS = $(foreach plat, $(EGL_PLATFORMS), libegl$(plat).a)
-default: depend $(EGL_DISPLAYS_MODS)
+default: depend $(EGL_PLATFORMS_MODS)
libeglx11.a: $(x11_OBJECTS) $(common_OBJECTS) Makefile
@@ -63,7 +63,7 @@ depend:
clean:
rm -f $(ALL_OBJECTS)
- rm -f $(EGL_DISPLAYS_MODS)
+ rm -f $(EGL_PLATFORMS_MODS)
rm -f depend depend.bak
# Dummy target
diff --git a/src/gallium/targets/Makefile.egl b/src/gallium/targets/Makefile.egl
index bde5d3ce293..315856014b7 100644
--- a/src/gallium/targets/Makefile.egl
+++ b/src/gallium/targets/Makefile.egl
@@ -63,18 +63,18 @@ INCLUDES = \
##### TARGETS #####
ifeq ($(EGL_DRIVER_NAME),swrast)
-EGL_DISPLAYS := $(filter-out kms, $(EGL_DISPLAYS))
+EGL_PLATFORMS := $(filter-out kms, $(EGL_PLATFORMS))
else
-EGL_DISPLAYS := $(filter-out fbdev, $(EGL_DISPLAYS))
+EGL_PLATFORMS := $(filter-out fbdev, $(EGL_PLATFORMS))
endif
-EGL_DISPLAY_DRIVERS = $(foreach dpy, $(EGL_DISPLAYS), egl_$(dpy)_$(EGL_DRIVER_NAME).so)
+EGL_PLATFORM_DRIVERS = $(foreach plat, $(EGL_PLATFORMS), egl_$(plat)_$(EGL_DRIVER_NAME).so)
-EGL_DISPLAY_LIBS = $(foreach drv, $(EGL_DISPLAY_DRIVERS), $(TOP)/$(LIB_DIR)/egl/$(drv))
+EGL_PLATFORM_LIBS = $(foreach drv, $(EGL_PLATFORM_DRIVERS), $(TOP)/$(LIB_DIR)/egl/$(drv))
-default: $(EGL_DISPLAY_LIBS)
+default: $(EGL_PLATFORM_LIBS)
-$(EGL_DISPLAY_LIBS): $(TOP)/$(LIB_DIR)/egl/%.so: %.so
+$(EGL_PLATFORM_LIBS): $(TOP)/$(LIB_DIR)/egl/%.so: %.so
@$(INSTALL) -d $(TOP)/$(LIB_DIR)/egl
$(INSTALL) $< $(TOP)/$(LIB_DIR)/egl
@@ -97,11 +97,11 @@ egl_fbdev_$(EGL_DRIVER_NAME).so: $(EGL_DRIVER_OBJECTS) $(fbdev_ST) $(EGL_DRIVER_
clean:
-rm -f $(EGL_DRIVER_OBJECTS)
- -rm -f $(EGL_DISPLAY_DRIVERS)
+ -rm -f $(EGL_PLATFORM_DRIVERS)
-install: $(EGL_DISPLAY_LIBS)
+install: $(EGL_PLATFORM_LIBS)
$(INSTALL) -d $(DESTDIR)$(EGL_DRIVER_INSTALL_DIR)
- for lib in $(EGL_DISPLAY_LIBS); do \
+ for lib in $(EGL_PLATFORM_LIBS); do \
$(MINSTALL) -m 755 "$$lib" $(DESTDIR)$(EGL_DRIVER_INSTALL_DIR); \
done