Re: Panel-location not working with Weston 2.0.0

2018-02-16 Thread Pekka Paalanen
On Fri, 16 Feb 2018 08:23:28 + "Keskinarkaus, Teemu" wrote: > Hi, > > I have custom i.MX6 based HW that is running Linux 4.1.x with Weston > 1.11.0. I recently updated it to Weston 2.0.0 and the panel-location > option in Weston.ini - file doesn't work

Panel-location not working with Weston 2.0.0

2018-02-16 Thread Keskinarkaus, Teemu
Hi, I have custom i.MX6 based HW that is running Linux 4.1.x with Weston 1.11.0. I recently updated it to Weston 2.0.0 and the panel-location option in Weston.ini - file doesn't work anymore. I have this in Weston.ini: [shell] panel-location="none" background-color=0x

Re: [RFC weston] gl-renderer: make use of linux_dmabuf_buffer_get_user_data()

2018-02-16 Thread Pekka Paalanen
On Thu, 15 Feb 2018 18:51:50 + Emil Velikov wrote: > From: Emil Velikov > > ... to get the user_data. Like everywhere else through weston. > > Signed-off-by: Emil Velikov > --- > Some ancient patch, that I

Re: [PATCH wayland 2/6] wayland-egl: make wayland-egl-backend.h C++ safe

2018-02-16 Thread Emil Velikov
On 15 February 2018 at 23:12, Derek Foreman wrote: > On 2018-02-15 12:50 PM, Emil Velikov wrote: >> >> From: Emil Velikov >> >> private is a reserved keyworkd in C++. Thus to make things work, we >> should use something else -

Re: [PATCH wayland 2/6] wayland-egl: make wayland-egl-backend.h C++ safe

2018-02-16 Thread Daniel Stone
Hi Emil, On 16 February 2018 at 10:40, Emil Velikov wrote: > On 15 February 2018 at 23:12, Derek Foreman wrote: >> Maybe it's just me, but having different names for the same variable for C >> vs C++ compilation seems really nasty and

[RFC wayland] wayland-server: Finally remove deprecated struct wl_buffer definition

2018-02-16 Thread Derek Foreman
commit d94a8722cb29d8b897672be66ff3c9ff79eab6fe warned this was coming, back in 2013. I've seen libraries that have wayland client and server using functions in the same file. Since struct wl_buffer still exists as an opaque entity in client code, the vestigial deprecated wl_buffer from the

Re: [PATCH weston v2 6/6] libweston: Implement touch timestamps for input_timestamps_unstable_v1

2018-02-16 Thread Alexandros Frantzis
On Fri, Feb 16, 2018 at 06:44:19PM +0200, Alexandros Frantzis wrote: > Implement the zwp_input_timestamps_manager_v1.get_touch_timestamps > request to subscribe to timestamp events for wl_touch resources. Ensure > that the request handling code can gracefully handle inert touch > resources. > >

Re: [PATCH wayland 2/6] wayland-egl: make wayland-egl-backend.h C++ safe

2018-02-16 Thread Emil Velikov
On 16 February 2018 at 14:22, Arnaud Vrac wrote: > On Fri, Feb 16, 2018 at 2:53 PM, Emil Velikov > wrote: >> On 16 February 2018 at 10:49, Daniel Stone wrote: >>> Hi Emil, >>> >>> On 16 February 2018 at 10:40, Emil Velikov

[PATCH wayland 4/4] tests: add code, public-code and private-code tests

2018-02-16 Thread Emil Velikov
From: Emil Velikov First one is deprecated in favour of the second option. The latter is newly introduced and annotates the generated symbols accordingly. Signed-off-by: Emil Velikov --- Makefile.am | 4 ++-

[PATCH wayland 2/4] build: use public-code when using the local wayland-scanner

2018-02-16 Thread Emil Velikov
From: Emil Velikov The core wayland interfaces are public, via the libwayland-server and libwayland-client DSOs. Hence use "public-code" cmdline option, instead of the deprecated code". As the host wayland-scanner may not know about the new option, use the legacy

[PATCH wayland 1/4] scanner: introduce "public-code" and "private-code"

2018-02-16 Thread Emil Velikov
From: Emil Velikov The options are used to indicate how the code will be used - will it be public, as part of a DSO or private. In nearly every instance, people want to use the latter. One noticeable exception is the wayland libraries. They provide the base

[PATCH wayland 3/4] scanner: make use of __has_attribute()

2018-02-16 Thread Emil Velikov
From: Emil Velikov A more generic way to evaluating various attributes, __has_attribute is available with gcc, clang, even the Oracle/Sun compiler. Signed-off-by: Emil Velikov --- src/scanner.c | 6 +- 1 file changed, 5

[PATCH weston v2 4/6] libweston: Implement keyboard timestamps for input_timestamps_unstable_v1

2018-02-16 Thread Alexandros Frantzis
Implement the zwp_input_timestamps_manager_v1.get_keyboard_timestamps request to subscribe to timestamp events for wl_keyboard resources. Ensure that the request handling code can gracefully handle inert keyboard resources. This commit introduces a few internal helper functions which will also be

[PATCH weston v2 1/6] shared: Add timespec_eq helper function

2018-02-16 Thread Alexandros Frantzis
Add a helper function to check if two struct timespec values are equal. This helper function will be used in upcoming commits that implement the input_timestamps_unstable_v1 protocol. Signed-off-by: Alexandros Frantzis Reviewed-by: Pekka Paalanen

[PATCH weston v2 0/6] libweston: Support input_timestamps_unstable_v1

2018-02-16 Thread Alexandros Frantzis
The input_timestamps_unstable_v1 protocol allows clients to subscribe to high-resolution timestamp events for input events (see [1]). This patchset implements the input_timestamps_unstable_v1 protocol in libweston and also adds tests for the implementation in the weston test suite. Patches (1)

[PATCH weston v2 2/6] tests: Introduce input timestamps helper

2018-02-16 Thread Alexandros Frantzis
Introduce helper test code to implement the client side of the input_timestamps_unstable_v1 protocol. This helper will be used in upcoming commits to test the server side implementation of the protocol in libweston. The input_timestamps_unstable_v1 protocol was introduced in version 1.13 of

[PATCH weston v2 3/6] libweston: Introduce input-timestamps support

2018-02-16 Thread Alexandros Frantzis
Introduce code to support the implementation of the input_timestamps_unstable_v1 protocol in libweston. This commit does not implement the actual timestamp subscriptions, but sets up the zwp_input_timestamps_manager_v1 object and introduces dummy request handling functions for it, laying the

[PATCH weston v2 5/6] libweston: Implement pointer timestamps for input_timestamps_unstable_v1

2018-02-16 Thread Alexandros Frantzis
Implement the zwp_input_timestamps_manager_v1.get_pointer_timestamps request to subscribe to timestamp events for wl_pointer resources. Ensure that the request handling code can gracefully handle inert pointer resources. Signed-off-by: Alexandros Frantzis ---

[PATCH weston v2 6/6] libweston: Implement touch timestamps for input_timestamps_unstable_v1

2018-02-16 Thread Alexandros Frantzis
Implement the zwp_input_timestamps_manager_v1.get_touch_timestamps request to subscribe to timestamp events for wl_touch resources. Ensure that the request handling code can gracefully handle inert touch resources. Signed-off-by: Alexandros Frantzis --- Changes

[PATCH weston v6 26/73] libweston: remove output_pending_signal

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen The signal has been replaced with the heads_changed hook and is no longer useful. weston_pending_output_coldplug() is renamed to weston_compositor_flush_heads_changed() for two reasons: it better describes what it does now, and it serves as

[PATCH weston v6 22/73] weston: migrate fbdev to head-based output API

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Migrate the fbdev frontend to use the new head-based output configuration API: listen for heads_changed, and process all heads. Signed-off-by: Pekka Paalanen --- compositor/main.c | 11 +-- 1 file

[PATCH weston v6 20/73] weston: migrate x11 to head-based output API

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Migrate the x11 frontend to use the new head-based output configuration API: listen for heads_changed, and process all heads. Signed-off-by: Pekka Paalanen --- compositor/main.c | 14 +- 1 file

[PATCH weston v6 25/73] libweston: change windowed_output_api output_create to create_head

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Rename the function pointer to create_head() because that is what it does on backends that are converted to the head-based API. Update the documentation to match. Surprisingly this is not an ABI break, as the function behaviour and signature

[PATCH weston v6 24/73] weston: migrate DRM to head-based output API

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Migrate the DRM frontend to use the simple head-based output configurator, maintaining the exact same features and semantics as before. This is an intermediate step. It is unoptimal to create a weston_output just to turn it off, but the

[PATCH weston v6 15/73] libweston: new head-based output management API

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Introduce the API for users (compositors) to create an output from a head, attach and detach heads, and destroy outputs created this way. This also adds the backend-facing API to libweston. In the new API design, a backend creates heads, and

[PATCH weston v6 10/73] libweston: add name to weston_head

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Heads need to be named, so they can be referenced in logs and configuration sources. When clone mode is implemented, output and head names may differ. Signed-off-by: Pekka Paalanen Reviewed-by: Derek Foreman

[PATCH weston v6 09/73] cms-colord: find a good head

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen The 'head' member of 'struct weston_output' is going to go unused and then disappear, so stop using it and find a head from the proper list. However, this leaves a problem in cms-colord: if you have multiple monitors driver with the same

[PATCH weston v6 13/73] libweston: add compositor list of heads

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen weston_compositor needs to maintain a list of all available heads, so that a compositor can pick and choose which heads to take into or out of use at arbitrary times. The heads may be on or off, and connected or disconnected. Signed-off-by:

[PATCH weston v6 06/73] libweston: introduce weston_output::head_list

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen The intention is that in the future backends will dynamically allocate weston_heads based on the resources they have. The lifetime of a weston_head will be independent of the lifetime of a weston_output it may be attached to. Backends allocate

[PATCH weston v6 70/73] compositor-drm: allow shared-CRTC cloning

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Allow cloning up to 4 connectors from the same CRTC. All the implementation bits support more than one head per output already. Four is just an arbitary number, small but unlikely to ever be the limiting factor in cloning since hardware is

[PATCH weston v6 73/73] weston: support clone mode on DRM-frontend

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Add a new output section key "same-as" for configuring clone mode. An output marked "same-as" another output will be configured identically to the other output. The current implementation supports only CRTC sharing for clone mode. Independent

[PATCH weston v6 67/73] compositor-drm: preserve CRTC routing harder

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen If we are processing a connector that does not have an existing routing, it is possible we pick a CRTC that was previously routed to a connector we have not enabled yet. If that happens, the latter connector cannot preserve its routing. Check

[PATCH weston v6 72/73] weston: use wet.compositor consistently in main()

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Rename user_data to wet, because it is called wet everywhere else. Drop the local variable ec, because that is available as wet.compositor. This models a little better that wet_compositor owns weston_compositor, and not the other way around.

[PATCH weston v6 71/73] weston: store weston_compositor in wet_compositor

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen This makes it easier to just pass wet_compositor around and take the weston_compositor from it. It feels weird to go from weston_compositor to wet_compositor all the time in internal functions. It's necessary in callbacks that cannot carry

[PATCH weston v6 66/73] compositor-drm: rewrite crtc picking for clone mode

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen To support shared-CRTC clone mode, the chosen CRTC needs to support driving all the attached connectors. Replace the old algorithm with a new one that takes into account all associated connectors. Ideally it should use possible_clones mask to

[PATCH weston v6 69/73] compositor-drm: head attach requires a modeset

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen For the attach on an enabled output to have an effect, we need to go through drmModeSetCrtc or ATOMIC_ALLOW_MODESET. Signed-off-by: Pekka Paalanen --- libweston/compositor-drm.c | 15 +++ 1 file

Re: [PATCH wayland 2/6] wayland-egl: make wayland-egl-backend.h C++ safe

2018-02-16 Thread Arnaud Vrac
On Fri, Feb 16, 2018 at 2:53 PM, Emil Velikov wrote: > On 16 February 2018 at 10:49, Daniel Stone wrote: >> Hi Emil, >> >> On 16 February 2018 at 10:40, Emil Velikov wrote: >>> On 15 February 2018 at 23:12, Derek Foreman

[PATCH weston v6 11/73] libweston: add weston_head::connected

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Heads may be disconnected or connected and the compositor needs to be able to know the state to know which heads to take into use. Currently a single head is automatically created with an output, and outputs are only ever created as connected

[PATCH weston v6 07/73] libweston: properly orphan wl_output resources

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Remove the wl_resource in the head's resource list when we are removing the wl_output global. We sent global removal events to clients, the resources should become dummies until clients reap them. Reset user data so that clients triying to use

[PATCH weston v6 14/73] libweston: add heads_changed hook

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Add a hook for compositors to get a callback when heads are added or their connection status changes, to which compositors likely want to react to by enabling or disabling outputs (API for that to be added later). As many head changes as

[PATCH weston v6 12/73] libweston: add weston_head_is_enabled()

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Enabled is orthogonal from connected. A connected head could be disabled, or a disconnected head could in the future be enabled. Compositors quite likely want to check if a head is already enabled before starting to take it into use.

[PATCH weston v6 17/73] libweston: add weston_head_is_device_changed() API

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Reacting to DRM hotplug events is racy. It is theoretically possible to get hotplug events for a quick swap from one monitor to another and process both only after the new monitor is connected. Hence it is possible for display device

[PATCH weston v6 18/73] weston: move weston_output_enable() into callers

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Move the call out of wet_configure_windowed_output_from_config() and into its callers. This allows to migrate each frontend one by one. Signed-off-by: Pekka Paalanen --- compositor/main.c | 8 ++-- 1

[PATCH weston v6 55/73] compositor-drm: create heads for all connectors

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen In previous patches, all the appropriate fields from drm_output have been moved into drm_head, and resource allocation has been moved away from drm_output creation. It is time to throw the switch: this patch disconnects the drm_output and

[PATCH weston v6 56/73] compositor-drm: remove unused_connectors array

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Replace the unused_connectors array by iterating through the head list instead. A head that is not enabled (attached to an enabled output) is basically an unused connector. All connectors regardless of their status have a drm_head. This has

[PATCH weston v6 53/73] compositor-drm: get current mode on head discovery

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen The inherited mode is the video mode on the connector when we have not yet reconfigured the connector, if set. Get the inherited mode the moment we create a drm_head, not when we determine the mode for a drm_output. This way we are sure to

[PATCH weston v6 58/73] compositor-drm: drm_output_apply_state_atomic heads

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Fix this function to support more than one head per output. Signed-off-by: Pekka Paalanen --- libweston/compositor-drm.c | 13 + 1 file changed, 9 insertions(+), 4 deletions(-) diff --git

[PATCH weston v6 57/73] compositor-drm: drm_output_apply_state_legacy heads

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Fix this function to support more than one head per output. Signed-off-by: Pekka Paalanen --- libweston/compositor-drm.c | 38 +- 1 file changed, 25 insertions(+), 13

[PATCH weston v6 54/73] compositor-drm: move mode list to set_mode()

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Move the initialization of the drm_output mode list to drm_output_set_mode() time. Once we stop creating the drm_head with the drm_output, there will not be a head to get the mode list from at drm_output creation time. Furthermore, once

[PATCH weston v6 48/73] compositor-drm: move backlight into drm_head

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Backlight is driven per connector, hence it belongs in struct drm_head. weston_output::set_backlight() API is remains per output so far. There is no UI to control backlights per head and adding one would be difficult for an output that has

[PATCH weston v6 62/73] compositor-drm: backlight control for all heads

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen If an output has multiple (cloned) heads, it should be enough for any head to support backlight control for DRM-backend to expose it. Inspect all attached heads for backlight control and improve the logging. Pick the initial backlight level

[PATCH weston v6 61/73] compositor-drm: combine mode list from heads

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen A single list of modes needs to be combined from the mode lists in each attached head. We could just concatenate the lists, but that might introduce duplicates. Try to avoid duplicates instead by using partially fuzzy matching. When a

Re: [PATCH wayland 2/6] wayland-egl: make wayland-egl-backend.h C++ safe

2018-02-16 Thread Emil Velikov
On 16 February 2018 at 10:49, Daniel Stone wrote: > Hi Emil, > > On 16 February 2018 at 10:40, Emil Velikov wrote: >> On 15 February 2018 at 23:12, Derek Foreman wrote: >>> Maybe it's just me, but having different names for

[PATCH weston v6 27/73] libweston: stop auto-adding the implicit head

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen All frontends have been converted to the new head-based output management API, which means that weston_compositor_create_output_with_head() is calling weston_output_attach_head(). We will never hit the implicit attach anymore. Therefore we

[PATCH weston v6 29/73] libweston: assert current_mode in weston_output_enable()

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen The functions called here, particularly weston_output_transform_scale_init(), rely on current mode being set. The current mode must also be found in the mode list, though we don't explicitly check it here. current_mode not being set is a

[PATCH weston v6 32/73] compositor-rdp: migrate to head-based output API

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Follow the starndard patttern as the other backends, headless and x11 in particular, to stop relying on the implicit weston_output::head. Signed-off-by: Pekka Paalanen --- libweston/compositor-rdp.c | 64

[PATCH weston v6 23/73] weston: migrate RDP to head-based output API

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Migrate the RDP frontend to use the new head-based output configuration API: listen for heads_changed, and process all heads. Signed-off-by: Pekka Paalanen --- compositor/main.c | 15 +++ 1 file

[PATCH weston v6 16/73] libweston: add weston_head destroy signal

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Add support for subscribing to weston_head destruction. The primary use case for heads being destroyed arbitrarily is the DRM-backend with MST connectors, which may disappear on unplug. It is not just the connector becoming disconnected, it

[PATCH weston v6 21/73] weston: migrate wayland to head-based output API

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Migrate the Wayland frontend to use the new head-based output configuration API: listen for heads_changed, and process all heads. Signed-off-by: Pekka Paalanen --- compositor/main.c | 27

[PATCH weston v6 19/73] weston: migrate headless to head-based output API

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Migrate the headless frontend to use the new head-based output configuration API: listen for heads_changed, and process all heads. The simple_heads_changed() function is written to be able to cater for all backends. The rest will be migrated

[PATCH weston v6 28/73] libweston: assert make/model in weston_output_enable()

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Output make and model are not allowed to be NULL in the protocol, so ensure they are not forgotten when enabling an output. Signed-off-by: Pekka Paalanen --- libweston/compositor.c | 6 ++ 1 file changed,

[PATCH weston v6 42/73] libweston: support user data on weston_output

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Support attaching custom data to a weston_output by the traditional destroy listener / wl_signal_get approach. Needs a new destroy signal, because user data lifetime should be the lifetime of the weston_output regradless of its enabled

[PATCH weston v6 36/73] compositor-wayland: strict surface create/destroy

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Add safeguards to make it painfully obvious if we ever get the pairing of wayland_backend_create_output_surface() and wayland_backend_destroy_output_surface() wrong. Helps catching bugs. Signed-off-by: Pekka Paalanen

[PATCH weston v6 33/73] compositor-fbdev: make re-enable less drastic

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Destroying the whole output in reenable would cause list walk corruption: the loop over output_list in session_notify() is not using wl_list_for_each_safe so output removal would break it. Creating a new output is also problematic as it needs

[PATCH weston v6 31/73] compositor-headless: migrate to head-based output API

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Implement the head-based output API in this backend, and stop relying on the implicit weston_output::head. Signed-off-by: Pekka Paalanen --- libweston/compositor-headless.c | 75

[PATCH weston v6 30/73] libweston: cancel idle_repaint on output destroy

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen If the idle_repaint() callback has been scheduled when a weston_output gets destroyed, the callback will hit use-after-free. I have encountered this when migrating the wayland backend to the head-based API, using --sprawl, and

[PATCH weston v6 34/73] compositor-fbdev: migrate to head-based output API

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Implement the head-based output API in this backend, and stop relying on the implicit weston_output::head. The split between fbdev_head and fbdev_output is somewhat arbitrary. There is no hotplug or unplug, and there is always 1:1

[PATCH weston v6 37/73] compositor-wayland: migrate to head-based output API

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Follow the standard pattern used in the headless and x11 backend migration, but also cater for the two other backend modes: --sprawl or fullscreen-shell, and --fullscreen. Stops relying on the implicit weston_output::head. Unlike other

[PATCH weston v6 38/73] compositor-drm: start migration to head-based output API

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Hook up the libweston facing head-based output API by introducing struct drm_head, but leave it as a fake so that members can be migrated in pieces in follow-up patches. The DRM backend continues to create an output for each connected

[PATCH weston v6 40/73] libweston: print head names on output enable

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen This will be interesting to see when testing clone mode. Signed-off-by: Pekka Paalanen --- libweston/compositor.c | 32 1 file changed, 32 insertions(+) diff --git

[PATCH weston v6 35/73] compositor-x11: migrate to head-based output API

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Follow the standard pattern set by the headless backend which also uses the the window output API. Stops relying on the implicit weston_output::head. Signed-off-by: Pekka Paalanen ---

[PATCH weston v6 41/73] libweston: create/find output by name

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen To let users pick an arbitrary name for an output, to be used as e.g. a configuration key, add API to create an output with a given name. For the same configuration purpose, add a search function as well. For the search function to be

Re: [PATCH wayland v2 4/4] build: remove white space in -uninstalled.pc.in files

2018-02-16 Thread Daniel Stone
On 16 February 2018 at 14:36, Emil Velikov wrote: > On 21 February 2017 at 16:14, Emil Velikov wrote: >> Signed-off-by: Emil Velikov >> Reviewed-by: Derek Foreman (v1) > > Doesn't seems like

[PATCH weston v6 00/73] Head-based output configuration API a.k.a clone mode infrastructure

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Hi all, here is the v6 of the shared-CRTC clone mode series. Since v5, quite many patches have been extracted from this series, sent out and merged upstream. However, now the series is bigger than ever, because here I am posting the complete

[PATCH weston v6 02/73] libweston: move wl_output to weston_head

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen The wl_output protocol interface exposes things like monitor make, model, sub-pixel layout and physical dimensions. Obviously wl_output is meant to represent a monitor. The abstraction of a monitor is weston_head. Therefore move the wl_output

[PATCH weston v6 03/73] libweston: use head in wl_output global

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen As a wl_output represents weston_head, use a weston_head pointer as the wl_output global's user data. Signed-off-by: Pekka Paalanen v5 Reviewed-by: Derek Foreman ---

[PATCH weston v6 05/73] libweston: refactor weston_mode_switch_finish

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Split out a new function. This is a pure refactoring, no change in behaviour. This helps a following patch that adds a loop over output->head_list. Signed-off-by: Pekka Paalanen v5 Reviewed-by: Derek Foreman

[PATCH weston v6 04/73] libweston: make wl_output point to weston_head

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen The user data of a wl_resource representing a wl_output protocol object used to be a pointer to weston_output. Now that weston_output is being split, wl_output more accurately refers to weston_head which is a single monitor. Change the

[PATCH weston v6 08/73] libweston: strdup head make, model, serial_number

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Duplicate these strings to decouple their lifetime from whatever the backends used. This should prevent hard to catch use after frees and such problems in the future. Signed-off-by: Pekka Paalanen v5

[PATCH weston v6 01/73] libweston: introduce weston_head

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen In order to support clone modes, libweston needs the concept of a head that is separate from weston_output. While weston_output manages buffers and the repaint state machine, weston_head will represent a single monitor. In the future it will

[PATCH weston v6 63/73] compositor-drm: update video mode printing

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Stop using a head for printing the mode list, because there could be multiple heads. We already gather the mode list from all heads. No need to print the connector id here, because it is logged with DRM heads, and core prints the head names

[PATCH weston v6 65/73] compositor-drm: no need to clear inherited_mode

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen The head was just zalloc()'d, there is no need to memset it to zero. If a function fails, it is preferable it leaves the output arguments untouched. Signed-off-by: Pekka Paalanen ---

[PATCH weston v6 59/73] compositor-drm: drm_set_backlight heads

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Fix this function to support more than one head per output. Signed-off-by: Pekka Paalanen --- libweston/compositor-drm.c | 19 +++ 1 file changed, 11 insertions(+), 8 deletions(-) diff --git

[PATCH weston v6 68/73] compositor-drm: head detach requires a modeset

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen When a head is detached from an enabled output, that output needs to go through a modeset (drmModeSetCrtc() / ATOMIC_ALLOW_MODESET) so that the connector is actually removed from the CRTC. This has not yet been a problem, because an output

[PATCH weston v6 64/73] compositor-drm: introduce drm_head_read_current_setup()

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Rename connector_get_current_mode() because it will be useful for storing not just the current mode on creating a head. Signed-off-by: Pekka Paalanen --- libweston/compositor-drm.c | 10 +- 1 file

[PATCH weston v6 60/73] compositor-drm: unify head status logging

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Previously the log contained one line for EDID data and another line for the head, and you just had to know they belong together. Make it more obvious to read by putting both head and EDID info on the same line. We no longer print EDID data

Re: [PATCH wayland v2 4/4] build: remove white space in -uninstalled.pc.in files

2018-02-16 Thread Emil Velikov
On 21 February 2017 at 16:14, Emil Velikov wrote: > From: Emil Velikov > > v2: Rebase, address wayland-client-uninstalled > > Signed-off-by: Emil Velikov > Reviewed-by: Derek Foreman (v1)

[PATCH weston v6 47/73] compositor-drm: find disconnects from head_list

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Instead of iterating output_list and pending_output_list, iterate head_list to find outputs whose connectors have been disconnected. This helps a following patch to move connector fields from drm_output to drm_head. Signed-off-by: Pekka

[PATCH weston v6 49/73] compositor-drm: move connector fields into drm_head

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Move the connector related fields from drm_output to the drm_head. A drm_head represents a connector for now. The code in drm_head_create() to update connector data, monitor information, etc. is moved into a new function. This will be useful

[PATCH weston v6 46/73] compositor-drm: use head_find_by_connector in update_unused_outputs

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Making this function not depend on drm_head::output field through drm_output_find_by_connector() will later allow to remove the drm_head::output field before removing the unused_connectors array. This helps keeping the commit more

[PATCH weston v6 45/73] compositor-drm: drm_output_find_by_connector from head_list

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Switch drm_output_find_by_connector() to search for the output by iterating the compositor's head_list. drm_head_find_by_connector() will be useful later on its own. As of "compositor-drm: start migration to head-based output API" the head

[PATCH weston v6 43/73] libweston: allow attaching heads to enabled outputs

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Move the responsibility of ensuring the head will work in the enabled output to the backends. A compositor cannot enable an output without heads, and removing the last head from an output automatically disables the output, so attaching a new

[PATCH weston v6 50/73] compositor-drm: allocate CRTC on enable()

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen A drm_output needs a CRTC only when it is in use. Allocating a CRTC on creation of drm_output will reserve the CRTC regardless of whether the output is actually used or not. This may cause creating other drm_outputs to fail if there are not

[PATCH weston v6 44/73] libweston: log head detach on enabled output

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen Helps debugging. Signed-off-by: Pekka Paalanen --- libweston/compositor.c | 11 ++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libweston/compositor.c b/libweston/compositor.c index

[PATCH weston v6 52/73] compositor-drm: simplify drm_output_find_special_plane()

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen As these planes are allocated on output enable and freed on output disable, there cannot be a match in the pending_output_list. Signed-off-by: Pekka Paalanen --- libweston/compositor-drm.c | 8 1

[PATCH weston v6 51/73] compositor-drm: simplify drm_output_find_by_crtc()

2018-02-16 Thread Pekka Paalanen
From: Pekka Paalanen As CRTC is allocated on output enable and deallocated on output disable, there cannot be any matches in find-by-crtc from the pending_output_list. Remove the loop over pending_output_list as never finding anything by definition.

Re: [RFC wayland] wayland-server: Finally remove deprecated struct wl_buffer definition

2018-02-16 Thread Derek Foreman
On 2018-02-16 12:58 PM, Emil Velikov wrote: On 16 February 2018 at 18:24, Derek Foreman wrote: On 2018-02-16 11:18 AM, Emil Velikov wrote: On 16 February 2018 at 16:54, Derek Foreman wrote: commit d94a8722cb29d8b897672be66ff3c9ff79eab6fe

Re: [RFC wayland] wayland-server: Finally remove deprecated struct wl_buffer definition

2018-02-16 Thread Derek Foreman
On 2018-02-16 11:18 AM, Emil Velikov wrote: On 16 February 2018 at 16:54, Derek Foreman wrote: commit d94a8722cb29d8b897672be66ff3c9ff79eab6fe warned this was coming, back in 2013. I've seen libraries that have wayland client and server using functions in the same

Re: [RFC wayland] wayland-server: Finally remove deprecated struct wl_buffer definition

2018-02-16 Thread Emil Velikov
On 16 February 2018 at 16:54, Derek Foreman wrote: > commit d94a8722cb29d8b897672be66ff3c9ff79eab6fe > warned this was coming, back in 2013. > > I've seen libraries that have wayland client and server using functions > in the same file. Since struct wl_buffer still exists

Re: [RFC wayland] wayland-server: Finally remove deprecated struct wl_buffer definition

2018-02-16 Thread Emil Velikov
On 16 February 2018 at 18:24, Derek Foreman wrote: > On 2018-02-16 11:18 AM, Emil Velikov wrote: >> >> On 16 February 2018 at 16:54, Derek Foreman >> wrote: >>> >>> commit d94a8722cb29d8b897672be66ff3c9ff79eab6fe >>> warned this was coming, back in

  1   2   >