On Wed, Jun 29, 2011 at 04:50:10PM +0200, Gerd Hoffmann wrote:
> >>>+    case QXL_IO_FLUSH_RELEASE: {
> >>>+        QXLReleaseRing *ring =&d->ram->release_ring;
> >>>+        if (ring->prod - ring->cons + 1 == ring->num_items) {
> >>>+            // TODO - "return" a value to the guest and let it loop?
> >>                   ^^^^
> >>Hmm.
> >So the story goes: I wrote this, but didn't actually see this happen in 
> >practice,
> >particularily since the driver empties the release ring. The simplest would 
> >be to
> >replace it with some fprintf(stderr)
> 
> How do you think this could happen?  If there are no unprocessed
> requests in the pipeline (shouldn't be, all surfaces are flushed to
> device memory and destroyedv at that point) and the driver cares
> empty the release ring before calling this it should not happen,
> right?

Yes. The point was to check anyway, it should never happen with our driver,
but a check can catch an error I guess.

> 
> cheers,
>   Gerd
> 

Reply via email to