On Mon, Jun 20, 2011 at 05:11:07PM +0200, Alon Levy wrote: > On Mon, Jun 20, 2011 at 04:07:59PM +0200, Gerd Hoffmann wrote: > > >>What is the difference to one worker->stop() + worker->start() cycle? > > >> > > > > > >ok, stop+start won't disconnect any clients either. But does stop render > > >all waiting commands? > > >I'll have to look, I don't know if it does. > > > > It does. This is what qemu uses to flush all spice server state to > > device memory on migration. > > > > What is the reason for deleting all surfaces? > > Making sure all references are dropped to pci memory in devram. We would need > to recreate all > the surfaces after reset anyway.
That's not right. The reason is that for the windows driver I don't know if this is a resolution change or a suspend. So it was easier to destroy all the surfaces and then the two cases are equal - before going to sleep / leaving the current resolution I destroy all the surfaces, when coming back I recreate the surfaces. If it's a resolution change there is no coming back stage, but since all surfaces are destroyed there is no error when the same surface id's are reused. > > > > > cheers, > > Gerd > > >