summaryrefslogtreecommitdiff
path: root/src/egl/wayland
AgeCommit message (Collapse)AuthorFilesLines
2013-10-30wayland: silence unused var warningFabio Pedretti1-2/+0
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
2013-10-22wayland: Don't leak wl_drm global when unbinding displayAnder Conselvan de Oliveira1-2/+5
2013-10-15egl-wayland: Add support for RGB565 pixel format for Wayland clientsSingh, Satyeshwar1-0/+3
With this patch Wayland clients can now ask EGL for RGB 565 format buffers and attach them to a Wayland compositor. Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
2013-10-11wayland: Don't rely on static variable for identifying wl_drm buffersKristian Høgsberg2-10/+12
Now that libEGL has been fixed to not leak all kinds of symbols, gbm links to its own copy of the libwayland-drm.a helper library. That means we can't rely on comparing the addresses of a static vtable symbol in that library to determine if a wl_buffer is a wl_drm_buffer. Instead, we move the vtable into the wl_drm struct and use that for comparing. https://bugs.freedesktop.org/show_bug.cgi?id=69437 Cc: 9.2 <mesa-stable@lists.freedesktop.org>
2013-09-11wayland-egl.pc requires wayland-client.pc.Torsten Duwe1-0/+1
Mesa provides the wayland-egl libs and the pkgconfig file, but the headers originate from the wayland package. Ensure everything matches, by requiring application builds to look at the wayland headers as well. Signed-off-by: Torsten Duwe <duwe@suse.de> Signed-off-by: Johannes Obermayr <johannesobermayr@gmx.de>
2013-08-08egl: Do not export private symbolsChad Versace2-0/+2
libEGL was incorrectly exporting *all* symbols, public and private. This patch adds -fvisibility=hidden to libEGL's linker flags to ensure that only symbols annotated with __attribute__((visibility("default"))) get exported. Sanity-checked with libEGL's builtin DRI2 driver and the i965 DRI driver by running Piglit on X/EGL and by running weston-gears on Weston as an X client. Sanity-checked with libEGL's Gallium driver (which is not built-in) and the swrast Gallium driver by running es2gears_x11. Kristian reviewed the symbol diff in `nm libEGL.so`. CC: "9.2" <mesa-stable@lists.freedesktop.org> CC: Ian Romanick <idr@freedesktop.org> Acked-by: Kristian Høgsberg <krh@bitplanet.net> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-08-07egl: Update to Wayland 1.2 server APIAnder Conselvan de Oliveira2-33/+46
Since Wayland 1.2, struct wl_buffer and a few functions are deprecated. References to wl_buffer are replaced with wl_resource and some getter functions and calls to deprecated functions are replaced with the proper new API. The latter changes are related to resource versioning. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
2013-03-18wayland: Add prime fd passing as a buffer sharing mechanismKristian Høgsberg3-9/+67
Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com>
2013-01-10Clean up .gitignore filesMatt Turner1-1/+0
2012-11-30egl/wayland: Don't invalidate drawable on swap buffersAnder Conselvan de Oliveira2-0/+8
We used to invalidate the drawable after a call to eglSwapBuffers(), so that a wl_egl_window_resize() would take effect for the next frame. However, that leads to calling dri2_get_buffers() when eglMakeCurrent() is called with the current context and surface, and a later call to wl_egl_window_resize() would not take effect until the next buffer swap. Instead, add a callback from wl_egl_window_resize() back to the wayland egl platform, and invalidate the drawable only when it is resized. This solves a bug on wayland clients when going back to windowed mode from fullscreen when clicking a pop up menu, where the window size after this would be the fullscreen size. Note: this is a candidate for stable branches. CC: wayland-devel@lists.freedesktop.org
2012-10-17wayland: Drop support for ill-defined, unused wl_egl_pixmapKristian Høgsberg2-44/+0
It doesn't provide the cross-process buffer sharing that a window system pixmap could otherwise support and we don't have anything left that uses this type of surface.
2012-10-17wayland: Remove 0.85 compatibility #ifdefsKristian Høgsberg1-26/+0
2012-07-17wayland: Include wl_drm format enum in wayland-drm.hKristian Høgsberg1-1/+64
This gets referenced before we get to generate the header files, so just include the enum that we need and don't include the generated header.
2012-07-16gbm: Add new gbm_bo_import entry pointKristian Høgsberg1-3/+0
This generalizes and replaces gbm_bo_create_for_egl_image. gbm_bo_import will create a gbm_bo from either an EGLImage or a struct wl_buffer.
2012-07-13wayland: Stop trying to use make rules from aclocal, just copy and pasteKristian Høgsberg2-1/+8
Defeated by autotool, copy and paste to the rescue. https://bugs.freedesktop.org/show_bug.cgi?id=51997 https://bugs.freedesktop.org/show_bug.cgi?id=51531 Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
2012-07-11egl: Add EGL_WAYLAND_PLANE_WL attributeKristian Høgsberg1-1/+1
This lets us specify the plane to create the image for for multiplanar wl_buffers. Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
2012-07-11wayland-drm: Add protocol to create planar buffersKristian Høgsberg3-20/+90
2012-07-11wayland-drm: Pass struct wl_drm_buffer to the driverKristian Høgsberg2-19/+18
We're going to extend this to support multi-plane buffers, so pass this to the driver so it can access the details.
2012-04-12wayland-drm: Implement wl_buffer.damage in old versions of WaylandNeil Roberts1-0/+26
Commit 272bc48976 removed the damage implementation for the wl_buffer_interface because that has been removed from git master of Wayland. However this breaks building with the 0.85 branch of Wayland because it would end up initialising the struct incorrectly. For the time being it's quite convenient for some compositors to track the 0.85 branch of Wayland because the protocol is stable but they will also want to track the master branch of Mesa so that they can use the gbm surface changes. This patch adds a compile-time check for the version of Wayland so that it can work with either Wayland master or the 0.85 branch. krh: Edited to also account for API changes in 6802eaa68, which removes the timestamp argument from wl_resource_destroy().
2012-04-10wayland-drm: remove wl_buffer.damagePekka Paalanen1-7/+0
This is a related fix for the Wayland change: commit 83685c506e76212ae4e5cb722205d98d3b0603b9 Author: Kristian Høgsberg <krh@bitplanet.net> Date: Mon Mar 26 16:33:24 2012 -0400 Remove wl_buffer.damage and simplify shm implementation Apparently, this should also fix a memory leak. When wl_buffer.damage was removed from Wayland and Mesa was not fixed, wl_buffer.destroy ended up in the (empty) damage function instead of calling wl_resource_destroy(). Spotted during build as: CC wayland-drm-protocol.lo wayland-drm.c:80:2: warning: initialization from incompatible pointer type wayland-drm.c:82:1: warning: excess elements in struct initializer wayland-drm.c:82:1: warning: (near initialization for 'drm_buffer_interface') Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
2012-03-20Add Makefile.in to toplevel .gitignoreKenneth Graunke1-1/+0
To avoid redundancies, this patch also removes Makefile.in from the other .gitignore files. Acked-by: Eric Anholt <eric@anholt.net>
2012-03-20Add .deps/, .libs/, and *.la to toplevel .gitignorePaul Berry1-4/+0
To avoid redundancies, this patch also removes .deps, .libs, and *.la from .gitignore files in subdirectories. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2012-01-29add wayland cflags when building wayland-eglJuan Zhao1-1/+2
to fix the header file missing when building wayland-egl
2012-01-26automake: src/egl/waylandBenjamin Franzke8-156/+37
So we can use the wayland scanner makro, which is way better than our previous runtime-pkgconfig hack. Reviewed-by: Matt Turner <mattst88@gmail.com>
2012-01-11wayland-drm: Drop the non-premul formats, use format codes from drm_fourcc.hKristian Høgsberg2-9/+66
2012-01-11egl_dri2/wayland: handle creating xrgb8888 imagesRobert Bragg2-0/+11
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 <krh@bitplanet.net>
2011-10-04configure: replace pkg-config calls with $(PKG_CONFIG) in the makefiles.Stéphane Marchesin1-2/+2
Us poor souls who cross compile mesa want to be able to specify which pkg-config to pick, or at least just change one place. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2011-09-01wayland: Use wl_resource_* error functionsKristian Høgsberg1-10/+10
2011-09-01wayland-drm: Fix compilation with wayland masterBenjamin Franzke1-9/+9
c661ecce introduced some not-yet-upstream stuff.
2011-08-31wayland: Track changes to drop wl_visualKristian Høgsberg5-24/+37
2011-08-31wayland: Track server side wayland changesKristian Høgsberg1-34/+36
2011-07-27wayland-drm: Add copyright notice to protocolBenjamin Franzke1-0/+27
Fixes build since wayland 986703ac7365bc87a5501714adb9fc73157c62b7.
2011-07-06Fixes for leaks reported by cppcheck.Völgyes Dávid1-0/+1
2011-06-21egl_dri2/wayland: Hook up new buffer.release eventBenjamin Franzke1-2/+2
2011-06-13wayland-drm: remove depend on "make clean"Chia-I Wu1-0/+1
2011-05-31wayland-drm: Check visual for being NULLBenjamin Franzke1-1/+1
2011-05-31wayland-egl: Remove left-over headers and structBenjamin Franzke2-27/+1
2011-05-19wayland-drm: Use new generic error eventKristian Høgsberg2-16/+17
2011-05-06egl/wayland: Follow wl_resource_destroy changesBenjamin Franzke1-1/+1
2011-05-06egl/wayland-drm: Generalize interfaceBenjamin Franzke2-46/+59
Do not depend on _EGLDisplay and _EGLImage.
2011-04-22egl/wayland: Follow buffer.attach removalBenjamin Franzke1-1/+0
2011-04-22egl/wayland: Update to buffer.damage additionBenjamin Franzke1-4/+3
2011-04-22egl_dri2: Create wl_buffers for pixmap surfacesBenjamin Franzke1-0/+2
Needed since wayland-egl doesnt do this anymore.
2011-04-22egl/wayland: Add new version parameter for post_drmBenjamin Franzke1-1/+3
2011-04-22egl/wayland: Fix prefixes for interface namesBenjamin Franzke1-3/+3
2011-04-20wayland-egl: Update to wayland-egl.h changes, drop struct wl_egl_displayKristian Høgsberg2-134/+5
2011-03-26egl/wayland-drm: Fix include pathBenjamin Franzke1-1/+2
src/egl/main/egltypedefs.h needs the path for EGL/egl.h Reported by jlind on irc.
2011-03-04egl/wayland: Move wayland-egl into a subdirBenjamin Franzke5-63/+85
This hopefully fixes wayland-egl's dependency resolution for autogenerated wayland-drm headers.
2011-03-02egl/wayland: build subdirs (wayland-drm) before dependBenjamin Franzke1-1/+1
Autogenerated files need to be generated first.
2011-03-01egl: Add EGL_WL_bind_wayland_displayBenjamin Franzke7-5/+332