summaryrefslogtreecommitdiffstats
path: root/src/egl/main/egldriver.c
Commit message (Collapse)AuthorAgeFilesLines
* egl: Silence warnings when compiled with -pedantic.Chia-I Wu2010-02-191-1/+7
| | | | Just follow gcc's advices here.
* egl: Revisit global data locking.Chia-I Wu2010-02-171-1/+14
| | | | | Lock the global mutex in _eglPreloadDrivers and _eglAllocScreenHandle. Add comments to why certain pathes do not need locking.
* egl: fix wrong argument. Use loader_data instead of loaderIgor Oliveira2010-02-041-1/+1
|
* egl: Rename _eglPreloadForEach callbacks.Chia-I Wu2010-02-031-12/+12
| | | | | | | Rename _eglPreloadFile to _eglLoaderFile, and _eglPreloadFile to _eglLoaderFile. There are several _eglPreload* functions. The callbacks do not belong to them and it should be better to give them a different prefix.
* egl: Fix a potential segfault in driver suffix matching.Chia-I Wu2010-02-031-3/+5
| | | | | The driver suffix might be NULL on some platforms. Perform the matching only when there is a suffix.
* egl: Remove unnecessary #ifdef's.Chia-I Wu2010-02-031-8/+0
| | | | | There were some refactorings with the addition of EGL_DRIVERS_PATH. They made some platform #ifdef's unnecessary.
* egl: Ignore certain environment variables when setuid/setgid.Chia-I Wu2010-02-031-2/+16
| | | | | Specifically, ignore EGL_DRIVERS_PATH when an application is setuid/setgid. And ignore EGL_DRIVER when there is a slash in it.
* egl: Add EGL_DRIVERS_PATH environment variable.Chia-I Wu2010-02-031-99/+191
| | | | | | | | | EGL_DRIVERS_PATH gives a list of colon-separated directories. The given directories will be searched when preloading drivers. This is based on Mike Stroyan's patch, which honors the variable in _eglPreloadDisplayDrivers. It is extended to honor the variable also in _eglPreloadUserDriver and _eglPreloadDefaultDriver in this version.
* egl: Remove unnecessary headers.Vinson Lee2010-01-311-1/+0
|
* egl: Clean up header inclusions.Chia-I Wu2010-01-301-0/+1
| | | | Mainly to remove eglcurrent.h and egldisplay.h from eglglobals.h.
* egl: Remove _eglOpenDriver and _eglCloseDriver.Chia-I Wu2010-01-261-22/+1
| | | | | _eglCloseDriver is no-op and _eglOpenDriver does nothing but call _eglMatchDriver. Export _eglMatchDriver directly.
* egl: Add support for EGL_KHR_image.Chia-I Wu2010-01-251-0/+6
| | | | Individual drivers still need to implement the API hooks.
* egl: Add and use make_library_path.Chia-I Wu2010-01-241-27/+49
| | | | | | Add a platform specific function to turn a library name to a library path. It is used to convert EGL_DRIVER or the default driver to a library path that can be loaded.
* egl: Remove _eglFindAPIs.Chia-I Wu2010-01-241-52/+0
| | | | | This function is not used and should have been removed by last commit. My mistake.
* egl: Remove egl_softpipe.Chia-I Wu2010-01-221-1/+1
| | | | | | With the addition egl_x11_swrast, egl_softpipe is sort of deprecated. The new driver serves the same purpose as egl_softpipe does. It is based on egl_g3d and provides more features.
* egl: Add a simple cache for driver probe.Chia-I Wu2010-01-201-0/+48
| | | | | | In current design, multiple drivers will probe the same display and the best driver is determined. The cache can be used by the drivers to store and share the probed data.
* egl: Improve driver matching.Chia-I Wu2010-01-201-16/+19
| | | | | Make drv->Probe return a score so that the matching can be done by finding the driver with the highest score.
* egl: Rename _EGL_PLATFORM_X to _EGL_PLATFORM_POSIX.Chia-I Wu2010-01-201-8/+8
| | | | | The macro is used to determine if dlfcn.h or dirent.h is available. POSIX is a better name than X in such case.
* egl: Remove unused driver and display functions.Chia-I Wu2010-01-201-114/+0
| | | | Remove _eglPreloadDriver, _eglLookupDriver, and _eglSplitDisplayString.
* egl: Add _eglPreloadDrivers.Chia-I Wu2010-01-201-6/+205
| | | | | | It can be used to load the user driver specified by EGL_DRIVER, or a set of drivers specified by EGL_DISPLAY, or the default driver, and in that order.
* egl: Rework the synchronization primitives.Chia-I Wu2009-10-151-1/+1
| | | | | | | This adds error checking to the synchronization primitives. And eglWaitGL is now implemented by eglWaitClient. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Add support for driver built-in.Chia-I Wu2009-10-131-64/+93
| | | | | | | | This allows an EGL driver to be compiled together with libEGL.so. It eliminates the need to specify a driver, or support module loading on new platforms. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Make _eglChooseDriver return the filename of the driver.Chia-I Wu2009-08-211-13/+33
| | | | | | | | The real difference is that the driver suffix is now appended. This also fixes an annoying bug that EGL_DRIVER could not specify the path to a driver because a suffix was always appended. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Remove dependency on libX11.Chia-I Wu2009-08-211-84/+7
| | | | | | | | | | | | libX11 is used to determine the screen number, which is in turned used to determine the DRI driver. However, the sysfs interface for determining the DRI driver is gone, and no working driver depends on this mechanism. Display string parsing is moved to a new function, _eglSplitDisplayString. Signed-off-by: Chia-I Wu <[email protected]>
* egl: _eglCloseDriver should be no-op.Chia-I Wu2009-08-181-2/+0
| | | | | | | Move drv->API.Terminate call to eglTerminate. Remove _eglReleaseDisplayResource as drivers are doing it. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Some per-driver data should be per-display.Chia-I Wu2009-08-181-6/+3
| | | | | | | Move some fields of _EGLDriver to _EGLDisplay. It also becomes unnecessary to pass _EGLDisplay to drivers when _eglMain is called. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Change the way drivers are loaded.Chia-I Wu2009-08-181-88/+181
| | | | | | | | | Driver is chosen and preloaded when eglGetDisplay is called. Later when eglInitialize is called, the same driver is matched to initialize the display. Also, add new, but unused, hooks to EGLDriver to allow a driver to probe a display or unload itself. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Overhaul driver API.Chia-I Wu2009-08-181-1/+1
| | | | | | | | | | | | The motivation is so that drivers do not need to look up and check for bad display, context, and etc. It also becomes unnecessary for drivers to call the link functions. This commit makes eglapi.[ch] do the lookup and check. As a result, the driver API is overhauled, and almost all sources and drivers need update. The updates are mainly find and replace with human brains. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Destroy display's resources upon termination.Chia-I Wu2009-07-171-3/+1
| | | | | | eglTerminate should destroy the contexts and surfaces of the display. Signed-off-by: Chia-I Wu <[email protected]>
* egl: fixes for WindowsJonathan White2008-08-061-1/+4
|
* egl: changes for WindowsJonathan White2008-08-051-26/+39
|
* egl: clean up prototype code, new _eglFindAPIs() function.Brian Paul2008-06-191-27/+91
|
* egl: use RTLD_LAZYBrian Paul2008-06-181-1/+1
|
* egl: some prototype Windows code (eq for dlopen,dlsym)Brian Paul2008-06-111-4/+41
|
* egl: make _eglChooseDRMDriver() non-staticBrian Paul2008-06-061-2/+2
|
* egl: new eglGetProcAddress() codeBrian Paul2008-05-301-2/+21
| | | | | The idea is to pass the call down to the device driver where an API-specific query can be made. Untested.
* egl: clean-up re-org of the client API stateBrian Paul2008-05-301-2/+5
|
* egl: check for EGL_DRIVER env var to override normal driver selection processBrian Paul2008-05-301-2/+9
|
* egl: remove unused Display fieldBrian Paul2008-05-281-1/+0
|
* egl: move a few small functions into new eglmisc.[ch] filesBrian Paul2008-05-281-72/+2
|
* egl: make sure EGL_VERSION_STRING query returns same version as eglInitialize()Brian Paul2008-05-281-1/+1
|
* egl: include egldefines.hBrian Paul2008-05-281-3/+5
|
* egl: bring card->driver lookup code into egldriver.cBrian Paul2008-05-281-7/+53
|
* egl: added args string to _eglMain()Brian Paul2008-05-281-10/+25
|
* egl: Temporarily disable eglx.[c|h] buildingJakob Bornecrantz2008-05-281-1/+7
|
* minor overhaul/re-org of driver selection/loading codeBrian Paul2008-05-271-26/+35
|
* some initial EGL 1.2 workBrian Paul2006-01-301-2/+19
|
* Some initial per-thread support.Brian Paul2005-12-101-1/+1
| | | | Rename eglShowSurfaceMESA to eglShowScreenSurfaceMESA.
* Put extension flags, string into separate struct.Brian Paul2005-11-291-9/+9
|
* Move all the EGL API function pointers into a new _egl_api struct.Brian Paul2005-11-241-39/+39
|