xf86-video-intel: configure.ac src/i830_driver.c

Keith Packard keithp at kemper.freedesktop.org
Tue Apr 29 10:32:27 PDT 2008


 configure.ac      |   12 ++++++++++++
 src/i830_driver.c |    6 ++++++
 2 files changed, 18 insertions(+)

New commits:
commit fff17b9d1b58cb53032d153094826dd306836d59
Author: Keith Packard <keithp at keithp.com>
Date:   Tue Apr 29 10:32:14 2008 -0700

    Use new xf86RotateFreeShadow function to clean up shadow buffers.
    
    This simply moves code from the driver up into the X server; use it where
    available.

diff --git a/configure.ac b/configure.ac
index c0a1e0b..00f075e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -174,6 +174,18 @@ fi
 
 AC_SUBST([XMODES_CFLAGS])
 
+SAVE_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
+
+AC_CHECK_DECL(xf86RotateFreeShadow,
+	      [AC_DEFINE(HAVE_FREE_SHADOW, 1, [have new FreeShadow API])],
+	      [],
+	      [#include <xorg-server.h>
+	       #include <windowstr.h>
+	       #include <xf86Crtc.h>])
+	     
+CPPFLAGS="$SAVE_CPPFLAGS"
+
 dnl Use lots of warning flags with GCC
 
 WARN_CFLAGS=""
diff --git a/src/i830_driver.c b/src/i830_driver.c
index 6bf3566..9077c58 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -3136,7 +3136,9 @@ I830LeaveVT(int scrnIndex, int flags)
    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
    I830Ptr pI830 = I830PTR(pScrn);
    xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn);
+#ifndef HAVE_FREE_SHADOW
    int o;
+#endif
 
    DPRINTF(PFX, "Leave VT\n");
 
@@ -3164,6 +3166,7 @@ I830LeaveVT(int scrnIndex, int flags)
    }
 #endif
 
+#ifndef HAVE_FREE_SHADOW
    for (o = 0; o < config->num_crtc; o++) {
        xf86CrtcPtr crtc = config->crtc[o];
 
@@ -3174,6 +3177,9 @@ I830LeaveVT(int scrnIndex, int flags)
 	   crtc->rotatedData = NULL;
        }
    }
+#else
+   xf86RotateFreeShadow(pScrn);
+#endif
 
    xf86_hide_cursors (pScrn);
 


More information about the xorg-commit mailing list