Bug 56538 - Partial repaint is broken
Summary: Partial repaint is broken
Status: RESOLVED FIXED
Alias: None
Product: Wayland
Classification: Unclassified
Component: weston (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Wayland bug list
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-10-29 18:31 UTC by Kristian Høgsberg
Modified: 2012-10-30 17:53 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Kristian Høgsberg 2012-10-29 18:31:01 UTC
As per 5643aa584051bde2069b056f85177a875e351fb4, weston no longer repaints just the damaged area of a surface but always the entire surface.  How to reproduce: run simple-shm and enable repaint debugging.  simple-shm does not post damage for the white border, but from the debug you can see weston repainting the entire surface.
Comment 1 Kristian Høgsberg 2012-10-30 17:53:19 UTC
commit 5df8ecac5d31467122a9d8bda6241d5957ae6848
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Date:   Tue Oct 30 17:44:01 2012 +0200

    compositor: Fix partial repaints
    
    Partial repaints have been broken since the introduction of the atomic
    surface updates. The problem was that surface_commit would set the
    geometry dirty flag unconditionally, causing transform updates on every
    frame which would in turn cause weston_surface_damage_below() to damage
    the whole surface area.
    
    This patch changes this so that flag is only set if the pending buffer
    has a different size, the location of the surface changed or the opaque
    region changed.
    
    Note that changing the opaque region will cause a full repaint of the
    affected surface, because of the transform update.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=56538


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.