summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* build: bump to version 8.0.0 for the official release8.0.08.0Simon Ser2020-01-241-1/+1
|
* build: avoid Xlib.h via EGL headersPekka Paalanen2020-01-241-0/+2
| | | | | | | | | | | | This should make EGL headers not pull in Xlib headers when no specific platform define is in effect. Use both the old Mesa-specific hack and the new official define EGL_NO_X11 to have this work on both old and new EGL headers. Fixes: https://gitlab.freedesktop.org/wayland/weston/issues/350 Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* ivi-application: fix typoVeeresh Kadasani2020-01-241-1/+1
| | | | Signed-off-by: Veeresh Kadasani <external.vkadasani@jp.adit-jv.com>
* build: bump to version 7.0.93 for the RC1 release7.0.93Simon Ser2020-01-171-1/+1
|
* desktop-shell: Do not try to add a child to a non-existent parentMarius Vlad2020-01-171-4/+11
| | | | | | | | | | | | | | Introduced with a8da2084, it seems that there are cases when there's no parent available (zenity, for instance). Removes any potential child and re-initialize it, in case the parent is not set. (Simon Ser) Fixes: #340 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Reviewed-by: Simon Ser <contact@emersion.fr> Reported-by: n3rdopolis <bluescreenavenger@gmail.com>
* backend-rdp: unref keymap after associating with seatStefan Agner2020-01-131-0/+1
| | | | | | | | | The function weston_seat_init_keyboard makes sure that it has its own reference to keymap, hence we can safely drop our reference. This is similarly done in the X11 backend. It avoids leaking a struct xkb_keymap per connection. Signed-off-by: Stefan Agner <stefan@agner.ch>
* backend-rdp: use compositor wide struct xkb_contextStefan Agner2020-01-131-8/+2
| | | | | | | | Instead of allocating our own copy of struct xkb_context use the compositor wide instance. This avoids leaking of a struct xkb_context per connection as well. Signed-off-by: Stefan Agner <stefan@agner.ch>
* backend-rdp: constify keyboard layout informationStefan Agner2020-01-131-2/+2
| | | | | | | Those information remain constant during execution, so mark them as const. Signed-off-by: Stefan Agner <stefan@agner.ch>
* backend-rdp: disconnect and free peers on compositor shutdownStefan Agner2020-01-131-0/+9
| | | | | | | | Properly disconnect and free all RDP peers on compositor shutdown. This makes sure that all events are disabled, which should avoid any race conditions with pending events. Signed-off-by: Stefan Agner <stefan@agner.ch>
* backend-rdp: unregister events before shuting down compositorStefan Agner2020-01-131-4/+4
| | | | | | | Like the other backends we should unregister events before shutting down the compositor. Signed-off-by: Stefan Agner <stefan@agner.ch>
* desktop-shell: make sure child window stays activeStefan Agner2020-01-131-1/+52
| | | | | | | | | | | | | | | | | | | If a xdg_toplevel surface has a child (or multiple), the desktop shell still allows to activate the parent. This can be problematic with modal dialogs such as message boxes which then are hidden behind the main window, which might be non-responsive to inputs at this this point. The protocol specifies set_parent as follows: "Set the 'parent' of this surface. This surface should be stacked above the parent surface and all other ancestor surfaces." Track parent/child relationship in desktop-shell. Follow the protocol recommendation and make sure the child stays stacked above the parent. Fixes: #231 Signed-off-by: Stefan Agner <stefan@agner.ch>
* build: bump to version 7.0.92 for the beta release7.0.92Simon Ser2019-12-201-1/+1
|
* clients/presentation-shm: Add missing dependency on xdg-shell protocolMichael Forney2019-12-181-0/+2
| | | | Signed-off-by: Michael Forney <mforney@mforney.org>
* backend-rdp: report a zero physical size to compositorLeandro Ribeiro2019-12-171-2/+3
| | | | | | | | | | | | | | | | | | | The RDP-backend is reporting a non-zero physical size value, and there are some clients that get the resolution in pixels directly from the physical size reported. This leads to a resolution of 25.4 PPI (or 1px/1mm), which is too small. But there's no need for that. The physical size is reported on enabling the output (in the case of RDP-backend we have no information about it before this), and the resolution is already set in this moment. Report a zero physical size to compositor, what makes frontend and clients use their default values and applications become readable. Signed-off-by: Leandro Ribeiro <leandrohr@riseup.net>
* gitlab-ci: install xwaylandPekka Paalanen2019-12-132-1/+2
| | | | | | | The reason the Xwayland test skips is that Xwayland was not installed. We should exercise Xwayland as well in CI, so install it. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* gitlab-ci: wrap and alphabetize apt-get linePekka Paalanen2019-12-131-1/+53
| | | | | | | | This line is far too long, it makes it really had to see in a diff what changed. Wrap it into multiple lines and sort them alphabetically. If a piece of it changes in the future, it will be easy to see in a diff. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* gitlab-ci: image build should fail on failed commandsPekka Paalanen2019-12-121-1/+1
| | | | | | | Ensure that no command in the script fails silently. If any command fails, the image is likely broken. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* xwm: debug ConfigureWindowPekka Paalanen2019-12-121-19/+59
| | | | | | | Print all ConfigureWindow messages XWM sends. Helps debugging XWM why fullscreening doesn't work right. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* xwm: xcb_configure_window() takes uint16_tPekka Paalanen2019-12-121-2/+4
| | | | | | | The mask argument is uint16_t so declare the variable with the same. Suggested-by: Daniel Stone <daniels@collabora.com> Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* xwm: debug what kind decoration is drawnPekka Paalanen2019-12-121-2/+7
| | | | | | | Knowing the kind of decoration drawn will help track down issues with unexpected decorations. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* xwm: debug _XWAYLAND_ALLOW_COMMITSPekka Paalanen2019-12-121-0/+3
| | | | | | | Print the changes to the debug scope, helping to figure out why Xwayland is or is not committing. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* xwm: add newline to cardinal arrayPekka Paalanen2019-12-121-0/+1
| | | | | | | Add the missing newline to printing a property that is of type cardinal array. Fixes messed up debug scope output. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* clients/simple-dmabuf-egl: Add some notes when using direct-displayMarius Vlad2019-12-111-1/+7
| | | | | | | | | | | | | protocol As dmabuf uses a different coordinate (top-left) system than OpenGL (bottom-left) using both direct-display with the Y_INVERT dmabuf attrib flag would result in the image being inverted (direct-display will remove the Y_INVERT flag, which caused the image to be displayed correctly). Notifies users that direct-display is in use. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Suggested-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* screen-share: define variable type before using as function argumentLeandro Ribeiro2019-12-111-1/+2
| | | | | | | | | | | | | Define the void pointer as pixman_region32_t instead of using it directly. Void pointers are used by generic API's so each user can define a data type as needed. Not doing this is dangerous, since void pointers implicitly cast from/to any pointer without giving warnings. So we must define its type instead of using it directly in a function call. Signed-off-by: Leandro Ribeiro <leandrohr@riseup.net>
* backend-drm: Make boolean fields actually boolEmmanuel Gil Peyrot2019-12-114-30/+30
| | | | | Continues what dd8219b3fb4280bab83b4ab29ce58bac6db3c443 started, also in the DRM backend.
* backend-drm: Remove unused variableEmmanuel Gil Peyrot2019-12-112-4/+0
| | | | Its last usage was removed in 31838bf17e3a5a5e39e25700496c7f8315ecab42.
* clients/window: drop support for rgb565Leandro Ribeiro2019-12-112-57/+8
| | | | | | | | | | | | Remove member preferred_format from struct window and hardcode ARGB32 pixel format for clients/window. The member preferred_format was first added to allow hinting of a preference for RGB565 when creating a window. But it is not being used for a long time now. So it's safe to remove it from the code, dropping support for RGB565 in clients/window. Signed-off-by: Leandro Ribeiro <leandrohr@riseup.net>
* CI: Bump ci-templates dependency for working pipDaniel Stone2019-12-111-1/+1
| | | | | | | | | | | | | | | | wayland/ci-templates!18 allows the $HOME environment variable to propagate into the execution of creating our build container. Without that, buildah would leave us with an empty $HOME, which would have pip install into /.local/bin. As $HOME is preserved during our actual native builds, we would try to find meson in /root/.local/bin and fail, since it had been stored to a different path. Bump the ci-templates dependency to one with the fix so we can build new images again. Signed-off-by: Daniel Stone <daniels@collabora.com>
* backend-drm: Define potentially missing aspect-ratio bit definitionsStefan Agner2019-12-091-0/+12
| | | | | | | | | | | The aspect ratio definitions for 64:27 and 256:135 have been added with libdrm 2.4.95. However, Weston currently depends on libdrm 2.4.89 or higher. Define the definitions in Weston to support libdrm older than 2.4.95. Fixes: #332 Fixes: 6093772f45a4 ("backend-drm: Use aspect-ratio bit definitions from libdrm") Signed-off-by: Stefan Agner <stefan@agner.ch>
* renderer: change all frame_signal emission to pass previous_damageStefan Agner2019-12-092-2/+2
| | | | | | | | | | | | | | | Commit adaf8c7410da ("renderer: change frame_signal emission to pass previous_damage as data argument") missed updating all frame_signal emissions. Later commit 2619bfe420 ("move frame_signal emission to weston_output_repaint()") fixed this deficency along with moving the location of the emission. Due to an issue of the location change, this commit had to be reverted again. This makes sure that the pixman as well as the GL renderer now also emits the damage region instead of the Weston output. Fixes: adaf8c7410da ("renderer: change frame_signal emission to pass previous_damage as data argument") Signed-off-by: Stefan Agner <stefan@agner.ch>
* build: bump to version 7.0.91 for the alpha release7.0.91Simon Ser2019-12-061-1/+1
|
* libweston: remove previous_damage from struct weston_outputLeandro Ribeiro2019-12-044-10/+0
| | | | | | | | The member previous_damage from struct weston_output is no longer necessary. First, stop calling init, fini and copying output_damage to it. Then remove it from struct weston_output. Signed-off-by: Leandro Ribeiro <leandrohr@riseup.net>
* gitlab-ci: Update ci-templates to latest SHA commitMarius Vlad2019-12-031-1/+1
| | | | Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
* Revert "move frame_signal emission to weston_output_repaint()"Leandro Ribeiro2019-12-033-1/+2
| | | | | | | | | | The emission of frame_signal has to happen before a flip, otherwise glReadPixels() could read an old frame or even worse an uninitialized buffer. So move frame_signal emission back to renderers. This reverts commit 2619bfe420c493b0adef57cf2f57b3b5fe7d7078. Signed-off-by: Leandro Ribeiro <leandrohr@riseup.net>
* clients: remove leftover from simple-dmabuf-drmSimon Ser2019-12-021-3074/+0
| | | | | | | | This header is not used anymore. Signed-off-by: Simon Ser <contact@emersion.fr> Fixes: 0a4f6e7d6d63 ("clients: drop simple-dmabuf-drm") Reported-by: Marius Vlad <marius.vlad@collabora.com>
* xwayland: Remove unused variableLink Mauve2019-12-011-3/+0
|
* option-parser: Make bools booleanDaniel Stone2019-11-289-86/+51
| | | | | | | | | | | When option-parser is confronted with a boolean option, have it write a bool rather than treating the value as a pointer to an int32. (lib)weston already heavily uses bool types internally, so this has the nice side effect of eliminating quite a few local variables which only existed as integer shadows of internal boolean variables. Signed-off-by: Daniel Stone <daniels@collabora.com>
* tests/config-parser: Remove useless duplicate testDaniel Stone2019-11-281-28/+15
| | | | | | | test012 and test013 were exact duplicates of each other: asserting that they could successfully look up a single boolean value. Signed-off-by: Daniel Stone <daniels@collabora.com>
* config-parser: Make get_bool be boolDaniel Stone2019-11-287-75/+83
| | | | | | | | | | Wayland innovated a lot of cool things, but non-binary boolean values is the great advances of our time. Make config_parser_get_bool() work on boolean values, and switch all its users. Signed-off-by: Daniel Stone <daniels@collabora.com>
* clients: drop simple-dmabuf-drmSimon Ser2019-11-285-1091/+3
| | | | | | | | | | | | | | | | | | This client contains driver-specific code to allocate buffers. However clients shouldn't contain driver-specific code and should rely on e.g. mesa to allocate buffers via standard interfaces. Additionally, because the build system always tries to enable all features, some experimental drivers and drivers that aren't included in amd64 distribution packages were required. Users would need to manually disable some drivers. Releasers would need to install libdrm from source (because the release process forbids adding custom build flags). Dropping simple-dmabuf-drm simplifies both building and releasing. The functionality previously tested via simple-dmabuf-drm can now be tested with simple-dmabuf-egl. Signed-off-by: Simon Ser <contact@emersion.fr>
* backend-drm: Use aspect-ratio bit definitions from libdrmDaniel Stone2019-11-273-12/+14
| | | | | | | | | | | | | | | | | | | | | | | When the aspect-ratio-aware mode support was added to Weston, it was done before the libdrm support was finalised and merged. Between it being added to Weston and being merged, it changed to no longer provide the offset for the bitmask. Instead of using the mask and a compatible enum, if we update our libdrm dependency, we can use the flag definitions directly from libdrm. In 94e4068ba171, the libdrm dependency was bumped to 2.4.83, which enabled us to remove a bunch of error-prone ifdefs by making atomic and modifier support mandatory. We determined in the discussion of !311 that it was safe to push the dependency as high as 2.4.91, as that was what was available in major distributions. Bumping to 2.4.86 allows us to safely remove the ifdef and go with upstream flags, as that was added in mesa/drm@0d889201d106. Signed-off-by: Daniel Stone <daniels@collabora.com>
* screen-share: get previous_damage from data argument instead of weston_outputLeandro Ribeiro2019-11-271-2/+1
| | | | | | | | | Instead of getting previous_damage from the weston_output struct, get it from the frame_signal data argument. This will make possible to remove previous_damage from weston_output after we decide what to do with output->previous_damage usage in DRM backend. Signed-off-by: Leandro Ribeiro <leandrohr@riseup.net>
* screenshooter: get previous_damage from data argument instead of weston_outputLeandro Ribeiro2019-11-271-2/+1
| | | | | | | | | Instead of getting previous_damage from the weston_output struct, get it from the frame_signal data argument. This will make possible to remove previous_damage from weston_output after we decide what to do with output->previous_damage usage in DRM backend. Signed-off-by: Leandro Ribeiro <leandrohr@riseup.net>
* renderer: change frame_signal emission to pass previous_damage as data argumentLeandro Ribeiro2019-11-271-1/+1
| | | | | | | | This will make possible to users that are listening to frame_signal to get previous_damage from the data parameter instead of using output->previous_damage. Signed-off-by: Leandro Ribeiro <leandrohr@riseup.net>
* tests: stop using frame_signal 'void *data' argument to get weston_outputLeandro Ribeiro2019-11-271-1/+3
| | | | | | | | | Instead of getting weston_output from the frame_signal argument 'void *data', add weston_output in the private data struct of the users that are listening to frame_signal. With this change we are able to pass previous_damage as the data argument. Signed-off-by: Leandro Ribeiro <leandrohr@riseup.net>
* screenshooter: stop using frame_signal void *data parameter to get weston_outputLeandro Ribeiro2019-11-271-2/+4
| | | | | | | | | Instead of getting weston_output from the frame_signal argument 'void *data', add weston_output in the private data struct of the users that are listening to frame_signal. With this change we are able to pass previous_damage as the data argument. Signed-off-by: Leandro Ribeiro <leandrohr@riseup.net>
* move frame_signal emission to weston_output_repaint()Leandro Ribeiro2019-11-273-2/+1
| | | | | | | | In order to remove duplication and make the code easier to follow, move frame_signal emission from renderers to weston_output_repaint(). This should have no observable effect. Signed-off-by: Leandro Ribeiro <leandrohr@riseup.net>
* gl-renderer: Add support for XYUV format (v2)Vivek Kasireddy2019-11-252-1/+39
| | | | | | | | | | | Accept XYUV dmabuf buffers that a client application such as weston-simple-dmabuf-v4l might submit. v2 (Daniel): Add XYUV to yuv_formats array to have the compositor color convert with a shader if GL_TEXTURE_EXTERNAL_OES does not work. Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
* gl-renderer: Replace EGL_*_WL macros with locally defined enumsVivek Kasireddy2019-11-251-8/+14
| | | | | | | | | | Instead of using the EGL_*_WL macros imported from EGL headers, start using enums that would be defined locally. This is needed as there are limited number of macros defined in EGL headers and adding new ones is not practically feasible when adding a new texture type. (suggested by Daniel Stone) Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
* desktop-shell: Set 1x1 buffers for solid-color backgroundsHarish Krupo2019-11-251-0/+6
| | | | | | | | When we are going to set a solid color for the background, use a 1x1 buffer and set the viewport to the full size. This avoids un-necessary allocation of buffer memory. Signed-off-by: Harish Krupo <harish.krupo.kps@intel.com>