xf86-video-intel: 3 commits - src/sna/sna_dri2.c src/uxa/uxa.c

Chris Wilson ickle at kemper.freedesktop.org
Sun Jun 8 08:57:11 PDT 2014


 src/sna/sna_dri2.c |    6 +++---
 src/uxa/uxa.c      |    2 ++
 2 files changed, 5 insertions(+), 3 deletions(-)

New commits:
commit 981af18190be772b469761bc124b9f46c19d5093
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sun Jun 8 16:55:07 2014 +0100

    uxa: Do not FreePixmap(screen->devPrivate)
    
    Prevent the crash caused by
    
    commit 444a1f7a8802999e27ecf5f6eb598df2206f7277
    Author: Brendan King <brendan.king at imgtec.com>
    Date:   Thu Apr 24 11:37:45 2014 +0100
    
        fb: fix screen pixmap leak on server reset
    
        Call FreePixmap() instead of free() to destroy the screen pixmap in
        fbCloseScreen().
    
        Signed-off-by: Frank Binns <frank.binns at imgtec.com>
        Reviewed-by: Keith Packard <keithp at keithp.com>
        Signed-off-by: Keith Packard <keithp at keithp.com>
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/uxa/uxa.c b/src/uxa/uxa.c
index 2635b50..c8d7900 100644
--- a/src/uxa/uxa.c
+++ b/src/uxa/uxa.c
@@ -382,6 +382,7 @@ static Bool uxa_close_screen(CLOSE_SCREEN_ARGS_DECL)
 
 	uxa_glyphs_fini(screen);
 
+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(1,15,99,903,0)
 	if (screen->devPrivate) {
 		/* Destroy the pixmap created by miScreenInit() *before*
 		 * chaining up as we finalize ourselves here and so this
@@ -391,6 +392,7 @@ static Bool uxa_close_screen(CLOSE_SCREEN_ARGS_DECL)
 		(void) (*screen->DestroyPixmap) (screen->devPrivate);
 		screen->devPrivate = NULL;
 	}
+#endif
 
 	screen->CreateGC = uxa_screen->SavedCreateGC;
 	screen->CloseScreen = uxa_screen->SavedCloseScreen;
commit 86f2cae45048158154eb2b1dbb181c3e1d6a8bf7
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sun Jun 8 15:18:34 2014 +0100

    sna/dri2: DBG compile fix
    
    Typo in DBG message.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_dri2.c b/src/sna/sna_dri2.c
index c95ef0c..8553169 100644
--- a/src/sna/sna_dri2.c
+++ b/src/sna/sna_dri2.c
@@ -1616,7 +1616,7 @@ static void chain_swap(struct sna *sna, struct sna_dri2_event *chain)
 	if (chain->queued) /* too early! */
 		return;
 
-	assert(chain == dri2_chain((WindowPtr)chain->draw));
+	assert(chain == dri2_chain(chain->draw));
 	DBG(("%s: chaining draw=%ld, type=%d\n",
 	     __FUNCTION__, (long)chain->draw->id, chain->type));
 	chain->queued = true;
@@ -2398,7 +2398,7 @@ sna_dri2_schedule_swap(ClientPtr client, DrawablePtr draw, DRI2BufferPtr front,
 	assert(draw->type != DRAWABLE_PIXMAP);
 
 	while (dri2_chain(draw) && has_pending_events(sna)) {
-		DBG(("%s: flushing pending events\n", __FUNCTIONS__));
+		DBG(("%s: flushing pending events\n", __FUNCTION__));
 		sna_mode_wakeup(sna);
 	}
 
commit 6153141fa6e1328a007efe6862ff2d7b4adaaf83
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sun Jun 8 14:48:20 2014 +0100

    sna/dri2: Allow xchg to replace the frontbuffer when all outputs are off
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_dri2.c b/src/sna/sna_dri2.c
index 622a8e6..c95ef0c 100644
--- a/src/sna/sna_dri2.c
+++ b/src/sna/sna_dri2.c
@@ -1497,7 +1497,7 @@ can_xchg(struct sna * sna,
 		return false;
 	}
 
-	if (pixmap == sna->front && !(sna->flags & SNA_TEAR_FREE)) {
+	if (pixmap == sna->front && !(sna->flags & SNA_TEAR_FREE) && sna->mode.front_active) {
 		DBG(("%s: no, front buffer, requires flipping\n",
 		     __FUNCTION__));
 		return false;


More information about the xorg-commit mailing list