path: root/src/egl
AgeCommit message (Collapse)AuthorFilesLines
2010-06-17egl: s/EGL_DISPLAY/EGL_PLATFORM/.Chia-I Wu2-11/+14
A platform is already used to mean a window system in EGL. No need to use a different term.
2010-06-17egl: s/_EGL_PLATFORM/_EGL_OS/ and s/POSIX/UNIX/.Chia-I Wu4-15/+15
A platform means a native window system in EGL. Use OS that follows Gallium instead.
2010-05-31egl: Use SConscript for Windows build.Chia-I Wu7-9/+72
Fix several portability issues and add SConscript for Windows build.
2010-05-31Define PUBLIC to dllexport on MSVC.Chia-I Wu1-4/+8
Define PUBLIC to __declspec(dllexport) when _MVC_VER is defined.
2010-05-31Always define int32_t in compiler headers.Chia-I Wu1-3/+1
eglplatform.h no longer defines int32_t.
2010-05-28egl_dri2: Split driver loading out into its own functionKristian Høgsberg1-32/+48
2010-05-28egl_dri2: Check for xcb_connect() failure the right wayKristian Høgsberg1-6/+4
It always returns a valid xcb_connection_t, but if connection failed, it's in the error state.
2010-05-27egl: Return NULL if we fail to load a default driverKristian Høgsberg1-1/+1
2010-05-20Make TLS EGL dri2 driver search path behavior match TLS GLX dri2 behavior.Eric Anholt1-9/+12
2010-05-19egl: Link drivers back to libEGL.Chia-I Wu1-1/+1
Drivers need symbols from libEGL. Without back-linking, the build fails on Cygwin.
2010-05-14egl: Implement EGL_NOK_texture_from_pixmapKristian Høgsberg7-29/+54
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.
2010-05-14egl: Only allow valid config attributes in _eglParseConfigAttribList()Kristian Høgsberg1-28/+24
Passing 0x3030, 0 in the chooser list didn't get caught.
2010-05-14egl: remove duplicate ARRAY_SIZE() macro declarationBrian Paul1-1/+1
2010-05-14egl: Silence uninitialized variable warnings.Vinson Lee1-1/+1
2010-05-13egl: Implement EGL_NOK_swap_regionKristian Høgsberg5-2/+86
This extension adds a new function which provides an alternative to eglSwapBuffers. eglSwapBuffersRegionNOK accepts two new parameters in addition to those in eglSwapBuffers. The new parameters consist of a pointer to a list of 4-integer blocks defining rectangles (x, y, width, height) and an integer specifying the number of rectangles in the list.
2010-05-13egl: Allow a prioritized list of default driversKristian Høgsberg6-26/+45
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.
2010-05-13egl_dri2: Downgrade initialization errors to warningsKristian Høgsberg1-4/+4
Don't want to shutdown everything if egl_dri2 fails to initialize.
2010-05-13egl: Drop broken _EGL_PLATFORM_NO_OS codeKristian Høgsberg1-32/+0
It would do strlen(library_suffix()) in _eglLoaderFile(), with library_suffix() returning NULL. So obviuosly not used or tested.
2010-05-13egl: Don't try to load driver basename if the platform needs a suffixKristian Høgsberg1-3/+5
That is, don't dlopen(egl_glx) when we know we need to append .so.
2010-05-12egl_dri2: Zero out driver structKristian Høgsberg1-0/+1
Otherwise testing ->Probe for non-NULL and calling it goes boom.
2010-05-08egl: Build drivers in $(TOP)/$(LIB_DIR)/egl.Chia-I Wu1-2/+3
There are enough EGL modules that they deserve a subdirectory, to avoid polluting $(TOP)/$(LIB_DIR).
2010-05-08egl: Add _eglSearchPathForEach.Chia-I Wu2-0/+20
The function can be used by a driver to check each search path of EGL.
2010-05-07glapi: Move to src/mapi/.Chia-I Wu2-2/+2
Move glapi to src/mapi/{glapi,es1api,es2api}.
2010-05-04Add egl.pc fileKristian Høgsberg2-1/+30
2010-05-02Merge branch 'gles2-2'Kristian Høgsberg1-10/+59
Conflicts: src/mesa/drivers/dri/common/dri_util.h
2010-04-28egl_dri2: Use new DRI API to create a GLES1/2 context when asked toKristian Høgsberg1-10/+59
2010-04-19Merge branch '7.8'Dan Nicholson2-3/+3
Conflicts: progs/egl/Makefile progs/egl/Makefile is gone on master with the egl demos split into subdirectories. Will require an additional commit.
2010-04-19egl: Pass flags to locate Xlib headers and librariesDan Nicholson2-3/+3
eglplatform.h pulls in Xlib.h on X11 platforms. Likewise, the egl glx driver and egl programs needs to link to libX11. Make sure we use the locations the user told us about. Signed-off-by: Dan Nicholson <>
2010-04-28Merge branch '7.8'Jakob Bornecrantz1-1/+2
2010-04-28egl: dri2 driver error outputMicah Fedke1-1/+2
This patch amends the error output string for the case where the dri2 egl driver could not open the dri dev node. Signed-off-by: Brian Paul <>
2010-04-14egl_dri2: Enable KHR_gl_texture_2D_imageKristian Høgsberg1-0/+1
Forgot to set the enabled bit when I implemented the extension.
2010-04-06egl_dri2: Flush before context switch and swap buffers.Chia-I Wu1-0/+18
DRI does not define any callback to flush the current context. GLX loader simply calls glFlush. Follow the GLX loader here.
2010-04-06egl: Unbind the old context in _eglBindContext.Chia-I Wu1-10/+9
The last commit incorrectly moved the code under an "else".
2010-04-06egl: Fix eglMakeCurrent with different surfaces.Chia-I Wu1-30/+45
0a82fadcdd0b6ebbc345c7c302da0e0efce40a98 seems to trigger a bug in _eglBindContext. Rework the logics yet again. It is simpler, and hopefully correct this time.
2010-03-28egl: Make _eglBindContextToSurfaces more readable.Chia-I Wu1-11/+25
There is no effective changes given how the function is called. It is still not trivial, but it should be more readable and resemble _eglBindContextToThread a lot.
2010-03-28egl: Always return the previously bound context.Chia-I Wu1-9/+8
When a newly bound context is the same as the previously bound one, _eglBindContextToThread should still return the context instead of NULL. This gives the driver a chance to flush the context.
2010-03-03Remove support for GCC older than 3.3.0Ian Romanick1-3/+2
Signed-off-by: Ian Romanick <>
2010-03-03egl_dri2: Factor out DRI2 protocol bits from initialize.Kristian Høgsberg1-86/+155
2010-02-26egl_dri2: Implement EGL_KHR_gl_renderbuffer_imageKristian Høgsberg1-63/+103
2010-02-24egl_dri2: Implement EGL_KHR_image and EGL_KHR_image_pixmapKristian Høgsberg1-4/+149
2010-02-23egl: Remove unused _EGL_SKIP_HANDLE_CHECK.Chia-I Wu4-53/+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.
2010-02-19Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versionsKristian Høgsberg1-1/+1
2010-02-19egl: Silence warnings when compiled with -pedantic.Chia-I Wu4-4/+10
Just follow gcc's advices here.
2010-02-19egl: Silence warnings in check/return macros.Chia-I Wu1-139/+147
The macros give warnings when compiled with -pedantic. This commit is based on a patch by Brian Paul, with minor changes to add do {} while(0) and rename the check macros.
2010-02-17egl: Revisit global data locking.Chia-I Wu4-8/+23
Lock the global mutex in _eglPreloadDrivers and _eglAllocScreenHandle. Add comments to why certain pathes do not need locking.
2010-02-17egl: Always lock a display before using it.Chia-I Wu2-45/+81
This gives a simple access control to the display. It is potentially slow, but a finer grained mutex can always be used in the future. The benefit of this simple approach is that drivers need not to worry about thread-safety.
2010-02-17egl: Make eglGetDisplay atomic.Chia-I Wu3-103/+22
Merge _eglNewDisplay and _eglLinkDisplay into _eglFindDisplay. Remove unused _eglUnlinkDisplay.
2010-02-17egl: Add a mutex to _EGLDisplay.Chia-I Wu2-0/+4
A display may be shared by multiple threads. Add a mutex for access control.
2010-02-17egl: eglGetError should return the status of the last call.Chia-I Wu1-123/+226
Use macros to record the status of the function call before returning. This is the only way that eglGetError can return the status of the most recent function call.
2010-02-17egl: Always record error code.Chia-I Wu1-4/+5
The error code denotes the success or failure of the most recent function call. A call to _eglError should always update the error code.