Pekka Paalanen [Mon, 4 Jul 2016 13:25:15 +0000 (16:25 +0300)]
clients/dmabuf-v4l: explain vivid setup
Add very short explanation on how to set up Vivid driver, when you don't
have suitable V4L2 device to use.
Using the XR24 (DRM_FORMAT_XRGB8888) format practically guarantees that
you can test direct scanout on a hardware overlay, too. At least on PC
hardware that has overlays. Tested to work on Intel.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Emil Velikov [Mon, 15 Aug 2016 15:31:11 +0000 (16:31 +0100)]
README: fix s/libwayland/libweston/ typo
Since one is (about to be) using libweston, they should check for it as
opposed to libwayland.
Silly copy/paste mistake that would have caused a lot of confusion.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Benoit Gschwind [Wed, 18 May 2016 19:32:12 +0000 (21:32 +0200)]
compositor-x11: remove redundant state arg of x11_backend_deliver_button_event
The "state" variable in x11_backend_deliver_button_event is basically the
same as (event->response_type == XCB_BUTTON_PRESS), thus update the code
to use the last one.
Signed-off-by: Benoit Gschwind <gschwind@gnu-log.net>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Benoit Gschwind [Wed, 18 May 2016 19:32:11 +0000 (21:32 +0200)]
compositor-x11: add assert to avoid misuse of x11_backend_deliver_button_event
The x11_backend_deliver_button_event can be called with any
xcb_generic_event. The assert check if the call is done with the
expected events.
Signed-off-by: Benoit Gschwind <gschwind@gnu-log.net>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Derek Foreman [Fri, 8 Jul 2016 17:50:57 +0000 (12:50 -0500)]
compositor-drm: Stop sending uninit data to the kernel
Valgrind noticed that we send uninit data to drmModeAddFB2. While
the kernel should never read this (because of the plane format),
it's probably still nicer to zero the data before we send it.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
Pekka Paalanen [Mon, 15 Aug 2016 11:06:15 +0000 (14:06 +0300)]
configure.ac: check weston vs. libweston versions
Check that the defined versions for Weston and libweston are consistent
and according to the version bumping rules:
- In pre-release and only pre-release versions the weston and libweston
may differ
- when they differ, libweston version must be exactly (weston.major+1).0.0
- otherwise, the versions must be exactly the same.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Acked-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Pekka Paalanen [Mon, 15 Aug 2016 11:16:05 +0000 (14:16 +0300)]
configure.ac: bump libweston version to match weston
This bump is required for the following patch that adds strict version
consistency checking between weston and libweston.
This bumps libweston major from 0 to 1. All libweston users need to
adapt. This major bump would have to be made on the 1.11.91 release
anyway.
Cc: Giulio Camuffo <giuliocamuffo@gmail.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Pekka Paalanen [Wed, 10 Aug 2016 11:54:08 +0000 (14:54 +0300)]
README: updates on libweston versioning
We have agreed to use the major as the ABI-version, so talk about major
to avoid confusion.
Remove unncessary or incorrect wording related to breaking ABI on minor
bumps.
Explain a little about the weston vs. libweston version numbers.
v2:
- Add a paragraph about ABI breaks between alpha and .0 releases.
- clarify pre-release definition
- Add two paragraphs about libweston versions differing from weston
version and how to use pkg-config properly.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Pekka Paalanen [Wed, 10 Aug 2016 09:06:43 +0000 (12:06 +0300)]
releasing: how to handle libweston
libweston has separate version numbering from weston because of
development needs.
During development, weston version is major.minor.90 which will never be
a release version number. While developing, we may break the libweston
backward-compatibility, in which case libweston_major_version will be
bumped. This means that libweston_major_version > weston_major_version
but only during the development period and for the pre-releases. When
the official x.y.0 release is made, weston and libweston versions will
get synchronized as explained in releasing.txt.
The reason we do this is that e.g. during the weston 3.0.90 development
period we must be able to install libweston-4.so because the development
has broken the compatibility and so we cannot install it as libweston-3.so
anymore. However, we cannot bump weston to 4.0.90, because then the
official release would go backwards in numbers to 4.0.0.
This also means that weston pre-releases major.minor.9x may install
libweston-(major+1).so. There is also libweston-(major+1).pc file but it
will give the weston version as the version number. IOW, pkg-config
check for 'libweston-M < M.0.0' matches only the pre-releases of the
libweston major version M. Hence, 'libweston-M >= M.0.0' cannot be
satisfied by pre-releases.
The weston and libweston version numbers MUST be identical in all
releases except the pre-releases major.minor.9x.
When the 1.11.91 pre-release is made, the rules imply that libweston
version will be bumped from 0.0.0 to 1.11.91. The bumping will continue
up to the 1.12.0 release. After the bump to 1.12.90, the libweston
version may be bumped to 2.0.0. Then the rules imply that:
- 1.12.9x pre-releases install libweston 2.0.0
- the next .0 release is 2.0.0 containing libweston 2.0.0
If the 1.12 stable branch will see additional releases, those will be
numbered 1.12.1, 1.12.2, etc. with the libweston version being the same
as the release version number.
If we have release 2.0.91 without libweston major bump, then libweston
version will match the release version, leading up to 2.1.0.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Quentin Glidic [Sun, 29 May 2016 11:39:26 +0000 (13:39 +0200)]
weston-launch: Only run a login shell for new sessions
This way, the environment is correctly preserved for weston. Since
commit
636156d5f693ac5b01cec6a2937d2b6cd4237ea9, clearenv() is only
called when we open a new PAM session, so it makes sense to only use a
login shell in that case.
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Quentin Glidic [Sun, 10 Jul 2016 09:00:54 +0000 (11:00 +0200)]
libweston/launcher-weston-launch: Silence unused-function warning
libweston/launcher-weston-launch.c:58:1: warning: unused function
'is_drm_master' [-Wunused-function]
is_drm_master(int drm_fd)
^
Warning produced by Clang 3.8.
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com>
Quentin Glidic [Sun, 10 Jul 2016 09:00:53 +0000 (11:00 +0200)]
libweston: Silence tautological-compare warning
libweston/compositor.c:5023:14: warning: comparison of unsigned enum
expression < 0 is always false [-Wtautological-compare]
if (backend < 0 || backend >= ARRAY_LENGTH(backend_map))
~~~~~~~ ^ ~
Warning produced by Clang 3.8.
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com>
Quentin Glidic [Sun, 10 Jul 2016 09:00:51 +0000 (11:00 +0200)]
shared/image: Silence maybe-uninitialized warning
shared/image-loader.c: In function 'load_image':
shared/image-loader.c:434:12: warning: 'image' may be used uninitialized
in this function [-Wmaybe-uninitialized]
} else if (!image) {
^
Warning produced by GCC 5.3 and 6.1, with -Og.
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com>
Quentin Glidic [Sun, 10 Jul 2016 09:00:50 +0000 (11:00 +0200)]
gl-renderer: Silence maybe-uninitialized warning
libweston/gl-renderer.c: In function 'compress_bands':
libweston/gl-renderer.c:481:6: warning: 'merged' may be used
uninitialized in this function [-Wmaybe-uninitialized]
if (!merged) {
^
Warning produced by GCC 5.3 and 6.1, with -Og.
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com>
Yann E. MORIN [Tue, 9 Aug 2016 18:11:59 +0000 (20:11 +0200)]
libweston/compositor-rdp: fix no-break space U+A0 (U8+C2A0)
There is a UTF-8 no-break space (U+A0, U8+C2A0) in the definition of
macro NSC_RESET in the case of 1.2.2 <= FreeRDP < 2.0.
This is causing build issues (\302 is 0xC2, \240 is 0xA0):
http://autobuild.buildroot.net/results/f49/
f49a9cbb7bdc5d9e05dcf0a20bd83f059e234e74/build-end.log
Fix that by using a plain, boring space U+20.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
Jonas Ådahl [Fri, 12 Aug 2016 02:01:29 +0000 (10:01 +0800)]
clients/simple-dmabuf-v4l: Port to xdg_shell unstable v6
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Bryce Harrington <bryce@osg.samsung.com>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Jonas Ådahl [Thu, 11 Aug 2016 15:44:41 +0000 (23:44 +0800)]
clients/simple-dmabuf-intel: Port to xdg_shell unstable v6
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Bryce Harrington <bryce@osg.samsung.com>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Jonas Ådahl [Thu, 11 Aug 2016 15:39:31 +0000 (23:39 +0800)]
clients/simple-damage: Port to xdg_shell unstable v6
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Bryce Harrington <bryce@osg.samsung.com>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Jonas Ådahl [Thu, 11 Aug 2016 15:29:38 +0000 (23:29 +0800)]
clients/simple-shm: Port to xdg_shell unstable v6
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Bryce Harrington <bryce@osg.samsung.com>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Jonas Ådahl [Thu, 11 Aug 2016 15:13:20 +0000 (23:13 +0800)]
clients/simple-egl: Port to xdg_shell unstable v6
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Bryce Harrington <bryce@osg.samsung.com>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Jonas Ådahl [Tue, 9 Aug 2016 10:15:43 +0000 (18:15 +0800)]
toytoolkit: Port to xdg_shell unstable v6
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Bryce Harrington <bryce@osg.samsung.com>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Quentin Glidic [Mon, 15 Aug 2016 10:21:39 +0000 (12:21 +0200)]
libweston-desktop: Drop (wrongly named) new_buffer in committed
Instead we store the buffer move and just use it when the signal is
fired.
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Quentin Glidic [Mon, 15 Aug 2016 10:20:22 +0000 (12:20 +0200)]
libweston-desktop/xdg_shell_v6: Check for buffer directly in committed
This is what we are interested in for real, and new_buffer is wrongly
named.
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Quentin Glidic [Fri, 12 Aug 2016 08:41:37 +0000 (10:41 +0200)]
libweston-desktop: Implement xdg_shell_v6
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Giulio Camuffo <giulio.camuffo@kdab.com>
Differential Revision: https://phabricator.freedesktop.org/D1210
Jonas Ådahl [Mon, 15 Aug 2016 09:31:02 +0000 (17:31 +0800)]
Makefile.am: Include files built for libweston-desktop in BUILT_SOURCES
Without this make distcheck fails would we ever add any other built
sources to libweston-desktop. Also remove the now redundant leftover
nodist sources from desktop-shell source list.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Quentin Glidic [Mon, 15 Aug 2016 08:35:45 +0000 (10:35 +0200)]
libweston-desktop: Fix libweston-desktop.pc
Also remove ${pkgincludedir} to be on par with libweston.pc.
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Quentin Glidic [Fri, 12 Aug 2016 08:41:36 +0000 (10:41 +0200)]
desktop-shell: Port to libweston-desktop
All the shell protocol details, Xwayland glue and popups (and their
grab) are now handled in libweston-desktop.
Fullscreen methods (for wl_shell) are removed for now.
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Giulio Camuffo <giulio.camuffo@kdab.com>
Differential Revision: https://phabricator.freedesktop.org/D1209
Quentin Glidic [Fri, 12 Aug 2016 08:41:35 +0000 (10:41 +0200)]
xwayland: Introduce a private struct for XWayland interface
libweston-desktop implements this private struct.
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Giulio Camuffo <giulio.camuffo@kdab.com>
Differential Revision: https://phabricator.freedesktop.org/D1208
Quentin Glidic [Fri, 12 Aug 2016 08:41:34 +0000 (10:41 +0200)]
Introduce libweston-desktop
libweston-desktop is an abstraction library for compositors wanting to
support desktop-like shells.
The API is designed from xdg_shell features, as it will eventually be
the recommended shell for modern applications to use.
In the future, adding new shell protocols support will be easier, as
limited to libweston-desktop.
The library versioning is the same as libweston. If one of them break
ABI compatibility, the other will too.
The compositor will only ever see toplevel surfaces (“windows”), with
all the other being internal implementation details.
Thus, popups and associated grabs are handled entirely in
libweston-desktop.
Xwayland special surfaces (override-redirect) are special-cased to a
dedicated layer, as the compositor should not know about them.
All the shell error checking is taken care of too, as well as some
specification rules (e.g. sizes constraint for maximized and fullscreen
surfaces).
All the compositor has to do is define a few callbacks in the interface
struct, and manage toplevel surfaces.
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Giulio Camuffo <giulio.camuffo@kdab.com>
Differential Revision: https://phabricator.freedesktop.org/D1207
Quentin Glidic [Fri, 12 Aug 2016 08:41:33 +0000 (10:41 +0200)]
libweston: Rename weston_surface::configure to ::committed
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Giulio Camuffo <giulio.camuffo@kdab.com>
Differential Revision: https://phabricator.freedesktop.org/D1246
Quentin Glidic [Fri, 12 Aug 2016 08:41:32 +0000 (10:41 +0200)]
input: Add helpers for all keyboard/pointer/touch events
These are useful to implement grabs.
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Acked-by: Giulio Camuffo <giulio.camuffo@kdab.com>
Differential Revision: https://phabricator.freedesktop.org/D1245
Armin Krezović [Thu, 11 Aug 2016 13:49:59 +0000 (15:49 +0200)]
fullscreen-shell: Ensure that fs surface is presented on all outputs
When no outputs are present, and no output resource is given,
a fullscreen surface won't get configured. This code ensures
that surface is properly presented on all outputs that get
connected after a surface has been created, but only if no
output resource was previously given.
Signed-off-by: Armin Krezović <krezovic.armin@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Armin Krezović [Thu, 11 Aug 2016 13:49:58 +0000 (15:49 +0200)]
libweston: fix animation crash when a view has no output assigned
This fixes a crash in animation related code where weston
would crash in weston_view_animation_create when the
view had no output assigned.
This makes sure that animation gets created and released
immediately, so done and reset callbacks still get called
properly.
Signed-off-by: Armin Krezović <krezovic.armin@gmail.com>
[Pekka: put a '{' on the right line.]
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Pekka Paalanen [Thu, 11 Aug 2016 14:56:48 +0000 (17:56 +0300)]
configure: bump Wayland requirement to 1.11.90
Commit
4ef719c416c4e455b6b29b7c1e60df1d3fa26fe4
"libweston: Implement wl_output version 3 (release request)"
depends on the Wayland commit
bad9dc5186e46ab92e1680d1f0ea4a4d4f0f7211
"protocol: Add release (destructor) request to wl_output"
Reported-by: Armin Krezović <krezovic.armin@gmail.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Quentin Glidic [Tue, 5 Jul 2016 18:44:33 +0000 (20:44 +0200)]
libweston: Implement wl_output version 3 (release request)
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Emre Ucan <eucan@de.adit-jv.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Armin Krezović [Fri, 5 Aug 2016 13:28:30 +0000 (15:28 +0200)]
gl-renderer: Make dummy surface current after all outputs are gone
When all outputs are gone, there are no current read/write
surfaces associated with a context. This makes the previously
created dummy surface current until an output gets attached
to avoid any potential crashes.
v2:
- Remove unnecessary objects
Signed-off-by: Armin Krezović <krezovic.armin@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Armin Krezović [Fri, 5 Aug 2016 13:28:29 +0000 (15:28 +0200)]
compositor: Mark all views as dirty when a new output is assigned
When all outputs are gone and views were created before they
were gone, such views would have no output object assigned and
nothing would assign it later. This makes sure all views are
set as dirty, so they can get an output assigned when an
output gets plugged in, if they didn't have any output assigned.
This change also works when a new output is added even if there already
are outputs in use. A view may be partly off-screen. If the new output
appears at a position where it overlaps an existing view, that view
should get updated.
It is enough to process only the main view_list, because views not on
that list are not shown for the moment and so do not need an immediate
update. Instead, they will get updated later as needed because making an
off-list view to go on-list inherently requires calling
weston_view_geometry_dirty().
Signed-off-by: Armin Krezović <krezovic.armin@gmail.com>
[Pekka: addes commit msg paragrapha 2 and 3.]
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Armin Krezović [Fri, 5 Aug 2016 13:54:18 +0000 (15:54 +0200)]
compositor-drm: Use non-cast functions to retrieve backend and output objects
This uses container_of instead of explicit cast to retrieve
backend and output objects from generic weston_backend and
weston_output pointers.
v2:
- Remove unneeded cast
- Remove unneeded line breaks
Signed-off-by: Armin Krezović <krezovic.armin@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Bryce Harrington [Thu, 4 Aug 2016 00:40:52 +0000 (17:40 -0700)]
Switch to use safe_strtoint instead of strtol
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Bryce Harrington [Thu, 4 Aug 2016 00:40:51 +0000 (17:40 -0700)]
Add safe_strtoint() helper
Adds a safe strtol helper function, modeled loosely after Wayland
scanner's strtouint. This encapsulates the various quirks of strtol
behavior, and streamlines the interface to just handling base-10 numbers
with a simple true/false error indicator and a uint32_t return by
reference.
Test cases are loosely derived from an earlier patch by Imran Zaman.
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Bryce Harrington [Thu, 4 Aug 2016 00:40:50 +0000 (17:40 -0700)]
option-parser: Improve error checking for strtol call
Make the error checking consistent with other strtol() calls.
Note that since strtol(nptr, &endptr) sets endptr == nptr if there were
no digits, this catches the case where the string was blank, so there's
no need to test *value != '\0'.
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Bryce Harrington [Thu, 4 Aug 2016 00:40:49 +0000 (17:40 -0700)]
xwayland: Improve error checking for strtol call
This updates the error checking for the strtol() call in xwayland's
create_lockfile to match other cases. C.f.
cbc05378 and other recent
patches.
A notable difference here is that the existing error checking was
verifying that exactly 10 digits were being read from the lock file,
but the fact that it's 10 digits is just an implementation detail for
how we're writing it. The pid could be a shorter number of digits, and
would just be space-padded on the left.
This change allows the file to contain any number of digits, but it
can't be blank, all of the digits must be numeric, and the resulting
number must be within the accepted range.
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Bryce Harrington [Thu, 4 Aug 2016 00:40:48 +0000 (17:40 -0700)]
Standardize error checking for strtol calls
This tightens up the strtol() error checking in several places where it
is used for parsing environment variables, and in the backlight
interface that is reading numbers from files under /sys/class/backlight.
All of these uses are expecting strings containing decimal numbers and
nothing else, so the error checking can all be tightened up and made
consistent with other strtol() calls.
This follows the error checking style used in Wayland
(c.f. wayland-client.c and scanner.c) and c.f. commit
cbc05378.
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Armin Krezović [Mon, 1 Aug 2016 17:17:58 +0000 (19:17 +0200)]
compositor-x11: Use non-cast functions to retrieve backend and output objects
This uses container_of instead of explicit cast to retrieve
backend and output objects from generic weston_backend and
weston_output pointers.
Signed-off-by: Armin Krezović <krezovic.armin@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Armin Krezović [Mon, 1 Aug 2016 17:17:57 +0000 (19:17 +0200)]
compositor-wayland: Use non-cast functions to retrieve backend and output objects
This uses container_of instead of explicit cast to retrieve
backend and output objects from generic weston_backend and
weston_output pointers.
Signed-off-by: Armin Krezović <krezovic.armin@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Armin Krezović [Mon, 1 Aug 2016 17:17:56 +0000 (19:17 +0200)]
compositor-rdp: Use non-cast functions to retrieve backend and output objects
This uses container_of instead of explicit cast to retrieve
backend and output objects from generic weston_backend and
weston_output pointers.
Signed-off-by: Armin Krezović <krezovic.armin@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Armin Krezović [Mon, 1 Aug 2016 17:17:55 +0000 (19:17 +0200)]
compositor-headless: Use non-cast functions to retrieve backend and output objects
This uses container_of instead of explicit cast to retrieve
backend and output objects from generic weston_backend and
weston_output pointers.
Signed-off-by: Armin Krezović <krezovic.armin@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Armin Krezović [Fri, 29 Jul 2016 11:26:23 +0000 (13:26 +0200)]
compositor-drm: Do not exit when there are no outputs left
When there are no outputs left after a hotplug event, weston
will terminate. This isn't desired when trying to get weston
to work with zero outputs.
Signed-off-by: Armin Krezović <krezovic.armin@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Armin Krezović [Fri, 29 Jul 2016 11:26:22 +0000 (13:26 +0200)]
compositor-drm: Do not return an error when no connectors are configured
Returning an error when there are no connectors results in
weston terminating after that. That's not expected when
trying to get weston to start with zero drm outputs.
Signed-off-by: Armin Krezović <krezovic.armin@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Pekka Paalanen [Tue, 2 Aug 2016 08:35:39 +0000 (11:35 +0300)]
libweston: fix major in libweston.pc
Renames forgotten in "libweston: use new versioning scheme".
Cc: Emil Velikov <emil.velikov@collabora.com>
Cc: Quentin Glidic <sardemff7+git@sardemff7.net>
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Emil Velikov [Fri, 22 Jul 2016 13:52:42 +0000 (14:52 +0100)]
automake: list static libraries before the shared ones
The linker processes those in the order that they are given. Thus
as-it we can get unresolved symbols.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Emil Velikov [Fri, 22 Jul 2016 13:51:52 +0000 (14:51 +0100)]
libweston: remove pkgincludedir variable from libweston.pc
Common practise it to provide the includes directly into Cflags, hence
the variable is not needed and we can remove it.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Emil Velikov [Fri, 22 Jul 2016 13:51:51 +0000 (14:51 +0100)]
libweston: use new versioning scheme
Use the documented libweston-$major.so.0.$minor.$patch scheme.
An (almost) identical one is used by GLIB, GDK{2,3}, QT5, json-glib and
others.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Emil Velikov [Fri, 22 Jul 2016 13:51:50 +0000 (14:51 +0100)]
README: Document versioning scheme, forward compatibility
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Armin Krezović [Mon, 1 Aug 2016 16:51:46 +0000 (18:51 +0200)]
compositor: Extend compositor user data
This patch makes the compositor user data a structure
which can be expanded with new fields when necessary.
v2:
Don't export to_wet_compositor
Signed-off-by: Armin Krezović <krezovic.armin@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Jussi Kukkonen [Tue, 19 Jul 2016 11:16:27 +0000 (14:16 +0300)]
include stdint.h for int32_t/uint32_t
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
Yong Bakos [Tue, 26 Jul 2016 22:09:06 +0000 (17:09 -0500)]
gitignore: Ignore weston-confine client
Signed-off-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Bryce Harrington [Fri, 15 Jul 2016 01:28:04 +0000 (18:28 -0700)]
Re-apply "config-parser: Catch negative numbers assigned to unsigned config values"
[With hexadecimal color values now handled via their own routine,
re-introduce the negative unsigned numbers fix.]
strtoul() has a side effect that when given a string representing a
negative number, it treats it as a high value hexadecimal. IOW,
strtoul("-42", &val) sets val to 0xffffffd6. This could potentially
result in unintended surprise behaviors.
Catch this by using strtol() and then manually check for the negative
value. This logic is modelled after Wayland's strtouint().
Note that this change unfortunately reduces the range of parseable
numbers from [0,UINT_MAX] to [0,INT_MAX]. The current users of
weston_config_section_get_uint() are anticipating numbers far smaller
than either of these limits, so the change is believed to have no impact
in practice.
Also add a test case for negative numbers that catches this error
condition.
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Bryce Harrington [Fri, 15 Jul 2016 01:28:03 +0000 (18:28 -0700)]
config-parser: Add weston_config_section_get_color
Previously weston_config_section_get_uint was serving dual purpose for
parsing both unsigned decimal integer values (ids, counts, seconds,
etc.) and hexadecimal values (colors), by relying on strtoul's
auto-detection mechanism.
However, this usage is unable to catch certain kinds of error
conditions, such as specifying a negative number where an unsigned
should be used. And for colors in particular, it would misparse hex
values if the leading 0x was omitted. E.g. "background-color=
99999999"
would render a near-black background (effectively 0x05f5e0ff) instead of
medium grey, and "background-color=
ffffffff" would be treated as an
error rather than white. "background-color=0x01234567",
"background-color=
01234567", and "background-color=1234567" each
resulted in the value being parsed as hexadecimal, octal, and decimal
respectively, resulting in colors 0x01234567, 0x00053977, and 0x0012d687
being displayed.
This new routine forces hexadecimal to be used in all cases when parsing
color values, so "0x01234567" and "
01234567" result in the same color
value, "
99999999" is grey, and "
ffffffff" is white. It also requires
exactly 8 or 10 digits (other lengths likely indicate typos), or the
value "0" (black).
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Jonas Ådahl [Thu, 25 Jun 2015 09:45:01 +0000 (17:45 +0800)]
clients/confine: Toggle maximized state with 'm'
In order to test warping when pointer confinemen region changes, add
key binding to the maximized state without using the mouse.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Jonas Ådahl [Fri, 8 May 2015 06:18:11 +0000 (14:18 +0800)]
clients/confine: Add option for using a more complex confine region
By passing --complex-confine-region confine will draw an area looking
like a strange H in half transparent gray. This region will act as the
confine region when pointer confinement is activated (by right clicking).
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Jonas Ådahl [Fri, 8 May 2015 06:17:24 +0000 (14:17 +0800)]
window: Add API for manually set confine region
We can use this to test more complex confine regions.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Jonas Ådahl [Fri, 8 May 2015 05:54:44 +0000 (13:54 +0800)]
clients/confine: Reset motion lines on Backspace
Clear the white lines that is drawn by pointer motions. It makes it
easier to debug pointer movements as one won't need to restart confine
just to get a clean plate.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Jonas Ådahl [Thu, 30 Apr 2015 09:56:37 +0000 (17:56 +0800)]
input: Support non-rectangular pointer confine regions
This patch adds support for when the resulting pointer confinement region
is not a rectangle.
Support for this is implemented by converting the rectangles of the
region into the regions outer border. Pointer motions are then clamped
to these borders in order to not escape the confinement region.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Jonas Ådahl [Wed, 26 Nov 2014 09:47:29 +0000 (17:47 +0800)]
clients/confine: Use pointer confinement to confine drawed line
Use pointer confinement to make the line drawing not go outside the
drawing area. It is toggled with the letf pointer button.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Jonas Ådahl [Tue, 15 Mar 2016 10:14:00 +0000 (18:14 +0800)]
clients: Fork clickdot as confine
The new confine client will be used to demonstrate pointer confinement.
It is so far identical to clickdot except that it doesn't respond to
clicks.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Jonas Ådahl [Wed, 26 Nov 2014 09:40:42 +0000 (17:40 +0800)]
clients/resizor: Use pointer locking for resizing window
Resizes the window using pointer locking when holding the left pointer
button down. The pointer lock cursor position hint is used to warp the
pointer to the same position relative to the bottom right corner.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Jonas Ådahl [Tue, 25 Nov 2014 02:25:27 +0000 (10:25 +0800)]
clients: Add API for pointer locking and pointer confinement
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Jonas Ådahl [Fri, 22 Jul 2016 09:56:31 +0000 (17:56 +0800)]
Implement pointer locking and confinement
This patch implements the wp_pointer_constraints protocol used for
locking or confining a pointer. It consists of a new global object with
two requests; one for locking the surface to a position, one for
confining the pointer to a given region.
In this patch, only the locking part is fully implemented as in
specified in the protocol, while confinement is only implemented for
when the union of the passed region and the input region of the confined
surface is a single rectangle.
Note that the pointer constraints protocol is still unstable and as
such has the unstable protocol naming conventions applied.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Daniel Stone <daniels@collabora.com>
Jonas Ådahl [Fri, 22 Jul 2016 09:55:43 +0000 (17:55 +0800)]
input: Split out pointer button sending from grab handler
We'll use it elsewhere later.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Jonas Ådahl [Fri, 22 Jul 2016 09:54:55 +0000 (17:54 +0800)]
input: Split out motion sending from default grab
We'll reuse it later.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Jonas Ådahl [Fri, 22 Jul 2016 09:52:58 +0000 (17:52 +0800)]
weston-pointer: Add destroy signal
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Jonas Ådahl [Fri, 22 Jul 2016 09:50:26 +0000 (17:50 +0800)]
compositor: Pass both surface and seat in activation signal
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Jonas Ådahl [Fri, 22 Jul 2016 09:48:03 +0000 (17:48 +0800)]
compositor: Add surface commit signal
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Jonas Ådahl [Wed, 22 Oct 2014 19:21:17 +0000 (21:21 +0200)]
Implement the relative pointer protocol
A wp_relative_pointer object is an extension to the wl_pointer interface
only used for emitting relative pointer events. It will only emit events
when the parent pointer has focus.
To get a relative pointer object, use the get_relative_pointer request
of the global wp_relative_pointer_manager object.
The relative pointer protocol is currently an unstable protocol, so
unstable protocol naming conventions has been applied.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Jonas Ådahl [Wed, 29 Jul 2015 06:18:02 +0000 (14:18 +0800)]
input: Provide microsecond timestamps in motion events
Provide timestamps with microsecond granularity if the backend can
provide it. Backends that can't should set it to 0.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Jonas Ådahl [Tue, 21 Oct 2014 21:51:29 +0000 (23:51 +0200)]
libinput: Expose unaccelerated motion deltas in motion event struct
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Jonas Ådahl [Sat, 18 Oct 2014 16:42:19 +0000 (18:42 +0200)]
compositor: Keep track of what views were activated by clicking
Adds a weston_view_activate() that can be passed an additional active
flag WESTON_ACTIVATE_CLICKED, that the shell passes when a view was
activated by clicking.
This allows shell-independent components implement heuristics depending
on how a view was activated.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
Jonas Ådahl [Sat, 18 Oct 2014 16:20:16 +0000 (18:20 +0200)]
desktop-shell: Pass a flag bitmask instead of bool to activate()
Although it currently only has one available flag, but that'll change.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
Jonas Ådahl [Sat, 18 Oct 2014 11:24:53 +0000 (13:24 +0200)]
desktop-shell: Make activate() take a view instead of surface
In preparation for further refactorings.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
Jonas Ådahl [Sat, 18 Oct 2014 11:09:56 +0000 (13:09 +0200)]
desktop-shell: Change switcher to track views
Preparation for future refactorings.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
Jonas Ådahl [Sat, 18 Oct 2014 10:23:20 +0000 (12:23 +0200)]
desktop-shell: Track the black surface by its view
In preparation for further refactoring.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Signed-off-by: Arnaud Vrac <avrac@freebox.fr>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Jonas Ådahl [Tue, 15 Mar 2016 12:28:51 +0000 (20:28 +0800)]
input: Activate view no matter the keyboard focus
Activate a view even though it effectively may already be active.
Without this, in later patches, it won't be possibe to track what view
was activated by clicking last, as a view which surface already had
keyboard focus, won't be activated.
To keep avoiding sending xdg_surface.configure events, only change the
keyboard focus if the focus actually changed.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Emil Velikov [Mon, 4 Jul 2016 13:57:12 +0000 (14:57 +0100)]
automake: add missing git-version.h dependency
compositor/main.c depends on the header, while the dependency isn't
specified. Thus depending on the order of how things are build we could
get a build failure.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Emil Velikov [Mon, 4 Jul 2016 13:57:11 +0000 (14:57 +0100)]
automake: list the the builddir include before the srcdir
Otherwise we'll pick up the stale (in-tree) generated source(s) over the
fresh (out-of-tree) ones.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Emil Velikov [Mon, 4 Jul 2016 14:34:24 +0000 (15:34 +0100)]
shared/platform.h: remove the local EGL platform (re)definitions
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Emil Velikov [Mon, 4 Jul 2016 14:34:23 +0000 (15:34 +0100)]
gl-renderer: remove local EGL platform (re)definitions
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Emil Velikov [Mon, 4 Jul 2016 14:34:22 +0000 (15:34 +0100)]
weston-egl-ext.h: add EGL platform definitions
Will allow us to consolidate the multiple definitions through the tree.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Emil Velikov [Mon, 4 Jul 2016 14:34:21 +0000 (15:34 +0100)]
clients/simple-egl: use weston_check_egl_extension over strstr
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Emil Velikov [Mon, 4 Jul 2016 14:34:20 +0000 (15:34 +0100)]
clients/nested: use weston_check_egl_extension over strstr
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Emil Velikov [Mon, 4 Jul 2016 14:34:19 +0000 (15:34 +0100)]
shared/platform.h: use weston_check_egl_extension over strstr
The later can give false positives.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Emil Velikov [Mon, 4 Jul 2016 14:34:18 +0000 (15:34 +0100)]
gl-renderer: move check_extension() to shared/
... prefixing it with a "weston_". This way we can reuse it across the
board, instead of the current strstr. The latter of which can give us
false positives, thus it will be resolved with next commit(s).
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Emil Velikov [Mon, 4 Jul 2016 14:34:17 +0000 (15:34 +0100)]
libweston: don't install shared/platform.h
The header contains a set of extension check (helpers), which do not
provide any compositor related functionality and are not required for
using libweston.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Emil Velikov [Mon, 4 Jul 2016 14:34:16 +0000 (15:34 +0100)]
shared/platform.h: add missing stdbool.h include
Required by the bool type, used through the header.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Emil Velikov [Mon, 4 Jul 2016 14:27:19 +0000 (15:27 +0100)]
simple-egl: remove incomplete EGL_EXT_buffer_age definition
A more complete alternative is already provided by the weston-egl-ext.h
header. The latter of which we already include.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Emil Velikov [Mon, 4 Jul 2016 14:27:18 +0000 (15:27 +0100)]
gl-renderer: remove EGL_EXT_image_dma_buf_import guards
We provide a (workaround) definition in weston-egl-ext.h, thus we don't
need any guards.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Emil Velikov [Mon, 4 Jul 2016 14:27:17 +0000 (15:27 +0100)]
weston-egl-ext.h: add GL_EXT_unpack_subimage definitions
... and use it in gl-renderer.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Emil Velikov [Mon, 4 Jul 2016 14:27:16 +0000 (15:27 +0100)]
weston-egl-ext.h: add EGL_MESA_configless_context definitions
... and use it in gl-renderer.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Emil Velikov [Mon, 4 Jul 2016 14:27:15 +0000 (15:27 +0100)]
weston-egl-ext.h: add EGL_EXT_swap_buffers_with_damage definitions
... and use it from simple-egl and gl-renderer.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Emil Velikov [Mon, 4 Jul 2016 14:27:13 +0000 (15:27 +0100)]
client/nested: reuse weston-egl-ext.h declarations
Rather than introducing a local copy of the
EGL_WL_create_wayland_buffer_from_image (re)definition, just use the
local header.
This also gives us access to EGL_WL_bind_wayland_display which is also
used in the client, yet the C file is missing a fall-back definition.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>