xserver: Branch 'master'

Keith Packard keithp at kemper.freedesktop.org
Tue May 26 15:10:03 PDT 2015


 present/present.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

New commits:
commit 806470b9f623089dc81b985f250f0c3a4e8edbe8
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Feb 6 08:25:42 2015 +0000

    present: Copy unflip contents back to the Screen Pixmap
    
    As we unflip after the flip Window no longer passes the pixel ownership
    test for the full Screen Pixmap, we can no longer utilize that Window to
    copy the contents back to the backing pixmap. To first flip means that
    the Window was originally backed by the Screen Pixmap and wholly covered
    the Pixmap, thus we need to copy the last frame contents to the Screen
    Pixmap when the flip chain is complete.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
    Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer at amd.com>

diff --git a/present/present.c b/present/present.c
index 2a705a9..a634601 100644
--- a/present/present.c
+++ b/present/present.c
@@ -409,20 +409,20 @@ static void
 present_unflip(ScreenPtr screen)
 {
     present_screen_priv_ptr screen_priv = present_screen_priv(screen);
+    PixmapPtr pixmap = (*screen->GetScreenPixmap)(screen);
 
     assert (!screen_priv->unflip_event_id);
     assert (!screen_priv->flip_pending);
 
     if (screen_priv->flip_window)
-        present_set_tree_pixmap(screen_priv->flip_window,
-                                  (*screen->GetScreenPixmap)(screen));
+        present_set_tree_pixmap(screen_priv->flip_window, pixmap);
 
-    present_set_tree_pixmap(screen->root, (*screen->GetScreenPixmap)(screen));
+    present_set_tree_pixmap(screen->root, pixmap);
 
     /* Update the screen pixmap with the current flip pixmap contents
      */
     if (screen_priv->flip_pixmap && screen_priv->flip_window) {
-        present_copy_region(&screen_priv->flip_window->drawable,
+        present_copy_region(&pixmap->drawable,
                             screen_priv->flip_pixmap,
                             NULL, 0, 0);
     }


More information about the xorg-commit mailing list