summaryrefslogtreecommitdiffstats
path: root/src/egl/wayland
Commit message (Collapse)AuthorAgeFilesLines
* wayland-drm: add missing NULL checkFrank Binns2016-09-011-0/+2
| | | | | | | | Although malloc is unlikely to fail check its return value nevertheless. Signed-off-by: Frank Binns <frank.binns@imgtec.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
* Introduce .editorconfigEric Engestrom2016-08-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | A few weeks ago, Jose Fonseca suggested [0] we use .editorconfig files to try and enforce the formatting of the code, to which Michel Dänzer suggested [1] we start by importing the existing .dir-locals.el settings. The first draft was discussed in the RFC [2]. These .editorconfig are a first step, one that has the advantage of requiring little to no intervention from the devs once the settings files are in place, but the settings are very limited. This does have the advantage of applying while the code is being written. This doesn't replace the need for more comprehensive formatting tools such as clang-format & clang-tidy, but those reformat the code after the fact. [0] https://lists.freedesktop.org/archives/mesa-dev/2016-June/121545.html [1] https://lists.freedesktop.org/archives/mesa-dev/2016-June/121639.html [2] https://lists.freedesktop.org/archives/mesa-dev/2016-July/123431.html Acked-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Acked-by: Eric Anholt <eric@anholt.net> Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
* egl/wayland-egl: Fix for segfault in dri2_wl_destroy_surface.Stencel, Joanna2016-08-242-0/+4
| | | | | | | | | | | Segfault occurs when destroying EGL surface attached to already destroyed Wayland window. The fix is to set to NULL the pointer of surface's native window when wl_egl_destroy_window() is called. Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Stencel, Joanna <joanna.stencel@intel.com> Reviewed-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
* egl/wayland: do not wrap header inclusion in extern "C"Emil Velikov2016-03-091-4/+4
| | | | Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
* wayland: Add copyright notice for wayland-egl.cKristian Høgsberg Kristensen2015-09-241-0/+29
| | | | Signed-off-by: Kristian Høgsberg Kristensen <krh@bitplanet.net>
* mesa: Fix warning about static being in the wrong placeIan Romanick2015-09-021-1/+1
| | | | | | | | | | | | | | | | | | | | Because the compiler already has enough things to complain about. grep -rl 'const static' src/ | while read f do sed --in-place -e 's/const static/static const/g' $f done brw_eu_emit.c: In function 'brw_reg_type_to_hw_type': brw_eu_emit.c:98:7: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] const static int imm_hw_types[] = { ^ brw_eu_emit.c:120:7: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] const static int hw_types[] = { ^ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
* egl: remove support for GCC older than 4.1.0Timothy Arceri2014-12-171-1/+1
| | | | | | | Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au> Reviewed-By: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
* egl+gbm: Add symbols-check tests to distribution.Matt Turner2014-12-121-0/+1
|
* egl: Drop unnecessary Makefile.am.Matt Turner2014-12-121-1/+0
|
* wayland: Move version 2 request to end of interface specificationKristian Høgsberg2014-05-121-16/+19
| | | | | | | | | | We're moving towards requiring interface additions to be appended to the end of the interface block. No functional change, opcodes are assigned as before, but version 2 additions are now grouped together, which prevents a scanner warning. Cc: "10.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
* egl/build: Include headers and XML in distribution.Matt Turner2014-04-071-1/+6
| | | | Acked-by: Emil Velikov <emil.l.velikov@gmail.com>
* automake: don't enable -Wl,--no-undefined on OpenBSDJonathan Gray2014-04-051-1/+1
| | | | | | | | | | | | | | | | OpenBSD does not have DT_NEEDED entries for libc by design, over concerns how the symbols would be referenced after changing the major version of the library. So avoid -no-undefined checks on OpenBSD as they will fail. v2: don't include the -no-undefined libtool option in the variable and change -Wl,--no-undefined references in Automake.inc as well. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76856 Signed-off-by: Jonathan Gray <jsg@jsg.id.au> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
* automake: ask the linker to do garbage collectionEmil Velikov2014-03-311-0/+1
| | | | | | | | | | | | | | By doing GC the linker removes all the symbols that are not referenced and/or used by the final library. This results in a saving of ~100K up-to ~600K per (stripped) binary (classic vs gallium drivers). If interested one can ask the compiler to print the sections that are removed using -Wl,--print-gc-sections. v2: Check if ld supports the flag before using it. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Acked-by: Matt Turner <mattst88@gmail.com> (v1)
* automake: add -Wl,--no-undefined to all librariesEmil Velikov2014-03-311-1/+2
| | | | | | | | | ... apart from the dri drivers. With this final change we can build mesa without fear that the resulting libraries will have unresolved symbols. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
* automake: consistently use -no-undefinedEmil Velikov2014-03-311-1/+3
| | | | | | | | | | | | | Set the flag for all but the dri targets. They have missing glapi symbols which are required for the normal operation with the X server. Jon, I fear that you'll need to carry the "no-undefined" hunk locally when building the dri drivers under cygwin. Cc: Jon TURNEY <jon.turney@dronecode.org.uk> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
* automake: use install-lib-links.mk across all classic mesaEmil Velikov2014-03-111-0/+2
| | | | | | | Use the handy script and minimise the boilerplate in the makefiles. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
* Prevent zero sized wl_egl_windowSinclair Yeh2014-02-181-0/+6
| | | | | It is illegal to create or resize a window to zero (or negative) width and/or height. This patch prevents such a request from happening.
* wayland-egl: automake: add symbol testEmil Velikov2014-02-112-0/+18
| | | | | Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
* wayland: silence unused var warningFabio Pedretti2013-10-301-2/+0
| | | | Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
* wayland: Don't leak wl_drm global when unbinding displayAnder Conselvan de Oliveira2013-10-221-2/+5
|
* egl-wayland: Add support for RGB565 pixel format for Wayland clientsSingh, Satyeshwar2013-10-151-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>
* wayland: Don't rely on static variable for identifying wl_drm buffersKristian Høgsberg2013-10-112-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>
* wayland-egl.pc requires wayland-client.pc.Torsten Duwe2013-09-111-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>
* egl: Do not export private symbolsChad Versace2013-08-082-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>
* egl: Update to Wayland 1.2 server APIAnder Conselvan de Oliveira2013-08-072-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>
* wayland: Add prime fd passing as a buffer sharing mechanismKristian Høgsberg2013-03-183-9/+67
| | | | Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com>
* Clean up .gitignore filesMatt Turner2013-01-101-1/+0
|
* egl/wayland: Don't invalidate drawable on swap buffersAnder Conselvan de Oliveira2012-11-302-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
* wayland: Drop support for ill-defined, unused wl_egl_pixmapKristian Høgsberg2012-10-172-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.
* wayland: Remove 0.85 compatibility #ifdefsKristian Høgsberg2012-10-171-26/+0
|
* wayland: Include wl_drm format enum in wayland-drm.hKristian Høgsberg2012-07-171-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.
* gbm: Add new gbm_bo_import entry pointKristian Høgsberg2012-07-161-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.
* wayland: Stop trying to use make rules from aclocal, just copy and pasteKristian Høgsberg2012-07-132-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>
* egl: Add EGL_WAYLAND_PLANE_WL attributeKristian Høgsberg2012-07-111-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>
* wayland-drm: Add protocol to create planar buffersKristian Høgsberg2012-07-113-20/+90
|
* wayland-drm: Pass struct wl_drm_buffer to the driverKristian Høgsberg2012-07-112-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.
* wayland-drm: Implement wl_buffer.damage in old versions of WaylandNeil Roberts2012-04-121-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().
* wayland-drm: remove wl_buffer.damagePekka Paalanen2012-04-101-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>
* 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 <eric@anholt.net>
* Add .deps/, .libs/, and *.la to toplevel .gitignorePaul Berry2012-03-201-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>
* add wayland cflags when building wayland-eglJuan Zhao2012-01-291-1/+2
| | | | to fix the header file missing when building wayland-egl
* automake: src/egl/waylandBenjamin Franzke2012-01-268-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>
* wayland-drm: Drop the non-premul formats, use format codes from drm_fourcc.hKristian Høgsberg2012-01-112-9/+66
|
* egl_dri2/wayland: handle creating xrgb8888 imagesRobert Bragg2012-01-112-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>
* configure: replace pkg-config calls with $(PKG_CONFIG) in the makefiles.Stéphane Marchesin2011-10-041-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>
* wayland: Use wl_resource_* error functionsKristian Høgsberg2011-09-011-10/+10
|
* wayland-drm: Fix compilation with wayland masterBenjamin Franzke2011-09-011-9/+9
| | | | c661ecce introduced some not-yet-upstream stuff.
* wayland: Track changes to drop wl_visualKristian Høgsberg2011-08-315-24/+37
|
* wayland: Track server side wayland changesKristian Høgsberg2011-08-311-34/+36
|
* wayland-drm: Add copyright notice to protocolBenjamin Franzke2011-07-271-0/+27
| | | | Fixes build since wayland 986703ac7365bc87a5501714adb9fc73157c62b7.