summaryrefslogtreecommitdiffstats
path: root/src/egl/main/eglglobals.h
Commit message (Collapse)AuthorAgeFilesLines
* egl: Add checks for EGL_MESA_screen_surface.Chia-I Wu2010-07-311-2/+0
| | | | | This allows Mesa EGL to be compiled with eglext.h that does not define EGL_MESA_screen_surface.
* egl: Rework driver loading.Chia-I Wu2010-07-061-4/+0
| | | | | | | | | | | | | | | 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.
* egl: Revisit global data locking.Chia-I Wu2010-02-171-0/+1
| | | | | Lock the global mutex in _eglPreloadDrivers and _eglAllocScreenHandle. Add comments to why certain pathes do not need locking.
* egl: Clean up header inclusions.Chia-I Wu2010-01-301-2/+1
| | | | Mainly to remove eglcurrent.h and egldisplay.h from eglglobals.h.
* egl: Allow binding to any client API.Chia-I Wu2009-10-131-3/+0
| | | | | | | As a result, EGL_NONE is no longer a valid client API. And it is possible that no config supports the current bound API. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Remove hash table for displays.Chia-I Wu2009-08-181-1/+5
| | | | | | | The hash table was used to map a display to a handle. It is simpler to cast directly. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Some per-driver data should be per-display.Chia-I Wu2009-08-181-2/+0
| | | | | | | 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: Add _eglAddAtExitCall.Chia-I Wu2009-08-111-0/+9
| | | | | | | Add a convenient wrapper to register atexit calls. Add mutex to _eglGlobal along the way. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Make _eglGlobal initialize statically.Chia-I Wu2009-08-111-10/+0
| | | | | | | Now that display and surface hash tables are moved out, _eglGlobal can be initialized statically. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Make display and surface hash tables local.Chia-I Wu2009-08-111-4/+0
| | | | | | | Move display and surface hash tables to egldisplay.c, and have them initialized on demand. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Use the link functions to manage resources.Chia-I Wu2009-07-171-0/+1
| | | | | | | | This commit uses the newly introduced link functions to manage EGL contexts and surfaces. As a result of this, the API for drivers are changed. All drivers are updated for the change. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Support per-thread info.Chia-I Wu2009-07-171-30/+1
| | | | | | | | | This commit introduces a "current" system to manage per-thread info. It uses TLS, if GLX_USE_TLS is defined, or pthread, if PTHREADS is defined. If none of them are defined, it uses a dummy implementation that is just like before. Signed-off-by: Chia-I Wu <[email protected]>
* egl: new eglGetProcAddress() codeBrian Paul2008-05-301-0/+3
| | | | | 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-4/+4
|
* added EGL_OPENGL_API caseBrian Paul2008-05-271-0/+1
|
* eliminate the context hash tableBrian Paul2008-05-271-1/+0
| | | | | In EGL 1.4 the opaque EGLContext type is a pointer so we can just cast between public EGLContext handles and private _EGLContext pointers.
* some initial EGL 1.2 workBrian Paul2006-01-301-2/+15
|
* minor code movementBrian Paul2005-12-171-4/+0
|
* Some initial per-thread support.Brian Paul2005-12-101-4/+19
| | | | Rename eglShowSurfaceMESA to eglShowScreenSurfaceMESA.
* sync with latest EGL_MESA_screen_surface spec (EGLScreenMESA handles)Brian Paul2005-05-041-0/+6
|
* initial EGL codeBrian Paul2005-04-221-0/+38