summaryrefslogtreecommitdiff
path: root/src/egl/main
AgeCommit message (Collapse)AuthorFilesLines
2011-01-13egl: need stdio.h for non-Windows build too to avoid compiler warningBrian Paul1-1/+1
2011-01-13egl: Improve driver selection.Chia-I Wu2-0/+6
The idea is to be able to match a driver using the following order try egl_gallium with hw renderer try egl_dri2 try egl_gallium with sw renderer try egl_glx given the module list egl_gallium egl_dri2 egl_glx For that, UseFallback initialization option is added. The module list is matched twice: with the option unset and with the option set. In the first pass, egl_gallium skips its sw renderer and egl_glx rejects to initialize since UseFallback is not set. In the second pass, egl_gallium skips its hw renderer and egl_dri2 rejects to initialize since UseFallback is set. The process stops at the first driver that initializes the display.
2011-01-13egl: Simplify driver matching.Chia-I Wu3-84/+54
Add initialization options that drv->API.Initialize should support. Replace drv->Probe by TestOnly initialization option and simplify _eglMatchDriver.
2011-01-13egl: Cleanup _EGLDisplay initialization.Chia-I Wu6-40/+39
Reorder/rename and document the fields that should be set by the driver during initialization. Drop the major/minor arguments from drv->API.Initialize.
2011-01-12egl: When EGL_DRIVER is set, do not add other drivers.Chia-I Wu1-5/+14
Setting EGL_DRIVER forces the driver to be loaded, as documented. There should be no fallbacks.
2011-01-12egl: libEGL depends on LOCAL_LIBS.Chia-I Wu1-1/+1
So that libEGL is rebuilt whenever LOCAL_LIBS changes.
2011-01-12scons: Updates for targets/egl-static.Chia-I Wu3-13/+24
Update SConscripts to re-enable or add support for EGL on windows and x11 platforms respectively. targets/egl-gdi is replaced by targets/egl-static, where "-static" means pipe drivers and state trackers are linked to statically by egl_gallium, and egl_gallium is a built-in driver of libEGL. There is no more egl_gallium.dll on Windows.
2011-01-12targets/egl-static: New EGL target for scons.Chia-I Wu1-6/+14
This target is based on and replaces egl-gdi. It is suitable for both windows and x11.
2011-01-10egl: Make egl_dri2 and egl_glx built-in drivers.Chia-I Wu3-86/+73
These two drivers are small in size. Making them built-in should simplify packaging.
2010-12-31egl: add missing case in _eglError()Brian Paul1-1/+4
2010-12-12egl: Do not unload drivers.Chia-I Wu1-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.
2010-12-06egl: _eglFilterArray should not allocate.Chia-I Wu3-22/+34
Otherwise, when it is called from within a driver, the caller cannot free the returned data (on Windows).
2010-11-09egl: Add an include for size_tThomas Hellstrom1-1/+1
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2010-11-03st/egl: Add support for EGL_MATCH_NATIVE_PIXMAP.Chia-I Wu1-1/+1
Added for completeness. It makes sense to have such mechanism, but I am not aware of any user of that..
2010-11-03egl: Set up the pthread key even TLS is used.Chia-I Wu1-27/+13
We have to rely on the pthread key destructor to free the current thread info when a thread exits.
2010-11-02egl: Rework _eglGetSearchPath.Chia-I Wu2-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.
2010-11-01scons: Revamp how to specify targets to build.José Fonseca2-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.
2010-10-27egl: Remove unnecessary headers.Vinson Lee3-4/+0
2010-10-23egl: Fix a false negative check in _eglCheckMakeCurrent.Chia-I Wu1-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.
2010-10-23egl: Use reference counting to replace IsLinked or IsBound.Chia-I Wu6-118/+57
Remove all _egl<Res>IsLinked and _egl<Res>IsBound. Update _eglBindContext and drivers to do reference counting.
2010-10-23egl: Add reference count for resources.Chia-I Wu10-11/+146
This is a really simple mechanism. There is no atomicity and the caller is expected to hold the display lock.
2010-10-23egl: Fix _eglModeLookup.Chia-I Wu4-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.
2010-10-23egl: Minor changes to the _EGLScreen interface.Chia-I Wu2-88/+47
Make _eglInitScreen take a display and rename _eglAddScreen to _eglLinkScreen. Remove unused functions.
2010-10-23egl: Minor changes to the _EGLConfig interface.Chia-I Wu2-32/+29
Mainly to rename _eglAddConfig to _eglLinkConfig, along with a few clean ups.
2010-10-23egl: Drop dpy argument from the link functions.Chia-I Wu7-28/+27
All display resources are already initialized with a display. Linking simply links a resource to its display.
2010-10-22egl: Move fallback routines to eglfallbacks.c.Chia-I Wu17-465/+102
We do not want them to be all over the places.
2010-10-22egl: Parse image attributes with _eglParseImageAttribList.Chia-I Wu2-0/+25
Avoid code duplications.
2010-10-22egl: Move attributes in _EGLImage to _EGLImageAttribs.Chia-I Wu3-22/+36
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.
2010-10-22egl_glx: Drop the use of [SG]ET_CONFIG_ATTRIB.Chia-I Wu1-7/+0
_EGLConfig can be directly dereferenced now. Since egl_glx is the last user of the macros, drop the macros too.
2010-10-14egl: Access config attributes directly.Chia-I Wu3-143/+76
Replace SET_CONFIG_ATTRIB/GET_CONFIG_ATTRIB by direct dereferences.
2010-10-14egl: Use attribute names as the _EGLConfig member names.Chia-I Wu2-69/+97
This makes _EGLConfig more accessible and scales better when new attributes are added.
2010-09-30egl: remove duplicated includeNicolas Kaiser1-1/+0
Remove duplicated include. Signed-off-by: Brian Paul <brianp@vmware.com>
2010-09-30egl: Check extensions.Chia-I Wu1-11/+41
Do not call into the driver if the extension for the called function is not enabled.
2010-09-19st/egl: Rename kms backend to drm.Chia-I Wu2-2/+2
The main use of the backend is to support EGL_MESA_drm_display. drm should be a better name.
2010-09-10egl: Simplify _eglBindContext.Chia-I Wu1-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);
2010-09-09eglglx: Convert glx visuals/fbconfigs straight to EGL configsKristian Høgsberg4-150/+0
In other words, skip the __GLcontextModes middle man.
2010-09-10egl: Use _EGL_CHECK_DISPLAY in eglCreateContext.Chia-I Wu1-1/+1
_EGL_CHECK_DISPLAY checks the display and returns from eglCreateContext on error.
2010-09-10egl: Display may be NULL in _eglLookup*.Chia-I Wu3-3/+3
This fixes several NULL dereferences.
2010-08-25egl: Add EGL_MESA_drm_image extensionKristian Høgsberg4-0/+55
Create EGLImages from DRM buffer handles.
2010-08-20egl: Fix context API check and be verbose.Chia-I Wu2-11/+16
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).
2010-08-20egl: Add egl.def for win32 build.Chia-I Wu2-1/+36
Without the .def file, function names are decorated and cannot be queried by GetProcAddress easily.
2010-08-20egl: Allow core functions to be queried.Chia-I Wu2-1/+39
When _EGL_GET_CORE_ADDRESSES is defined, eglGetProcAddress can be used to query core functions. This is non-standard, but some apps expect it.
2010-08-19st/egl: Fix win32 build.Chia-I Wu1-0/+1
Add new source files to SConscripts.
2010-08-17egl: Add support for EGL_KHR_fence_sync.Chia-I Wu4-1/+11
Individual drivers still need to support and enable the extension.
2010-08-17egl: Add support for EGL_KHR_reusable_sync.Chia-I Wu9-2/+388
Individual drivers still need to support and enable the extension.
2010-07-31egl: Fix '_eglAddAtExitCall' implicit declaration warning.Vinson Lee1-0/+1
2010-07-31egl: Add checks for EGL_MESA_screen_surface.Chia-I Wu10-21/+91
This allows Mesa EGL to be compiled with eglext.h that does not define EGL_MESA_screen_surface.
2010-07-28egl: Fix deref before NULL-checkKristian Høgsberg1-1/+2
2010-07-28egl: EGL_KHR_surfaceless_* extensionsKristian Høgsberg4-36/+67
These extensions allow an application to make a context current by passing EGL_NO_SURFACE for the write and read surface in the call to eglMakeCurrent. The motivation is that applications that only want to render to client API targets (such as OpenGL framebuffer objects) should not need to create a throw-away EGL surface just to get a current context.
2010-07-15egl: Return the correct array size in _eglFlattenArray.Chia-I Wu1-1/+4
The function is used by _eglGetConfigs and _eglGetScreens. The array size should not be limited by the buffer size when the buffer is NULL. This fixes fdo bug #29052.