summaryrefslogtreecommitdiffstats
path: root/src/egl/main/eglconfig.c
Commit message (Collapse)AuthorAgeFilesLines
* egl: _eglFilterArray should not allocate.Chia-I Wu2010-12-061-1/+12
| | | | | Otherwise, when it is called from within a driver, the caller cannot free the returned data (on Windows).
* egl: Minor changes to the _EGLConfig interface.Chia-I Wu2010-10-231-12/+22
| | | | | Mainly to rename _eglAddConfig to _eglLinkConfig, along with a few clean ups.
* egl: Access config attributes directly.Chia-I Wu2010-10-141-131/+63
| | | | Replace SET_CONFIG_ATTRIB/GET_CONFIG_ATTRIB by direct dereferences.
* egl: Use attribute names as the _EGLConfig member names.Chia-I Wu2010-10-141-23/+10
| | | | | This makes _EGLConfig more accessible and scales better when new attributes are added.
* egl: Fix context API check and be verbose.Chia-I Wu2010-08-201-2/+5
| | | | | | | The API of the context was not checked against EGL_RENDERABLE_TYPE when there was no attribute list. Move the check to _eglInitContext, and be verbose about common mistakes (EGL_RENDERABLE_TYPE not set, EGL_CONTEXT_CLIENT_VERSION not set, or eglBindAPI not called).
* egl: Add checks for EGL_MESA_screen_surface.Chia-I Wu2010-07-311-0/+2
| | | | | This allows Mesa EGL to be compiled with eglext.h that does not define EGL_MESA_screen_surface.
* egl: Store configs in a dynamic array.Chia-I Wu2010-06-301-43/+23
|
* egl: Implement EGL_NOK_texture_from_pixmapKristian Høgsberg2010-05-141-1/+8
| | | | | | | This extension allows a color buffer to be used for both rendering and texturing. EGL allows the use of color buffers of pbuffer drawables for texturing, this extension extends this to allow the use of color buffers of pixmaps too.
* egl: Only allow valid config attributes in _eglParseConfigAttribList()Kristian Høgsberg2010-05-141-28/+24
| | | | Passing 0x3030, 0 in the chooser list didn't get caught.
* egl: Allow a prioritized list of default driversKristian Høgsberg2010-05-131-1/+0
| | | | | | | | | | | | | | When there is no user driver or any matching display drivers we fall back to the default driver. This patch lets us have a list of default drivers instead of just one. The drivers are loaded in turn and we attempt to initialize the display. If it fails we unload the driver and move on to the next one. Compared to the display driver mechanism, this avoids loading a number of drivers and then only using one. Also, we call Initialize to see if the driver will work instead of relying on Probe. To know for sure that a driver will work, Probe really have to do a full Initialize, so we will just use Initialize directly.
* egl: Remove unused _EGL_SKIP_HANDLE_CHECK.Chia-I Wu2010-02-231-6/+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-1/+1
| | | | Just follow gcc's advices here.
* egl: Add debug messages to config validation and matching.Chia-I Wu2010-02-051-2/+23
| | | | It might be desirable find out which attribute went wrong.
* egl: Surface type validaction should depend on extensions supported.Chia-I Wu2010-01-311-1/+2
| | | | | EGL_SCREEN_BIT_MESA is a valid bit only when EGL_MESA_screen_surface is supported.
* egl: Initialize display configs with the display.Chia-I Wu2010-01-311-2/+4
| | | | This changes _eglInitConfig to take the display as its argument.
* egl: Clean up header inclusions.Chia-I Wu2010-01-301-2/+1
| | | | Mainly to remove eglcurrent.h and egldisplay.h from eglglobals.h.
* egl: Remove unnecessary headers.Vinson Lee2010-01-281-1/+0
|
* egl: Update headers.Chia-I Wu2010-01-251-2/+3
| | | | | | Update to the current versions found at http://www.khronos.org/registry/egl/. There is one modification in khrplatform.h for GCC visibility.
* 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: 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: Rework config lookup.Chia-I Wu2009-09-291-47/+45
| | | | | | | 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-291-198/+640
| | | | | | | | 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-291-20/+6
| | | | | | | | | | 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: Overhaul driver API.Chia-I Wu2009-08-181-14/+4
| | | | | | | | | | | | 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: Silence warnings on x86-64.Chia-Wu2009-07-311-1/+1
| | | | | | | 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: if a surface type isn't defined let's default to EGL_WINDOW_BITAlan Hourihane2009-02-191-0/+3
|
* egl: fix default value of EGL_SURFACE_TYPE, added some sanity check assertionsBrian Paul2008-06-281-3/+9
|
* egl: These changes allow an eglBindAPI(EGL_OPENGL_ES_API) to succeed, and to ↵Robert Ellison2008-06-271-1/+1
| | | | | | | | | | | | | | work correctly with GLES1 and GLES2. - egl_xdri.c just sets the EGL_OPENGL_ES_BIT as well as the EGL_OPENGL_BIT in ClientAPIsMask - eglconfig.c allows the renderable type to include EGL_OPENGL_ES2_BIT as well as EGL_OPENGL_ES_BIT. - egl_xlib.c sets the EGL_NATIVE_RENDERABLE attribute to EGL_FALSE for all softpipe configurations. (Otherwise, an eglChooseConfig() that looks for particular values of EGL_NATIVE_RENDERABLE will fail.)
* egl: added null ptr checkBrian Paul2008-06-201-2/+4
|
* egl: in _eglAddConfig() just save a pointer to the config; don't copy the configBrian Paul2008-06-041-12/+13
| | | | This allows subclassing by drivers.
* Move some config-related utility functions into new eglconfigutil.c file.Brian Paul2008-05-271-252/+1
|
* minor overhaul/re-org of driver selection/loading codeBrian Paul2008-05-271-3/+1
|
* added _eglGet*Handle() functionsBrian Paul2008-05-271-0/+12
| | | | | | 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.
* assorted changes to compile with new EGL 1.4 headers (untested)Brian Paul2008-05-271-2/+6
|
* some initial EGL 1.2 workBrian Paul2006-01-301-3/+33
|
* implement config sorting for eglChooseConfig()Brian Paul2005-12-101-33/+51
|
* Redo _eglInitSurface() so it can be used with all surface types.Brian Paul2005-11-271-8/+12
| | | | Redo _eglInitContext() to do error checking, attribute list parsing, etc.
* change error test in _eglParseConfigAttribs()Brian Paul2005-11-241-2/+5
|
* init attribs to EGL_DONT_CARE in _eglParseConfigAttribs()Brian Paul2005-11-241-1/+4
|
* use _eglLog()Brian Paul2005-11-231-4/+7
|
* remove glmode stuffBrian Paul2005-05-171-102/+14
|
* more work on _eglConfigToContextModesRec()Brian Paul2005-05-171-3/+4
|
* Fix several internal problems with generating the list of configs.Jon Smirl2005-05-171-2/+3
|
* restore _eglSetConfigAttrib (for now), added prototype ↵Brian Paul2005-05-161-23/+56
| | | | _eglConfigToContextModesRec()
* make _eglSetConfigAtrib() a static function, and rename itBrian Paul2005-05-161-83/+90
|
* A few egl patches needed for glitz, mainly config BITSJon Smirl2005-05-151-4/+10
|
* First attempt at getting egl support up on dumb framebuffer.Jon Smirl2005-05-131-13/+318
| | | | 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-0/+26
|
* initial EGL codeBrian Paul2005-04-221-0/+286