egl: Rework driver loading.
authorChia-I Wu <olv@lunarg.com>
Sun, 4 Jul 2010 07:55:12 +0000 (15:55 +0800)
committerChia-I Wu <olv@lunarg.com>
Tue, 6 Jul 2010 08:16:39 +0000 (16:16 +0800)
commitf2aa361f3b58a91780c9358b3f8716f6434074c7
treea7999f2c026175ef609853b405cadac75e3fef84
parentcf588ab3f1edb89be4cd57045a3888ff482fa817
egl: Rework driver loading.

Driver loading is now splitted into two stages.  In the first stage, an
_EGLModule is created for each driver: user driver, default drivers, and
all files in the search directories that start with "egl_".  Modules are
not loaded at this stage.

In the second stage, each module is loaded to initialize a display.  The
process stops at the first module that can initialize the display.

If eglGetProcAddress is called before eglInitialize, the same code path
will be taken to find the first module that supports
EGL_DEFAULT_DISPLAY.  Because we do not want to initialize the display,
drv->Probe is used instead in this case.
src/egl/main/eglapi.c
src/egl/main/eglarray.c
src/egl/main/eglarray.h
src/egl/main/egldriver.c
src/egl/main/egldriver.h
src/egl/main/eglglobals.c
src/egl/main/eglglobals.h