summaryrefslogtreecommitdiffstats
path: root/src/egl/drivers
Commit message (Collapse)AuthorAgeFilesLines
* egl_dri2: NULL check for EGLNativeWindowTypeElvis Lee2012-07-161-0/+2
| | | | | | | | | Some application calls eglCreateWindowSurface with EGLNativeWindowType parameter having zero value. It causes SEGV and disturbs error handling like EGL_NO_SURFACE. Signed-off-by: Elvis Lee <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* egl: Add EGL_WAYLAND_PLANE_WL attributeKristian Høgsberg2012-07-111-15/+135
| | | | | | | This lets us specify the plane to create the image for for multiplanar wl_buffers. Signed-off-by: Kristian Høgsberg <[email protected]>
* wayland-drm: Add protocol to create planar buffersKristian Høgsberg2012-07-111-1/+1
|
* wayland-drm: Pass struct wl_drm_buffer to the driverKristian Høgsberg2012-07-111-18/+15
| | | | | We're going to extend this to support multi-plane buffers, so pass this to the driver so it can access the details.
* egl_dri2: Reorganize the EGLImage constructors to share more codeKristian Høgsberg2012-07-051-78/+37
| | | | | | | We factor out all the EGL book-keeping into dri2_create_image() and simplify the wayland case by using dupImage. Signed-off-by: Kristian Høgsberg <[email protected]>
* egl_dri2: Fix out of tree builds with the wayland backend enabledRobert Hooker2012-05-031-0/+1
| | | | | | | | | | | Otherwise it fails like so: CC egl_dri2.lo In file included from egl_dri2.h:40:0, from egl_dri2.c:42: ../../../../../../src/egl/wayland/wayland-drm/wayland-drm.h:8:41: fatal error: wayland-drm-server-protocol.h: No such file or directory compilation terminated.
* egl/android: Add support for RGBX_8888 used in Android native buffersSean V Kelley2012-04-301-0/+2
| | | | | | | | Add new format __DRI_IMAGE_FORMAT_XBGR8888 to __DRI_IMAGE. HAL_PIXEL_FORMAT_RGBX_8888 now maps to __DRI_IMAGE_FORMAT_XBGR8888. Signed-off-by: Sean V Kelley <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* egl_dri2: fix aux buffer leak in drm platformMandeep Singh Baines2012-04-101-5/+4
| | | | | | | | Keep a reference to any newly allocated aux buffers to avoid re-allocating for every st_framebuffer_validate() (i.e. leaking). Signed-off-by: Mandeep Singh Baines <[email protected]> Signed-off-by: Kristian Høgsberg <[email protected]>
* egl_dri2: use gbm_surface as the native window type in drm platformAnder Conselvan de Oliveira2012-03-282-1/+324
|
* egl_dri2: make flush extension useable by drm platformAnder Conselvan de Oliveira2012-03-271-0/+1
|
* wayland: Stop using wl_buffer.damageKristian Høgsberg2012-03-271-2/+0
|
* Add Makefile.in to toplevel .gitignoreKenneth Graunke2012-03-201-1/+0
| | | | | | | To avoid redundancies, this patch also removes Makefile.in from the other .gitignore files. Acked-by: Eric Anholt <[email protected]>
* Set close on exec flag FD_CLOEXECDavid Fries2012-03-112-1/+19
| | | | | | | | | Set the close on exec flag when opening dri character devices, so they will be closed and free any resouces allocated in exec. Signed-off-by: David Fries <[email protected]> Reviewed-by: Adam Jackson <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* wayland: Use new wl_display_disconnectBenjamin Franzke2012-03-051-1/+1
| | | | | | This replaces the previously used wl_display_destroy. wl_display_destroy was povided by wayland-client.so and wayland-server.so, to resolve that conflict its renamed client-side.
* egl/drivers: Convert to automake.Eric Anholt2012-02-295-103/+95
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* egl/main: Convert to automake.Eric Anholt2012-02-294-32/+33
| | | | | | | | The drivers/ walk-through-subdirs makefile is converted as well so I didn't need to keep EGL_DRIVERS_DIRS along with the per-driver HAVE_EGL_DRIVER_WHATEVER. Reviewed-by: Kenneth Graunke <[email protected]>
* egl: Drop the non-builtin-drivers support.Eric Anholt2012-02-292-30/+2
| | | | | | | The two drivers both did builtin mode, so drop the non-builtin build system. Reviewed-by: Kenneth Graunke <[email protected]>
* egl: Drop _EGL_MAIN entrypoint obfuscation.Eric Anholt2012-02-295-5/+2
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* automake: src/egl/waylandBenjamin Franzke2012-01-261-1/+1
| | | | | | | So we can use the wayland scanner makro, which is way better than our previous runtime-pkgconfig hack. Reviewed-by: Matt Turner <[email protected]>
* Revert "Always build shared glapi"Matt Turner2012-01-243-0/+13
| | | | | | | | | | | This reverts commit adefee50d954151f76150af80207081ae3c247d9. Shared glapi was never tested with --enable-xlib-glx and turns out to cause a lot of problems. Conflicts: configure.ac
* Always build shared glapiMatt Turner2012-01-203-13/+0
| | | | | | | | libglapi.so, libGL.so, libGLESv2.so, libGLESv1_CM.so must all come from the same version of Mesa or bad things may happen. Acked-by: Kenneth Graunke <[email protected]> Signed-off-by: Matt Turner <[email protected]>
* wayland-drm: Drop the non-premul formats, use format codes from drm_fourcc.hKristian Høgsberg2012-01-112-26/+15
|
* egl_dri2: Put the _eglError call in the case switch caseKristian Høgsberg2012-01-111-2/+2
| | | | | Log an error in case we get an unknown format, not in case for XRGB32. I botched the edit of Roberts patch.
* egl_dri2/wayland: handle creating xrgb8888 imagesRobert Bragg2012-01-111-56/+69
| | | | | | | | | | | | | | | | | | | | When creating an EGLImage from a struct wl_buffer * this ensures that we create an XRGB8888 image if the wayland buffer doesn't have an alpha channel. To determine if a wl_buffer has a valid alpha channel this patch adds an internal wayland_drm_buffer_has_alpha() function. It's important to get the internal format for an EGLImage right so that if a GL texture is later created from the image then the GL driver will know if it should sample the alpha from the texture or flatten it to a constant of 1.0. This avoids needing fragment program workarounds in wayland compositors to manually ignore the alpha component of textures created from wayland buffers. krh: Edited to use wl_buffer_get_format() instead of wl_buffer_has_alpha(). Reviewed-by: Kristian Høgsberg <[email protected]>
* egl/x11: Merge the right version of Frederiks changeKristian Høgsberg2011-12-211-21/+8
| | | | | Argh, I merged an older broken version of the swapbuffer change instead of Frederiks fixed version. This diffs gets us back to the right version.
* egl_dri2/x11: Add support for the DRI2 SwapBuffers requestFredrik Höglund2011-12-202-21/+81
|
* egl_dri2/x11: Add support for eglSwapIntervalFredrik Höglund2011-12-203-1/+36
|
* egl_dri2/x11: error check coordinates in eglPostSubBufferNVChia-I Wu2011-12-201-5/+5
| | | | EGL_BAD_PARAMETER should be returned when any of the coordinates is negative.
* egl_dri2/x11: Add support for EGL_NV_post_sub_bufferFredrik Höglund2011-12-201-0/+17
| | | | Signed-off-by: Fredrik Höglund <[email protected]>
* egl_dri2: Fix some valgrind reported leaksBenjamin Franzke2011-12-134-8/+10
| | | | | | | Free the device_name, reported by Pekka Paalanen. Destroy wayland display and drm resources, if created by dri2_initialize_wayland.
* egl_glx: fix eglDestroyContextChia-I Wu2011-12-031-1/+2
| | | | | | Wrong pointers are passed to glXDestroyContext. Spotted by Brian Paul.
* egl_glx: Try first a default lookup for glXGetProcAddress before loading ↵Beren Minor2011-11-271-9/+14
| | | | | | | | | | | | | | | | | | | | dynamic lib. GLX functions are sometimes directly available in the current binary. In such cases, we do not need any alternate library loaded using dlopen. Otherwise, dlopen may find the wrong libGL library and get functions that conflicts with the current loaded ones. For example, on Debian Sid with nvidia binary drivers, using mesa's libEGL with GLX driver leads to wrong glXGetFBConfigs symbol loaded (or loaded twice?), which leads to "GLX: failed to create any config" error message as the glXGetFBConfigs symbol seems to return garbage. If the binary is linked with nvidia's libGL, the GLX symbols are already available. Without this patch, convert_fbconfig (src/egl/drivers/glx/egl_glx.c:233) fails for every config found, after glXGetFBConfigAttrib(... GLX_RENDER_TYPE, ...) call, as the value returned has GLX_COLOR_INDEX_BIT and not GLX_RGBA_BIT. [olv: initialize handle, prepend egl_glx to the commit log]
* android: add support for ICSChia-I Wu2011-11-252-9/+18
| | | | | | | | With ICS (Android 4.0), several headers and structs are renamed. Define ANDROID_VERSION so that we can choose a different path depending on the platform version. I've tested only softpipe and llvmpipe. r600g is also reported to work.
* egl_glx.c: use unsigned instead of uintMatt Turner2011-09-191-3/+3
| | | | | | | We've had a hack to fix this in Gentoo on Solaris for a while. Signed-off-by: Matt Turner <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* wayland: Flush before blocking in swapbuffers.Jørgen Lind2011-09-151-2/+5
| | | | Make sure that we've sent the frame request that we're going to block on.
* egl_dri2: add support for RGBA_8888 android native bufferChia-I Wu2011-09-091-0/+2
| | | | HAL_PIXEL_FORMAT_RGBA_8888 maps to __DRI_IMAGE_FORMAT_ABGR8888.
* egl_dri2: Destroy callback in release_pending_bufferBenjamin Franzke2011-09-011-0/+2
|
* wayland: Track changes to drop wl_visualKristian Høgsberg2011-08-313-15/+71
|
* egl_dri2: Only clear EGL_PIXMAP_BIT if DRI config is double bufferedKristian Høgsberg2011-08-311-2/+4
| | | | | | | We don't want to set the pixmap bit in the EGL config if the DRI config we're adding is a double buffered config. However, don't clear any other bits the platform might pass in in the surface_type argument.
* wayland: Track server side wayland changesKristian Høgsberg2011-08-311-1/+1
|
* wayland: Use new wl_callback mechanismKristian Høgsberg2011-08-311-31/+24
|
* egl_dri2: Drop dri2_surface_type enumBenjamin Franzke2011-08-312-18/+9
| | | | | Was only used in platform_wayland, and the remaining egl stack uses _EGLSurface::Type with one of EGL_{WINDOW,PIXMAP,PBUFFER}_BIT.
* egl_dri2: add pbuffer support to platform_androidChia-I Wu2011-08-311-5/+16
| | | | | | This is a simple change thanks to allocateBuffer. Reviewed-by: Chad Versace <[email protected]>
* egl_dri2: check the surface type in platform_androidChia-I Wu2011-08-311-45/+56
| | | | | | | Check the surface type is EGL_WINDOW_BIT before doing anything, in preparation for pbuffer support. Reviewed-by: Chad Versace <[email protected]>
* egl_dri2: refactor droid_get_buffers_with_formatChia-I Wu2011-08-311-27/+39
| | | | | | Move the loop to parse attachments to its own function. Reviewed-by: Chad Versace <[email protected]>
* egl_dri2: set ctx->WindowRenderBufferChia-I Wu2011-08-311-0/+6
| | | | | | | | | Set ctx->WindowRenderBuffer to EGL_BACK_BUFFER. As EGL_WINDOW_BIT of a config is set only when there is dri_double_buffer, that makes sure window surfaces are always double-buffered and contexts will render to the back buffer. Reviewed-by: Chad Versace <[email protected]>
* android: add support for egl_dri2Chia-I Wu2011-08-281-0/+50
| | | | | | | Add rules to build egl_dri2 and make it a built-in EGL driver of libGLES_mesa. Reviewed-by: Chad Versace <[email protected]>
* egl_dri2: add support for AndroidChia-I Wu2011-08-283-0/+749
| | | | | | | | | | | | | | | | | | | | | | Add platform_android.c that supports _EGL_PLAFORM_ANDROID. It works with drm_gralloc, where back buffers of windows are backed by GEM objects. In Android a native window has a queue of back buffers allocated by the server, through drm_gralloc. For each frame, EGL needs to dequeue the next back buffer render to the buffer enqueue the buffer After enqueuing, the buffer is no longer valid to EGL. A window has no depth buffer or other aux buffers. They need to be allocated locally by EGL. Reviewed-by: Benjamin Franzke <[email protected]> Reviewed-by: Chad Versace <[email protected]> [olv: with assorted minor changes, mostly suggested during the review]
* egl_dri2: allow RGBA masks to be specified for matchingChia-I Wu2011-08-285-5/+27
| | | | | | | | Add rgba_masks to dri2_add_config. When it is non-NULL, the DRI config is accepted only when the offsets and sizes of the its channels match rgba_mask. Reviewed-by: Chad Versace <[email protected]>
* dri2: Add __DRI_BUFFER_COUNT tokenBenjamin Franzke2011-08-161-2/+0
| | | | | | | Remove definition from egl_dri2. Defining this is egl_dri2.h breaks as soon as a new dri2 buffer token is added like with commit 4501a5d6e8d00fd0d87625352ed5ba1a8861f72e.