[PATCH 00/12] implement per connector clone mode
xiong.y.zhang at intel.com
Fri Mar 7 00:27:18 PST 2014
With the help of Ander, this is the new round clone mode patchset.
The implementation points are:
a. master output are in compositor->output_list, clone output are in
master_output->clone_output_list. we create global_output for master
output only. Client can't get any information for clone output.
b. All the external repaint request are for master output. when master
output repaint, all the associated clone output should repaint also.
Master output and clone outputs have seperate frame buffer, but they
reference the same surface.
Note there are still two minor issues for this:
a. when the refresh rate difference between master and clone is large
enough, sometimes the picture among them may be different.
b. when the size of clone output is larger than master output, the display
for extra area on clone output is ugly and mess.
when the size of clone output is smaller than master output, clone output
can just show partial master output.
I will supply one patch to scale clone output for this case.
patch 1~2: bug fix patch for output unplug in extend mode
patch 3~6: refactor patch for clone mode
patch 7~12: implement clone mode
Ander Conselvan de Oliveira (3):
compositor: Move output positining logic out of the backends
compositor: Add output to the compositor output list in the core
compositor: Track damage properly for overlapping outputs
Xiong Zhang (9):
shell.c: Set dirty for visible views on destroyed output
shell.c: Restore maximized and fullscreen window on destroyed output
compositor-drm: Abstract drm_output_set_mode()
compositor: Add per connector clone mode support
compositor: Move all clone outputs when move master outptu
compositor: Output repaint in clone mode
compositor-drm: Deal with VT switch in clone mode
compositor: Hot plug a output in clone mode
compositor: Output unplug in clone mode
desktop-shell/shell.c | 30 +++++-
src/compositor-drm.c | 161 +++++++++++++++++-----------
src/compositor-fbdev.c | 12 +--
src/compositor-headless.c | 8 +-
src/compositor-rdp.c | 5 +-
src/compositor-rpi.c | 9 +-
src/compositor-wayland.c | 32 +++---
src/compositor-x11.c | 34 +++---
src/compositor.c | 263 +++++++++++++++++++++++++++++++++++++++++-----
src/compositor.h | 14 ++-
weston.ini.in | 2 +
11 files changed, 419 insertions(+), 151 deletions(-)
More information about the wayland-devel