aboutsummaryrefslogtreecommitdiffstats
path: root/x11-drivers/xf86-video-intel
diff options
context:
space:
mode:
authormiwi <miwi@FreeBSD.org>2010-05-01 19:41:07 +0800
committermiwi <miwi@FreeBSD.org>2010-05-01 19:41:07 +0800
commit988b674197d5158ec2b9735dd2a18cab568384cd (patch)
tree2a4f72b2c9ed55a5ce5bd722c7edc3efd5c57ed2 /x11-drivers/xf86-video-intel
parent44dbaae8639c06739435db870a18e3f1dadc3398 (diff)
downloadfreebsd-ports-gnome-988b674197d5158ec2b9735dd2a18cab568384cd.tar.gz
freebsd-ports-gnome-988b674197d5158ec2b9735dd2a18cab568384cd.tar.zst
freebsd-ports-gnome-988b674197d5158ec2b9735dd2a18cab568384cd.zip
- Update to Xorg 7.5
The Intel drivers was patched to work with the new server. The drivers for Vesa, NV,NVIDIA and ATI have been tested thoroughfully and seem to work fine. A complete changelog of Xorg 7.5 can you read here: http://www.x.org/releases/X11R7.5/ A note to FreeBSD 6.X users: We strongly recommend you to update your system to 7.x or above. For updating try portupgrade -af \* or: portmaster -af Please report any problems and issus to x11 (at) FreeBSD.org. Thanks to beat@, rnoland@, fluffy@, stas@ and all testers for their help and Feeback. Tested by: Community and 2x exp-runs
Diffstat (limited to 'x11-drivers/xf86-video-intel')
-rw-r--r--x11-drivers/xf86-video-intel/Makefile2
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_ch7017_ch7017.c17
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_ch7xxx_ch7xxx.c17
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_i810_driver.c111
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_i810_hwmc.c10
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_i810_video.c10
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_i830_dri.c14
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_i830_driver.c97
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_i830_i2c.c11
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_i830_render.c78
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_i830_video.c10
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_i915_hwmc.c10
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_i915_render.c69
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_i965_render.c78
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_ivch_ivch.c17
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_sil164_sil164.c17
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_tfp410_tfp410.c17
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-uxa_uxa-priv.h32
18 files changed, 616 insertions, 1 deletions
diff --git a/x11-drivers/xf86-video-intel/Makefile b/x11-drivers/xf86-video-intel/Makefile
index 4b8c60596743..901919ca66f1 100644
--- a/x11-drivers/xf86-video-intel/Makefile
+++ b/x11-drivers/xf86-video-intel/Makefile
@@ -7,7 +7,7 @@
PORTNAME= xf86-video-intel
PORTVERSION= 2.7.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_ch7017_ch7017.c b/x11-drivers/xf86-video-intel/files/patch-src_ch7017_ch7017.c
new file mode 100644
index 000000000000..278354a4b266
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-src_ch7017_ch7017.c
@@ -0,0 +1,17 @@
+--- src/ch7017/ch7017.c.orig 2009-04-08 18:59:47.000000000 -0500
++++ src/ch7017/ch7017.c 2010-02-21 12:40:12.000000000 -0600
+@@ -34,13 +34,11 @@
+
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
+-#include "xf86Resources.h"
+ #include "compiler.h"
+ #include "miscstruct.h"
+ #include "xf86i2c.h"
+ #include "xf86Crtc.h"
+-#define DPMS_SERVER
+-#include <X11/extensions/dpms.h>
++#include <X11/extensions/dpmsconst.h>
+
+ #include "../i2c_vid.h"
+ #include "ch7017_reg.h"
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_ch7xxx_ch7xxx.c b/x11-drivers/xf86-video-intel/files/patch-src_ch7xxx_ch7xxx.c
new file mode 100644
index 000000000000..6dbc0a7c36a4
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-src_ch7xxx_ch7xxx.c
@@ -0,0 +1,17 @@
+--- src/ch7xxx/ch7xxx.c.orig 2010-02-21 12:42:11.000000000 -0600
++++ src/ch7xxx/ch7xxx.c 2010-02-21 12:44:40.000000000 -0600
+@@ -34,13 +34,11 @@
+ #include <string.h>
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
+-#include "xf86Resources.h"
+ #include "compiler.h"
+ #include "miscstruct.h"
+ #include "xf86i2c.h"
+ #include "xf86Crtc.h"
+-#define DPMS_SERVER
+-#include <X11/extensions/dpms.h>
++#include <X11/extensions/dpmsconst.h>
+
+ #include "../i2c_vid.h"
+ #include "ch7xxx.h"
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_i810_driver.c b/x11-drivers/xf86-video-intel/files/patch-src_i810_driver.c
new file mode 100644
index 000000000000..5ccb55a33daf
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-src_i810_driver.c
@@ -0,0 +1,111 @@
+--- src/i810_driver.c.orig 2010-02-21 12:55:16.000000000 -0600
++++ src/i810_driver.c 2010-02-21 13:17:04.000000000 -0600
+@@ -69,8 +69,6 @@
+ */
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
+-#include "xf86Resources.h"
+-#include "xf86RAC.h"
+ #include "xf86cmap.h"
+ #include "compiler.h"
+ #include "mibstore.h"
+@@ -490,20 +488,6 @@
+ );
+
+ /*
+- * Tell the loader about symbols from other modules that this module
+- * might refer to.
+- */
+- LoaderRefSymLists(I810vgahwSymbols,
+- I810fbSymbols, I810xaaSymbols, I810ramdacSymbols,
+-#ifdef XF86DRI
+- I810drmSymbols,
+- I810driSymbols,
+-#endif
+- I810shadowFBSymbols,
+- I810vbeSymbols, vbeOptionalSymbols,
+- I810ddcSymbols, NULL);
+-
+- /*
+ * The return value must be non-NULL on success even though there
+ * is no TearDownProc.
+ */
+@@ -809,7 +793,6 @@
+ }
+
+ if (xf86LoadSubModule(pScrn, "vbe") && (pVbe = VBEInit(NULL, index))) {
+- xf86LoaderReqSymLists(I810vbeSymbols, NULL);
+ MonInfo = vbeDoEDID(pVbe, NULL);
+ xf86PrintEDID(MonInfo);
+ xf86SetDDCproperties(pScrn, MonInfo);
+@@ -864,8 +847,6 @@
+ if (!xf86LoadSubModule(pScrn, "vgahw"))
+ return FALSE;
+
+- xf86LoaderReqSymLists(I810vgahwSymbols, NULL);
+-
+ /* Allocate a vgaHWRec */
+ if (!vgaHWGetHWRec(pScrn))
+ return FALSE;
+@@ -878,10 +859,6 @@
+ pI810->PciInfo->func);
+ #endif
+
+- if (xf86RegisterResources(pI810->pEnt->index, NULL, ResNone))
+- return FALSE;
+- pScrn->racMemFlags = RAC_FB | RAC_COLORMAP;
+-
+ /* Set pScrn->monitor */
+ pScrn->monitor = pScrn->confScreen->monitor;
+
+@@ -960,7 +937,6 @@
+ I810FreeRec(pScrn);
+ return FALSE;
+ }
+- xf86LoaderReqSymLists(I810xaaSymbols, NULL);
+ }
+
+ #ifdef XF86DRI
+@@ -1244,14 +1220,12 @@
+ I810FreeRec(pScrn);
+ return FALSE;
+ }
+- xf86LoaderReqSymLists(I810fbSymbols, NULL);
+
+ if (!xf86ReturnOptValBool(pI810->Options, OPTION_SW_CURSOR, FALSE)) {
+ if (!xf86LoadSubModule(pScrn, "ramdac")) {
+ I810FreeRec(pScrn);
+ return FALSE;
+ }
+- xf86LoaderReqSymLists(I810ramdacSymbols, NULL);
+ }
+
+ if (xf86GetOptValInteger
+@@ -1278,9 +1252,6 @@
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "Couldn't load shadowfb module:\n");
+ }
+- else {
+- xf86LoaderReqSymLists(I810shadowFBSymbols, NULL);
+- }
+ }
+
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "page flipping %s\n",
+@@ -1312,16 +1283,12 @@
+ #ifdef XF86DRI
+ /* Load the dri module if requested. */
+ if (xf86ReturnOptValBool(pI810->Options, OPTION_DRI, FALSE)) {
+- if (xf86LoadSubModule(pScrn, "dri")) {
+- xf86LoaderReqSymLists(I810driSymbols, I810drmSymbols, NULL);
+- }
++ xf86LoadSubModule(pScrn, "dri");
+ }
+ #endif
+
+ /* We won't be using the VGA access after the probe */
+ I810SetMMIOAccess(pI810);
+- xf86SetOperatingState(resVgaIo, pI810->pEnt->index, ResUnusedOpr);
+- xf86SetOperatingState(resVgaMem, pI810->pEnt->index, ResDisableOpr);
+
+ return TRUE;
+ }
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_i810_hwmc.c b/x11-drivers/xf86-video-intel/files/patch-src_i810_hwmc.c
new file mode 100644
index 000000000000..ffb2ac39cadf
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-src_i810_hwmc.c
@@ -0,0 +1,10 @@
+--- src/i810_hwmc.c.orig 2010-02-21 13:40:44.000000000 -0600
++++ src/i810_hwmc.c 2010-02-21 13:41:16.000000000 -0600
+@@ -42,7 +42,6 @@
+
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
+-#include "xf86Resources.h"
+ #include "compiler.h"
+ #include "xf86PciInfo.h"
+ #include "xf86Pci.h"
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_i810_video.c b/x11-drivers/xf86-video-intel/files/patch-src_i810_video.c
new file mode 100644
index 000000000000..c10b5e668836
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-src_i810_video.c
@@ -0,0 +1,10 @@
+--- src/i810_video.c.orig 2010-02-21 13:17:58.000000000 -0600
++++ src/i810_video.c 2010-02-21 13:18:37.000000000 -0600
+@@ -42,7 +42,6 @@
+
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
+-#include "xf86Resources.h"
+ #include "compiler.h"
+ #include "xf86PciInfo.h"
+ #include "xf86Pci.h"
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_i830_dri.c b/x11-drivers/xf86-video-intel/files/patch-src_i830_dri.c
new file mode 100644
index 000000000000..05bdb931e945
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-src_i830_dri.c
@@ -0,0 +1,14 @@
+--- src/i830_dri.c.orig 2010-02-21 13:30:37.000000000 -0600
++++ src/i830_dri.c 2010-02-21 13:39:02.000000000 -0600
+@@ -1731,9 +1731,10 @@
+ info.driverName = IS_I965G(pI830) ? "i965" : "i915";
+ info.deviceName = p;
+ info.version = 1;
+-
++#if 0
+ info.CreateBuffers = I830DRI2CreateBuffers;
+ info.DestroyBuffers = I830DRI2DestroyBuffers;
++#endif
+ info.CopyRegion = I830DRI2CopyRegion;
+
+ pI830->drmSubFD = info.fd;
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_i830_driver.c b/x11-drivers/xf86-video-intel/files/patch-src_i830_driver.c
new file mode 100644
index 000000000000..776b67f915d1
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-src_i830_driver.c
@@ -0,0 +1,97 @@
+--- src/i830_driver.c.orig 2010-02-21 13:20:12.000000000 -0600
++++ src/i830_driver.c 2010-02-21 13:26:14.000000000 -0600
+@@ -175,8 +175,6 @@
+
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
+-#include "xf86Resources.h"
+-#include "xf86RAC.h"
+ #include "xf86Priv.h"
+ #include "xf86cmap.h"
+ #include "compiler.h"
+@@ -1050,7 +1048,6 @@
+ if (!xf86LoadSubModule(pScrn, "ddc")) {
+ pI830->ddc2 = FALSE;
+ } else {
+- xf86LoaderReqSymLists(I810ddcSymbols, NULL);
+ pI830->ddc2 = TRUE;
+ }
+
+@@ -1058,8 +1055,6 @@
+ /* Load I2C if we have the code to use it */
+ if (pI830->ddc2) {
+ if (xf86LoadSubModule(pScrn, "i2c")) {
+- xf86LoaderReqSymLists(I810i2cSymbols, NULL);
+-
+ pI830->ddc2 = TRUE;
+ } else {
+ pI830->ddc2 = FALSE;
+@@ -1511,11 +1506,9 @@
+ /* The vgahw module should be loaded here when needed */
+ if (!xf86LoadSubModule(pScrn, "vgahw"))
+ return FALSE;
+- xf86LoaderReqSymLists(I810vgahwSymbols, NULL);
+
+ if (!xf86LoadSubModule(pScrn, "ramdac"))
+ return FALSE;
+- xf86LoaderReqSymLists(I810ramdacSymbols, NULL);
+
+ return TRUE;
+ }
+@@ -1854,12 +1847,6 @@
+ pI830->PciInfo->func);
+ #endif
+
+- if (xf86RegisterResources(pI830->pEnt->index, NULL, ResNone)) {
+- PreInitCleanup(pScrn);
+- return FALSE;
+- }
+-
+- pScrn->racMemFlags = RAC_FB | RAC_COLORMAP;
+ pScrn->monitor = pScrn->confScreen->monitor;
+ pScrn->progClock = TRUE;
+ pScrn->rgbBits = 8;
+@@ -1942,8 +1929,6 @@
+ return FALSE;
+ }
+
+- xf86LoaderReqSymLists(I810fbSymbols, NULL);
+-
+ switch (pI830->accel) {
+ #ifdef I830_USE_XAA
+ case ACCEL_XAA:
+@@ -1951,7 +1936,6 @@
+ PreInitCleanup(pScrn);
+ return FALSE;
+ }
+- xf86LoaderReqSymLists(I810xaaSymbols, NULL);
+ break;
+ #endif
+
+@@ -1973,7 +1957,6 @@
+ PreInitCleanup(pScrn);
+ return FALSE;
+ }
+- xf86LoaderReqSymLists(I830exaSymbols, NULL);
+ break;
+ }
+ #endif
+@@ -1988,17 +1971,13 @@
+
+ /* We won't be using the VGA access after the probe. */
+ I830SetMMIOAccess(pI830);
+- xf86SetOperatingState(resVgaIo, pI830->pEnt->index, ResUnusedOpr);
+- xf86SetOperatingState(resVgaMem, pI830->pEnt->index, ResDisableOpr);
+ }
+
+ #if defined(XF86DRI)
+ /* Load the dri module if requested. */
+ if (xf86ReturnOptValBool(pI830->Options, OPTION_DRI, FALSE) &&
+ pI830->directRenderingType != DRI_DISABLED) {
+- if (xf86LoadSubModule(pScrn, "dri")) {
+- xf86LoaderReqSymLists(I810driSymbols, I810drmSymbols, NULL);
+- }
++ xf86LoadSubModule(pScrn, "dri");
+ }
+ #endif
+
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_i830_i2c.c b/x11-drivers/xf86-video-intel/files/patch-src_i830_i2c.c
new file mode 100644
index 000000000000..1f4461cd9fe1
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-src_i830_i2c.c
@@ -0,0 +1,11 @@
+--- src/i830_i2c.c.orig 2010-02-21 13:27:07.000000000 -0600
++++ src/i830_i2c.c 2010-02-21 13:27:45.000000000 -0600
+@@ -31,8 +31,6 @@
+
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
+-#include "xf86Resources.h"
+-#include "xf86RAC.h"
+ #include "xf86cmap.h"
+ #include "compiler.h"
+ #include "mibstore.h"
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_i830_render.c b/x11-drivers/xf86-video-intel/files/patch-src_i830_render.c
new file mode 100644
index 000000000000..e292a7dedbf7
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-src_i830_render.c
@@ -0,0 +1,78 @@
+--- src/i830_render.c.orig 2009-05-12 19:12:11.000000000 -0500
++++ src/i830_render.c 2010-03-07 15:30:45.000000000 -0600
+@@ -210,26 +210,8 @@
+ (dblend << S8_DST_BLEND_FACTOR_SHIFT);
+ }
+
+-static Bool i830_check_composite_texture(PicturePtr pPict, int unit)
++static Bool i830_check_composite_texture(ScrnInfoPtr pScrn, PicturePtr pPict, int unit)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[pPict->pDrawable->pScreen->myNum];
+- int w = pPict->pDrawable->width;
+- int h = pPict->pDrawable->height;
+- int i;
+-
+- if ((w > 2048) || (h > 2048))
+- I830FALLBACK("Picture w/h too large (%dx%d)\n", w, h);
+-
+- for (i = 0; i < sizeof(i830_tex_formats) / sizeof(i830_tex_formats[0]);
+- i++)
+- {
+- if (i830_tex_formats[i].fmt == pPict->format)
+- break;
+- }
+- if (i == sizeof(i830_tex_formats) / sizeof(i830_tex_formats[0]))
+- I830FALLBACK("Unsupported picture format 0x%x\n",
+- (int)pPict->format);
+-
+ if (pPict->repeatType > RepeatReflect)
+ I830FALLBACK("Unsupported picture repeat %d\n", pPict->repeatType);
+
+@@ -239,6 +221,26 @@
+ I830FALLBACK("Unsupported filter 0x%x\n", pPict->filter);
+ }
+
++ if (pPict->pDrawable)
++ {
++ int w, h, i;
++
++ w = pPict->pDrawable->width;
++ h = pPict->pDrawable->height;
++ if ((w > 2048) || (h > 2048))
++ I830FALLBACK("Picture w/h too large (%dx%d)\n", w, h);
++
++ for (i = 0; i < sizeof(i830_tex_formats) / sizeof(i830_tex_formats[0]);
++ i++)
++ {
++ if (i830_tex_formats[i].fmt == pPict->format)
++ break;
++ }
++ if (i == sizeof(i830_tex_formats) / sizeof(i830_tex_formats[0]))
++ I830FALLBACK("Unsupported picture format 0x%x\n",
++ (int)pPict->format);
++ }
++
+ return TRUE;
+ }
+
+@@ -376,9 +378,9 @@
+ "alpha and source value blending.\n");
+ }
+
+- if (!i830_check_composite_texture(pSrcPicture, 0))
++ if (!i830_check_composite_texture(pScrn, pSrcPicture, 0))
+ I830FALLBACK("Check Src picture texture\n");
+- if (pMaskPicture != NULL && !i830_check_composite_texture(pMaskPicture, 1))
++ if (pMaskPicture != NULL && !i830_check_composite_texture(pScrn, pMaskPicture, 1))
+ I830FALLBACK("Check Mask picture texture\n");
+
+ if (!i830_get_dest_format(pDstPicture, &tmp1))
+@@ -392,7 +394,7 @@
+ PicturePtr pMaskPicture, PicturePtr pDstPicture,
+ PixmapPtr pSrc, PixmapPtr pMask, PixmapPtr pDst)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[pSrcPicture->pDrawable->pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86Screens[pDstPicture->pDrawable->pScreen->myNum];
+ I830Ptr pI830 = I830PTR(pScrn);
+ uint32_t dst_format, dst_pitch;
+ Bool is_affine_src, is_affine_mask;
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_i830_video.c b/x11-drivers/xf86-video-intel/files/patch-src_i830_video.c
new file mode 100644
index 000000000000..b93a98e24932
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-src_i830_video.c
@@ -0,0 +1,10 @@
+--- src/i830_video.c.orig 2010-02-21 13:28:37.000000000 -0600
++++ src/i830_video.c 2010-02-21 13:29:05.000000000 -0600
+@@ -57,7 +57,6 @@
+
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
+-#include "xf86Resources.h"
+ #include "compiler.h"
+ #include "xf86PciInfo.h"
+ #include "xf86Pci.h"
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_i915_hwmc.c b/x11-drivers/xf86-video-intel/files/patch-src_i915_hwmc.c
new file mode 100644
index 000000000000..ab7f679fb4ac
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-src_i915_hwmc.c
@@ -0,0 +1,10 @@
+--- src/i915_hwmc.c.orig 2010-02-21 13:42:21.000000000 -0600
++++ src/i915_hwmc.c 2010-02-21 13:42:38.000000000 -0600
+@@ -32,7 +32,6 @@
+
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
+-#include "xf86Resources.h"
+ #include "compiler.h"
+ #include "xf86PciInfo.h"
+ #include "xf86Pci.h"
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_i915_render.c b/x11-drivers/xf86-video-intel/files/patch-src_i915_render.c
new file mode 100644
index 000000000000..53b1a0e1e850
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-src_i915_render.c
@@ -0,0 +1,69 @@
+--- src/i915_render.c.orig 2009-05-12 19:12:11.000000000 -0500
++++ src/i915_render.c 2010-03-07 15:30:45.000000000 -0600
+@@ -167,26 +167,8 @@
+ return TRUE;
+ }
+
+-static Bool i915_check_composite_texture(PicturePtr pPict, int unit)
++static Bool i915_check_composite_texture(ScrnInfoPtr pScrn, PicturePtr pPict, int unit)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[pPict->pDrawable->pScreen->myNum];
+- int w = pPict->pDrawable->width;
+- int h = pPict->pDrawable->height;
+- int i;
+-
+- if ((w > 2048) || (h > 2048))
+- I830FALLBACK("Picture w/h too large (%dx%d)\n", w, h);
+-
+- for (i = 0; i < sizeof(i915_tex_formats) / sizeof(i915_tex_formats[0]);
+- i++)
+- {
+- if (i915_tex_formats[i].fmt == pPict->format)
+- break;
+- }
+- if (i == sizeof(i915_tex_formats) / sizeof(i915_tex_formats[0]))
+- I830FALLBACK("Unsupported picture format 0x%x\n",
+- (int)pPict->format);
+-
+ if (pPict->repeatType > RepeatReflect)
+ I830FALLBACK("Unsupported picture repeat %d\n", pPict->repeatType);
+
+@@ -194,6 +176,26 @@
+ pPict->filter != PictFilterBilinear)
+ I830FALLBACK("Unsupported filter 0x%x\n", pPict->filter);
+
++ if (pPict->pDrawable)
++ {
++ int w, h, i;
++
++ w = pPict->pDrawable->width;
++ h = pPict->pDrawable->height;
++ if ((w > 2048) || (h > 2048))
++ I830FALLBACK("Picture w/h too large (%dx%d)\n", w, h);
++
++ for (i = 0; i < sizeof(i915_tex_formats) / sizeof(i915_tex_formats[0]);
++ i++)
++ {
++ if (i915_tex_formats[i].fmt == pPict->format)
++ break;
++ }
++ if (i == sizeof(i915_tex_formats) / sizeof(i915_tex_formats[0]))
++ I830FALLBACK("Unsupported picture format 0x%x\n",
++ (int)pPict->format);
++ }
++
+ return TRUE;
+ }
+
+@@ -220,9 +222,9 @@
+ "alpha and source value blending.\n");
+ }
+
+- if (!i915_check_composite_texture(pSrcPicture, 0))
++ if (!i915_check_composite_texture(pScrn, pSrcPicture, 0))
+ I830FALLBACK("Check Src picture texture\n");
+- if (pMaskPicture != NULL && !i915_check_composite_texture(pMaskPicture, 1))
++ if (pMaskPicture != NULL && !i915_check_composite_texture(pScrn, pMaskPicture, 1))
+ I830FALLBACK("Check Mask picture texture\n");
+
+ if (!i915_get_dest_format(pDstPicture, &tmp1))
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_i965_render.c b/x11-drivers/xf86-video-intel/files/patch-src_i965_render.c
new file mode 100644
index 000000000000..99b7d787267b
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-src_i965_render.c
@@ -0,0 +1,78 @@
+--- src/i965_render.c.orig 2009-05-12 19:12:11.000000000 -0500
++++ src/i965_render.c 2010-03-07 15:30:45.000000000 -0600
+@@ -181,26 +181,8 @@
+ return TRUE;
+ }
+
+-static Bool i965_check_composite_texture(PicturePtr pPict, int unit)
++static Bool i965_check_composite_texture(ScrnInfoPtr pScrn, PicturePtr pPict, int unit)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[pPict->pDrawable->pScreen->myNum];
+- int w = pPict->pDrawable->width;
+- int h = pPict->pDrawable->height;
+- int i;
+-
+- if ((w > 8192) || (h > 8192))
+- I830FALLBACK("Picture w/h too large (%dx%d)\n", w, h);
+-
+- for (i = 0; i < sizeof(i965_tex_formats) / sizeof(i965_tex_formats[0]);
+- i++)
+- {
+- if (i965_tex_formats[i].fmt == pPict->format)
+- break;
+- }
+- if (i == sizeof(i965_tex_formats) / sizeof(i965_tex_formats[0]))
+- I830FALLBACK("Unsupported picture format 0x%x\n",
+- (int)pPict->format);
+-
+ if (pPict->repeatType > RepeatReflect)
+ I830FALLBACK("extended repeat (%d) not supported\n",
+ pPict->repeatType);
+@@ -211,6 +193,26 @@
+ I830FALLBACK("Unsupported filter 0x%x\n", pPict->filter);
+ }
+
++ if (pPict->pDrawable)
++ {
++ int w, h, i;
++
++ w = pPict->pDrawable->width;
++ h = pPict->pDrawable->height;
++ if ((w > 8192) || (h > 8192))
++ I830FALLBACK("Picture w/h too large (%dx%d)\n", w, h);
++
++ for (i = 0; i < sizeof(i965_tex_formats) / sizeof(i965_tex_formats[0]);
++ i++)
++ {
++ if (i965_tex_formats[i].fmt == pPict->format)
++ break;
++ }
++ if (i == sizeof(i965_tex_formats) / sizeof(i965_tex_formats[0]))
++ I830FALLBACK("Unsupported picture format 0x%x\n",
++ (int)pPict->format);
++ }
++
+ return TRUE;
+ }
+
+@@ -239,9 +241,9 @@
+ }
+ }
+
+- if (!i965_check_composite_texture(pSrcPicture, 0))
++ if (!i965_check_composite_texture(pScrn, pSrcPicture, 0))
+ I830FALLBACK("Check Src picture texture\n");
+- if (pMaskPicture != NULL && !i965_check_composite_texture(pMaskPicture, 1))
++ if (pMaskPicture != NULL && !i965_check_composite_texture(pScrn, pMaskPicture, 1))
+ I830FALLBACK("Check Mask picture texture\n");
+
+ if (!i965_get_dest_format(pDstPicture, &tmp1))
+@@ -1258,7 +1260,7 @@
+ PicturePtr pMaskPicture, PicturePtr pDstPicture,
+ PixmapPtr pSrc, PixmapPtr pMask, PixmapPtr pDst)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[pSrcPicture->pDrawable->pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86Screens[pDstPicture->pDrawable->pScreen->myNum];
+ I830Ptr pI830 = I830PTR(pScrn);
+ struct gen4_render_state *render_state= pI830->gen4_render_state;
+ gen4_composite_op *composite_op = &render_state->composite_op;
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_ivch_ivch.c b/x11-drivers/xf86-video-intel/files/patch-src_ivch_ivch.c
new file mode 100644
index 000000000000..b54885d9b0d8
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-src_ivch_ivch.c
@@ -0,0 +1,17 @@
+--- src/ivch/ivch.c.orig 2010-02-21 12:47:05.000000000 -0600
++++ src/ivch/ivch.c 2010-02-21 12:48:09.000000000 -0600
+@@ -31,13 +31,11 @@
+
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
+-#include "xf86Resources.h"
+ #include "compiler.h"
+ #include "miscstruct.h"
+ #include "xf86i2c.h"
+ #include "xf86Crtc.h"
+-#define DPMS_SERVER
+-#include <X11/extensions/dpms.h>
++#include <X11/extensions/dpmsproto.h>
+ #include <unistd.h>
+
+ #include "../i2c_vid.h"
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_sil164_sil164.c b/x11-drivers/xf86-video-intel/files/patch-src_sil164_sil164.c
new file mode 100644
index 000000000000..f9d717794304
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-src_sil164_sil164.c
@@ -0,0 +1,17 @@
+--- src/sil164/sil164.c.orig 2010-02-21 12:49:54.000000000 -0600
++++ src/sil164/sil164.c 2010-02-21 12:50:40.000000000 -0600
+@@ -35,13 +35,11 @@
+
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
+-#include "xf86Resources.h"
+ #include "compiler.h"
+ #include "miscstruct.h"
+ #include "xf86i2c.h"
+ #include "xf86Crtc.h"
+-#define DPMS_SERVER
+-#include <X11/extensions/dpms.h>
++#include <X11/extensions/dpmsproto.h>
+
+ #include "../i2c_vid.h"
+ #include "sil164.h"
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_tfp410_tfp410.c b/x11-drivers/xf86-video-intel/files/patch-src_tfp410_tfp410.c
new file mode 100644
index 000000000000..89927b3311b2
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-src_tfp410_tfp410.c
@@ -0,0 +1,17 @@
+--- src/tfp410/tfp410.c.orig 2010-02-21 12:52:35.000000000 -0600
++++ src/tfp410/tfp410.c 2010-02-21 12:53:19.000000000 -0600
+@@ -34,13 +34,11 @@
+
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
+-#include "xf86Resources.h"
+ #include "compiler.h"
+ #include "miscstruct.h"
+ #include "xf86i2c.h"
+ #include "xf86Crtc.h"
+-#define DPMS_SERVER
+-#include <X11/extensions/dpms.h>
++#include <X11/extensions/dpmsconst.h>
+
+ #include "../i2c_vid.h"
+ #include "tfp410.h"
diff --git a/x11-drivers/xf86-video-intel/files/patch-uxa_uxa-priv.h b/x11-drivers/xf86-video-intel/files/patch-uxa_uxa-priv.h
new file mode 100644
index 000000000000..46eb72ea63c4
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-uxa_uxa-priv.h
@@ -0,0 +1,32 @@
+--- uxa/uxa-priv.h.orig 2009-05-12 19:12:11.000000000 -0500
++++ uxa/uxa-priv.h 2010-02-21 12:27:32.000000000 -0600
+@@ -42,8 +42,7 @@
+ #define NEED_EVENTS
+ #include <X11/Xproto.h>
+ #ifdef MITSHM
+-#define _XSHM_SERVER_
+-#include <X11/extensions/shmstr.h>
++#include <X11/extensions/shmproto.h>
+ #endif
+ #include "scrnintstr.h"
+ #include "pixmapstr.h"
+@@ -319,17 +318,11 @@
+ extern const GCOps uxa_ops;
+
+ #ifdef MITSHM
+-extern ShmFuncs uxa_shm_funcs;
+-
+ /* XXX these come from shmint.h, which isn't exported by the server */
+-void
+-ShmRegisterFuncs(ScreenPtr pScreen, ShmFuncsPtr funcs);
+
+-void
+-ShmSetPixmapFormat(ScreenPtr pScreen, int format);
++#include "shmint.h"
+
+-void
+-fbShmPutImage(XSHM_PUT_IMAGE_ARGS);
++extern ShmFuncs uxa_shm_funcs;
+
+ #endif
+