On 2/6/22 20:29, Thomas Zimmermann wrote: > Don't clip the damage rectangle against the viewport. This only > works if the viewport is located at the beginning of the video > memory and the video memory doesn't extend the screen (i.e., if > there's no overallocation). > > Fbdev emulation transfers data from write operations into a > possible shadow buffer, then into a GEM buffer object, and finally > via graphics driver onto the screen. > > If callers write outside the currently visible area, clipping the > damage rectangle against the viewport will loose these updates in > the shadow buffer and the fbdev's buffer object will contain stale > data. Panning the viewport to the stale area of the buffer will > display obsolete data. > > Instead, mark all written areas as damaged, so that the damage > handler updates the buffer object from the shadow buffer for all > such areas. The graphics driver's later has the option of clipping > the damaged area against the viewport when updating the screen > from the buffer object. > > Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx> > --- Reviewed-by: Javier Martinez Canillas <javierm@xxxxxxxxxx> Best regards, -- Javier Martinez Canillas Linux Engineering Red Hat