summaryrefslogtreecommitdiff
path: root/src/egl/main/eglapi.c
AgeCommit message (Collapse)Author
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: Make _eglGlobal initialize statically.Chia-I Wu
Now that display and surface hash tables are moved out, _eglGlobal can be initialized statically. 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: Extend per-thread info for multiple current contexts.Chia-I Wu
EGL allows multiple current contexts, as long as they are bound to different client APIs. 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-08-06egl: fix version handlingJonathan White
2008-05-30egl: new eglGetProcAddress() codeBrian Paul
The idea is to pass the call down to the device driver where an API-specific query can be made. Untested.
2008-05-30egl: clean-up re-org of the client API stateBrian Paul
2008-05-29egl: added Name field to _EGLDriver so a driver name string can propogate up ↵Brian Paul
through EGL_VERSION string
2008-05-28egl: make sure EGL_VERSION_STRING query returns same version as eglInitialize()Brian 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-27added EGL_OPENGL_API caseBrian Paul
2008-05-27eliminate the context hash tableBrian Paul
In EGL 1.4 the opaque EGLContext type is a pointer so we can just cast between public EGLContext handles and private _EGLContext pointers.
2008-05-27assorted changes to compile with new EGL 1.4 headers (untested)Brian Paul
2006-01-30some initial EGL 1.2 workBrian Paul
2005-12-10Some initial per-thread support.Brian Paul
Rename eglShowSurfaceMESA to eglShowScreenSurfaceMESA.
2005-11-24Move all the EGL API function pointers into a new _egl_api struct.Brian Paul
2005-05-17remove eglQueryDisplayMESA()Brian Paul
2005-05-16use EGLint instead of unsigned long for eglCopyContextMESA, added commentsBrian Paul
2005-05-14Add empty placeholder for eglCopyContextMESAJon Smirl
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-05-04sync with latest EGL_MESA_screen_surface spec (EGLScreenMESA handles)Brian Paul
2005-04-22initial EGL codeBrian Paul