[PATCH 06/12] compositor-drm: Abstract drm_output_set_mode()

2014-03-07 Thread Xiong Zhang
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com --- src/compositor-drm.c | 45 +++-- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/src/compositor-drm.c b/src/compositor-drm.c index 78292a6..dd1c251 100644 --- a/src/compositor-drm.c +++

[PATCH 07/12] compositor: Add per connector clone mode support

2014-03-07 Thread Xiong Zhang
Master output will be in compositor-output_list. Clone output won't be in compositor-output_list, while it is in master-clone_output_list. The group of master output and associated clone outputs will be treated as one output, client can't get any information about clone output. Signed-off-by:

[PATCH 02/12] shell.c: Restore maximized and fullscreen window on destroyed output

2014-03-07 Thread Xiong Zhang
When maximized or fullscreen window is on destroyed output, compositor can't change these windows to normal window without notify client, otherwise maximize icon or F11 buttion lose its effect after output unplug. Instead we keep these window as maximized or fullscreen, just change it's size to

[PATCH 03/12] compositor: Move output positining logic out of the backends

2014-03-07 Thread Xiong Zhang
From: Ander Conselvan de Oliveira ander.conselvan.de.olive...@intel.com Move the code for choosing the x and y of an output out of the backend into weston_output_init(). All the backends implement the same simple behavior, so this lets that code be in just one place. Signed-off-by: Ander

[PATCH 12/12] compositor: Output unplug in clone mode

2014-03-07 Thread Xiong Zhang
If unplugged output is a clone output or a master output without associated clone output, just destroy it as normal. If unplugged output is a master output with associated clone output, one clone output will be upgraded to master output, this new master is put at the end of

[PATCH 08/12] compositor: Move all clone outputs when move master outptu

2014-03-07 Thread Xiong Zhang
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com --- src/compositor.c | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/compositor.c b/src/compositor.c index 402ac75..c9fe06c 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -3294,8 +3294,8 @@

[PATCH 01/12] shell.c: Set dirty for visible views on destroyed output

2014-03-07 Thread Xiong Zhang
The geometry for visible views will keep unchanged, weston_view_set_position() doesn't mark these views as dirty. So there is no chance for them to reassign output, then these views will disappear. Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com --- desktop-shell/shell.c | 6 -- 1 file

[PATCH 04/12] compositor: Add output to the compositor output list in the core

2014-03-07 Thread Xiong Zhang
From: Ander Conselvan de Oliveira ander.conselvan.de.olive...@intel.com Previously the insertion was done by the backends, with a potential crash in the error path. Calls to weston_output_destroy() would try to remove the output from the compositor list before it was actually inserted. This

[PATCH 05/12] compositor: Track damage properly for overlapping outputs

2014-03-07 Thread Xiong Zhang
From: Ander Conselvan de Oliveira ander.conselvan.de.olive...@intel.com The assumption that there are no overlapping outputs allows damage to be kept in a compositor-wide region that is cleared by the backends after output repaint. When outputs overlap, however, the repaint of one output clears

[PATCH 11/12] compositor: Hot plug a output in clone mode

2014-03-07 Thread Xiong Zhang
If adding output is a clone output, first system will find its master, then system will put this output into master-clone_output_list If adding output is a master output, system will loop the output_list to find its clone output. If this master has clone output, the clone output will downgrade

[RFCv3 weston 00/15] Wayland Presentation extension

2014-03-07 Thread Pekka Paalanen
From: Pekka Paalanen pekka.paala...@collabora.co.uk Hi all, here is the third RFC of the Wayland Presentation protocol, now with a complete implementation! RFCv2 can be found at http://lists.freedesktop.org/archives/wayland-devel/2014-January/012988.html and the email thread contains extensive

[RFCv3 weston 01/15] compositor: refactor more into weston_surface_attach

2014-03-07 Thread Pekka Paalanen
From: Pekka Paalanen pekka.paala...@collabora.co.uk Merge more code into a common function. No functional changes. Signed-off-by: Pekka Paalanen pekka.paala...@collabora.co.uk --- src/compositor.c | 10 -- 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/compositor.c

[RFCv3 weston 02/15] compositor: buffer can be non-NULL only if newly_attached

2014-03-07 Thread Pekka Paalanen
From: Pekka Paalanen pekka.paala...@collabora.co.uk There is no need for weston_subsurface_commit_to_cache() to leave the pending.buffer set. Reset it to NULL. This makes pending.buffer always NULL if pending.newly_attached == 0. IOW, pending.buffer cannot be non-NULL unless

[RFCv3 weston 05/15] compositor: replace weston_buffer_viewport::viewport_set

2014-03-07 Thread Pekka Paalanen
From: Pekka Paalanen pekka.paala...@collabora.co.uk Remove the explicit boolean variable, and use illegal width to denote not set. Split the boolean into two, so we can later start having buffer.src_* and surface.* set or not set independently. This may become useful when the wl_viewport

[RFCv3 weston 08/15] weston-info: report presentation clock

2014-03-07 Thread Pekka Paalanen
From: Pekka Paalanen pekka.paala...@collabora.co.uk Signed-off-by: Pekka Paalanen pekka.paala...@collabora.co.uk --- Makefile.am | 3 ++ clients/weston-info.c | 81 +++ 2 files changed, 84 insertions(+) diff --git a/Makefile.am

[RFCv3 weston 04/15] compositor: reorganize struct weston_buffer_viewport

2014-03-07 Thread Pekka Paalanen
From: Pekka Paalanen pekka.paala...@collabora.co.uk Queueing in the Presentation extension requires splitting the viewport state into buffer state and surface state. To conveniently allow assigning only one, the other, or both, reorganize the weston_buffer_viewport structure. Signed-off-by:

[RFCv3 weston 03/15] compositor: refactor code into weston_surface_reset_pending_buffer()

2014-03-07 Thread Pekka Paalanen
From: Pekka Paalanen pekka.paala...@collabora.co.uk No functional changes. Signed-off-by: Pekka Paalanen pekka.paala...@collabora.co.uk --- src/compositor.c | 25 + 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/compositor.c b/src/compositor.c index

[RFCv3 weston 06/15] protocol: add presentation extension RFC v3

2014-03-07 Thread Pekka Paalanen
From: Pekka Paalanen pekka.paala...@collabora.co.uk Add accurate presentation timing features to Wayland: queueing and feedback. This specification is based on the draft written by Frederic Plourde frederic.plou...@collabora.co.uk and redesigned by Pekka Paalanen. The RFC v2 version is from

[RFCv3 weston 10/15] compositor: implement presentation_feedback

2014-03-07 Thread Pekka Paalanen
From: Pekka Paalanen pekka.paala...@collabora.co.uk Implement the presentation.feedback request, and the presentation_feedback protocol interface. Feedback information is delivered to clients as the backend reports it, except the refresh counter (MSC) which is always reported as zero.

[RFCv3 weston 12/15] compositor: implement presentation.queue

2014-03-07 Thread Pekka Paalanen
From: Pekka Paalanen pekka.paala...@collabora.co.uk Implement the queueing and queue processing of the Presentation extension. Every weston_surface (wl_surface) has a queue_list, which is ordered by the target presentation timestamp of the queued updates. A wl_surface.commit following a

[RFCv3 weston 15/15] compositor: add presentation debug functions

2014-03-07 Thread Pekka Paalanen
From: Pekka Paalanen pekka.paala...@collabora.co.uk These are to be enabled by a developer as needed. They helped to track down a problem, where the prediction was deemed practically perfect but feedback was sent on the frame after, leading to incorrect feedback that looked like all queued

[RFCv3 weston 13/15] clients: add presentation-shm demo

2014-03-07 Thread Pekka Paalanen
From: Pekka Paalanen pekka.paala...@collabora.co.uk This started as a copy of simple-shm.c before it was converted to xdg_shell. This demo excercises the presentation feedback interface in three different mode: - A continuous repaint loop triggered by frame callbacks, and using immediate

[RFCv3 weston 11/15] compositor-drm: deliver frame seq for feedback

2014-03-07 Thread Pekka Paalanen
From: Pekka Paalanen pekka.paala...@collabora.co.uk Add 'msc' field to weston_output to maintain the refresh counter, and use it in presentation_feedback.presented. Make compositor-drm update the per-output refresh counter with the values reported by DRM. If the DRM reported value jumps

[RFCv3 weston 09/15] compositor: set and use the presentation clock everywhere

2014-03-07 Thread Pekka Paalanen
From: Pekka Paalanen pekka.paala...@collabora.co.uk Add presentation clock setters that verify the given clock actually works. Offer an automatic choice of a software fallback clock, when a backend has to always use clock_gettime() to approximate the presentation time. The DRM backend already

[RFCv3 weston 07/15] compositor: add stub implementation of presentation interface

2014-03-07 Thread Pekka Paalanen
From: Pekka Paalanen pekka.paala...@collabora.co.uk You can bind to the global interface, and it delivers a fake clock id. All requests on it raise an error. Signed-off-by: Pekka Paalanen pekka.paala...@collabora.co.uk --- src/compositor.c | 70

[RFCv3 weston 14/15] protocol: add scaler TODO

2014-03-07 Thread Pekka Paalanen
From: Pekka Paalanen pekka.paala...@collabora.co.uk These changes are needed by the queueing in Presentation extension. --- protocol/scaler.xml | 4 src/compositor.c| 3 +++ 2 files changed, 7 insertions(+) diff --git a/protocol/scaler.xml b/protocol/scaler.xml index dfe44b8..f3a7232

Re: [PATCH weston] weston-launch: Do not run weston in a shell

2014-03-07 Thread Pekka Paalanen
On Thu, 6 Mar 2014 17:25:49 +0100 Quentin Glidic sardemff7+wayl...@sardemff7.net wrote: From: Quentin Glidic sardemff7+...@sardemff7.net Since 636156d5f693ac5b01cec6a2937d2b6cd4237ea9 it is not needed any more to allow the user to pass environment to weston. Actually, the login shell is

[PATCH weston-ivi-shell v2 02/15] ivi application protocol:

2014-03-07 Thread Nobuhiko Tanibata
Add interface ivi_application, which creates ivi_surface objects tied to a given wl_surface with a given id. The given id can be used in a shell to identify which application is assigned to a wl_surface and layout the surface wherever the shell wants. ivi_surface objects can be used to receive

[RFCv3.1 weston] WIP protocol: add flags and refresh stream to presentation

2014-03-07 Thread Pekka Paalanen
From: Pekka Paalanen pekka.paala...@collabora.co.uk This is quick write-up of http://cgit.collabora.com/git/user/pq/weston.git/tree/buffer-queue3.txt?h=buffer-queue-spec How would this idea feel? Thanks, pq --- protocol/presentation_timing.xml | 66 1

Re: [PATCH weston-ivi-shell v2 02/15] ivi application protocol:

2014-03-07 Thread Jason Ekstrand
On Mar 7, 2014 7:56 AM, Nobuhiko Tanibata nobuhiko_tanib...@xddp.denso.co.jp wrote: Add interface ivi_application, which creates ivi_surface objects tied to a given wl_surface with a given id. The given id can be used in a shell to identify which application is assigned to a wl_surface and

Re: [PATCH weston v4 01/15] Add a fullscreen shell protocol

2014-03-07 Thread Jason Ekstrand
Hi Bryce, Thanks for reviewing! I'll get the typo changes made and look into canceled vs. cancelled. More comments below On Mar 6, 2014 9:38 PM, Bryce W. Harrington b.harring...@samsung.com wrote: On Tue, Feb 25, 2014 at 07:26:33PM -0600, Jason Ekstrand wrote: Signed-off-by: Jason Ekstrand

Re: [PATCH 00/12] implement per connector clone mode

2014-03-07 Thread Bill Spitzak
Xiong Zhang wrote: With the help of Ander, this is the new round clone mode patchset. It seems like there is now two different methods of getting a surface to be seen more than once: using this clone of an output, and the views stuff for putting a surface on more than one output. I think

[PATCH mesa 3/7] eglCreateContext: Remove the check for whether config == 0

2014-03-07 Thread Neil Roberts
In eglCreateContext there is a check for whether the config parameter is zero and in this case it will avoid reporting an error if the EGL_KHR_surfacless_context extension is supported. However there is nothing in that extension which says you can create a context without a config and Mesa breaks

[PATCH mesa 4/7] Add the EGL_MESA_configless_context extension

2014-03-07 Thread Neil Roberts
This extension provides a way for an application to render to multiple surfaces with different buffer formats without having to use multiple contexts. An EGLContext can be created without an EGLConfig by passing EGL_NO_CONFIG_MESA. In that case there are no restrictions on the surfaces that can be

[PATCH piglit 5/7] Add a test for EGL_MESA_configless_context

2014-03-07 Thread Neil Roberts
This tests creating an EGLContext without an EGLConfig and then creates three surfaces with different configs and tries rendering to them. The test is skipped if the extension is not available. --- tests/all.py | 4 + tests/egl/CMakeLists.gl.txt| 1 +

[PATCH 0/7] EGL_MESA_configless_context

2014-03-07 Thread Neil Roberts
Here is a series of patches to add an extension which makes it possible to create an EGL context without specifying a config. A context created in this way can be bound with any surface using the same EGLDisplay rather than being restricted to those using the same config. The main use case is that

[PATCH weston 7/7] Add support for having different GBM formats for different outputs

2014-03-07 Thread Neil Roberts
The gbm-format configuration option can now be specified per-output as well as in the core config section. If it is not specified it will default to the format specified in the core section. The EGL_MESA_configless_context extension is required for this to work. If this extension is available it

[PATCH mesa 2/7] Fix the initial value of glDrawBuffers for GLES

2014-03-07 Thread Neil Roberts
Under GLES 3 it is not valid to pass GL_FRONT to glDrawBuffers. Instead, GL_BACK has a magic interpretation which means it will render to the front buffer on single-buffered contexts and the back buffer on double-buffered. We were incorrectly setting the initial value to GL_FRONT for

[PATCH mesa 1/7] Use the magic behaviour of GL_BACK in GLES 1 and 2 as well as 3

2014-03-07 Thread Neil Roberts
In GLES 3 it is not possible to select rendering to the front buffer and instead selecting GL_BACK has the magic interpretation that it is either the front buffer on single-buffered configs or the back buffer on double-buffered. GLES 1 and 2 have no way of selecting the draw buffer at all. In that

Re: [PATCH weston v4 01/15] Add a fullscreen shell protocol

2014-03-07 Thread Bryce W. Harrington
On Fri, Mar 07, 2014 at 11:31:16AM -0600, Jason Ekstrand wrote: + If the size of the presented surface changes, the resulting output + is undefined. The compositor may attempt to change the output mode + to compensate. However, there is no guarantee that a suitable mode

[PATCH] x11-backend: Add a --scale option

2014-03-07 Thread Jason Ekstrand
From: Jason Ekstrand ja...@jlekstrand.net --- man/weston.man | 4 src/compositor-x11.c | 11 +++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/man/weston.man b/man/weston.man index f2d1b4c..fd1c7a5 100644 --- a/man/weston.man +++ b/man/weston.man @@ -186,6

Re: [RFCv3 weston 01/15] compositor: refactor more into weston_surface_attach

2014-03-07 Thread Daniel Stone
Hi, On 7 March 2014 13:03, Pekka Paalanen ppaala...@gmail.com wrote: Merge more code into a common function. No functional changes. Quick nitpick: does this not break all the pixman_region32_*() calls in weston_surface_commit(), which rely on surface-{width,height}? Should be pretty easy to see

Re: [PATCH weston v4 01/15] Add a fullscreen shell protocol

2014-03-07 Thread Jason Ekstrand
On Mar 7, 2014 1:14 PM, Bryce W. Harrington b.harring...@samsung.com wrote: On Fri, Mar 07, 2014 at 11:31:16AM -0600, Jason Ekstrand wrote: + If the size of the presented surface changes, the resulting output + is undefined. The compositor may attempt to change the output mode