Nobuhiko Tanibata [Wed, 9 Dec 2015 06:45:20 +0000 (15:45 +0900)]
ivi-shell: hmi-controller supports multi screens at fullscreen mode.
It shows ivi applications in fullscreen per screen like,
The first screen: Application 1,4,5,6,,,,
The seconed screen: Application 2,
The third screen: Application 3
Thie mode assigns one application to each screen at first. And remaind
applications more than screens will be assigned to the first screen.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Nobuhiko Tanibata [Wed, 9 Dec 2015 06:44:07 +0000 (15:44 +0900)]
ivi-shell: hmi-controller supports multi screens at side-by-side mode.
It shows 2 ivi application in a screen at side-by-side. It moves
additinal application more than 2xN to next screen N+1.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Nobuhiko Tanibata [Wed, 9 Dec 2015 06:43:30 +0000 (15:43 +0900)]
ivi-shell: hmi-controller supports multi screens at tiling mode.
It shows 8 ivi applications in a screen at tiling. It moves additional
application more than 8xN to next screen N+1.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Nobuhiko Tanibata [Wed, 9 Dec 2015 06:42:46 +0000 (15:42 +0900)]
hmi-controller: allocate application layers for multi-screen
To locate surfaces of application on multi screens, multi layers are
created baseod on application-layer-id + base-layer-id-offset x N.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Nobuhiko Tanibata [Wed, 9 Dec 2015 06:41:46 +0000 (15:41 +0900)]
hmi-controller: allocate background surfaces for multi-screen
A surface ID for layer of background/panel image is set by key: background-id
or panel-id at weston.ini. To support multi screens, it also support offset,
surface-id-offset, to offset the surface ID to next ID for a layer on next
screen.
According to the above key, hmi-controller and ivi-shell-user-interface
who increments the number of screens per notification of wl_output.
crate surface and draw background/panel image on multi surface on screens.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Nobuhiko Tanibata [Wed, 9 Dec 2015 06:41:00 +0000 (15:41 +0900)]
hmi-controller: allocate base layers for multi-screen
A layer ID for screen is set by key: base-layer-id at weston.ini. To
support multi screens. It also support offset to offset the layer ID
to next ID for next screen.
For example,
base-layer-id=1000
base-layer-id-offset=10000
Layer id for screen 0: 1000
Layer id for screen 1: 11000
Layer id for screen 2: 21000
To support multi screen, create layers for background and panel bar which
located in the below per screens. At the moment, it is only layers.
Surfaces to be created at next patch in the patch set.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Nobuhiko Tanibata [Wed, 9 Dec 2015 06:40:13 +0000 (15:40 +0900)]
ivi-shell: hmi-controller implements internal method to get screen.
- get screens from weston core
- provide screens as internel method
- the iviscn is stored in array inverse order in index.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Nobuhiko Tanibata [Wed, 9 Dec 2015 06:39:26 +0000 (15:39 +0900)]
ivi-shell: multi screen support to calcuration of a mask of weston_surface.
A weston_surface is transformed to multi screen coordinate, global
coordinate by matrix:m now.
Additionally, a mask needs to be calucated, taking account into,
- multi screen coordination: a destination rectangle of layer in the
coordination is easily calcurated by adding weston_output.{x,y} in
simple. This is because there is no scaled and rotated transformation.
- intersect inside of a screen the layer is assigned to. This is because
overlapped region of weston surface in another screen shall not be
displayed according to ivi use case.
Signed-off-by: Nobuhiko Tanibata <nobuhiko_tanibata@xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Nobuhiko Tanibata [Wed, 9 Dec 2015 06:38:41 +0000 (15:38 +0900)]
ivi-shell: convert from screen to global coordinates
In single screen, the coordinates of layer local coordinates are the
same as global coordinates. However, to support multi screens, the
layer-local coordinates shall be transformed to multi screen coordinates,
which is global coordinates. The abosolute coordinates of a screen in global
stored in (x,y) of output of its weston output so it shall be used to
transform layer-local to global coordinates.
Signed-off-by: Nobuhiko Tanibata <nobuhiko_tanibata@xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Nobuhiko Tanibata [Wed, 9 Dec 2015 06:36:58 +0000 (15:36 +0900)]
ivi-shell: avoid update_prop() on invisible surfaces
For multi screen support, ivi_layout_screen to be taken account into
property change in commitChanges.
Property change is now done in update_prop so to consider ivi_screen
property for caluculating transform of weston surface, ivi_layout_screen
is added as a parameter of update_prop.
However, update_prop of weston_view of a ivi_surface can not be done
even if it is set on a screen. The propoerty change shall be done only
when a visibility of ivi_surface or ivi_layer which contains the
ivi_surface is ON. Such a condition shall be checked at commit_changes
as well to avoid calling update_prop, which actually updates
weston_views.
Signed-off-by: Nobuhiko Tanibata <nobuhiko_tanibata@xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Nobuhiko Tanibata [Wed, 9 Dec 2015 06:03:47 +0000 (15:03 +0900)]
ivi-shell: activate weston surface with a seat when left click or touch.
Similar with Desktop shell, set activate to weston surface which is
left-clicked by pointer or touched. This is needed to focus it with a seat.
Without this, a feature who gets activated weston surface by using
weston_surface_get_main_surface doesn't work correctly because it can
not get correct focused weston surface. For example, input-panel uses
weston_surface_get_main_surface to get a weston surface. With this
weston surface, it get a member: output to decide which output shall
show a input-panel, software keyboard. Without activation,
input-panel-ivi can not find a correct output which shows e.g.
weston-editor who uses input-method.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Tested-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Derek Foreman [Fri, 6 Nov 2015 21:56:10 +0000 (15:56 -0600)]
compositor-wayland: Add touch support
Adds support for touch devices to the wayland backend.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Derek Foreman [Fri, 6 Nov 2015 21:56:09 +0000 (15:56 -0600)]
input: Add notify_touch_cancel()
We already have notify_touch(), notify_touch_frame(). We need
notify_touch_cancel() to implement touch in the weston wayland backend
properly.
Reviewed-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Derek Foreman [Fri, 6 Nov 2015 21:56:08 +0000 (15:56 -0600)]
compositor-wayland: Properly release input resources when caps change
We should use wl_*_release when available instead of destroy, and we
should update weston's internal input tracking with weston_seat_releases
Reviewed-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Derek Foreman [Fri, 6 Nov 2015 21:56:07 +0000 (15:56 -0600)]
cairo-util: return theme location from frame_touch_down
I'll be using this in a follow up patch that adds touch input to weston's
wayland backend.
Reviewed-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Jussi Kukkonen [Fri, 27 Nov 2015 14:37:35 +0000 (16:37 +0200)]
configure.ac: add explicit enable/disable for lcms
This is useful for reproducable builds.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Chris Michael [Thu, 3 Dec 2015 17:23:12 +0000 (12:23 -0500)]
cosmetic: Remove use of C++ style comments
Patch updated to remove dead lines as suggested by Daniel Stone
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Derek Foreman [Thu, 3 Dec 2015 22:38:11 +0000 (16:38 -0600)]
compositor: Add doxygen for weston_surface_to_buffer_rect()
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Derek Foreman [Wed, 18 Nov 2015 22:32:34 +0000 (16:32 -0600)]
simple-damage: Add --use-damage-buffer flag
Add a new flag for testing damage in buffer co-ordinates
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Derek Foreman [Thu, 26 Nov 2015 20:17:48 +0000 (14:17 -0600)]
compositor: Add damage_buffer
Add an implementation of wl_surface.damage_buffer, similar to
wl_surface.damage except it uses buffer co-ordinates.
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Emmanuel Gil Peyrot [Tue, 24 Nov 2015 19:28:24 +0000 (19:28 +0000)]
linux-dmabuf: Move the attributes part of linux_dmabuf_buffer into its own struct
This allows renderers to use that struct to create their own dmabufs,
in case they can’t import the one provided by the client directly but
know how to convert it into a format they can render.
Signed-off-by: Emmanuel Gil Peyrot <emmanuel.peyrot@collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D332
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Chris Michael [Mon, 30 Nov 2015 15:23:04 +0000 (10:23 -0500)]
compositor: Remove unused weston_surface_to_buffer function
The function 'weston_surface_to_buffer' is unused by compositor and
clients inside weston, so it should be safe to remove this function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Derek Foreman [Tue, 1 Dec 2015 19:00:43 +0000 (13:00 -0600)]
compositor: change rounding in weston_surface_to_buffer_rect()
Rounding both corners of the rectangle down can result in a 0
width/height rectangle before passing to weston_transformed_rect.
This showed up as missing damage in weston-simple-damage (the
bouncing ball would leave green trails when --use-viewport was
used)
Reviewed-by: Daniel Stone <daniels@collabora.co.uk>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Chris Michael [Mon, 30 Nov 2015 20:51:48 +0000 (15:51 -0500)]
main: Remove unused function load_backend_new()
This function is unused throughout the entire weston source tree, so
remove it. It seems that the "load_backend" function is the one
currently being used
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Derek Foreman [Wed, 18 Nov 2015 22:32:33 +0000 (16:32 -0600)]
simple-damage: Offset drawing co-ordinates not buffer start
We've been setting up the viewport by moving the start pointer of the
draw buffer, but later when we want to post damage in buffer co-ordinates
we'll need to keep track of the x,y offsets anyway.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Derek Foreman [Thu, 26 Nov 2015 20:17:47 +0000 (14:17 -0600)]
compositor, input: Don't use MIN() macro for new resource versions
libwayland-server protects us from invalid serial numbers by
posting an error already.
MIN() is for clients when selecting interface versions.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Pekka Paalanen [Fri, 27 Nov 2015 12:20:58 +0000 (14:20 +0200)]
compositor-drm: fix hw cursor positioning
Fix a regression introduced by
be428b3825043cbcc676d2526fe6213bea7f676a
which accidentally removed the global-to-output space conversion.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Cc: Derek Foreman <derekf@osg.samsung.com>
Cc: Daniel Stone <daniels@collabora.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Tested-by: Derek Foreman <derekf@osg.samsung.com>
Nobuhiko Tanibata [Wed, 25 Nov 2015 14:37:09 +0000 (23:37 +0900)]
ivi-shell: remove a code which expects only a screen in the system.
It breaks from wl_list_for_each of screens when the frist screen found.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Nobuhiko Tanibata [Wed, 25 Nov 2015 14:36:57 +0000 (23:36 +0900)]
ivi-shell: fix layout_layer.view_list is not initilized per a screen.
This is potential bug when it supports several screens. If view_list is
initilized here, the views, which are set by the previous screen, are
cleared. So View list shall be initilized in front of wl_list_for_each
of all screens.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Nobuhiko Tanibata [Wed, 25 Nov 2015 14:36:46 +0000 (23:36 +0900)]
ivi-shell: avoid inserting a ivi_layer to multiple screens.
In just previous wl_list_for_each_safe, list of layer in a screen is
cleaned up. And then, the list is re-constructed from
pending.layer_list.
In this re-construction, if order.link of a layer were inserted into a
screen whose number is later one of current screen, the order.link will
inserted into layer_list of two screens. This shall be avoided.
However, if we want to implement a feature to allow a layer to be added
to multiple screens. A layer shall have several order.link per screens.
So, I marked here as TODO.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Nobuhiko Tanibata [Wed, 25 Nov 2015 14:36:09 +0000 (23:36 +0900)]
ivi-shell: fix TODO which expects only one screen in the system.
It just return the first screen found in screen list.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Ucan, Emre (ADITG/SW1) [Wed, 18 Nov 2015 10:23:50 +0000 (10:23 +0000)]
configure: don't control egl version
The required version only corresponds to version of mesa implementation.
This mesa version requirement causes configure errors,
when weston is configured for a different egl implementation than mesa.
Because the version of the egl drivers are not alligned
to the mesa version.
Therefore, I deleted the version controlling for egl,
so that weston can be configured for a different egl implementation.
Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Chris Michael [Thu, 26 Nov 2015 16:30:00 +0000 (11:30 -0500)]
compositor: Fix comment of subsurface_commit_to_cache function
commit
57388e44e5 accidentally changed the comment in
compositor.c::subsurface_commit_to_cache
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Derek Foreman [Tue, 17 Nov 2015 20:11:35 +0000 (14:11 -0600)]
compositor: ignore useless surface_damage
If we pass negative height or width on to pixman we get error messages
in the log.
Also, if width or height is 0, there's no damage, so we can early return
for that too.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Jonas Ådahl [Wed, 25 Nov 2015 08:03:04 +0000 (16:03 +0800)]
configure.ac: Bump wayland-protocols dependency to 1.0
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Derek Foreman [Tue, 24 Nov 2015 17:39:38 +0000 (11:39 -0600)]
compositor-drm: Use view transform in cursor plane setup
Make sure a view's transform is viable for a cursor plane and
then actually apply it before setting the cursor plane location.
Now if a subsurface ends up in the cursor plane, the plane will be
properly positioned.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Yong-iL Joh [Tue, 17 Nov 2015 07:28:11 +0000 (16:28 +0900)]
ivi-shell-user-interface: fix runtime error caused by missing header inclusion
when weston is running on qemux86 device, there is an error with following.
[08:02:07.897] launching '/usr/lib/weston/weston-ivi-shell-user-interface'
[08:02:08.201] /usr/lib/weston/weston-ivi-shell-user-interface died on signal 11
this is caused by type mismatch, and
it does occur on qemux86-64
Signed-off-by: Yong-iL Joh <yong-il.joh@windriver.com>
Acked-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Chris Michael [Wed, 18 Nov 2015 15:22:59 +0000 (10:22 -0500)]
compositor.h: Remove unused variable from weston_seat structure
This variable may have been used previously when evdev.c was used
however that functionality seems to have been consumed by libinput, so
there is no need for this variable in the weston_seat structure anymore.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Chris Michael [Mon, 23 Nov 2015 20:13:57 +0000 (15:13 -0500)]
clients: Adjust grammar of comment for toysurface->prepare function pointer
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Chris Michael [Mon, 23 Nov 2015 20:13:56 +0000 (15:13 -0500)]
compositor: Remove extra blank line
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Bryce Harrington [Fri, 20 Nov 2015 19:57:43 +0000 (11:57 -0800)]
clients: Fix a few minor typos in comments
Derek Foreman [Wed, 18 Nov 2015 22:32:30 +0000 (16:32 -0600)]
compositor: Move weston_matrix_transform_region to compositor.c and export it
We're going to use this to replace much of the other transform code so
it's no longer just relevant to pixman-renderer.c
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
[Pekka: add the warning about matrix restrictions]
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Jason Ekstrand [Wed, 18 Nov 2015 22:32:29 +0000 (16:32 -0600)]
pixman-renderer: Use output->matrix for region transformations and enable output zoom
Tested-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
[Pekka: added the comment for the function]
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Derek Foreman [Wed, 18 Nov 2015 22:32:28 +0000 (16:32 -0600)]
gl-renderer: Make texture_used a bool instead of an int
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Derek Foreman [Wed, 18 Nov 2015 22:32:27 +0000 (16:32 -0600)]
gl-renderer: Use a bool for needs_full_upload
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Derek Foreman [Wed, 18 Nov 2015 22:32:26 +0000 (16:32 -0600)]
compositor: Change "touched" to bool
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Derek Foreman [Wed, 18 Nov 2015 22:32:25 +0000 (16:32 -0600)]
toytoolkit: Remove window_damage()
It's just a direct call to wl_surface_damage() anyway, and the only
caller no longer exists.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Derek Foreman [Wed, 18 Nov 2015 22:32:24 +0000 (16:32 -0600)]
smoke: Don't post extra damage
We're going to post damage when the widget redraw happens anyway.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Jonas Ådahl [Wed, 22 Jul 2015 04:05:38 +0000 (12:05 +0800)]
input: Keep per client pointer resources in their own structs
Keep all per client wl_pointer resources in a new struct called
'weston_pointer_client'. When focus changes, instead of moving a list
of resources between different lists, just change the focused pointer
client.
The intention with this is to make it easier to add wl_pointer
extensions that share the same focus as the corresponding wl_pointer.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Jonas Ådahl [Fri, 24 Apr 2015 07:26:17 +0000 (15:26 +0800)]
input: Don't send wl_pointer.motion if position didn't change
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Jonas Ådahl [Sun, 5 Oct 2014 19:39:14 +0000 (21:39 +0200)]
input: Make pointer grab motion callbacks take an event struct
Instead of only passing absolute pointer coordinates, effectively
loosing motion event data, pass a struct that can potentially contain
different types of motion events, currently being absolute and relative.
A helper function to get resulting absolute coordinates was added for
when previous callbacks simply used the (x, y) coordinates.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Pekka Paalanen [Thu, 19 Nov 2015 13:58:44 +0000 (15:58 +0200)]
protocol: fix DTD warning in weston-desktop-shell
The DTD requires elements in certain order, scanner itself doesn't.
Anyway, fix the warning with a simple reordering to match how all other
protocols are written.
Fixes:
protocol:107: element request: validity error : Element request content
does not follow the DTD, expecting (description? , arg*), got (arg
description )
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Jonas Ådahl [Wed, 18 Nov 2015 02:45:28 +0000 (10:45 +0800)]
releasing.txt: Add step about checking wayland-protocols dependency
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Jonas Ådahl [Tue, 17 Nov 2015 08:00:35 +0000 (16:00 +0800)]
Remove workspaces protocol
It doesn't fill a useful function and is not intended to be continued.
If there is need for workspace manipulation from clients a protocol
based on those future needs need to be properly designed.
workspaces.xml is probably not very relevant since it did the bare
minimum.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Mariusz Ceier <mceier+wayland@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Jonas Ådahl [Tue, 17 Nov 2015 08:00:34 +0000 (16:00 +0800)]
Rename screenshooter protocol to weston_screenshooter
Due to the effort of moving a way from non-prefixed protocols, rename
the weston specific screenshooter protocol to weston_screenshooter.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Mariusz Ceier <mceier+wayland@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Jonas Ådahl [Tue, 17 Nov 2015 08:00:33 +0000 (16:00 +0800)]
desktop-shell: Rename protocol weston_desktop_shell
In the effort of going away from generic names of protocols only
relevant for weston, rename the weston desktop shell
weston_desktop_shell.
This also resets the version to 1, as there will be no prior versions
to weston_desktop_shell.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Mariusz Ceier <mceier+wayland@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Jonas Ådahl [Tue, 17 Nov 2015 08:00:32 +0000 (16:00 +0800)]
Use xdg_shell protocol from wayland-protocols
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Mariusz Ceier <mceier+wayland@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Acked-by: Jasper St. Pierre <jstpierre@mecheye.net>
Jonas Ådahl [Tue, 17 Nov 2015 08:00:31 +0000 (16:00 +0800)]
Makefile.am: Make the external xml scanning rule version generic
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Mariusz Ceier <mceier+wayland@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Jonas Ådahl [Tue, 17 Nov 2015 08:00:30 +0000 (16:00 +0800)]
Use input method protocol from wayland-protocols
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Mariusz Ceier <mceier+wayland@gmail.com>
Reviewed-by: Jan Arne Petersen <janarne@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Jonas Ådahl [Tue, 17 Nov 2015 08:00:29 +0000 (16:00 +0800)]
Use text input protocol from wayland-protocols
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Mariusz Ceier <mceier+wayland@gmail.com>
Reviewed-by: Jan Arne Petersen <janarne@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Jonas Ådahl [Tue, 17 Nov 2015 08:00:28 +0000 (16:00 +0800)]
Use linux-dmabuf protocol from wayland-protocols
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Mariusz Ceier <mceier+wayland@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Jonas Ådahl [Tue, 17 Nov 2015 08:00:27 +0000 (16:00 +0800)]
Use fullscreen-shell.xml from wayland-protocols
Use the fullscreen-shell protocol XML from the wayland-protocols
installation, and remove the one we provide ourself.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Mariusz Ceier <mceier+wayland@gmail.com>
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Derek Foreman [Fri, 6 Nov 2015 21:56:06 +0000 (15:56 -0600)]
compositor-wayland: Change focus to a bool instead of an int
Also rename focus to has_focus to be slightly less confusing.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Peter Hutterer [Mon, 16 Nov 2015 02:35:57 +0000 (12:35 +1000)]
desktop-shell: use weston_pointer_send_axis
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Ahmet Acar [Fri, 13 Nov 2015 16:25:46 +0000 (10:25 -0600)]
shared: work around EGL header idiosyncrasy
When no X11 headers are present eglplatform.h will break unless
certain defines are set prior to its inclusion.
including wayland-egl.h defines WL_EGL_PLATFORM which will stop
the attempted inclusion of the X11 headers.
Maybe this isn't the best solution to the problem, but it's harmless
and gets the job done.
Closes bug: https://bugs.freedesktop.org/show_bug.cgi?id=92104
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
(patch by Ahmet Acar, commit log by Derek Foreman)
Chris Michael [Tue, 10 Nov 2015 15:40:37 +0000 (10:40 -0500)]
compositor-drm: pass NULL to mmap() instead of 0 as the address
mmap() function expects to be passed a void pointer as the address
here. Passing NULL is technically more correct than passing 0.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Derek Foreman [Wed, 4 Nov 2015 20:47:33 +0000 (14:47 -0600)]
compositor-drm: fall back to EGL visual_id 0 if no others work
commit e76f185 stopped using visuals with "native visual id" == 0
This broke some systems, so we now try 0 as a worst case fallback if
everything else has failed.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Jonas Ådahl [Sat, 4 Oct 2014 14:28:29 +0000 (16:28 +0200)]
input: Pass axis events through pointer grab interfaces
Don't only send motions and buttons but also axis events through the
pointer grab interface.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-By: Derek Foreman <derekf@osg.samsung.com>
Jonas Ådahl [Wed, 15 Oct 2014 20:02:06 +0000 (22:02 +0200)]
desktop-shell: Add surface_keyboard_focus_lost helper
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-By: Derek Foreman <derekf@osg.samsung.com>
Shinya Saito [Thu, 22 Oct 2015 02:44:49 +0000 (11:44 +0900)]
Provide damage region for screen recording on Raspberry Pi
When trying to do sceen recording using the screenshooter, no screen data
was ever processed because the rpi-renderer never set the previous frames
damage area.
Update the rpi-renderer to copy the necessary data.
Signed-off-by: Shinya Saito <ssaito@igel.co.jp>
Signed-off-by: Tomohito Esaki <etom@igel.co.jp>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Ucan, Emre \(ADITG/SW1\) [Thu, 15 Oct 2015 14:51:41 +0000 (14:51 +0000)]
ivi-shell: rename ivi_controller_interface
The name of ivi_controller_interface is changed to ivi_layout_interface
with this patch.
This name is better suited to the interface, because it is implemented
in ivi-layout.c and its methods are linked to ivi_layout* functions.
Furthermore, the controller modules (e.g. hmi-controller) are the users
of this interface and they have their own interfaces,
which are called *_controller_interface,
e.g.: ivi_hmi_controller_interface.
This causes confusion about the software architecture.
Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
Tested-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Reviewed-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Bryce Harrington [Fri, 23 Oct 2015 22:29:23 +0000 (15:29 -0700)]
compositor: Disallow negative geometries in backend output configs
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com>
Jonas Ådahl [Fri, 26 Jun 2015 04:37:56 +0000 (12:37 +0800)]
desktop-shell: Make activate_binding take a view instead of surface
In preparation for further refactoring. This patch also removes a
redundant NULL check. Since we pass views, and views will always have an
associated surface, there is no point of checking if it has.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Giulio Camuffo [Sat, 17 Oct 2015 16:24:15 +0000 (19:24 +0300)]
main: stub the functions to load the backends with the new config system
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Giulio Camuffo [Sat, 17 Oct 2015 16:24:14 +0000 (19:24 +0300)]
compositor: pass the backend config struct to the backends init function
Add new configuration argument to the backend_init() function, which
will replace the current argc, argv, and config arguments.
After each backend is converted individually the unused parameters
will be removed.
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Giulio Camuffo [Sat, 17 Oct 2015 16:24:13 +0000 (19:24 +0300)]
compositor: introduce structs to handle backends configuration
This commit introduces the structs weston_backend_config and
weston_backend_output_config, to prepare for the new config
system for the backends.
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Jon Cruz [Fri, 23 Oct 2015 04:11:12 +0000 (21:11 -0700)]
zunitc: made name of test fixture parameter explicit.
Instead of using the implicit name 'data', changed the test
with fixture macro ZUC_TEST_F() to use an additional value
to explicitly set the name to use for test data from the
fixture.
Signed-off-by: Jon A. Cruz <jonc@osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Jon Cruz [Thu, 22 Oct 2015 20:25:54 +0000 (13:25 -0700)]
zunitc: Clarify documentation on return behavior.
* Clarify documentation on ZUC_ASSERT_* behavior in regards to return
vs. abort()
* Added overview section on return behavior.
* Fixed spelling
* Removed outdated reference to tap function.
Changes since v1:
* Incorporated grammatical feedback.
Signed-off-by: Jon A. Cruz <jonc@osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Derek Foreman [Wed, 26 Aug 2015 22:13:27 +0000 (17:13 -0500)]
clients: don't discard motion if we have a grab
We discard motion outside the window on the assumption it's from before
some event that caused the window to shrink. However, if we have a grab
it's likely that this motion is actually from dragging from the inside
of the window out.
This fixes a problem where drag selecting in weston terminal behaves
oddly - it doesn't update the select region while the drag is happening
outside the window.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Tested-by: Luis de Bethencourt <luisbg@osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Derek Foreman [Wed, 26 Aug 2015 22:13:26 +0000 (17:13 -0500)]
clients: try harder to discard motion after resize
If we're going to ignore motion below and to the right when coming
out of maximize, we should probably also ignore it above and to
the left.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Tested-by: Luis de Bethencourt <luisbg@osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Derek Foreman [Wed, 21 Oct 2015 17:39:11 +0000 (12:39 -0500)]
weston-launch: Remove unused event source
vt_source is never added to an event loop in this launcher, but
it's potentially removed.
Let's just remove the variable entirely.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Ben Hummon [Tue, 6 Oct 2015 21:48:30 +0000 (16:48 -0500)]
clients: Correct drawing glitch in stacking demo
Fix a graphics glitch in the stacking demo in which a transient
window's drop shadow is visibile within the interior of the window.
Signed-off-by: Ben Hummon <benjamin.hummon@gmail.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Derek Foreman [Mon, 29 Jun 2015 18:20:34 +0000 (13:20 -0500)]
compositor/clients: Protect CLOCK_BOOTTIME with ifdefs
CLOCK_BOOTTIME is a relatively new* feature that may not actually be
present everywhere (I'm looking at you wheezy). Since our use of it
is actually only cosmetic, I've just ifdef'd if.
* No it isn't.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com>
Derek Foreman [Mon, 29 Jun 2015 19:05:38 +0000 (14:05 -0500)]
build: Add -lrt for programs that use clock_gettime()
glibc requires this prior to 2.17, and we already do it in a few other
places.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com>
Bryce Harrington [Tue, 20 Oct 2015 15:35:43 +0000 (08:35 -0700)]
devices-test: Fix typo 'destroyes' in a comment
Derek Foreman [Wed, 14 Oct 2015 14:39:59 +0000 (09:39 -0500)]
clients: track seat_version per seat, not per display
Apparently it's possible for a compositor to advertise seats with
different versions on the same connection, so this makes us more robust
against that dubious behaviour.
This also tracks the seat version we requested instead of the advertised
maximum.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: David FORT <contact@hardening-consulting.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Giulio Camuffo [Sat, 17 Oct 2015 15:00:35 +0000 (18:00 +0300)]
libinput: remove unused #define
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Bryce Harrington [Wed, 14 Oct 2015 22:40:42 +0000 (15:40 -0700)]
configure: Up the libwayland version requirement
weston commit
f7bb9352 requires recent libwayland changes for providing
‘WL_POINTER_RELEASE_SINCE_VERSION’. Increase the version requirement to
indicate that current weston git requires development version of
wayland.
NOTE: At release we should probably increase the wayland requirement for
weston to 1.10.0.
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Ucan, Emre \(ADITG/SW1\) [Thu, 15 Oct 2015 14:51:43 +0000 (14:51 +0000)]
ivi-shell: install ivi-layout-export.h
IVI-Shell is designed to be used with other controller modules
than hmi-controller.These controller modules require
the ivi-layout-export header file to properly integrate
with the ivi-shell. The header file should be installed
when ivi-shell is enabled, because these controller modules
are not a part of the weston repository.
Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Bill Spitzak [Thu, 15 Oct 2015 15:57:47 +0000 (08:57 -0700)]
Add commented-out option to weston.ini to set Xwayland path
User can remove the comment marks to make xwayland.so use a local
installed Xwayland server.
Derek Foreman [Thu, 15 Oct 2015 15:24:48 +0000 (10:24 -0500)]
compositor-drm: fix cursor size test in drm_assign_planes
In commit
70d337dfd we changed one cursor size test from a hard coded 64,64
to the actual device provided width, height.
The test in drm_assign_planes remained fixed at 64, 64.
The simple-shm test ended up being small enough to fit into a cursor plane
by one test, but too large by the test in drm_assign_planes. We'd assign
to the cursor plane but not keep a reference.
weston-simple-shm would disappear and be replaced with the previous
cursor image.
This partially "fixes" T3361.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Tomohito Esaki [Tue, 7 Jul 2015 10:06:05 +0000 (19:06 +0900)]
screenshooter: correct output ordering of screencast recording when Y-flip is off
The screenshooter encoder wrote the output from either top-to-bottom or
bottom-to-top, depending on the Y-flip setting, but wcap-decode only
decodes from bottom-to-top. Make the encoder always output from
bottom-to-top, to match the decoder, and flip the input (source)
according to the Y-flip setting.
Signed-off-by: Tomohito Esaki <etom@igel.co.jp>
Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com>
Derek Foreman [Tue, 5 May 2015 20:01:51 +0000 (15:01 -0500)]
input: Split get_udev_seat() into its own function
We're going to need this on device removal in the future, so pull it out
into a separate function now.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Marko [Mon, 5 Oct 2015 22:27:54 +0000 (17:27 -0500)]
compositor-x11: Fix Weston running on a secondary X screen
When DISPLAY is anything other than #.0 weston would still use .0
Fixes
https://bugs.freedesktop.org/show_bug.cgi?id=90532
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Marek Chalupa [Fri, 9 Oct 2015 16:17:07 +0000 (18:17 +0200)]
shell: fix maximizing windows on a secondary output
commit
f814c5dc9 changed get_output_work_area behaviour
which broke the code for positioning maximized window.
The x position was set to 2*output->x instead of to output->x
fix https://bugs.freedesktop.org/show_bug.cgi?id=92357
Signed-off-by: Marek Chalupa <mchqwerty@gmail.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
FORT David [Fri, 9 Oct 2015 16:17:43 +0000 (18:17 +0200)]
weston: release keyboard/touch/pointer objects
This patch adds the missing calls to release when the seat has capabilities
changes. It also fixes a missing release of the touch object and a leak with
old clients.
Signed-off-by: David FORT <contact@hardening-consulting.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Chokshi, Mitul [Fri, 9 Oct 2015 08:28:47 +0000 (08:28 +0000)]
input: add new client to resource_list instead of focus_resource_list
When new client registers touch listener, it was added to focus resource list.
At this point if another client "without" touch listener is in focus then
subsequent touch events are sent to new client with another client's resources
causing new client to stop rendering.
Now new client is added to resource list by default and it'll be added to focus
resource list only if its in focus.
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Giulio Camuffo [Thu, 8 Oct 2015 16:13:01 +0000 (19:13 +0300)]
zoom: remove temporary variables
Signed-off-by: Giulio Camuffo <giuliocamuffo@gmail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Giulio Camuffo [Wed, 7 Oct 2015 17:14:18 +0000 (20:14 +0300)]
zoom: Remove unneeded usage of wl_fixed_ts in favour of doubles
Signed-off-by: Giulio Camuffo <giuliocamuffo@gmail.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Nicolas Guyomard [Tue, 6 Oct 2015 15:40:28 +0000 (10:40 -0500)]
input-panel: Fix show_input_panel_surface crash when no surface has focus
Signed-off-by: Nicolas Guyomard <nicolas.guyomard@open.eurogiciel.org>
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>