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(-) -- 1.8.3.2 _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
