summaryrefslogtreecommitdiff
path: root/src/egl/main/eglcontext.c
AgeCommit message (Collapse)AuthorFilesLines
2009-09-29egl: Add support for querying render buffer.Chia-I Wu1-7/+33
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-18egl: Overhaul driver API.Chia-I Wu1-61/+19
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-03egl: Make eglMakeCurrent more robust.Chia-I Wu1-52/+46
Now that a current surface points back to its binding context, and a current context points back to its binding thread, make sure there is no dangling pointers. This commit reworks eglMakeCurrent, adds more checks to avoid stealing context or surfaces from another thread, and correctly destroys unlinked context and surfaces. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-03egl: Replace IsBound by a pointer to the binding.Chia-I Wu1-7/+7
IsBound tells if a context or surface is current. What it does not tell is, to which thread a context is current, or to which context a surface is current. This commit replaces IsBound by a pointer to the binding thread or context. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-07-17egl: Remove redundant DeletePending flag.Chia-I Wu1-9/+5
A context or surface that is neither linked to a display nor current to a thread should be destroyed. Therefore, an unlinked context or surface implies a pending delete automatically. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-07-17egl: Use the link functions to manage resources.Chia-I Wu1-33/+12
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 <olvaffe@gmail.com>
2009-07-17egl: Add funtions to link contexts and surfaces to displays.Chia-I Wu1-25/+0
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 Wu1-6/+34
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 Wu1-11/+3
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-19egl: fix assorted context-related bugsBrian Paul1-2/+6
Move memset() to proper place. Added EGL_CONTEXT_CLIENT_VERSION query. Fix bad return EGL_FALSE -> EGL_TRUE.
2008-06-19egl: clean up prototype code, new _eglFindAPIs() function.Brian Paul1-0/+2
2008-05-30egl: clean-up re-org of the client API stateBrian Paul1-1/+9
2008-05-27eliminate the context hash tableBrian Paul1-21/+32
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 Paul1-6/+10
2006-01-30some initial EGL 1.2 workBrian Paul1-0/+5
2005-12-10Some initial per-thread support.Brian Paul1-3/+4
Rename eglShowSurfaceMESA to eglShowScreenSurfaceMESA.
2005-11-27Redo _eglInitSurface() so it can be used with all surface types.Brian Paul1-16/+46
Redo _eglInitContext() to do error checking, attribute list parsing, etc.
2005-11-24Move all the EGL API function pointers into a new _egl_api struct.Brian Paul1-3/+3
2005-05-16use EGLint instead of unsigned long for eglCopyContextMESA, added commentsBrian Paul1-2/+8
2005-05-14Add empty placeholder for eglCopyContextMESAJon Smirl1-0/+8
2005-05-13First attempt at getting egl support up on dumb framebuffer.Jon Smirl1-1/+1
Seems to be mostly working. Not all of egl API is implemented.
2005-04-22initial EGL codeBrian Paul1-0/+226