From 7b5b2694b8afe4f18ed9f30dc8fece74d09ec9da Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Aug 12 2009 17:59:30 +0000 Subject: - Today's driver snapshot, misc bugfixes. --- diff --git a/.cvsignore b/.cvsignore index 0ef9be6..9046eaf 100644 --- a/.cvsignore +++ b/.cvsignore @@ -4,3 +4,4 @@ xf86-video-intel-20090624.tar.bz2 intel-gpu-tools-20090714.tar.bz2 xf86-video-intel-20090714.tar.bz2 xf86-video-intel-2.8.0.tar.bz2 +xf86-video-intel-20090812.tar.bz2 diff --git a/dri2-page-flip.patch b/dri2-page-flip.patch index 8265082..0fd9f39 100644 --- a/dri2-page-flip.patch +++ b/dri2-page-flip.patch @@ -1,7 +1,6 @@ -diff --git a/src/drmmode_display.c b/src/drmmode_display.c -index 814743b..05541de 100644 ---- a/src/drmmode_display.c -+++ b/src/drmmode_display.c +diff -up xf86-video-intel-20090812/src/drmmode_display.c.flip xf86-video-intel-20090812/src/drmmode_display.c +--- xf86-video-intel-20090812/src/drmmode_display.c.flip 2009-08-12 10:24:52.000000000 -0400 ++++ xf86-video-intel-20090812/src/drmmode_display.c 2009-08-12 10:30:42.000000000 -0400 @@ -30,6 +30,7 @@ #endif @@ -10,7 +9,7 @@ index 814743b..05541de 100644 #include -@@ -43,6 +44,11 @@ typedef struct { +@@ -45,6 +46,11 @@ typedef struct { uint32_t fb_id; drmModeResPtr mode_res; int cpp; @@ -22,7 +21,7 @@ index 814743b..05541de 100644 } drmmode_rec, *drmmode_ptr; typedef struct { -@@ -343,6 +349,7 @@ static PixmapPtr +@@ -345,6 +351,7 @@ static PixmapPtr drmmode_crtc_shadow_create(xf86CrtcPtr crtc, void *data, int width, int height) { ScrnInfoPtr pScrn = crtc->scrn; @@ -30,7 +29,7 @@ index 814743b..05541de 100644 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private; drmmode_ptr drmmode = drmmode_crtc->drmmode; unsigned long rotate_pitch; -@@ -375,12 +382,16 @@ drmmode_crtc_shadow_create(xf86CrtcPtr crtc, void *data, int width, int height) +@@ -377,12 +384,16 @@ drmmode_crtc_shadow_create(xf86CrtcPtr c if (drmmode_crtc->rotate_bo) i830_set_pixmap_bo(rotate_pixmap, drmmode_crtc->rotate_bo); @@ -47,7 +46,7 @@ index 814743b..05541de 100644 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private; drmmode_ptr drmmode = drmmode_crtc->drmmode; -@@ -398,6 +409,7 @@ drmmode_crtc_shadow_destroy(xf86CrtcPtr crtc, PixmapPtr rotate_pixmap, void *dat +@@ -400,6 +411,7 @@ drmmode_crtc_shadow_destroy(xf86CrtcPtr dri_bo_unreference(drmmode_crtc->rotate_bo); drmmode_crtc->rotate_bo = NULL; } @@ -55,7 +54,7 @@ index 814743b..05541de 100644 } static void -@@ -1085,15 +1097,111 @@ drmmode_xf86crtc_resize (ScrnInfoPtr scrn, int width, int height) +@@ -1119,15 +1131,111 @@ drmmode_xf86crtc_resize (ScrnInfoPtr scr return FALSE; } @@ -162,13 +161,13 @@ index 814743b..05541de 100644 xf86CrtcConfigPtr xf86_config; + I830Ptr pI830 = I830PTR(pScrn); drmmode_ptr drmmode; -- int i; -+ unsigned int i, bad_crtc = 0; -+ int ret; +- int i, lvds = -1; ++ int i, lvds = -1, bad_crtc = 0; ++ Bool ret; drmmode = xnfalloc(sizeof *drmmode); drmmode->fd = fd; -@@ -1120,6 +1227,22 @@ Bool drmmode_pre_init(ScrnInfoPtr pScrn, int fd, int cpp) +@@ -1167,6 +1275,22 @@ Bool drmmode_pre_init(ScrnInfoPtr pScrn, xf86InitialConfiguration(pScrn, TRUE); @@ -191,48 +190,9 @@ index 814743b..05541de 100644 return TRUE; } -diff --git a/src/i830.h b/src/i830.h -index 58afe76..16e3c55 100644 ---- a/src/i830.h -+++ b/src/i830.h -@@ -65,6 +65,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - #include "sarea.h" - #define _XF86DRI_SERVER_ - #include "dri.h" -+#include "dri2.h" - #include "GL/glxint.h" - #include "i830_dri.h" - #include "intel_bufmgr.h" -@@ -395,6 +396,7 @@ typedef struct _I830Rec { - #endif - - XF86ModReqInfo shadowReq; /* to test for later libshadow */ -+ Bool shadow_present; - Rotation rotation; - void (*PointerMoved)(int, int, int); - CreateScreenResourcesProcPtr CreateScreenResources; -@@ -496,6 +498,8 @@ typedef struct _I830Rec { - int drmSubFD; - char deviceName[64]; - -+ Bool use_swap_buffers; -+ - /* Broken-out options. */ - OptionInfoPtr Options; - -@@ -691,6 +695,8 @@ void I830DRI2CloseScreen(ScreenPtr pScreen); - extern Bool drmmode_pre_init(ScrnInfoPtr pScrn, int fd, int cpp); - extern int drmmode_get_pipe_from_crtc_id(drm_intel_bufmgr *bufmgr, xf86CrtcPtr crtc); - extern int drmmode_output_dpms_status(xf86OutputPtr output); -+extern Bool drmmode_do_pageflip(DrawablePtr pDraw, dri_bo *new_front, -+ dri_bo *old_front, void *data); - extern void drmmode_copy_fb(ScrnInfoPtr pScrn); - - extern Bool i830_crtc_on(xf86CrtcPtr crtc); -diff --git a/src/i830_dri.c b/src/i830_dri.c -index 40d11e4..b34b9b7 100644 ---- a/src/i830_dri.c -+++ b/src/i830_dri.c +diff -up xf86-video-intel-20090812/src/i830_dri.c.flip xf86-video-intel-20090812/src/i830_dri.c +--- xf86-video-intel-20090812/src/i830_dri.c.flip 2009-08-11 14:50:03.000000000 -0400 ++++ xf86-video-intel-20090812/src/i830_dri.c 2009-08-12 10:24:52.000000000 -0400 @@ -45,6 +45,8 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. #include #include @@ -254,7 +214,7 @@ index 40d11e4..b34b9b7 100644 #ifndef USE_DRI2_1_1_0 static DRI2BufferPtr I830DRI2CreateBuffers(DrawablePtr pDraw, unsigned int *attachments, int count) -@@ -359,6 +356,54 @@ I830DRI2CopyRegion(DrawablePtr pDraw, RegionPtr pRegion, +@@ -359,6 +356,54 @@ I830DRI2CopyRegion(DrawablePtr pDraw, Re } @@ -309,7 +269,7 @@ index 40d11e4..b34b9b7 100644 Bool I830DRI2ScreenInit(ScreenPtr pScreen) { ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; -@@ -428,6 +473,13 @@ Bool I830DRI2ScreenInit(ScreenPtr pScreen) +@@ -428,6 +473,13 @@ Bool I830DRI2ScreenInit(ScreenPtr pScree # endif #endif @@ -323,10 +283,9 @@ index 40d11e4..b34b9b7 100644 info.CopyRegion = I830DRI2CopyRegion; return DRI2ScreenInit(pScreen, &info); -diff --git a/src/i830_dri.h b/src/i830_dri.h -index bedbcbe..e35e940 100644 ---- a/src/i830_dri.h -+++ b/src/i830_dri.h +diff -up xf86-video-intel-20090812/src/i830_dri.h.flip xf86-video-intel-20090812/src/i830_dri.h +--- xf86-video-intel-20090812/src/i830_dri.h.flip 2009-08-11 14:50:03.000000000 -0400 ++++ xf86-video-intel-20090812/src/i830_dri.h 2009-08-12 10:24:52.000000000 -0400 @@ -2,6 +2,7 @@ #ifndef _I830_DRI_H #define _I830_DRI_H @@ -345,3 +304,40 @@ index bedbcbe..e35e940 100644 +} I830DRI2BufferPrivateRec, *I830DRI2BufferPrivatePtr; + #endif +diff -up xf86-video-intel-20090812/src/i830.h.flip xf86-video-intel-20090812/src/i830.h +--- xf86-video-intel-20090812/src/i830.h.flip 2009-08-12 10:24:52.000000000 -0400 ++++ xf86-video-intel-20090812/src/i830.h 2009-08-12 10:24:52.000000000 -0400 +@@ -65,6 +65,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN + #include "sarea.h" + #define _XF86DRI_SERVER_ + #include "dri.h" ++#include "dri2.h" + #include "GL/glxint.h" + #include "i830_dri.h" + #include "intel_bufmgr.h" +@@ -395,6 +396,7 @@ typedef struct _I830Rec { + #endif + + XF86ModReqInfo shadowReq; /* to test for later libshadow */ ++ Bool shadow_present; + Rotation rotation; + void (*PointerMoved)(int, int, int); + CreateScreenResourcesProcPtr CreateScreenResources; +@@ -496,6 +498,8 @@ typedef struct _I830Rec { + int drmSubFD; + char deviceName[64]; + ++ Bool use_swap_buffers; ++ + /* Broken-out options. */ + OptionInfoPtr Options; + +@@ -693,6 +697,8 @@ void I830DRI2CloseScreen(ScreenPtr pScre + extern Bool drmmode_pre_init(ScrnInfoPtr pScrn, int fd, int cpp); + extern int drmmode_get_pipe_from_crtc_id(drm_intel_bufmgr *bufmgr, xf86CrtcPtr crtc); + extern int drmmode_output_dpms_status(xf86OutputPtr output); ++extern Bool drmmode_do_pageflip(DrawablePtr pDraw, dri_bo *new_front, ++ dri_bo *old_front, void *data); + extern void drmmode_copy_fb(ScrnInfoPtr pScrn); + + extern Bool i830_crtc_on(xf86CrtcPtr crtc); diff --git a/sources b/sources index e4bc174..dacac05 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 9a71381224168221894ec723bf6a98e0 intel-gpu-tools-20090714.tar.bz2 -15a390fe3e126e954ed95aeb8bc02196 xf86-video-intel-2.8.0.tar.bz2 +ddb8d64e005e8ce2f9f2071ccabba86b xf86-video-intel-20090812.tar.bz2 diff --git a/xorg-x11-drv-intel.spec b/xorg-x11-drv-intel.spec index 2f854a2..f292d3b 100644 --- a/xorg-x11-drv-intel.spec +++ b/xorg-x11-drv-intel.spec @@ -3,19 +3,19 @@ %define moduledir %(pkg-config xorg-server --variable=moduledir ) %define driverdir %{moduledir}/drivers %define gputoolsdate 20090714 -#define gitdate 20090714 +%define gitdate 20090812 Summary: Xorg X11 Intel video driver Name: xorg-x11-drv-intel Version: 2.8.0 -Release: 5%{?dist} +Release: 6%{?dist} URL: http://www.x.org License: MIT Group: User Interface/X Hardware Support BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -Source0: http://xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-%{version}.tar.bz2 -#Source0: xf86-video-intel-%{gitdate}.tar.bz2 +#Source0: http://xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-%{version}.tar.bz2 +Source0: xf86-video-intel-%{gitdate}.tar.bz2 Source1: make-intel-gpu-tools-snapshot.sh Source2: intel.xinf Source3: intel-gpu-tools-%{gputoolsdate}.tar.bz2 @@ -23,14 +23,11 @@ Source4: make-git-snapshot.sh Patch1: kill-svideo.patch Patch2: copy-fb.patch -Patch3: intel-2.8.0-build-fix.patch -Patch4: intel-abi-fix.patch # needs to be upstreamed Patch20: intel-2.8.0-kms-get-crtc.patch Patch21: intel-2.8.0-lvds-first.patch -Patch30: intel-chip-names.patch Patch40: dri2-page-flip.patch ExclusiveArch: %{ix86} x86_64 ia64 @@ -80,11 +77,8 @@ Debugging tools for Intel graphics chips %setup -q -n xf86-video-intel-%{dirsuffix} -b3 %patch1 -p1 -b .svideo %patch2 -p1 -b .copy-fb -%patch3 -p1 -b .xext -%patch4 -p1 -b .abi %patch20 -p1 -b .get-crtc %patch21 -p1 -b .lvds-first -%patch30 -p1 -b .names %patch40 -p1 -b .flip %build @@ -141,6 +135,9 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/intel_*.1* %changelog +* Wed Aug 12 2009 Adam Jackson 2.8.0-6 +- Today's driver snapshot, misc bugfixes. + * Mon Aug 10 2009 Adam Jackson 2.8.0-5 - intel-2.8.0-lvds-first.patch: Put LVDS outputs first in the list in KMS to match old UMS behaviour.