Bug 72351

Summary: x11-backend with pixman renderer does not repaint on Expose
Product: Wayland Reporter: Pekka Paalanen <ppaalanen>
Component: westonAssignee: Wayland bug list <wayland-bugs>
Status: VERIFIED FIXED QA Contact:
Severity: minor    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Pekka Paalanen 2013-12-05 13:07:11 UTC
I'm running X without a compositing manager. When I run Weston's x11-backend with the pixman renderer, the weston window does not repaint on Expose events. For example, visit a different virtual desktop and return, and Weston's window contains garbage. Forcing Weston to repaint by other means, like moving a window inside weston, fixes the damage.

This is Daniel's analysis:
- the x11/pixman thing only happens if you aren't also using an x11 compositing manager
- and it's not handling the Expose events, needs to force a redraw when that happens; atm it does queue an output repaint, but with an empty region, so nothing actually gets re-rendered
Comment 1 Kristian Høgsberg 2013-12-05 20:31:11 UTC
commit a98c2e17fd35e70bf50cdfac5a884aa639b99a92
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Thu Dec 5 12:30:37 2013 -0800

    compositor-x11: Damage output when we receive expose events for the window
    
    The gl renderer typically repaints everything since we don't have
    EGL_buffer_age under X, but the pixman renderer carefully only repaints
    damaged regions.  So to actually repaint anything with the pixman
    renderer, we need to damage the output.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=72351
Comment 2 Pekka Paalanen 2013-12-09 11:07:20 UTC
The fix works nicely, thanks!

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.