Thomas Zimmermann <tzimmermann@xxxxxxx> writes: Hello Thomas, > Hi [...] >>> And why does it flicker? Is there old data stored somewhere? >>> >> >> It flickers because the framebuffer changed and so the damage tracking >> is not used correctly to flush the damaged areas to the backing storage. > > I think I got it from the links in patch 5. In out other drivers, > there's a single backing storage for each plane (for example in the > video memory). Here, there's a backing storage for each buffer. On page Correct, that's what I understood too. > flips, the plane changes its backing storage. Our GEM buffer is up to > date, but the respective backing storage is missing all the intermediate > changes. > > If I'm not mistaken, an entirely different solution would be to > implement a per-plane back storage in these drivers. > I believe so but I'm not sure if that's possible since the virtio-gpu spec defines that the VM should send a VIRTIO_GPU_CMD_RESOURCE_FLUSH to the VMM in the host to do an update and the granularity for that is a framebuffer. For that reason the only solution (other than forcing a full plane update like this patch-set does) is to implement tracking suppor for buffer damage. > Best regards > Thomas > -- Best regards, Javier Martinez Canillas Core Platforms Red Hat