diff options
author | Keith Packard <keithp@keithp.com> | 2008-04-29 10:32:14 -0700 |
---|---|---|
committer | Zhenyu Wang <zhenyu.z.wang@intel.com> | 2008-05-07 11:10:28 +0800 |
commit | f83960f3edb8a8be12ce9dc46a9b9a292de816d6 (patch) | |
tree | 22773539d7f48a2f13b192915f4c4ea17912490c | |
parent | 1df4fd9f1e7f1c6abea4ea134fbc1b3755988817 (diff) |
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.
(cherry picked from commit fff17b9d1b58cb53032d153094826dd306836d59)
-rw-r--r-- | configure.ac | 12 | ||||
-rw-r--r-- | src/i830_driver.c | 6 |
2 files changed, 18 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index da479dc0..23939c9d 100644 --- a/configure.ac +++ b/configure.ac @@ -173,6 +173,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 f4046779..cc3d02df 100644 --- a/src/i830_driver.c +++ b/src/i830_driver.c @@ -3132,7 +3132,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"); @@ -3160,6 +3162,7 @@ I830LeaveVT(int scrnIndex, int flags) } #endif +#ifndef HAVE_FREE_SHADOW for (o = 0; o < config->num_crtc; o++) { xf86CrtcPtr crtc = config->crtc[o]; @@ -3170,6 +3173,9 @@ I830LeaveVT(int scrnIndex, int flags) crtc->rotatedData = NULL; } } +#else + xf86RotateFreeShadow(pScrn); +#endif xf86_hide_cursors (pScrn); |