summaryrefslogtreecommitdiffstats
path: root/src/egl/main
Commit message (Collapse)AuthorAgeFilesLines
* 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]>
* egl: Remove core functions from eglGetProcAddress.Chia-I Wu2009-10-131-45/+16
| | | | | | | eglGetProcAddress may not be used to query core (non-extension) functions. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Add support for driver built-in.Chia-I Wu2009-10-132-68/+93
| | | | | | | | This allows an EGL driver to be compiled together with libEGL.so. It eliminates the need to specify a driver, or support module loading on new platforms. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Add support for querying render buffer.Chia-I Wu2009-09-292-7/+36
| | | | Signed-off-by: Chia-I Wu <[email protected]>
* egl: Add a function to convert __GLcontextModes to _EGLConfig.Chia-I Wu2009-09-292-0/+77
| | | | | | | | _eglConfigFromContextModesRec is used to convert a __GLcontextModes to a _EGLConfig. Note that the config is not validated. An invalid mode is likely to give an invalid config. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Rework config lookup.Chia-I Wu2009-09-293-53/+89
| | | | | | | 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: Rework configuration management.Chia-I Wu2009-09-292-199/+661
| | | | | | | | This mainly implements the algorithms for configuration selection and sorting, described in the spec. User errors should also be correctly detected and reported. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Introduce config keys.Chia-I Wu2009-09-293-37/+83
| | | | | | | | | | Config keys are almost config attributes. A valid config attribute is a valid config key, but a valid config key may not be a valid config attribute. This commit does not distinguish the differences. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Remove Xdpy from EGLDisplay.Chia-I Wu2009-08-262-11/+0
| | | | | | It is not used anymore. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Make _eglChooseDriver return the filename of the driver.Chia-I Wu2009-08-211-13/+33
| | | | | | | | The real difference is that the driver suffix is now appended. This also fixes an annoying bug that EGL_DRIVER could not specify the path to a driver because a suffix was always appended. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Remove dependency on libX11.Chia-I Wu2009-08-217-204/+43
| | | | | | | | | | | | 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-212-7/+12
| | | | | | The display may be NULL when checking a handle. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Remove eglhash.c and eglhash.h.Chia-I Wu2009-08-185-390/+0
| | | | Signed-off-by: Chia-I Wu <[email protected]>
* egl: Add back handle checking.Chia-I Wu2009-08-182-2/+116
| | | | | | | 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-182-100/+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-184-78/+64
| | | | | | | 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-183-33/+6
| | | | | | | 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: _eglCloseDriver should be no-op.Chia-I Wu2009-08-183-8/+7
| | | | | | | Move drv->API.Terminate call to eglTerminate. Remove _eglReleaseDisplayResource as drivers are doing it. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Some per-driver data should be per-display.Chia-I Wu2009-08-189-66/+69
| | | | | | | 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-186-103/+199
| | | | | | | | | 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-1818-559/+691
| | | | | | | | | | | | 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]>