Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
clients/window.c| 26 --
shared/cairo-util.h | 7 +++
shared/frame.c | 49 +
3 files changed, 80 insertions(+), 2 deletions(-)
diff --git a/clients
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
-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor-drm.c | 9
src/compositor.c | 114 ++-
src/compositor.h | 9
weston.ini.in| 2 +
4 files changed, 115 insertions(+), 19 deletions(-)
diff --git a/src/compositor
to target output.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
desktop-shell/shell.c | 24 +---
1 file changed, 21 insertions(+), 3 deletions(-)
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index bee1b0b..02dd1b8 100644
--- a/desktop-shell/shell.c
+++ b
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
.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor-drm.c | 40
src/compositor.c | 46 ++
2 files changed, 74 insertions(+), 12 deletions(-)
diff --git a/src/compositor-drm.c b/src
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
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
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
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
from master to clone.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor-drm.c | 9 +++-
src/compositor.c | 61 ++--
src/compositor.h | 2 ++
3 files changed, 64 insertions(+), 8 deletions(-)
diff --git a/src
When a output change role between master and slave in clone mode,
some work is needed, this signal is used to trigger this work.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
desktop-shell/shell.c | 13 +
src/compositor.c | 1 +
src/compositor.h | 1 +
3 files
will be upgraded to master output,
moving output following unplugged output isn't necessay,
views on unplugged output will be marked as dirty.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
desktop-shell/shell.c | 13 ++-
src/compositor-drm.c | 103
be released.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor-drm.c | 112 ++-
src/compositor.c | 3 +-
2 files changed, 112 insertions(+), 3 deletions(-)
diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index 6773226
setting for slave output
will fail. So slave output's mode will be adjusted when it is
necessary.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor-drm.c | 189 ---
src/compositor.c | 15 +++-
src/compositor.h | 5
When system do VT switch, slave output should use master
output's fb to restore mode.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor-drm.c | 38 +-
1 file changed, 37 insertions(+), 1 deletion(-)
diff --git a/src/compositor-drm.c b/src
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor-drm.c | 81 +++-
1 file changed, 29 insertions(+), 52 deletions(-)
diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index 842710f..836f81d 100644
--- a/src/compositor
if the assigned output is slave, change the assigned output to
associated master output
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
desktop-shell/shell.c | 11 ---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index
If adding output is a slave output, this slave output share the fb
with master output.
If adding output is a master output, loop the output_list to find
its slave output. If it has slave output, this slave output will
change role from master to slave.
Signed-off-by: Xiong Zhang xiong.y.zh
, the old
master's background and panel view should be removed from view_list
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
desktop-shell/shell.c | 70 +--
1 file changed, 57 insertions(+), 13 deletions(-)
diff --git a/desktop-shell/shell.c b
output.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
desktop-shell/shell.c | 28 +++-
1 file changed, 23 insertions(+), 5 deletions(-)
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index 9ecd15a..c5d722a 100644
--- a/desktop-shell/shell.c
+++ b
-configure(), at
this point surface-width and surface-height have been changed to
maximized and fullscreen buffer size in weston_surface_commit().
This patch change calling set_full_output from set_surface_type to
set_maximized() and set_fullscreen().
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
loop on the listener list of this output signal.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/compositor.c b/src/compositor.c
index 6ca297a..9929be1 100644
--- a/src/compositor.c
+++ b/src
When drm_output is destroyed, we should free drm_mode to avoid
memoey leakage.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor-drm.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index fbf6e49..9af8f8d 100644
if the unplugged output isn't the default output, move cursor
and APP widow to default output
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/shell.c | 190 ++--
1 file changed, 186 insertions(+), 4 deletions(-)
diff --git a/src
output should be moved also.
Because of the page flip intervention, the weston_output_destroy()
maybe asynchronous with update_outputs(). So we should change
moving following outputs to output_destroy handler.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor-drm.c | 8
to.
Add a weston_surface-restore_output to save the correct output
in above situation, so that these surface on hiden workspace can
be restored correctly on destroyed output.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor.c | 2 ++
src/compositor.h | 6 ++
src/shell.c
when output is removed, weston-desktop-shell should destroy panel
and background surface on destroyed output.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
clients/desktop-shell.c | 20
clients/window.c| 32
clients/window.h
belonged to.
Add a weston_surface-restore_output to save the correct output
in above situation, so that these surface on hiden workspace can
be restored correctly on destroyed output.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor.c | 2 ++
src/compositor.h | 6 ++
src
-deal with child window, like subsurface, popup window
-move weston_output_move() calling function from
update_outputs() to handle_output_destroy()
I test this patchset on two and three outputs, it works fine.
But I maybe miss some window to restore.
Xiong Zhang (6):
compositor: set surface-plane
that have a non-NULL plane pointer wil be
on compositor-surface_list (Kristian).
bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69777
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor-drm.c | 6 +++---
src/compositor.c | 22 +-
src/compositor.h
setup_output_destroy_handler() deal with output created at
drm backend initialize time.
handle_output_create() deal with output created by hot plug handler
output_destroy_handler is removed when output was unplugged or
shell is destroyed.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
, the surface on moved output
should be moved also.
V2: because of the page flip intervention, the weston_output_destroy()
maybe asynchronous with update_outputs(). So move
weston_output_move() calling function from update_outputs()
to handle_output_destroy()
Signed-off-by: Xiong
surface will be redrawed
on next repainted
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor-drm.c | 2 +
src/shell.c | 139 +++
2 files changed, 141 insertions(+)
diff --git a/src/compositor-drm.c b/src/compositor
setup_output_destroy_handler() deal with output created at
drm backend initialize time.
handle_output_create() deal with output created by hot plug handler
output_destroy_handler is removed when output was unplugged or shell is
destroyed.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
when output is removed, weston-desktop-shell should destroy panel and
background surface on destroyed output.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
clients/desktop-shell.c | 20
clients/window.c| 32
clients/window.h
to NULL whose plane point to unplugged output, then
change weston_surface_damage_below() to do nothing if surface-plane is
NULL (Kristian)
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor.c | 22 +++---
src/compositor.h | 2 ++
2 files changed, 21
, the surface on moved output should
be moved also.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor.c | 17 +
src/shell.c | 44 +---
2 files changed, 46 insertions(+), 15 deletions(-)
diff --git a/src/compositor.c b/src
if the unplugged output isn't the default output, move cursor surface
and APP widow to default output
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor-drm.c | 2 +
src/shell.c | 135 +++
2 files changed, 137
belonged to.
Add a weston_surface-restore_output to save the correct output in above
situation, so that these surface on hiden workspace can be restored correctly
on destroyed output.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor.c | 2 ++
src/compositor.h | 6 ++
src
output
the segment fault will happpen in page_flip_handler()
this patch add a variable drm_compositor-destroy_pending, if page flip event
is pending
when output remove event arrive, output_destroy will be delayed until page flip
finished
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src
this cursor_surface, segment fault will
occure in
weston_surface_damage_below() function.
plane should track all the surfaces belonged to it, when plane is destroyed,
restroe surface on destroyed plane to primary plane.
bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69777
Signed-off-by: Xiong Zhang
the theory for clone mode is: all the outputs share the same fb, when primary
output
do modeset and pageflip, clone output do this also.
I fulfill repaint, VT switch and hotplug function. I don't implement dynamical
setting
output's mdoe.
Xiong Zhang (9):
add multi-screen-mode option
multi-screen-mode=clone/extend to control multi screen mode
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor.c | 9 +
src/compositor.h | 7 +++
weston.ini | 1 +
3 files changed, 17 insertions(+)
diff --git a/src/compositor.c b/src/compositor.c
index
. choose a nearest mode below primary_output's
mode.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor-drm.c | 100 +--
1 file changed, 97 insertions(+), 3 deletions(-)
diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index
one pointer can exist in only one output, once find the output, break
the loop
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/input.c | 7 +--
src/shell.c | 2 ++
src/zoom.c | 1 +
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/input.c b/src/input.c
index
Only repsone to primary output repaint request; Primary output and
clone output share the same frame buffer, once primary output do page
flip, clone output will do page flip also. When both primary output
and clone output finish the page flip, the fb obj can be released.
Signed-off-by: Xiong
clone output should use primary output's fb to restore mode
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor-drm.c | 16 ++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index 0b9ab45..a9d2ab5 100644
, all surface should be dirty, so that all client can
get frame callback and request repaint.
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor-drm.c | 93 +++-
src/compositor.c | 10 ++
src/compositor.h | 2 ++
3 files
App can specify the output for maximize and fullscreen show,
limited the output to primary output when clone mode enabled to
avoid App assign a fault output
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/shell.c | 8 ++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff
if removed output is clone output, just delete this output
if removed output is primary output, find a new primary output and adjust
clone output's mode necessary
Signed-off-by: Xiong Zhang xiong.y.zh...@intel.com
---
src/compositor-drm.c | 57
51 matches
Mail list logo