The issue is the following,

taking just one active surface only visible in display A not display B

- compositor A consumes surface ready buffer. The buffer queue associated with 
the surface now has put that ready buffer into a "current compositor buffer" - 
i.e. it's the buffer that the compositor will use if there's another 
compositing pass and no other ready buffers are available.
-- compositor A asks if there are any more ready buffers. 
--- BufferQueue returns 0 ready buffers.

a. compositor B runs, figures out there are no visible surfaces for its area so 
doesn't consume anything from the buffer queue.
b. compositor B asks buffer queue if there are more ready buffers
c. buffer queue says 1 buffer is available - because it didn't consume the 
ready buffer as it wasn't visible on it.
d. repeat a-c indefinitely until surface actually is visible in display B

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to mir in Ubuntu.
https://bugs.launchpad.net/bugs/1499039

Title:
  compositing never stops when external monitor is connected

Status in Mir:
  In Progress
Status in mir package in Ubuntu:
  New

Bug description:
  Start the following with no external display:

  sudo mir_demo_server --arw-file --display-config=sidebyside --window-manager 
system-compositor --hwc-report log
  mir_demo_server --host-socket /tmp/mir_socket -f /tmp/nested_mir 
--display-config=sidebyside

  After hotplugging an external display, the compositor loop never stops
  compositing as evidenced by the root server hwc logs.

To manage notifications about this bug go to:
https://bugs.launchpad.net/mir/+bug/1499039/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to