summaryrefslogtreecommitdiffstats
path: root/src/egl/main
Commit message (Collapse)AuthorAgeFilesLines
* egl: eglMakeCurrent should accept an uninitialized display.Chia-I Wu2010-01-283-15/+27
| | | | | | When no context or surface are given, the display is allowed to be uninitialized. Most drivers cannot handle an uninitialized display. But they are updated to at least throw a fatal message.
* egl: Add _eglBindContext.Chia-I Wu2010-01-282-53/+74
| | | | | | It works similar to _eglMakeCurrent, except that the old context and surfaces are returned instead of destroyed. _eglMakeCurrent is now calling the new _eglBindContext.
* egl: Use a boolean to indicate whether a display is initialized.Chia-I Wu2010-01-282-16/+20
| | | | | | 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: Remove _eglOpenDriver and _eglCloseDriver.Chia-I Wu2010-01-263-32/+4
| | | | | _eglCloseDriver is no-op and _eglOpenDriver does nothing but call _eglMatchDriver. Export _eglMatchDriver directly.
* egl: Fix a segfault when a display is initialized again.Chia-I Wu2010-01-261-0/+1
| | | | Reset dpy->MaxConfigs so that dpy->Configs is re-allocated.
* egl: Remove _eglGetCurrentSurface and _eglGetCurrentDisplay.Chia-I Wu2010-01-263-47/+2
| | | | | They have little use in drivers since drivers need to work for multiple current contexts.
* egl: Fix leaks in eglReleaseThread.Chia-I Wu2010-01-261-6/+13
| | | | There may be multiple bound contexts that should be unbound.
* egl: Refactor _eglMakeCurrent.Chia-I Wu2010-01-261-78/+158
| | | | | Refactor _eglMakeCurrent into _eglCheckMakeCurrent, _eglBindContextToSurface, and _eglBindContextToThread.
* egl: Add _eglGetAPIContext.Chia-I Wu2010-01-262-1/+16
| | | | It will return the currently bound context of the given API.
* egl: Use a boolean to indicate whether a resource is linked.Chia-I Wu2010-01-262-2/+10
| | | | | | 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-256-17/+17
| | | | Rename Native*Type to EGLNative*Type.
* egl: Make resource void pointer in _eglCheckResource.Chia-I Wu2010-01-255-11/+11
| | | | | This emphasizes the fact that the resource to be checked could really be invalid and have an unknown type.
* egl: Install EGL headers.Chia-I Wu2010-01-251-1/+9
| | | | Install EGL (and KHR) headers along with the library.
* egl: Add support for EGL_KHR_image.Chia-I Wu2010-01-259-1/+233
| | | | Individual drivers still need to implement the API hooks.
* egl: Update headers.Chia-I Wu2010-01-252-3/+5
| | | | | | Update to the current versions found at http://www.khronos.org/registry/egl/. There is one modification in khrplatform.h for GCC visibility.
* egl: Add and use make_library_path.Chia-I Wu2010-01-241-27/+49
| | | | | | Add a platform specific function to turn a library name to a library path. It is used to convert EGL_DRIVER or the default driver to a library path that can be loaded.
* egl: Remove _eglFindAPIs.Chia-I Wu2010-01-242-56/+0
| | | | | This function is not used and should have been removed by last commit. My mistake.
* egl: Remove unused helper functions.Chia-I Wu2010-01-242-217/+0
| | | | | _eglFillInConfigs and _eglFindAPIs have no user in Mesa and are unlikely to find one soon. It should be fine to remove them.
* 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-248-220/+78
| | | | | Turn _EGLSurface and _EGLContext into _EGLResource so that they can be managed uniformly.
* egl: Add _EGLResource and _EGLResourceType.Chia-I Wu2010-01-243-0/+113
| | | | | | 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-244-119/+133
| | | | | 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-244-118/+132
| | | | | Move functions to where they should be. There should be no real change here.
* egl: Install drivers to ${libdir}/egl.Chia-I Wu2010-01-231-1/+1
| | | | | Install EGL drivers to EGL_DRIVER_INSTALL_DIR, which is default to ${libdir}/egl.
* egl: Remove egl_softpipe.Chia-I Wu2010-01-221-1/+1
| | | | | | With the addition egl_x11_swrast, egl_softpipe is sort of deprecated. The new driver serves the same purpose as egl_softpipe does. It is based on egl_g3d and provides more features.
* Copy __FUNCTION__ portability #defines from mesa/compiler.h to eglcompiler.hAlan Coopersmith2010-01-201-0/+18
| | | | | Signed-off-by: Alan Coopersmith <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* egl: Add a simple cache for driver probe.Chia-I Wu2010-01-202-0/+56
| | | | | | In current design, multiple drivers will probe the same display and the best driver is determined. The cache can be used by the drivers to store and share the probed data.
* egl: Improve driver matching.Chia-I Wu2010-01-203-20/+35
| | | | | Make drv->Probe return a score so that the matching can be done by finding the driver with the highest score.
* egl: Rename _EGL_PLATFORM_X to _EGL_PLATFORM_POSIX.Chia-I Wu2010-01-202-9/+9
| | | | | The macro is used to determine if dlfcn.h or dirent.h is available. POSIX is a better name than X in such case.
* egl: Remove unused driver and display functions.Chia-I Wu2010-01-204-156/+0
| | | | Remove _eglPreloadDriver, _eglLookupDriver, and _eglSplitDisplayString.
* egl: Use _eglPreloadDrivers.Chia-I Wu2010-01-202-9/+3
| | | | | Replace the use of _eglPreloadDriver by _eglPreloadDrivers. The latter supports EGL_DISPLAY which have a better chance to "just work".
* egl: Add _eglPreloadDrivers.Chia-I Wu2010-01-203-7/+215
| | | | | | It can be used to load the user driver specified by EGL_DRIVER, or a set of drivers specified by EGL_DISPLAY, or the default driver, and in that order.
* Sun compilers now support some gcc __attribute__ valuesAlan Coopersmith2010-01-191-1/+2
| | | | | | | | | | | Sun cc 5.9 and later (__SUNPRO_C >= 0x590) support __attribute__ calls for aligned, always_inline, noinline, pure, const, and malloc. This commit includes updates to files that were regenerated by gl_XML.py after adding the __SUNPRO_C checks to it Signed-off-by: Alan Coopersmith <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* egl: Add _EGLDriver as the first argument to GetProcAddress.Chia-I Wu2010-01-122-2/+3
| | | | | The rest of the driver API has it as the first argument. It should be there so that a driver has access to itself.
* egl: EGL_SCREEN_BIT_MESA is a valid bit.Chia-I Wu2010-01-121-0/+1
| | | | | | Update _eglValidateConfig so that it passes the test. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Clean up the Makefile rules.Chia-I Wu2010-01-111-11/+14
| | | | | | | This allows libEGL to be built as a static library and removes libX11 from the dependencies. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Fix breakage from -fvisibility=hidden.Chia-I Wu2010-01-0511-30/+41
| | | | | | Mark EGL API and driver functions as PUBLIC. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Correct conversion of native visual type.Chia-I Wu2009-10-221-1/+6
| | | | Signed-off-by: Chia-I Wu <[email protected]>
* egl: Rework the synchronization primitives.Chia-I Wu2009-10-155-31/+48
| | | | | | | This adds error checking to the synchronization primitives. And eglWaitGL is now implemented by eglWaitClient. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Rework eglSwapInterval.Chia-I Wu2009-10-154-8/+35
| | | | | | | This adds error checking to eglSwapInterval and clamps the swap interval. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Rework error checking in eglSwapBuffers.Chia-I Wu2009-10-151-0/+15
| | | | Signed-off-by: Chia-I Wu <[email protected]>
* egl: Update comments about eglapi.c.Chia-I Wu2009-10-151-5/+20
| | | | | | Mention that opaque handles are looked up and checked. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Rework error checking in eglGetCurrentSurface.Chia-I Wu2009-10-151-2/+20
| | | | Signed-off-by: Chia-I Wu <[email protected]>
* egl: Include GL header in eglconfigutil.h.Chia-I Wu2009-10-151-1/+1
| | | | | | This is just a cosmetic change. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Fix GLX_USE_TLS build.Chia-I Wu2009-10-151-1/+1
| | | | | | Remove an extraneous semicolon. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Fix eglCheckConfigHandle.Chia-I Wu2009-10-151-5/+4
| | | | | | A stupid bug by me made the check void. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Improve logging facility.Chia-I Wu2009-10-133-54/+145
| | | | | | | Add _eglSetLogger and _eglSetLogLevel to allow drivers to change the message logger or report level. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Allow binding to any client API.Chia-I Wu2009-10-135-42/+19
| | | | | | | 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: Preload a driver if eglGetProcAddress is called early.Chia-I Wu2009-10-131-0/+4
| | | | Signed-off-by: Chia-I Wu <[email protected]>