From b67ff5413b90aad68bf0e75d99d94ed3c453ab40 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 19 Feb 2010 11:14:33 +0100 Subject: [PATCH] xf86-video-intel: - update to xf86-video-intel-20100213 --- packages/x11/driver/xf86-video-intel/build | 5 +- .../xf86-video-intel/patches/copy-fb.diff | 100 ++++++------------ .../xf86-video-intel/patches/dump-tools.diff | 23 ---- .../xf86-video-intel/patches/upstream.diff | 75 +++++++++++++ packages/x11/driver/xf86-video-intel/url | 2 +- 5 files changed, 113 insertions(+), 92 deletions(-) delete mode 100644 packages/x11/driver/xf86-video-intel/patches/dump-tools.diff create mode 100644 packages/x11/driver/xf86-video-intel/patches/upstream.diff diff --git a/packages/x11/driver/xf86-video-intel/build b/packages/x11/driver/xf86-video-intel/build index a998f0c23f..e806661c96 100755 --- a/packages/x11/driver/xf86-video-intel/build +++ b/packages/x11/driver/xf86-video-intel/build @@ -6,10 +6,11 @@ $SCRIPTS/build toolchain $SCRIPTS/build fontsproto $SCRIPTS/build xorg-server -cd $PKG_BUILD - xorg_drv_configure_prepend +cd $PKG_BUILD + +automake ./configure --host=$TARGET_NAME \ --build=$HOST_NAME \ --prefix=/usr \ diff --git a/packages/x11/driver/xf86-video-intel/patches/copy-fb.diff b/packages/x11/driver/xf86-video-intel/patches/copy-fb.diff index 783efc31e7..df1e589728 100644 --- a/packages/x11/driver/xf86-video-intel/patches/copy-fb.diff +++ b/packages/x11/driver/xf86-video-intel/patches/copy-fb.diff @@ -1,7 +1,6 @@ -diff --git a/src/drmmode_display.c b/src/drmmode_display.c -index a469f6c..8c14b25 100644 ---- a/src/drmmode_display.c -+++ b/src/drmmode_display.c +diff -up xf86-video-intel-2.10.0/src/drmmode_display.c.jx xf86-video-intel-2.10.0/src/drmmode_display.c +--- xf86-video-intel-2.10.0/src/drmmode_display.c.jx 2010-02-08 11:23:25.000000000 -0500 ++++ xf86-video-intel-2.10.0/src/drmmode_display.c 2010-02-08 11:23:46.000000000 -0500 @@ -35,6 +35,8 @@ #include #include @@ -11,30 +10,24 @@ index a469f6c..8c14b25 100644 #include "xorgVersion.h" #include "i830.h" -@@ -911,6 +913,13 @@ drmmode_output_dpms(xf86OutputPtr output, int mode) - drmmode_ptr drmmode = drmmode_output->drmmode; - int i; - drmModePropertyPtr props; -+ intel_screen_private *intel = intel_get_screen_private(output->scrn); -+ -+ /* xf86Crtc.c calls dpms off in set desired modes, so ignore -+ * the request if we're starting up. */ -+ -+ if (intel->starting) -+ return; - - for (i = 0; i < koutput->count_props; i++) { - props = drmModeGetProperty(drmmode->fd, koutput->props[i]); -@@ -1412,6 +1421,8 @@ Bool drmmode_pre_init(ScrnInfoPtr scrn, int fd, int cpp) - - xf86InitialConfiguration(scrn, TRUE); +@@ -1375,6 +1377,8 @@ drmmode_xf86crtc_resize (ScrnInfoPtr scr + if (old_front) + i830_free_memory(scrn, old_front); + scrn->canDoBGNoneRoot = TRUE; + return TRUE; - } -@@ -1446,3 +1457,96 @@ void drmmode_closefb(ScrnInfoPtr scrn) + fail: +@@ -1414,6 +1418,7 @@ Bool drmmode_pre_init(ScrnInfoPtr scrn, + return FALSE; + } + ++ scrn->canDoBGNoneRoot = TRUE; + xf86CrtcSetSizeRange(scrn, 320, 200, drmmode->mode_res->max_width, + drmmode->mode_res->max_height); + for (i = 0; i < drmmode->mode_res->count_crtcs; i++) +@@ -1458,3 +1463,98 @@ void drmmode_closefb(ScrnInfoPtr scrn) drmModeRmFB(drmmode->fd, drmmode->fb_id); drmmode->fb_id = 0; } @@ -47,7 +40,7 @@ index a469f6c..8c14b25 100644 + ScreenPtr pScreen = screenInfo.screens[scrn->scrnIndex]; + drmmode_ptr drmmode = drmmode_crtc->drmmode; + intel_screen_private *intel = intel_get_screen_private(scrn); -+ drmModeFBPtr fbcon = NULL; ++ drmModeFBPtr fbcon; + struct drm_gem_flink flink; + drm_intel_bo *bo; + PixmapPtr pixmap = NULL; @@ -126,53 +119,17 @@ index a469f6c..8c14b25 100644 + + intel->uxa_driver->done_copy(dst); + -+ intel_sync(scrn); ++ /* I830EmitFlush(scrn); */ ++ intel_batch_submit(scrn); + + (*pScreen->DestroyPixmap)(src); + (*pScreen->DestroyPixmap)(dst); +} -diff --git a/src/i830.h b/src/i830.h -index a66038a..d0df26e 100644 ---- a/src/i830.h -+++ b/src/i830.h -@@ -376,6 +376,7 @@ typedef struct intel_screen_private { - OptionInfoPtr Options; - - /* Driver phase/state information */ -+ Bool starting; - Bool suspended; - - enum last_3d last_3d; -@@ -432,6 +433,7 @@ extern int drmmode_get_pipe_from_crtc_id(drm_intel_bufmgr * bufmgr, - extern int drmmode_output_dpms_status(xf86OutputPtr output); - extern int drmmode_crtc_id(xf86CrtcPtr crtc); - void drmmode_crtc_set_cursor_bo(xf86CrtcPtr crtc, dri_bo * cursor); -+extern void drmmode_copy_fb(ScrnInfoPtr scrn); - - extern Bool i830_crtc_on(xf86CrtcPtr crtc); - extern int i830_crtc_to_pipe(xf86CrtcPtr crtc); -diff --git a/src/i830_driver.c b/src/i830_driver.c -index e94a60c..da3230c 100644 ---- a/src/i830_driver.c -+++ b/src/i830_driver.c -@@ -1276,6 +1276,8 @@ I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv) - - i830_fixup_mtrrs(scrn); - -+ intel->starting = TRUE; + - miClearVisualTypes(); - if (!miSetVisualTypes(scrn->depth, - miGetDefaultVisualMask(scrn->depth), -@@ -1423,6 +1425,7 @@ I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv) - if (serverGeneration == 1) - xf86ShowUnusedOptions(scrn->scrnIndex, scrn->options); - -+ intel->starting = FALSE; - intel->suspended = FALSE; - - return TRUE; -@@ -1507,6 +1510,8 @@ static Bool I830EnterVT(int scrnIndex, int flags) +diff -up xf86-video-intel-2.10.0/src/i830_driver.c.jx xf86-video-intel-2.10.0/src/i830_driver.c +--- xf86-video-intel-2.10.0/src/i830_driver.c.jx 2010-01-04 17:09:52.000000000 -0500 ++++ xf86-video-intel-2.10.0/src/i830_driver.c 2010-02-08 11:23:46.000000000 -0500 +@@ -1507,6 +1507,8 @@ static Bool I830EnterVT(int scrnIndex, i if (IS_I965G(intel)) gen4_render_state_init(scrn); @@ -181,3 +138,14 @@ index e94a60c..da3230c 100644 if (!xf86SetDesiredModes(scrn)) return FALSE; +diff -up xf86-video-intel-2.10.0/src/i830.h.jx xf86-video-intel-2.10.0/src/i830.h +--- xf86-video-intel-2.10.0/src/i830.h.jx 2010-01-04 17:09:52.000000000 -0500 ++++ xf86-video-intel-2.10.0/src/i830.h 2010-02-08 11:23:46.000000000 -0500 +@@ -430,6 +430,7 @@ extern void drmmode_closefb(ScrnInfoPtr + extern int drmmode_get_pipe_from_crtc_id(drm_intel_bufmgr * bufmgr, + xf86CrtcPtr crtc); + extern int drmmode_output_dpms_status(xf86OutputPtr output); ++extern void drmmode_copy_fb(ScrnInfoPtr scrn); + extern int drmmode_crtc_id(xf86CrtcPtr crtc); + void drmmode_crtc_set_cursor_bo(xf86CrtcPtr crtc, dri_bo * cursor); + diff --git a/packages/x11/driver/xf86-video-intel/patches/dump-tools.diff b/packages/x11/driver/xf86-video-intel/patches/dump-tools.diff deleted file mode 100644 index 0ecc734a6e..0000000000 --- a/packages/x11/driver/xf86-video-intel/patches/dump-tools.diff +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/src/bios_reader/Makefile.am b/src/bios_reader/Makefile.am -index f2f9dc0..4be476e 100644 ---- a/src/bios_reader/Makefile.am -+++ b/src/bios_reader/Makefile.am -@@ -1,7 +1,7 @@ - AM_CFLAGS = @CWARNFLAGS@ @XORG_CFLAGS@ @PCIACCESS_CFLAGS@ \ - -DREG_DUMPER - --noinst_PROGRAMS = bios_reader $(BIOS_DUMPER) $(SWF_DUMPER) -+bin_PROGRAMS = bios_reader $(BIOS_DUMPER) $(SWF_DUMPER) - - BIOS_DUMPER = bios_dumper - -diff --git a/src/reg_dumper/Makefile.am b/src/reg_dumper/Makefile.am -index 8f00abe..1634a4f 100644 ---- a/src/reg_dumper/Makefile.am -+++ b/src/reg_dumper/Makefile.am -@@ -1,4 +1,4 @@ --noinst_PROGRAMS = \ -+bin_PROGRAMS = \ - intel_gtt \ - intel_statuspage \ - intel_hotplug \ diff --git a/packages/x11/driver/xf86-video-intel/patches/upstream.diff b/packages/x11/driver/xf86-video-intel/patches/upstream.diff new file mode 100644 index 0000000000..87254d626d --- /dev/null +++ b/packages/x11/driver/xf86-video-intel/patches/upstream.diff @@ -0,0 +1,75 @@ +From 1c3aaad09d6ef207fba748ad4ef4575a26ab2e5c Mon Sep 17 00:00:00 2001 +From: Chris Wilson +Date: Wed, 17 Feb 2010 17:48:32 +0000 +Subject: dri2: Silence the compiler for an unused function with proto < 4 + +Move the unused function into the #if DRI2INFOREC_VERSION >= 4 block. + +Signed-off-by: Chris Wilson +--- +diff --git a/src/i830_dri.c b/src/i830_dri.c +index e64b25d..8356525 100644 +--- a/src/i830_dri.c ++++ b/src/i830_dri.c +@@ -269,29 +269,6 @@ static void I830DRI2DestroyBuffer(DrawablePtr drawable, DRI2Buffer2Ptr buffer) + + #endif + +-static int +-I830DRI2DrawablePipe(DrawablePtr pDraw) +-{ +- ScreenPtr pScreen = pDraw->pScreen; +- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; +- BoxRec box, crtcbox; +- xf86CrtcPtr crtc; +- int pipe = -1; +- +- box.x1 = pDraw->x; +- box.y1 = pDraw->y; +- box.x2 = box.x1 + pDraw->width; +- box.y2 = box.y1 + pDraw->height; +- +- crtc = i830_covering_crtc(pScrn, &box, NULL, &crtcbox); +- +- /* Make sure the CRTC is valid and this is the real front buffer */ +- if (crtc != NULL && !crtc->rotatedData) +- pipe = i830_crtc_to_pipe(crtc); +- +- return pipe; +-} +- + static void + I830DRI2CopyRegion(DrawablePtr drawable, RegionPtr pRegion, + DRI2BufferPtr destBuffer, DRI2BufferPtr sourceBuffer) +@@ -425,6 +402,29 @@ typedef struct _DRI2FrameEvent { + DRI2BufferPtr back; + } DRI2FrameEventRec, *DRI2FrameEventPtr; + ++static int ++I830DRI2DrawablePipe(DrawablePtr pDraw) ++{ ++ ScreenPtr pScreen = pDraw->pScreen; ++ ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; ++ BoxRec box, crtcbox; ++ xf86CrtcPtr crtc; ++ int pipe = -1; ++ ++ box.x1 = pDraw->x; ++ box.y1 = pDraw->y; ++ box.x2 = box.x1 + pDraw->width; ++ box.y2 = box.y1 + pDraw->height; ++ ++ crtc = i830_covering_crtc(pScrn, &box, NULL, &crtcbox); ++ ++ /* Make sure the CRTC is valid and this is the real front buffer */ ++ if (crtc != NULL && !crtc->rotatedData) ++ pipe = i830_crtc_to_pipe(crtc); ++ ++ return pipe; ++} ++ + static void + I830DRI2ExchangeBuffers(DrawablePtr draw, DRI2BufferPtr front, + DRI2BufferPtr back) +-- +cgit v0.8.3-6-g21f6 diff --git a/packages/x11/driver/xf86-video-intel/url b/packages/x11/driver/xf86-video-intel/url index 29643fc850..730bf9218a 100644 --- a/packages/x11/driver/xf86-video-intel/url +++ b/packages/x11/driver/xf86-video-intel/url @@ -1 +1 @@ -http://xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-2.10.0.tar.bz2 \ No newline at end of file +http://sources.openelec.tv/svn/xf86-video-intel-20100213.tar.bz2