summaryrefslogtreecommitdiffstats
path: root/src/egl/main/egldisplay.h
Commit message (Collapse)AuthorAgeFilesLines
* egl: Remove unused _EGL_SKIP_HANDLE_CHECK.Chia-I Wu2010-02-231-24/+0
| | | | | | It was added to skip checking EGLDisplay, EGLSurface, and etc. It is never defined and the spec does not allow the checks to be skipped. Remove it for good.
* egl: Silence warnings when compiled with -pedantic.Chia-I Wu2010-02-191-0/+2
| | | | Just follow gcc's advices here.
* egl: Make eglGetDisplay atomic.Chia-I Wu2010-02-171-23/+1
| | | | | Merge _eglNewDisplay and _eglLinkDisplay into _eglFindDisplay. Remove unused _eglUnlinkDisplay.
* egl: Add a mutex to _EGLDisplay.Chia-I Wu2010-02-171-0/+3
| | | | | A display may be shared by multiple threads. Add a mutex for access control.
* egl: Clean up surface attributes.Chia-I Wu2010-01-311-2/+0
| | | | | | Add missing attributes and use correct types in _EGLSurface. Remove ifdef tests that serve no purpose. Update _eglQuerySurface and _eglSurfaceAttrib for missing queries and checks.
* egl: Add support for more EGLImage extensions to EGL core.Chia-I Wu2010-01-311-0/+5
| | | | | | Add support EGL_KHR_vg_parent_image and EGL_KHR_gl_*. This is as simple as adding some flags that can be enabled. Individual drivers need to implement the extensions before enbaling the flags.
* egl: Clean up header inclusions.Chia-I Wu2010-01-301-0/+1
| | | | Mainly to remove eglcurrent.h and egldisplay.h from eglglobals.h.
* egl: Use a boolean to indicate whether a display is initialized.Chia-I Wu2010-01-281-0/+1
| | | | | | The driver pointer of the display was used to decide whether a display is initialized. Use a boolean for that purpose allows accessing the driver of an uninitialized display.
* egl: Use a boolean to indicate whether a resource is linked.Chia-I Wu2010-01-261-1/+5
| | | | | | An unlinked resource may still be a current resource such as current surfaces. There might still be a need to know which display the unlinked resource belongs to.
* egl: Mark _eglCheckResource as PUBLIC.Chia-I Wu2010-01-261-1/+1
| | | | | To support extensions such as GL_OES_EGL_image, the drivers need a way to check if a given EGLImageKHR is valid.
* egl: Native types are renamed in EGL 1.3.Chia-I Wu2010-01-251-2/+2
| | | | Rename Native*Type to EGLNative*Type.
* egl: Make resource void pointer in _eglCheckResource.Chia-I Wu2010-01-251-3/+3
| | | | | This emphasizes the fact that the resource to be checked could really be invalid and have an unknown type.
* egl: Add support for EGL_KHR_image.Chia-I Wu2010-01-251-0/+3
| | | | Individual drivers still need to implement the API hooks.
* egl: Remove unused casting functions.Chia-I Wu2010-01-241-21/+0
| | | | _eglUIntToPointer and _eglPointerToUInt are no longer used.
* egl: Make surfaces and contexts resources.Chia-I Wu2010-01-241-4/+1
| | | | | Turn _EGLSurface and _EGLContext into _EGLResource so that they can be managed uniformly.
* egl: Add _EGLResource and _EGLResourceType.Chia-I Wu2010-01-241-0/+49
| | | | | | Resources are objects managed by a display. They can be linked to or unlinked from a display. It is also possible to check if a resource is valid.
* egl: Move surface functions in egldisplay.[ch] to eglsurface.[ch]Chia-I Wu2010-01-241-55/+0
| | | | | Move functions to where they should be. There should be no real change here.
* egl: Move context functions in egldisplay.[ch] to eglcontext.[ch].Chia-I Wu2010-01-241-55/+0
| | | | | Move functions to where they should be. There should be no real change here.
* egl: Improve driver matching.Chia-I Wu2010-01-201-1/+0
| | | | | Make drv->Probe return a score so that the matching can be done by finding the driver with the highest score.
* egl: Remove unused driver and display functions.Chia-I Wu2010-01-201-4/+0
| | | | Remove _eglPreloadDriver, _eglLookupDriver, and _eglSplitDisplayString.
* egl: Fix breakage from -fvisibility=hidden.Chia-I Wu2010-01-051-2/+2
| | | | | | Mark EGL API and driver functions as PUBLIC. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Rework config lookup.Chia-I Wu2009-09-291-0/+1
| | | | | | | Make it similiar to how contexts and surfaces are looked up. It should be slightly faster, and work better with multiple displays. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Remove Xdpy from EGLDisplay.Chia-I Wu2009-08-261-8/+0
| | | | | | It is not used anymore. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Remove dependency on libX11.Chia-I Wu2009-08-211-0/+4
| | | | | | | | | | | | 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: Check for null display in handle checking.Chia-I Wu2009-08-211-3/+6
| | | | | | The display may be NULL when checking a handle. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Add back handle checking.Chia-I Wu2009-08-181-2/+50
| | | | | | | 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 <[email protected]>
* egl: Make lookup functions static inline.Chia-I Wu2009-08-181-34/+78
| | | | | | progs/egl/demo3.c is also changed since it uses an internal function. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Remove hash table for displays.Chia-I Wu2009-08-181-1/+7
| | | | | | | 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: Remove hash table for surfaces.Chia-I Wu2009-08-181-3/+0
| | | | | | | The hash table was used to map a surface 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-0/+25
| | | | | | | 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-1/+0
| | | | | | | | | 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-3/+3
| | | | | | | | | | | | 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: Make display and surface hash tables local.Chia-I Wu2009-08-111-0/+5
| | | | | | | Move display and surface hash tables to egldisplay.c, and have them initialized on demand. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Silence warnings on x86-64.Chia-Wu2009-07-311-0/+21
| | | | | | | 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 <[email protected]>
* egl: Remove redundant DeletePending flag.Chia-I Wu2009-07-171-0/+29
| | | | | | | | 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 <[email protected]>
* egl: Destroy display's resources upon termination.Chia-I Wu2009-07-171-0/+4
| | | | | | eglTerminate should destroy the contexts and surfaces of the display. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Return the same EGL Display for the same native display.Chia-I Wu2009-07-171-0/+4
| | | | | | | 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 <[email protected]>
* egl: Add funtions to link contexts and surfaces to displays.Chia-I Wu2009-07-171-5/+39
| | | | | | | | | | | | | | | | | 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 <[email protected]>
* egl: Support per-thread info.Chia-I Wu2009-07-171-4/+0
| | | | | | | | | 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: in _eglAddConfig() just save a pointer to the config; don't copy the configBrian Paul2008-06-041-1/+1
| | | | This allows subclassing by drivers.
* egl: added args string to _eglMain()Brian Paul2008-05-281-0/+1
|
* minor overhaul/re-org of driver selection/loading codeBrian Paul2008-05-271-1/+13
|
* added _eglGet*Handle() functionsBrian Paul2008-05-271-0/+4
| | | | | | 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.
* First attempt at getting egl support up on dumb framebuffer.Jon Smirl2005-05-131-1/+6
| | | | Seems to be mostly working. Not all of egl API is implemented.
* sync with latest EGL_MESA_screen_surface spec (EGLScreenMESA handles)Brian Paul2005-05-041-1/+1
|
* initial EGL codeBrian Paul2005-04-221-0/+39