summaryrefslogtreecommitdiffstats
path: root/src/egl
Commit message (Collapse)AuthorAgeFilesLines
* egl: Make egl_dri2 and egl_glx built-in drivers.Chia-I Wu2011-01-109-99/+106
| | | | | These two drivers are small in size. Making them built-in should simplify packaging.
* egl_glx: Load libGL dynamically.Chia-I Wu2011-01-102-107/+238
| | | | | | This is a step forward for compatibility with really old GLX. But the real reason for making this change now is so that we can make egl_glx a built-in driver without having to link to libGL.
* egl_dri2: Look up _glapi_get_proc_address dynamically.Chia-I Wu2011-01-102-16/+46
| | | | | | | | | In preparation for making egl_dri2 built-in. It also handles symbol lookup error: /usr/local/lib/egl/egl_dri2.so: undefined symbol: _glapi_get_proc_address more gracefully.
* dri2: release texture image.Juan Zhao2011-01-091-4/+25
| | | | | | Add release function for texture_from_pixmap extension. Some platform need to release texture image for texture_from_pixmap extension, add this interface for those platforms.
* egl: add missing case in _eglError()Brian Paul2010-12-311-1/+4
|
* egl: Do not unload drivers.Chia-I Wu2010-12-121-5/+11
| | | | | | When the driver is the last reference to libEGL.so, unloading it will cause libEGL.so to be unmapped and give problems. Disable the unloading for now. Still have to figure out the right timing to unload drivers.
* egl: _eglFilterArray should not allocate.Chia-I Wu2010-12-063-22/+34
| | | | | Otherwise, when it is called from within a driver, the caller cannot free the returned data (on Windows).
* egl_dri2: Fix one context, multiple surfaces.Chia-I Wu2010-11-241-1/+5
| | | | | | | | | | | | | | When a context was made current to another surface, the old code did this dri2_dpy->core->bindContext(cctx, ddraw, rdraw); dri2_dpy->core->unbindContext(old_cctx); and there will be no current context due to the second line. unbindContext should be called only when bindContext is not. This fixes a regression since d19afc57. Thanks to Neil Roberts for noticing the issue and creating a test case.
* egl_dri2: Add missing intel chip ids.Robert Hooker2010-11-171-0/+12
| | | | Signed-off-by: Robert Hooker <[email protected]>
* egl_dri2: Fix __DRI_DRI2 version 1 support.Chia-I Wu2010-11-101-1/+1
| | | | Correctly set __DRI_API_OPENGL flag.
* egl: Add an include for size_tThomas Hellstrom2010-11-091-1/+1
| | | | Signed-off-by: Thomas Hellstrom <[email protected]>
* egl_dri2: Add radeon chip idsAlex Deucher2010-11-081-0/+427
|
* st/egl: Add support for EGL_MATCH_NATIVE_PIXMAP.Chia-I Wu2010-11-031-1/+1
| | | | | Added for completeness. It makes sense to have such mechanism, but I am not aware of any user of that..
* egl: Set up the pthread key even TLS is used.Chia-I Wu2010-11-031-27/+13
| | | | | We have to rely on the pthread key destructor to free the current thread info when a thread exits.
* egl: Rework _eglGetSearchPath.Chia-I Wu2010-11-022-20/+50
| | | | | So that the directory part of EGL_DRIVER, if exists, is prepended to the search path. This commit also adds a sanity check to _eglLog.
* scons: Revamp how to specify targets to build.José Fonseca2010-11-012-46/+47
| | | | | | | | | | | | | | | | | | | | | | Use scons target and dependency system instead of ad-hoc options. Now is simply a matter of naming what to build. For example: scons libgl-xlib scons libgl-gdi scons graw-progs scons llvmpipe and so on. And there is also the possibility of scepcified subdirs, e.g. scons src/gallium/drivers If nothing is specified then everything will be build. There might be some rough corners over the next days. Please bare with me.
* egl: Remove unnecessary headers.Vinson Lee2010-10-273-4/+0
|
* egl_dri2: Fix a typo that make glFlush be called at wrong time.Chia-I Wu2010-10-261-1/+1
| | | | | | We want to call glFlush when there is a current context. That is, old_ctx. This is a regression introduced by d19afc57fe49816f3f3290410e0124d326577be2.
* Ensure -L$(TOP)/$(LIB_DIR) appears in link line before any -L in $LDFLAGSJon TURNEY2010-10-241-2/+2
| | | | | | | | | | Ensure -L$(TOP)/$(LIB_DIR) (the staging dir for build products), appears in the link line before any -L in $LDFLAGS, so that we link driver we are building with libEGL we have just built, and not an installed version [olv: make a similar change to targets/egl] Signed-off-by: Jon TURNEY <[email protected]>
* egl: Fix a false negative check in _eglCheckMakeCurrent.Chia-I Wu2010-10-231-9/+12
| | | | | | | | | | This call sequence eglMakeCurrent(dpy, surf, surf, ctx1); eglMakeCurrent(dpy, surf, surf, ctx2); should be valid if ctx1 and ctx2 have the same client API and are not current in another thread.
* egl: Use reference counting to replace IsLinked or IsBound.Chia-I Wu2010-10-238-136/+106
| | | | | Remove all _egl<Res>IsLinked and _egl<Res>IsBound. Update _eglBindContext and drivers to do reference counting.
* egl: Add reference count for resources.Chia-I Wu2010-10-2310-11/+146
| | | | | This is a really simple mechanism. There is no atomicity and the caller is expected to hold the display lock.
* egl: Fix _eglModeLookup.Chia-I Wu2010-10-234-53/+32
| | | | | | | | | | Internally a mode belongs to a screen. But functions like eglGetModeAttribMESA treat a mode as a display resource: a mode can be looked up without a screen. Considering how KMS works, it is better to stick to the current implementation. To properly support looking up a mode without a screen, this commit assigns each mode (of all screens) a unique ID.
* egl: Minor changes to the _EGLScreen interface.Chia-I Wu2010-10-232-88/+47
| | | | | Make _eglInitScreen take a display and rename _eglAddScreen to _eglLinkScreen. Remove unused functions.
* egl: Minor changes to the _EGLConfig interface.Chia-I Wu2010-10-234-34/+31
| | | | | Mainly to rename _eglAddConfig to _eglLinkConfig, along with a few clean ups.
* egl: Drop dpy argument from the link functions.Chia-I Wu2010-10-237-28/+27
| | | | | All display resources are already initialized with a display. Linking simply links a resource to its display.
* egl: Move fallback routines to eglfallbacks.c.Chia-I Wu2010-10-2217-465/+102
| | | | We do not want them to be all over the places.
* egl: Parse image attributes with _eglParseImageAttribList.Chia-I Wu2010-10-223-81/+55
| | | | Avoid code duplications.
* egl: Move attributes in _EGLImage to _EGLImageAttribs.Chia-I Wu2010-10-224-26/+40
| | | | | | The opaque nature of EGLImage implies that extensions almost always define their own attributes. Move attributes in _EGLImage to _EGLImageAttribs and add a helper function to parse attribute lists.
* egl_glx: Fix borken driver.Chia-I Wu2010-10-221-107/+185
| | | | | The driver was broken since 6eda3f311bc24999835003e404d5eda5599bc5de. All configs fail to pass _eglValidateConfig.
* egl_glx: Drop the use of [SG]ET_CONFIG_ATTRIB.Chia-I Wu2010-10-222-28/+14
| | | | | _EGLConfig can be directly dereferenced now. Since egl_glx is the last user of the macros, drop the macros too.
* egl_dri2: Drop the use of _egl[SG]etConfigKey.Chia-I Wu2010-10-221-11/+9
| | | | _EGLConfig can be directly dereferenced now.
* egl: Access config attributes directly.Chia-I Wu2010-10-143-143/+76
| | | | Replace SET_CONFIG_ATTRIB/GET_CONFIG_ATTRIB by direct dereferences.
* egl: Use attribute names as the _EGLConfig member names.Chia-I Wu2010-10-142-69/+97
| | | | | This makes _EGLConfig more accessible and scales better when new attributes are added.
* egl: remove duplicated includeNicolas Kaiser2010-09-301-1/+0
| | | | | | Remove duplicated include. Signed-off-by: Brian Paul <[email protected]>
* egl: Check extensions.Chia-I Wu2010-09-301-11/+41
| | | | | Do not call into the driver if the extension for the called function is not enabled.
* egl: Fix several 'comparison between signed and unsigned integer' warningsIan Romanick2010-09-242-4/+6
| | | | I hate GCC for requiring the (int) cast on sizeof.
* egl_glx: Silence piles of 'unused variable' warningsIan Romanick2010-09-241-0/+27
|
* EGL DRI2: Silence 'missing initializer' warningsIan Romanick2010-09-241-2/+2
|
* EGL DRI2: Silence piles of 'unused variable' warningsIan Romanick2010-09-241-0/+46
|
* dri: Pass the __DRIscreen and the __DRIscreen private back to image lookupKristian Høgsberg2010-09-221-4/+3
| | | | | We will typically have a current context when we need to lookup the image, but the lookup implementation don't need it so drop it.
* dri2: Make createImageFromName() take a __DRIscreen instead of __DRIcontextKristian Høgsberg2010-09-221-4/+2
| | | | | | | We can't expect to have a context when this is called, and we don't need one so just require a __DRIscreen instead. Reported by Yu Dai <[email protected]>
* st/egl: Rename kms backend to drm.Chia-I Wu2010-09-192-2/+2
| | | | | The main use of the backend is to support EGL_MESA_drm_display. drm should be a better name.
* EGL DRI2: 0xa011 is Pineview not IronlakeJesse Barnes2010-09-131-1/+1
| | | | Point about needing a better way to do this validated.
* EGL DRI2: add PCI ID for Ironlake mobileJesse Barnes2010-09-131-0/+1
| | | | Allows KMS EGL driver to load. We need a better way of doing this.
* egl: Simplify _eglBindContext.Chia-I Wu2010-09-101-77/+31
| | | | | | | | | | Remove the hard-to-get-right _eglBindContextToSurfaces. As well as fix an assertion failure from b90a3e7d8b1bcd412ddbf2a4803de2756dacd436 when such call sequence is hit eglMakeCurrent(dpy, surf1, surf1, ctx1); eglMakeCurrent(dpy, surf2, surf2, ctx2); eglMakeCurrent(dpy, surf1, surf1, ctx1);
* eglglx: Convert glx visuals/fbconfigs straight to EGL configsKristian Høgsberg2010-09-095-292/+101
| | | | In other words, skip the __GLcontextModes middle man.
* egl: Remove old egldri driverKristian Høgsberg2010-09-093-1390/+0
| | | | This driver doesn't work with any of the DRI drivers in the source tree.
* egl: Use _EGL_CHECK_DISPLAY in eglCreateContext.Chia-I Wu2010-09-101-1/+1
| | | | | _EGL_CHECK_DISPLAY checks the display and returns from eglCreateContext on error.
* egl: Display may be NULL in _eglLookup*.Chia-I Wu2010-09-103-3/+3
| | | | This fixes several NULL dereferences.