xf86-video-intel: 2 commits - src/i830.h src/i830_display.c src/i830_dri.c src/i830_exa.c

Michel Daenzer daenzer at kemper.freedesktop.org
Tue May 22 05:17:30 PDT 2007


 src/i830.h         |    1 +
 src/i830_display.c |    2 ++
 src/i830_dri.c     |   13 +++++++++++--
 src/i830_exa.c     |   16 ++++++++++++++++
 4 files changed, 30 insertions(+), 2 deletions(-)

New commits:
diff-tree 9971fac87622c93503540196e1756fded3d4869e (from 5390a2e2611950d3f48cc735df4a0c37bc5377a5)
Author: Michel Dänzer <michel at tungstengraphics.com>
Date:   Tue May 22 10:46:39 2007 +0200

    i830: Provide new DRI texOffsetStart hook when available with EXA.

diff --git a/src/i830.h b/src/i830.h
index 8dcc4b5..35f8192 100644
--- a/src/i830.h
+++ b/src/i830.h
@@ -77,6 +77,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN
 #include "exa.h"
 Bool I830EXAInit(ScreenPtr pScreen);
 #define EXA_LINEAR_EXTRA	(64*1024)
+unsigned long long I830TexOffsetStart(PixmapPtr pPix);
 #endif
 
 #ifdef I830_USE_XAA
diff --git a/src/i830_dri.c b/src/i830_dri.c
index 9498661..663ef14 100644
--- a/src/i830_dri.c
+++ b/src/i830_dri.c
@@ -576,17 +576,26 @@ I830DRIScreenInit(ScreenPtr pScreen)
    pDRIInfo->bufferRequests = DRI_ALL_WINDOWS;
 
    {
-#if DRI_SUPPORTS_CLIP_NOTIFY && DRIINFO_MAJOR_VERSION == 5 && \
-    DRIINFO_MINOR_VERSION >= 1
+#if DRIINFO_MAJOR_VERSION == 5 && DRIINFO_MINOR_VERSION >= 1
       int major, minor, patch;
 
       DRIQueryVersion(&major, &minor, &patch);
 
+#if DRIINFO_MAJOR_VERSION == 5 && DRIINFO_MINOR_VERSION >= 3
+      if (minor >= 3)
+#endif
+#if DRIINFO_MAJOR_VERSION > 5 || \
+    (DRIINFO_MAJOR_VERSION == 5 && DRIINFO_MINOR_VERSION >= 3)
+	 pDRIInfo->texOffsetStart = I830TexOffsetStart;
+#endif
+
+#if DRI_SUPPORTS_CLIP_NOTIFY && DRIINFO_MAJOR_VERSION == 5
       if (minor >= 1)
 #endif
 #if DRI_SUPPORTS_CLIP_NOTIFY
 	 pDRIInfo->ClipNotify = I830DRIClipNotify;
 #endif
+#endif /* DRIINFO_MAJOR_VERSION == 5 && DRIINFO_MINOR_VERSION >= 1 */
    }
 
    pDRIInfo->TransitionTo2d = I830DRITransitionTo2d;
diff --git a/src/i830_exa.c b/src/i830_exa.c
index ff21fbb..88d1b97 100644
--- a/src/i830_exa.c
+++ b/src/i830_exa.c
@@ -541,3 +541,19 @@ I830EXAInit(ScreenPtr pScreen)
 
     return TRUE;
 }
+
+#ifdef XF86DRI
+
+#ifndef ExaOffscreenMarkUsed
+extern void ExaOffscreenMarkUsed(PixmapPtr);
+#endif
+
+unsigned long long
+I830TexOffsetStart(PixmapPtr pPix)
+{
+    exaMoveInPixmap(pPix);
+    ExaOffscreenMarkUsed(pPix);
+
+    return exaGetPixmapOffset(pPix);
+}
+#endif
diff-tree 5390a2e2611950d3f48cc735df4a0c37bc5377a5 (from 4120a20626998272424225261f2cf7960b7ec0ca)
Author: Michel Dänzer <michel at tungstengraphics.com>
Date:   Fri May 18 17:51:36 2007 +0200

    Update vblank pipes when a pipe gets disabled.

diff --git a/src/i830_display.c b/src/i830_display.c
index 9caab85..023a1aa 100644
--- a/src/i830_display.c
+++ b/src/i830_display.c
@@ -540,6 +540,8 @@ i830_crtc_dpms(xf86CrtcPtr crtc, int mod
 	drmI830Sarea *sPriv = (drmI830Sarea *) DRIGetSAREAPrivate(pScrn->pScreen);
 	Bool enabled = crtc->enabled && mode != DPMSModeOff;
 
+	I830DRISetVBlankInterrupt (pScrn, TRUE);
+
 	if (!sPriv)
 	    return;
 


More information about the xorg-commit mailing list