Comment 18 for bug 1280842

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

<mterry> alan_g, it's not even *my* scenario. It's just a client calling mir::run_mir
<mterry> alan_g, something about constructing/running a DisplayServer causes 4 buffers to be swapped
<alan_g> mterry: so this client is a nested server?
<mterry> alan_g, yeah
<mterry> alan_g, (this is all in the context of USC which just deals with nested servers)
<alan_g> mterry: I strongly suspect a bug in the nested code then
<alan_g> With a second possibility that the android client code is the cause
<alan_g> *internal* client
<mterry> alan_g, would that be work-around-able?
<alf_> alan_g: mterry: Hmm, when the compositor starts up it triggers itself, each trigger being 3 compositings. In a nested server, swapping the buffer when compositing means sending the buffer to usc.
<alan_g> And the 4th could be something like the Mesa "advance_buffer" bug?
<alf_> alan_g: yeah
* anpok has quit (Ping timeout: 264 seconds)
<mterry> I do only get 3 if I hide() the surface first, FYI
<alan_g> mterry: that makes sense
<kdub> iirc, android shouldnt do that 'advance_buffer'
<kdub> rather, the same sort of bug as the Mesa "advance_buffer". it does request a buffer on eglCreateWindowSurface, but it should get the buffer associated with the surface creation
* jono_ has quit (Quit: Ex-Chat)
<kdub> (nexus 10 does something different)
<alan_g> kdub: ok, but I'll buy alf_ explanation - we need to something different when compositing in nested mode.
<alan_g> If no-one else grabs it I can have a go on Monday
* mterry hugs alan_g
* alan_g blushes
<mterry> alan_g, so the idea would be that USC could call hide(), watch for buffer swaps, and when it gets a non-null one, show() again?
* vila has quit (Quit: Leaving)
* anpok (~<email address hidden>) has joined #ubuntu-mir
<mterry> or maybe it wouldn't need to call hide if it weren't getting buffer swaps in the first place
<alan_g> mterry: yes, nested clients ought to behave like regular ones
<mterry> alan_g, sounds perfect
* alan_g decides to cut & paste the above discussion into the bug