summaryrefslogtreecommitdiff
path: root/src/egl/main/egldisplay.c
AgeCommit message (Collapse)Author
2009-08-26egl: Remove Xdpy from EGLDisplay.Chia-I Wu
It is not used anymore. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-21egl: Remove dependency on libX11.Chia-I Wu
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 <olvaffe@gmail.com>
2009-08-21egl: Check for null display in handle checking.Chia-I Wu
The display may be NULL when checking a handle. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-18egl: Remove eglhash.c and eglhash.h.Chia-I Wu
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-18egl: Add back handle checking.Chia-I Wu
Handle checking was done using hash tables. Now that they are gone, we have to loop over the lists. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-18egl: Make lookup functions static inline.Chia-I Wu
progs/egl/demo3.c is also changed since it uses an internal function. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-18egl: Remove hash table for displays.Chia-I Wu
The hash table was used to map a display to a handle. It is simpler to cast directly. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-18egl: Remove hash table for surfaces.Chia-I Wu
The hash table was used to map a surface to a handle. It is simpler to cast directly. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-18egl: _eglCloseDriver should be no-op.Chia-I Wu
Move drv->API.Terminate call to eglTerminate. Remove _eglReleaseDisplayResource as drivers are doing it. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-18egl: Change the way drivers are loaded.Chia-I Wu
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 <olvaffe@gmail.com>
2009-08-18egl: Overhaul driver API.Chia-I Wu
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 <olvaffe@gmail.com>
2009-08-11egl: Use _eglAddAtExitCall to free thread infos and displays.Chia-I Wu
Thread infos and displays are usually not freed by applications. This commit add atexit calls to free them. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-11egl: Implement _eglFiniDisplay.Chia-I Wu
_eglFiniDisplay is called at exit time to free allocated displays. It is, however, not used right now. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-11egl: Make display and surface hash tables local.Chia-I Wu
Move display and surface hash tables to egldisplay.c, and have them initialized on demand. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-07-31egl: Silence warnings on x86-64.Chia-Wu
Casting an unsigned int to or from a pointer directly gives warnings on x86-64. Add wrappers to silence the warnings. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-07-17egl: Destroy display's resources upon termination.Chia-I Wu
eglTerminate should destroy the contexts and surfaces of the display. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-07-17egl: Return the same EGL Display for the same native display.Chia-I Wu
The latest revision of the spec explicitly requires the same handle to be returned for the same native display. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-07-17egl: Add funtions to link contexts and surfaces to displays.Chia-I Wu
EGL contexts and surfaces are resources of displays. They should be managed by displays. This commit adds a bunch of functions to egldisplay.c to help establish the links between contexts/surfaces and displays. How links are established is considered opaque outside display. Functions like _eglGetSurfaceHandle or _eglLookupSurface are therefore moved to egldisplay.c, with some small modifications. The idea is also extended to display. That is, displays need to link to themselves to be looked up. This commit only adds the functions. A commit to use them should follow. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-07-17egl: Support per-thread info.Chia-I Wu
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 <olvaffe@gmail.com>
2008-06-20egl: added null ptr checkBrian Paul
2008-06-04egl: in _eglAddConfig() just save a pointer to the config; don't copy the configBrian Paul
This allows subclassing by drivers.
2008-05-28egl: bring card->driver lookup code into egldriver.cBrian Paul
2008-05-28egl: added args string to _eglMain()Brian Paul
2008-05-27minor overhaul/re-org of driver selection/loading codeBrian Paul
2008-05-27added _eglGet*Handle() functionsBrian Paul
These are the inverse of the _eglLookup*() functions. Returns the public handle for a private surface/config/display/etc. Removes glapi.c's direct access of private fields.
2008-05-27assorted changes to compile with new EGL 1.4 headers (untested)Brian Paul
2005-12-23this needs to be callocedDave Airlie
2005-05-17remove eglQueryDisplayMESA()Brian Paul
2005-05-13First attempt at getting egl support up on dumb framebuffer.Jon Smirl
Seems to be mostly working. Not all of egl API is implemented.
2005-04-22initial EGL codeBrian Paul