~vanvugt/unity/fix-865006

Viewing all changes in revision 2405.

  • Committer: Daniel van Vugt
  • Date: 2012-06-13 05:47:58 UTC
  • Revision ID: daniel.van.vugt@canonical.com-20120613054758-1dsn5ut1czjgllyg
Fixed: The panel blur was not always updating when something behind it
changed (LP: #865006)

The reason for this bug was because we were tracking damage from the
XDamage extension. However XDamage only provides a subset of the total
damage applied to the compiz screen. For example, redrawing/moving window
decorations does not necessarily generate any XDamage. Nor do OpenGL
operations from compiz plugins.

Instead, look at the total damage region passed to glPaintOutput. That will
always contain the real damage, which is a superset of the XDamage. This
method should also be faster because it's only executed once per frame. The
old XDamage code could easily be called thousands of times per frame.

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: