Mir

Comment 3 for bug 1499039

Revision history for this message
Alberto Aguirre (albaguirre) wrote :

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