Mir

Code review comment for lp:~kdub/mir/display-groups

Revision history for this message
Gerry Boland (gerboland) wrote :

I understand the motivation for DisplayGroup. The concept will make qtmir's multimonitor support complicated however, as QtMir will allocate one QWindow per Display, and expects to be able to call swap buffers on each Display individually.

Individuality being important: if the scene on monitor 2 changes, then its render loop will spin up, draw and call swap buffers for Display2. However if Display2 is part of a DisplayGroup, it would be presumptuous for it to swap the whole DisplayGroup.

What if Display1 (part of DisplayGroup too) was also being rendered, but finished later than Display2? It can't call swapBuffers on the whole DisplayGroup again, so instead need a sync point between the 2 threads where both are done, before calling swap.

But if Display1 doesn't need changing, then Display2 can legitimately call swap on the whole DisplayGroup.

I don't see how I can support this with Qt without some form of synchronization between the render threads which share a DisplayGroup. Is that a correct conclusion?

If so, it'll be work getting Qt to support this.

« Back to merge proposal