+ 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?
cheers,
Gerd