aboutsummaryrefslogtreecommitdiffstats
path: root/x11-drivers
diff options
context:
space:
mode:
authorrezny <rezny@FreeBSD.org>2017-02-11 22:17:58 +0800
committerrezny <rezny@FreeBSD.org>2017-02-11 22:17:58 +0800
commit9004f2aae7a927dec3bc5dbf5d535579ea43c7aa (patch)
treef850017ca906c1f973d599485b77a7dceb60e2fc /x11-drivers
parentc2a7c09121f564be99490587def8740af67dc2ef (diff)
downloadfreebsd-ports-gnome-9004f2aae7a927dec3bc5dbf5d535579ea43c7aa.tar.gz
freebsd-ports-gnome-9004f2aae7a927dec3bc5dbf5d535579ea43c7aa.tar.zst
freebsd-ports-gnome-9004f2aae7a927dec3bc5dbf5d535579ea43c7aa.zip
Xorg-servers update to 1.18.4 with driver updates and revision bumps.
Update xf86-video-ati to 7.8.0 Update xf86-video-intel to 2.99.917.20170103 Update xf86-input-synaptics to 1.9.0 Update xf86-input-evdev to 2.10.5 Update xf86-video-r128 to 6.10.2 Update xf86-video-rendition to 4.2.6 New port: xf86-video-geode PR: 214591,216269,214687,214593,214715,216276,216277,216278,216287, 216288,216292,216298,214560,216299,216300,216301,216302 Approved by: swills (mentor, portmgr) Differential Revision: https://reviews.freebsd.org/D9436
Diffstat (limited to 'x11-drivers')
-rw-r--r--x11-drivers/Makefile1
-rw-r--r--x11-drivers/xf86-input-acecad/Makefile2
-rw-r--r--x11-drivers/xf86-input-egalax/Makefile12
-rw-r--r--x11-drivers/xf86-input-elographics/Makefile2
-rw-r--r--x11-drivers/xf86-input-evdev/Makefile3
-rw-r--r--x11-drivers/xf86-input-evdev/distinfo6
-rw-r--r--x11-drivers/xf86-input-evdev/files/patch-src_evdev.c16
-rw-r--r--x11-drivers/xf86-input-evdev/files/patch-src_evdev.h2
-rw-r--r--x11-drivers/xf86-input-fpit/Makefile2
-rw-r--r--x11-drivers/xf86-input-hyperpen/Makefile2
-rw-r--r--x11-drivers/xf86-input-keyboard/Makefile1
-rw-r--r--x11-drivers/xf86-input-mouse/Makefile2
-rw-r--r--x11-drivers/xf86-input-mutouch/Makefile2
-rw-r--r--x11-drivers/xf86-input-penmount/Makefile2
-rw-r--r--x11-drivers/xf86-input-synaptics/Makefile13
-rw-r--r--x11-drivers/xf86-input-synaptics/distinfo5
-rw-r--r--x11-drivers/xf86-input-synaptics/files/patch-src_eventcomm.c18
-rw-r--r--x11-drivers/xf86-input-synaptics/files/patch-src_eventcomm.h18
-rw-r--r--x11-drivers/xf86-input-synaptics/files/patch-src_synaptics.c31
-rw-r--r--x11-drivers/xf86-input-synaptics/pkg-plist2
-rw-r--r--x11-drivers/xf86-input-vmmouse/Makefile1
-rw-r--r--x11-drivers/xf86-input-void/Makefile1
-rw-r--r--x11-drivers/xf86-input-wacom/Makefile6
-rw-r--r--x11-drivers/xf86-video-amdgpu/Makefile5
-rw-r--r--x11-drivers/xf86-video-apm/Makefile2
-rw-r--r--x11-drivers/xf86-video-ark/Makefile2
-rw-r--r--x11-drivers/xf86-video-ati/Makefile18
-rw-r--r--x11-drivers/xf86-video-ati/distinfo6
-rw-r--r--x11-drivers/xf86-video-ati/files/patch-git_f11531c48
-rw-r--r--x11-drivers/xf86-video-ati/files/patch-src__radeon_dri2.c11
-rw-r--r--x11-drivers/xf86-video-ati/files/patch-src__radeon_kms.c36
-rw-r--r--x11-drivers/xf86-video-ati/files/patch-src_radeon_accel.c15
-rw-r--r--x11-drivers/xf86-video-chips/Makefile1
-rw-r--r--x11-drivers/xf86-video-geode/Makefile15
-rw-r--r--x11-drivers/xf86-video-geode/distinfo3
-rw-r--r--x11-drivers/xf86-video-geode/pkg-descr3
-rw-r--r--x11-drivers/xf86-video-geode/pkg-plist1
-rw-r--r--x11-drivers/xf86-video-glint/Makefile1
-rw-r--r--x11-drivers/xf86-video-i128/Makefile2
-rw-r--r--x11-drivers/xf86-video-i128/files/patch-src_i128__driver.c19
-rw-r--r--x11-drivers/xf86-video-i740/Makefile1
-rw-r--r--x11-drivers/xf86-video-intel/Makefile30
-rw-r--r--x11-drivers/xf86-video-intel/distinfo7
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-clang63
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-i915kms21
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src__sna__sna_accel.c81
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src__sna__sna_threads.c14
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src__uxa__intel_driver.c11
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_compat-api.h43
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_intel__device.c12
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_intel__list.h36
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_sna__sna_threads.c12
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_sna_fb_fbpict.c28
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_sna_kgem.c95
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_sna_sna__composite.c43
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_sna_sna__driver.c10
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_sna_sna__trapezoids.c111
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video.c82
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video.h10
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video__overlay.c101
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video__sprite.c114
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video__textured.c105
-rw-r--r--x11-drivers/xf86-video-intel/pkg-descr13
-rw-r--r--x11-drivers/xf86-video-mach64/Makefile3
-rw-r--r--x11-drivers/xf86-video-mga/Makefile1
-rw-r--r--x11-drivers/xf86-video-neomagic/Makefile1
-rw-r--r--x11-drivers/xf86-video-neomagic/files/patch-src_neo__driver.c13
-rw-r--r--x11-drivers/xf86-video-nv/Makefile1
-rw-r--r--x11-drivers/xf86-video-openchrome/Makefile1
-rw-r--r--x11-drivers/xf86-video-r128/Makefile4
-rw-r--r--x11-drivers/xf86-video-r128/distinfo6
-rw-r--r--x11-drivers/xf86-video-r128/files/patch-src_r128__dri.c94
-rw-r--r--x11-drivers/xf86-video-rendition/Makefile3
-rw-r--r--x11-drivers/xf86-video-rendition/distinfo5
-rw-r--r--x11-drivers/xf86-video-rendition/files/patch-src_rendition.c64
-rw-r--r--x11-drivers/xf86-video-rendition/files/patch-src_rendition.h31
-rw-r--r--x11-drivers/xf86-video-s3/Makefile2
-rw-r--r--x11-drivers/xf86-video-s3virge/Makefile2
-rw-r--r--x11-drivers/xf86-video-savage/Makefile1
-rw-r--r--x11-drivers/xf86-video-scfb/Makefile12
-rw-r--r--x11-drivers/xf86-video-scfb/files/patch-src_scfb__driver.c11
-rw-r--r--x11-drivers/xf86-video-siliconmotion/Makefile1
-rw-r--r--x11-drivers/xf86-video-sunffb/Makefile5
-rw-r--r--x11-drivers/xf86-video-tdfx/Makefile1
-rw-r--r--x11-drivers/xf86-video-trident/Makefile1
-rw-r--r--x11-drivers/xf86-video-tseng/Makefile2
-rw-r--r--x11-drivers/xf86-video-vesa/Makefile1
-rw-r--r--x11-drivers/xf86-video-vmware/Makefile6
-rw-r--r--x11-drivers/xf86-video-voodoo/Makefile2
-rw-r--r--x11-drivers/xf86-video-voodoo/files/patch-src_voodoo.h7
-rw-r--r--x11-drivers/xf86-video-voodoo/files/patch-src_voodoo__driver.c12
-rw-r--r--x11-drivers/xf86-video-voodoo/files/patch-src_voodoo__hardware.c17
-rw-r--r--x11-drivers/xorg-drivers/Makefile62
93 files changed, 559 insertions, 1194 deletions
diff --git a/x11-drivers/Makefile b/x11-drivers/Makefile
index 75dc1b312b91..83fd732ef716 100644
--- a/x11-drivers/Makefile
+++ b/x11-drivers/Makefile
@@ -26,6 +26,7 @@
SUBDIR += xf86-video-chips
SUBDIR += xf86-video-cirrus
SUBDIR += xf86-video-dummy
+ SUBDIR += xf86-video-geode
SUBDIR += xf86-video-glint
SUBDIR += xf86-video-i128
SUBDIR += xf86-video-i740
diff --git a/x11-drivers/xf86-input-acecad/Makefile b/x11-drivers/xf86-input-acecad/Makefile
index 66d512dc3ea2..a3861ae89e0d 100644
--- a/x11-drivers/xf86-input-acecad/Makefile
+++ b/x11-drivers/xf86-input-acecad/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-input-acecad
PORTVERSION= 1.5.0
-PORTREVISION= 7
+PORTREVISION= 8
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-input-egalax/Makefile b/x11-drivers/xf86-input-egalax/Makefile
index 917eb59d78b7..9cea686f8c8c 100644
--- a/x11-drivers/xf86-input-egalax/Makefile
+++ b/x11-drivers/xf86-input-egalax/Makefile
@@ -3,7 +3,7 @@
PORTNAME= xf86-input-egalax
PORTVERSION= 0.3
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= x11-drivers
MAINTAINER= glebius@FreeBSD.org
@@ -12,16 +12,10 @@ COMMENT= eGalax touch screen input driver for X.Org
USE_GITHUB= yes
GH_ACCOUNT= glebius
GH_TAGNAME= 7f1e4ac
-DIST_SUBDIR= xorg/driver
LICENSE= BSD2CLAUSE
-GNU_CONFIGURE= yes
-USES= autoreconf libtool pkgconfig
-USE_XORG= xorg-server xproto xi inputproto xf86driproto glproto \
- randrproto renderproto resourceproto scrnsaverproto \
- xorg-macros presentproto
-CONFIGURE_ENV= DRIVER_MAN_SUFFIX=4x DRIVER_MAN_DIR='$$(mandir)/man4'
-INSTALL_TARGET= install-strip
+USES= autoreconf
+XORG_CAT= driver
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-input-elographics/Makefile b/x11-drivers/xf86-input-elographics/Makefile
index 9f3de222f26b..19be4171b933 100644
--- a/x11-drivers/xf86-input-elographics/Makefile
+++ b/x11-drivers/xf86-input-elographics/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-input-elographics
PORTVERSION= 1.4.1
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-input-evdev/Makefile b/x11-drivers/xf86-input-evdev/Makefile
index f401367535e5..37851c43a609 100644
--- a/x11-drivers/xf86-input-evdev/Makefile
+++ b/x11-drivers/xf86-input-evdev/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= xf86-input-evdev
-PORTVERSION= 2.10.4
+PORTVERSION= 2.10.5
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
@@ -18,6 +18,5 @@ RUN_DEPENDS= webcamd>=3.1.0.1:multimedia/webcamd
XORG_CAT= driver
USES= pathfix
CONFIGURE_ENV= UDEV_CFLAGS=" " UDEV_LIBS=" "
-INSTALL_TARGET= install-strip
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-input-evdev/distinfo b/x11-drivers/xf86-input-evdev/distinfo
index 14c0fd3e220a..de471a5901ac 100644
--- a/x11-drivers/xf86-input-evdev/distinfo
+++ b/x11-drivers/xf86-input-evdev/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1479415100
-SHA256 (xorg/driver/xf86-input-evdev-2.10.4.tar.bz2) = bbf6a03fbce1a6c0c7d874eef519fd0a854bf01b515c745d41fa551ce6490cc2
-SIZE (xorg/driver/xf86-input-evdev-2.10.4.tar.bz2) = 404465
+TIMESTAMP = 1484717140
+SHA256 (xorg/driver/xf86-input-evdev-2.10.5.tar.bz2) = 9edaa6205baf6d2922cc4db3d8e54a7e7773b5f733b0ae90f6be7725f983b70d
+SIZE (xorg/driver/xf86-input-evdev-2.10.5.tar.bz2) = 405956
diff --git a/x11-drivers/xf86-input-evdev/files/patch-src_evdev.c b/x11-drivers/xf86-input-evdev/files/patch-src_evdev.c
index 7c1ae96fe48a..8c94136b1e18 100644
--- a/x11-drivers/xf86-input-evdev/files/patch-src_evdev.c
+++ b/x11-drivers/xf86-input-evdev/files/patch-src_evdev.c
@@ -1,6 +1,6 @@
---- src/evdev.c.orig 2015-03-27 01:35:50 UTC
+--- src/evdev.c.orig 2017-01-03 01:26:00 UTC
+++ src/evdev.c
-@@ -37,9 +37,13 @@
+@@ -38,9 +38,13 @@
#include <X11/keysym.h>
#include <X11/extensions/XI.h>
@@ -14,7 +14,7 @@
#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
-@@ -222,6 +226,7 @@ EvdevIsDuplicate(InputInfoPtr pInfo)
+@@ -226,6 +230,7 @@ EvdevIsDuplicate(InputInfoPtr pInfo)
static BOOL
EvdevDeviceIsVirtual(const char* devicenode)
{
@@ -22,7 +22,7 @@
struct udev *udev = NULL;
struct udev_device *device = NULL;
struct stat st;
-@@ -252,6 +257,9 @@ out:
+@@ -256,6 +261,9 @@ out:
udev_device_unref(device);
udev_unref(udev);
return rc;
@@ -31,8 +31,8 @@
+#endif
}
- #ifndef HAVE_SMOOTH_SCROLLING
-@@ -1086,11 +1094,13 @@ EvdevReadInput(InputInfoPtr pInfo)
+
+@@ -1062,11 +1070,13 @@ EvdevReadInput(InputInfoPtr pInfo)
do {
rc = libevdev_next_event(pEvdev->dev, LIBEVDEV_READ_FLAG_NORMAL, &ev);
if (rc < 0) {
@@ -47,8 +47,8 @@
+ }
break;
} else if (rc == LIBEVDEV_READ_STATUS_SUCCESS) {
- #ifdef MULTITOUCH
-@@ -1470,10 +1480,15 @@ EvdevAddAbsValuatorClass(DeviceIntPtr de
+ if (pEvdev->mtdev)
+@@ -1476,10 +1486,15 @@ EvdevAddAbsValuatorClass(DeviceIntPtr de
continue;
abs = libevdev_get_abs_info(pEvdev->dev, axis);
diff --git a/x11-drivers/xf86-input-evdev/files/patch-src_evdev.h b/x11-drivers/xf86-input-evdev/files/patch-src_evdev.h
index 2b27b9a2b48d..c5bdac44d54c 100644
--- a/x11-drivers/xf86-input-evdev/files/patch-src_evdev.h
+++ b/x11-drivers/xf86-input-evdev/files/patch-src_evdev.h
@@ -1,4 +1,4 @@
---- src/evdev.h.orig 2015-03-27 01:35:50 UTC
+--- src/evdev.h.orig 2016-11-21 04:59:44 UTC
+++ src/evdev.h
@@ -36,7 +36,15 @@
#define EVDEV_H
diff --git a/x11-drivers/xf86-input-fpit/Makefile b/x11-drivers/xf86-input-fpit/Makefile
index daf3dee9afca..b8186b3143a7 100644
--- a/x11-drivers/xf86-input-fpit/Makefile
+++ b/x11-drivers/xf86-input-fpit/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-input-fpit
PORTVERSION= 1.4.0
-PORTREVISION= 7
+PORTREVISION= 8
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-input-hyperpen/Makefile b/x11-drivers/xf86-input-hyperpen/Makefile
index 364445422485..e1fd7d27bd56 100644
--- a/x11-drivers/xf86-input-hyperpen/Makefile
+++ b/x11-drivers/xf86-input-hyperpen/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-input-hyperpen
PORTVERSION= 1.4.1
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-input-keyboard/Makefile b/x11-drivers/xf86-input-keyboard/Makefile
index 19100462f852..fa56954a73f0 100644
--- a/x11-drivers/xf86-input-keyboard/Makefile
+++ b/x11-drivers/xf86-input-keyboard/Makefile
@@ -2,6 +2,7 @@
PORTNAME= xf86-input-keyboard
PORTVERSION= 1.9.0
+PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-input-mouse/Makefile b/x11-drivers/xf86-input-mouse/Makefile
index aa0bb9b4b854..697dae1b97c2 100644
--- a/x11-drivers/xf86-input-mouse/Makefile
+++ b/x11-drivers/xf86-input-mouse/Makefile
@@ -2,6 +2,7 @@
PORTNAME= xf86-input-mouse
PORTVERSION= 1.9.2
+PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
@@ -12,6 +13,5 @@ LICENSE_FILE= ${WRKSRC}/COPYING
XORG_CAT= driver
USES= pathfix
-INSTALL_TARGET= install-strip
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-input-mutouch/Makefile b/x11-drivers/xf86-input-mutouch/Makefile
index 89d2cb143c6c..1d85b9fca919 100644
--- a/x11-drivers/xf86-input-mutouch/Makefile
+++ b/x11-drivers/xf86-input-mutouch/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-input-mutouch
PORTVERSION= 1.3.0
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-input-penmount/Makefile b/x11-drivers/xf86-input-penmount/Makefile
index b3bc675bba1c..2e923c45f496 100644
--- a/x11-drivers/xf86-input-penmount/Makefile
+++ b/x11-drivers/xf86-input-penmount/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-input-penmount
PORTVERSION= 1.5.0
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-input-synaptics/Makefile b/x11-drivers/xf86-input-synaptics/Makefile
index de7eb03a1e47..0a99baedddec 100644
--- a/x11-drivers/xf86-input-synaptics/Makefile
+++ b/x11-drivers/xf86-input-synaptics/Makefile
@@ -1,17 +1,24 @@
# $FreeBSD$
PORTNAME= xf86-input-synaptics
-PORTVERSION= 1.8.2
-PORTREVISION= 1
+PORTVERSION= 1.9.0
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
COMMENT= X.Org synaptics input driver
-CONFLICTS= synaptics-[0-9]*
+LICESNE= MIT
+LICENSE_FILE= ${WRKSRC}/COPYING
USES= pathfix
USE_XORG= x11 xtst
XORG_CAT= driver
+OPTIONS_DEFINE= EVDEV
+EVDEV_DESC= Use evdev for input events (requires kernel support)
+
+EVDEV_CONFIGURE_ENV= BUILD_EVENTCOMM=yes
+EVDEV_BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:multimedia/v4l_compat
+EVDEV_LIB_DEPENDS= libevdev.so:devel/libevdev
+
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-input-synaptics/distinfo b/x11-drivers/xf86-input-synaptics/distinfo
index 1e3f7c49bbdb..324aeaba23f0 100644
--- a/x11-drivers/xf86-input-synaptics/distinfo
+++ b/x11-drivers/xf86-input-synaptics/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-input-synaptics-1.8.2.tar.bz2) = 7b0e164ebd02a680e0c695955e783059f37edb0c2656398e0a972adc8e698c80
-SIZE (xorg/driver/xf86-input-synaptics-1.8.2.tar.bz2) = 484261
+TIMESTAMP = 1479490184
+SHA256 (xorg/driver/xf86-input-synaptics-1.9.0.tar.bz2) = afba3289d7a40217a19d90db98ce181772f9ca6d77e1898727b0afcf02073b5a
+SIZE (xorg/driver/xf86-input-synaptics-1.9.0.tar.bz2) = 501814
diff --git a/x11-drivers/xf86-input-synaptics/files/patch-src_eventcomm.c b/x11-drivers/xf86-input-synaptics/files/patch-src_eventcomm.c
new file mode 100644
index 000000000000..0aecdcd4a315
--- /dev/null
+++ b/x11-drivers/xf86-input-synaptics/files/patch-src_eventcomm.c
@@ -0,0 +1,18 @@
+--- src/eventcomm.c.orig 2016-09-30 07:09:32 UTC
++++ src/eventcomm.c
+@@ -421,10 +421,15 @@ event_get_abs(struct libevdev *evdev, in
+ /* We dont trust a zero fuzz as it probably is just a lazy value */
+ if (fuzz && abs->fuzz > 0)
+ *fuzz = abs->fuzz;
++#ifdef __linux__
+ #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,30)
+ if (res)
+ *res = abs->resolution;
+ #endif
++#elif defined(__FreeBSD__) || defined(__DragonFly__)
++ if (res)
++ *res = abs->resolution;
++#endif
+
+ return 0;
+ }
diff --git a/x11-drivers/xf86-input-synaptics/files/patch-src_eventcomm.h b/x11-drivers/xf86-input-synaptics/files/patch-src_eventcomm.h
new file mode 100644
index 000000000000..0da0434c6f0b
--- /dev/null
+++ b/x11-drivers/xf86-input-synaptics/files/patch-src_eventcomm.h
@@ -0,0 +1,18 @@
+--- src/eventcomm.h.orig 2015-11-24 23:47:05 UTC
++++ src/eventcomm.h
+@@ -30,7 +30,15 @@
+ #include <xorg-server.h>
+
+ #include <linux/input.h>
++#ifdef __linux__
+ #include <linux/version.h>
++#else
++#undef BUS_NONE
++#undef BUS_PCI
++#undef BUS_SBUS
++#undef BUS_PLATFORM
++#undef BUS_last
++#endif
+ #include <xf86Xinput.h>
+ #include "synproto.h"
+
diff --git a/x11-drivers/xf86-input-synaptics/files/patch-src_synaptics.c b/x11-drivers/xf86-input-synaptics/files/patch-src_synaptics.c
new file mode 100644
index 000000000000..86833d7a71ad
--- /dev/null
+++ b/x11-drivers/xf86-input-synaptics/files/patch-src_synaptics.c
@@ -0,0 +1,31 @@
+--- src/synaptics.c.orig 2016-09-30 07:09:32 UTC
++++ src/synaptics.c
+@@ -2599,7 +2599,7 @@ HandleScrolling(SynapticsPrivate * priv,
+
+ priv->scroll.delta_y += priv->scroll.coast_speed_y * dtime * abs(para->scroll_dist_vert);
+ delay = MIN(delay, POLL_MS);
+- if (abs(priv->scroll.coast_speed_y) < ddy) {
++ if (fabs(priv->scroll.coast_speed_y) < ddy) {
+ priv->scroll.coast_speed_y = 0;
+ priv->scroll.packets_this_scroll = 0;
+ }
+@@ -2614,7 +2614,7 @@ HandleScrolling(SynapticsPrivate * priv,
+ double ddx = para->coasting_friction * dtime;
+ priv->scroll.delta_x += priv->scroll.coast_speed_x * dtime * abs(para->scroll_dist_horiz);
+ delay = MIN(delay, POLL_MS);
+- if (abs(priv->scroll.coast_speed_x) < ddx) {
++ if (fabs(priv->scroll.coast_speed_x) < ddx) {
+ priv->scroll.coast_speed_x = 0;
+ priv->scroll.packets_this_scroll = 0;
+ }
+@@ -2670,8 +2670,8 @@ clickpad_guess_clickfingers(SynapticsPri
+ * really, this should be dependent on the touchpad size. Also,
+ * you'll need to find a touchpad that doesn't lie about it's
+ * size. Good luck. */
+- if (abs(x1 - x2) < (priv->maxx - priv->minx) * .3 &&
+- abs(y1 - y2) < (priv->maxy - priv->miny) * .3) {
++ if (fabs(x1 - x2) < (priv->maxx - priv->minx) * .3 &&
++ fabs(y1 - y2) < (priv->maxy - priv->miny) * .3) {
+ close_point |= (1 << j);
+ close_point |= (1 << i);
+ }
diff --git a/x11-drivers/xf86-input-synaptics/pkg-plist b/x11-drivers/xf86-input-synaptics/pkg-plist
index bcb4e1ca5a39..3d205d6d57ec 100644
--- a/x11-drivers/xf86-input-synaptics/pkg-plist
+++ b/x11-drivers/xf86-input-synaptics/pkg-plist
@@ -6,4 +6,4 @@ libdata/pkgconfig/xorg-synaptics.pc
man/man1/synclient.1.gz
man/man1/syndaemon.1.gz
man/man4/synaptics.4x.gz
-share/X11/xorg.conf.d/50-synaptics.conf
+share/X11/xorg.conf.d/70-synaptics.conf
diff --git a/x11-drivers/xf86-input-vmmouse/Makefile b/x11-drivers/xf86-input-vmmouse/Makefile
index 0655a7554e7a..3301d8c16333 100644
--- a/x11-drivers/xf86-input-vmmouse/Makefile
+++ b/x11-drivers/xf86-input-vmmouse/Makefile
@@ -3,6 +3,7 @@
PORTNAME= xf86-input-vmmouse
PORTVERSION= 13.1.0
+PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-input-void/Makefile b/x11-drivers/xf86-input-void/Makefile
index cba17192fbfe..c77ee8c5de50 100644
--- a/x11-drivers/xf86-input-void/Makefile
+++ b/x11-drivers/xf86-input-void/Makefile
@@ -2,6 +2,7 @@
PORTNAME= xf86-input-void
PORTVERSION= 1.4.1
+PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-input-wacom/Makefile b/x11-drivers/xf86-input-wacom/Makefile
index 096f867118da..d7e3063a2c9c 100644
--- a/x11-drivers/xf86-input-wacom/Makefile
+++ b/x11-drivers/xf86-input-wacom/Makefile
@@ -2,6 +2,7 @@
PORTNAME= xf86-input-wacom
PORTVERSION= 0.34.0
+PORTREVISION= 1
CATEGORIES= x11-drivers
MASTER_SITES= SF/linuxwacom/${PORTNAME}
@@ -13,8 +14,8 @@ LICENSE= GPLv2+
BUILD_DEPENDS= v4l_compat>=1.0.20110603:multimedia/v4l_compat
RUN_DEPENDS= webcamd>=3.1.0.1:multimedia/webcamd
-USES= tar:bzip2 pathfix pkgconfig libtool
-USE_XORG= x11 xinerama xrandr
+USES= pathfix
+USE_XORG= x11 xext xinerama xrandr
XORG_CAT= driver
LDFLAGS+= -Wl,--as-needed # Xext
USE_RC_SUBR= wacom
@@ -23,7 +24,6 @@ CONFIGURE_ENV= UDEV_CFLAGS=" " UDEV_LIBS=" "
CONFIGURE_ARGS= --without-systemd-unit-dir \
--without-udev-rules-dir \
--without-doxygen
-INSTALL_TARGET= install-strip
OPTIONS_DEFINE= DEBUG TEST
diff --git a/x11-drivers/xf86-video-amdgpu/Makefile b/x11-drivers/xf86-video-amdgpu/Makefile
index 3dd391ed98a9..4b7887632891 100644
--- a/x11-drivers/xf86-video-amdgpu/Makefile
+++ b/x11-drivers/xf86-video-amdgpu/Makefile
@@ -4,6 +4,7 @@
PORTNAME= xf86-video-amdgpu
PORTVERSION= 1.2.0
+PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
@@ -16,16 +17,16 @@ LIB_DEPENDS= libdrm_amdgpu.so:graphics/libdrm
USE_GL= gbm
XORG_CAT= driver
-INSTALL_TARGET= install-strip
# No amdgpu kernel driver on non-x86 and PC98.
ONLY_FOR_ARCHS= i386 amd64
+ONLY_FOR_ARCHS_REASON= KMS is required and currently only available on x86
CONFIGURE_ARGS+=--disable-udev
.include <bsd.port.options.mk>
.if (${OSVERSION} < 1200019)
-IGNORE= not support on 11.x or older, no kernel support
+IGNORE= not supported on 11.x or older, no kernel support
.endif
PLIST_FILES= lib/xorg/modules/drivers/amdgpu_drv.so \
diff --git a/x11-drivers/xf86-video-apm/Makefile b/x11-drivers/xf86-video-apm/Makefile
index 806d699463cf..24ecbd833f41 100644
--- a/x11-drivers/xf86-video-apm/Makefile
+++ b/x11-drivers/xf86-video-apm/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-video-apm
PORTVERSION= 1.2.5
-PORTREVISION= 7
+PORTREVISION= 8
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-ark/Makefile b/x11-drivers/xf86-video-ark/Makefile
index 44c723868e1b..a0f17dc8b85f 100644
--- a/x11-drivers/xf86-video-ark/Makefile
+++ b/x11-drivers/xf86-video-ark/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-video-ark
PORTVERSION= 0.7.5
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-ati/Makefile b/x11-drivers/xf86-video-ati/Makefile
index 0179644559fa..1c63245f178f 100644
--- a/x11-drivers/xf86-video-ati/Makefile
+++ b/x11-drivers/xf86-video-ati/Makefile
@@ -1,25 +1,27 @@
# $FreeBSD$
PORTNAME= xf86-video-ati
-PORTVERSION= 7.5.0
+PORTVERSION= 7.8.0
PORTEPOCH= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
COMMENT= X.Org ati display driver
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+LIB_DEPENDS= libpciaccess.so:devel/libpciaccess \
+ libdrm_radeon.so:graphics/libdrm
+
USE_GL= gl
XORG_CAT= driver
-USE_XORG= xf86driproto \
- xineramaproto \
- xf86miscproto \
- glproto \
- presentproto
-INSTALL_TARGET= install-strip
+USE_XORG= pciaccess
+
# No Radeon kernel driver on non-x86 and PC98.
ONLY_FOR_ARCHS= i386 amd64
+ONLY_FOR_ARCHS_REASON= KMS is required and currently only available on x86
CONFIGURE_ARGS+=--disable-udev
-CONFIGURE_ARGS+=--disable-glamor
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-video-ati/distinfo b/x11-drivers/xf86-video-ati/distinfo
index 6d7a37f5e8ce..92256f81791d 100644
--- a/x11-drivers/xf86-video-ati/distinfo
+++ b/x11-drivers/xf86-video-ati/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1484479584
-SHA256 (xorg/driver/xf86-video-ati-7.5.0.tar.bz2) = ec3e6f06b6cf9a40c72aafa3448aae8b034c80b37410ca9442d5cf6806e07936
-SIZE (xorg/driver/xf86-video-ati-7.5.0.tar.bz2) = 809756
+TIMESTAMP = 1479393377
+SHA256 (xorg/driver/xf86-video-ati-7.8.0.tar.bz2) = 401f5de772928f3dc4ce43a885adb0a47a2f61aa4a9e45d2ab3d184136a9d6fa
+SIZE (xorg/driver/xf86-video-ati-7.8.0.tar.bz2) = 845702
diff --git a/x11-drivers/xf86-video-ati/files/patch-git_f11531c b/x11-drivers/xf86-video-ati/files/patch-git_f11531c
new file mode 100644
index 000000000000..422e6934a02b
--- /dev/null
+++ b/x11-drivers/xf86-video-ati/files/patch-git_f11531c
@@ -0,0 +1,48 @@
+From f11531c99fcd6473f58b4d10efaf3efd84304d8e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com>
+Date: Mon, 21 Nov 2016 18:15:05 +0900
+Subject: Enable glamor by default with >= R600 and Xorg >= 1.18.3
+
+glamor should now perform at least as well as EXA in general, and this
+allows DRI3 to be enabled by default for >= R600.
+
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+
+diff --git a/man/radeon.man b/man/radeon.man
+index 6af7a92..8990ae2 100644
+--- man/radeon.man
++++ man/radeon.man
+@@ -293,7 +293,7 @@ Chooses between available acceleration architectures. Valid values are
+ .B glamor
+ (for R300 or higher). The default is
+ .B glamor
+-as of TAHITI, otherwise
++with R600 or newer (with Xorg >= 1.18.3, otherwise with TAHITI or newer), otherwise
+ .B EXA.
+
+ .PP
+diff --git a/src/radeon_glamor.c b/src/radeon_glamor.c
+index b66848f..590c9f0 100644
+--- src/radeon_glamor.c
++++ src/radeon_glamor.c
+@@ -84,8 +84,15 @@ radeon_glamor_pre_init(ScrnInfoPtr scrn)
+ return FALSE;
+
+ s = xf86GetOptValString(info->Options, OPTION_ACCELMETHOD);
+- if (s == NULL && info->ChipFamily < CHIP_FAMILY_TAHITI)
+- return FALSE;
++ if (!s) {
++ if (xorgGetVersion() >= XORG_VERSION_NUMERIC(1,18,3,0,0)) {
++ if (info->ChipFamily < CHIP_FAMILY_R600)
++ return FALSE;
++ } else {
++ if (info->ChipFamily < CHIP_FAMILY_TAHITI)
++ return FALSE;
++ }
++ }
+
+ if (s && strcasecmp(s, "glamor") != 0) {
+ if (info->ChipFamily >= CHIP_FAMILY_TAHITI)
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-video-ati/files/patch-src__radeon_dri2.c b/x11-drivers/xf86-video-ati/files/patch-src__radeon_dri2.c
deleted file mode 100644
index 3de34a1b60ae..000000000000
--- a/x11-drivers/xf86-video-ati/files/patch-src__radeon_dri2.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/radeon_dri2.c.orig 2013-02-22 19:31:34.000000000 +0000
-+++ src/radeon_dri2.c 2013-02-22 19:31:47.000000000 +0000
-@@ -578,7 +578,7 @@
- radeon_dri2_client_state_changed(CallbackListPtr *ClientStateCallback, pointer data, pointer calldata)
- {
- DRI2ClientEventsPtr pClientEventsPriv;
-- DRI2FrameEventPtr ref;
-+ DRI2FrameEventPtr ref = NULL;
- NewClientInfoRec *clientinfo = calldata;
- ClientPtr pClient = clientinfo->client;
- pClientEventsPriv = GetDRI2ClientEvents(pClient);
diff --git a/x11-drivers/xf86-video-ati/files/patch-src__radeon_kms.c b/x11-drivers/xf86-video-ati/files/patch-src__radeon_kms.c
index 9966ec93ec70..08895039f67c 100644
--- a/x11-drivers/xf86-video-ati/files/patch-src__radeon_kms.c
+++ b/x11-drivers/xf86-video-ati/files/patch-src__radeon_kms.c
@@ -1,5 +1,5 @@
---- src/radeon_kms.c.orig 2014-10-02 05:31:27.000000000 +0200
-+++ src/radeon_kms.c 2014-10-23 18:56:18.359108170 +0200
+--- src/radeon_kms.c.orig 2016-11-17 02:23:37 UTC
++++ src/radeon_kms.c
@@ -30,6 +30,8 @@
#include <errno.h>
@@ -8,36 +8,18 @@
+#include <sys/linker.h>
/* Driver data structures */
#include "radeon.h"
- #include "radeon_reg.h"
-@@ -280,7 +282,7 @@
- radeon_dirty_update(ScreenPtr screen)
- {
- RegionPtr region;
-- PixmapDirtyUpdatePtr ent;
-+ PixmapDirtyUpdatePtr ent = NULL;
+ #include "radeon_drm_queue.h"
+@@ -1405,6 +1407,15 @@ static int radeon_get_drm_master_fd(Scrn
+ XNFasprintf(&busid, "pci:%04x:%02x:%02x.%d",
+ dev->domain, dev->bus, dev->dev, dev->func);
- if (xorg_list_is_empty(&screen->pixmap_dirty_list))
- return;
-@@ -589,7 +591,7 @@
- #endif
- struct pci_device *dev = info->PciInfo;
- char *busid;
-- int fd;
-+ int fd, err;
-
- #ifdef XF86_PDEV_SERVER_FD
- if (pRADEONEnt->platform_dev) {
-@@ -608,6 +610,15 @@
- dev->domain, dev->bus, dev->dev, dev->func);
- #endif
-
-+ err = kldload("radeonkms");
-+ if (err == -1 && errno != EEXIST) {
++ fd = kldload("radeonkms");
++ if (fd == -1 && errno != EEXIST) {
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "[drm] Failed to load kernel module for %s: %s\n",
+ busid, strerror(errno));
+ free(busid);
-+ return -1;
++ return fd;
+ }
+
fd = drmOpen(NULL, busid);
diff --git a/x11-drivers/xf86-video-ati/files/patch-src_radeon_accel.c b/x11-drivers/xf86-video-ati/files/patch-src_radeon_accel.c
deleted file mode 100644
index 73d311a98c82..000000000000
--- a/x11-drivers/xf86-video-ati/files/patch-src_radeon_accel.c
+++ /dev/null
@@ -1,15 +0,0 @@
---- src/radeon_accel.c.orig 2012-06-25 10:19:41.000000000 +0200
-+++ src/radeon_accel.c 2012-07-30 02:11:51.000000000 +0200
-@@ -967,10 +967,9 @@
-
- for (; nwords > 0; --nwords, ++d, ++s)
- #ifdef __powerpc__
-- asm volatile("stwbrx %0,0,%1" : : "r" (*s), "r" (d));
-+ asm volatile("sthbrx %0,0,%1" : : "r" (*s), "r" (d));
- #else
-- *d = ((*s >> 24) & 0xff) | ((*s >> 8) & 0xff00)
-- | ((*s & 0xff00) << 8) | ((*s & 0xff) << 24);
-+ *d = (*s >> 8) | (*s << 8);
- #endif
- return;
- }
diff --git a/x11-drivers/xf86-video-chips/Makefile b/x11-drivers/xf86-video-chips/Makefile
index 5a7a967f9ccd..aaf2fbf24115 100644
--- a/x11-drivers/xf86-video-chips/Makefile
+++ b/x11-drivers/xf86-video-chips/Makefile
@@ -2,6 +2,7 @@
PORTNAME= xf86-video-chips
PORTVERSION= 1.2.7
+PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-geode/Makefile b/x11-drivers/xf86-video-geode/Makefile
new file mode 100644
index 000000000000..77396a140e72
--- /dev/null
+++ b/x11-drivers/xf86-video-geode/Makefile
@@ -0,0 +1,15 @@
+# $FreeBSD$
+
+PORTNAME= xf86-video-geode
+PORTVERSION= 2.11.19
+CATEGORIES= x11-drivers
+
+MAINTAINER= x11@FreeBSD.org
+COMMENT= X.Org geode display driver
+
+XORG_CAT= driver
+
+ONLY_FOR_ARCHS= i386
+ONLY_FOR_ARCHES_REASON= Geode processors are 32bit x86 only
+
+.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-video-geode/distinfo b/x11-drivers/xf86-video-geode/distinfo
new file mode 100644
index 000000000000..6f227dcf4100
--- /dev/null
+++ b/x11-drivers/xf86-video-geode/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1482059035
+SHA256 (xorg/driver/xf86-video-geode-2.11.19.tar.bz2) = c6694c21ee3d9560f6e925925ef1d3818b1988e899b6a0592dbae597c87ac97e
+SIZE (xorg/driver/xf86-video-geode-2.11.19.tar.bz2) = 668151
diff --git a/x11-drivers/xf86-video-geode/pkg-descr b/x11-drivers/xf86-video-geode/pkg-descr
new file mode 100644
index 000000000000..b73cfb8233e1
--- /dev/null
+++ b/x11-drivers/xf86-video-geode/pkg-descr
@@ -0,0 +1,3 @@
+This package contains the X.Org xf86-video-geode driver.
+
+WWW: http://www.x.org
diff --git a/x11-drivers/xf86-video-geode/pkg-plist b/x11-drivers/xf86-video-geode/pkg-plist
new file mode 100644
index 000000000000..f6ddfc248bda
--- /dev/null
+++ b/x11-drivers/xf86-video-geode/pkg-plist
@@ -0,0 +1 @@
+lib/xorg/modules/drivers/geode_drv.so
diff --git a/x11-drivers/xf86-video-glint/Makefile b/x11-drivers/xf86-video-glint/Makefile
index 080cf854e8c0..159d5d041210 100644
--- a/x11-drivers/xf86-video-glint/Makefile
+++ b/x11-drivers/xf86-video-glint/Makefile
@@ -2,6 +2,7 @@
PORTNAME= xf86-video-glint
PORTVERSION= 1.2.9
+PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-i128/Makefile b/x11-drivers/xf86-video-i128/Makefile
index dad6c5bf46f8..48943d79b717 100644
--- a/x11-drivers/xf86-video-i128/Makefile
+++ b/x11-drivers/xf86-video-i128/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-video-i128
PORTVERSION= 1.3.6
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-i128/files/patch-src_i128__driver.c b/x11-drivers/xf86-video-i128/files/patch-src_i128__driver.c
index 6ac72488c9f9..78ed4a4a9037 100644
--- a/x11-drivers/xf86-video-i128/files/patch-src_i128__driver.c
+++ b/x11-drivers/xf86-video-i128/files/patch-src_i128__driver.c
@@ -1,6 +1,8 @@
+# two upstream clean-up commits plus a string const fix
+#
--- src/i128_driver.c.orig 2012-07-17 05:21:15 UTC
+++ src/i128_driver.c
-@@ -50,8 +50,6 @@
+@@ -50,12 +50,9 @@
/* All drivers initialising the SW cursor need this */
#include "mipointer.h"
@@ -9,7 +11,20 @@
#include "micmap.h"
#include "xf86DDC.h"
-@@ -1557,7 +1555,6 @@ I128ScreenInit(SCREEN_INIT_ARGS_DECL)
+-#include "vbe.h"
+
+ #include "xf86cmap.h"
+ #include "fb.h"
+@@ -586,7 +583,7 @@ I128PreInit(ScrnInfoPtr pScrn, int flags
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Acceleration disabled\n");
+ } else {
+ int from = X_DEFAULT;
+- char *s = xf86GetOptValString(pI128->Options, OPTION_ACCELMETHOD);
++ const char *s = xf86GetOptValString(pI128->Options, OPTION_ACCELMETHOD);
+ pI128->NoAccel = FALSE;
+ if (!xf86NameCmp(s, "EXA")) {
+ pI128->exa = TRUE;
+@@ -1557,7 +1554,6 @@ I128ScreenInit(SCREEN_INIT_ARGS_DECL)
return FALSE;
}
diff --git a/x11-drivers/xf86-video-i740/Makefile b/x11-drivers/xf86-video-i740/Makefile
index 948b2a849d95..5545746ef4b6 100644
--- a/x11-drivers/xf86-video-i740/Makefile
+++ b/x11-drivers/xf86-video-i740/Makefile
@@ -2,6 +2,7 @@
PORTNAME= xf86-video-i740
PORTVERSION= 1.3.6
+PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-intel/Makefile b/x11-drivers/xf86-video-intel/Makefile
index 9c54f0a5165e..150b5f187ed9 100644
--- a/x11-drivers/xf86-video-intel/Makefile
+++ b/x11-drivers/xf86-video-intel/Makefile
@@ -2,35 +2,31 @@
# $FreeBSD$
PORTNAME= xf86-video-intel
-PORTVERSION= 2.21.15
-PORTREVISION= 9
+PORTVERSION= 2.99.917.20170103
CATEGORIES= x11-drivers
+MASTER_SITES= http://cgit.freedesktop.org/xorg/${XORG_CAT}/${PORTNAME}/snapshot/
+DISTNAME= ${PORTNAME}-${COMMIT_ID}
MAINTAINER= x11@FreeBSD.org
COMMENT= Driver for Intel integrated graphics chipsets
-LIB_DEPENDS= libxcb-util.so:x11/xcb-util
+LIB_DEPENDS= libxcb-util.so:x11/xcb-util \
+ libdrm.so:graphics/libdrm
+
+COMMIT_ID= 028c946df0855728b2a34d1d588701dc6c5ad4c1
ONLY_FOR_ARCHS= amd64 i386
+ONLY_FOR_ARCHS_REASON= Intel integrated GPU only exists in Intel x86 processors/chipsets
+
USE_GL= gl
USE_LDCONFIG= yes
XORG_CAT= driver
-USE_XORG= glproto \
- pixman \
- x11 \
- xext \
- xf86driproto \
- xineramaproto \
- xrender \
- xvmc
-
-USES+= cpe
+USE_XORG= pciaccess pixman x11 xcb xext xrender xv xvmc
+
+USES+= cpe autoreconf
CPE_VENDOR= x
-CONFIGURE_ENV+= xorg_cv_cc_flag__Wno_maybe_uninitialized=no
-CONFIGURE_ARGS+= --enable-sna
-CONFIGURE_ARGS+= --disable-glamor
-INSTALL_TARGET= install-strip
+CONFIGURE_ARGS+= --with-default-accel=uxa
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-video-intel/distinfo b/x11-drivers/xf86-video-intel/distinfo
index e1360d7a8ea0..18185376b641 100644
--- a/x11-drivers/xf86-video-intel/distinfo
+++ b/x11-drivers/xf86-video-intel/distinfo
@@ -1,4 +1,3 @@
-SHA256 (xorg/driver/xf86-video-intel-2.7.1.tar.bz2) = 255c0d54249cc0132f743254a43c21fac695fab2139c8ed96a07cf3c628e5f42
-SIZE (xorg/driver/xf86-video-intel-2.7.1.tar.bz2) = 780625
-SHA256 (xorg/driver/xf86-video-intel-2.21.15.tar.bz2) = 7d5a140f82a72fd1cbc8a664d66c3d4eca47ee240ca4927b8a98d7af6f65d6fc
-SIZE (xorg/driver/xf86-video-intel-2.21.15.tar.bz2) = 1977431
+TIMESTAMP = 1484505738
+SHA256 (xorg/driver/xf86-video-intel-028c946df0855728b2a34d1d588701dc6c5ad4c1.tar.bz2) = 34d00a1c85f33c55a58bc072b59633d84e48776c771cec5e4d313664c3f56f7c
+SIZE (xorg/driver/xf86-video-intel-028c946df0855728b2a34d1d588701dc6c5ad4c1.tar.bz2) = 1236389
diff --git a/x11-drivers/xf86-video-intel/files/patch-clang b/x11-drivers/xf86-video-intel/files/patch-clang
deleted file mode 100644
index 924f27d48cef..000000000000
--- a/x11-drivers/xf86-video-intel/files/patch-clang
+++ /dev/null
@@ -1,63 +0,0 @@
---- src/sna/sna_cpu.c.orig 2013-08-14 12:04:40.231041285 +0200
-+++ src/sna/sna_cpu.c 2013-08-14 12:05:51.237030719 +0200
-@@ -41,6 +41,7 @@
- {
- unsigned max = __get_cpuid_max(BASIC_CPUID, NULL);
- unsigned int eax, ebx, ecx, edx;
-+ eax = ebx = ecx = edx = 0;
- unsigned features = 0;
- unsigned extra = 0;
-
---- src/sna/sna_damage.c.orig 2013-08-14 12:06:26.381036854 +0200
-+++ src/sna/sna_damage.c 2013-08-14 12:07:23.684023065 +0200
-@@ -410,7 +410,7 @@
- int n, nboxes;
- BoxPtr boxes, free_boxes = NULL;
- pixman_region16_t *region = &damage->region;
-- struct sna_damage_box *iter;
-+ struct sna_damage_box *iter = NULL;
-
- assert(damage->mode != DAMAGE_ALL);
- assert(damage->dirty);
-@@ -1709,7 +1709,7 @@
- {
- int n, nboxes;
- BoxPtr boxes;
-- struct sna_damage_box *iter;
-+ struct sna_damage_box *iter = NULL;
-
- RegionCopy(r, &damage->region);
- if (!damage->dirty)
---- src/uxa/intel_batchbuffer.c.orig 2013-08-14 12:08:14.323028320 +0200
-+++ src/uxa/intel_batchbuffer.c 2013-08-14 12:08:37.202016923 +0200
-@@ -141,7 +141,7 @@
- static void intel_batch_do_flush(ScrnInfoPtr scrn)
- {
- intel_screen_private *intel = intel_get_screen_private(scrn);
-- struct intel_pixmap *priv;
-+ struct intel_pixmap *priv = NULL;
-
- list_for_each_entry(priv, &intel->batch_pixmaps, batch)
- priv->dirty = 0;
---- src/uxa/intel_display.c.orig 2013-08-14 12:09:25.802015629 +0200
-+++ src/uxa/intel_display.c 2013-08-14 12:09:51.034009844 +0200
-@@ -1753,7 +1753,7 @@
- static drmModeEncoderPtr
- intel_get_kencoder(struct intel_mode *mode, int num)
- {
-- struct intel_output *iterator;
-+ struct intel_output *iterator = NULL;
- int id = mode->mode_res->encoders[num];
-
- list_for_each_entry(iterator, &mode->outputs, link)
---- src/uxa/uxa-accel.c.orig 2013-08-14 12:02:11.898048975 +0200
-+++ src/uxa/uxa-accel.c 2013-08-14 12:03:39.336042139 +0200
-@@ -944,7 +944,7 @@
-
- if (uxa_screen->info->flags & UXA_USE_GLAMOR) {
- int ok = 0;
-- RegionPtr region;
-+ RegionPtr region = NULL;
-
- if (uxa_prepare_access(pDst, UXA_GLAMOR_ACCESS_RW)) {
- if (uxa_prepare_access(pSrc, UXA_GLAMOR_ACCESS_RO)) {
diff --git a/x11-drivers/xf86-video-intel/files/patch-i915kms b/x11-drivers/xf86-video-intel/files/patch-i915kms
index b5d43c6deecd..9d019ca17b9f 100644
--- a/x11-drivers/xf86-video-intel/files/patch-i915kms
+++ b/x11-drivers/xf86-video-intel/files/patch-i915kms
@@ -1,13 +1,10 @@
---- src/intel_device.c.orig 2013-06-30 16:03:51.000000000 +0200
-+++ src/intel_device.c 2013-07-02 14:08:34.903060688 +0200
-@@ -94,8 +94,8 @@
- pci->domain, pci->bus, pci->dev, pci->func);
+--- src/intel_device.c.orig 2016-02-16 09:25:09.124344000 +0100
++++ src/intel_device.c 2016-02-16 09:22:49.541922000 +0100
+@@ -204,6 +207,7 @@
+ }
- ret = drmCheckModesettingSupported(id);
-- if (ret) {
-- if (xf86LoadKernelModule("i915"))
-+ if (ret || 1) {
-+ if (xf86LoadKernelModule("i915kms"))
- ret = drmCheckModesettingSupported(id);
- if (ret)
- return -1;
+ static const char *kernel_module_names[] ={
++ "i915kms",
+ "i915",
+ NULL,
+ };
diff --git a/x11-drivers/xf86-video-intel/files/patch-src__sna__sna_accel.c b/x11-drivers/xf86-video-intel/files/patch-src__sna__sna_accel.c
deleted file mode 100644
index 9578842f0af4..000000000000
--- a/x11-drivers/xf86-video-intel/files/patch-src__sna__sna_accel.c
+++ /dev/null
@@ -1,81 +0,0 @@
---- src/sna/sna_accel.c.orig 2013-08-20 20:26:26 UTC
-+++ src/sna/sna_accel.c
-@@ -3797,6 +3797,7 @@ static bool must_check sna_gc_move_to_cp
- sgc->priv = gc->pCompositeClip;
- gc->pCompositeClip = region;
-
-+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(1,16,99,901,0)
- if (gc->clientClipType == CT_PIXMAP) {
- PixmapPtr clip = gc->clientClip;
- gc->clientClip = region_from_bitmap(gc->pScreen, clip);
-@@ -3804,7 +3805,9 @@ static bool must_check sna_gc_move_to_cp
- gc->clientClipType = gc->clientClip ? CT_REGION : CT_NONE;
- changes |= GCClipMask;
- } else
-+#else
- changes &= ~GCClipMask;
-+#endif
-
- if (changes || drawable->serialNumber != sgc->serial) {
- gc->serialNumber = sgc->serial;
-@@ -5562,6 +5565,15 @@ static inline bool box_equal(const BoxRe
- return *(const uint64_t *)a == *(const uint64_t *)b;
- }
-
-+static inline bool has_clip(GCPtr gc)
-+{
-+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(1,16,99,901,0)
-+ return gc->clientClipType != CT_NONE;
-+#else
-+ return gc->clientClip != NULL;
-+#endif
-+}
-+
- static RegionPtr
- sna_do_copy(DrawablePtr src, DrawablePtr dst, GCPtr gc,
- int sx, int sy,
-@@ -5628,7 +5640,7 @@ sna_do_copy(DrawablePtr src, DrawablePtr
-
- /* Compute source clip region */
- if (src->type == DRAWABLE_PIXMAP) {
-- if (src == dst && gc->clientClipType == CT_NONE) {
-+ if (src == dst && !has_clip(gc)) {
- DBG(("%s: pixmap -- using gc clip\n", __FUNCTION__));
- clip = gc->pCompositeClip;
- } else {
-@@ -14391,7 +14403,7 @@ sna_validate_gc(GCPtr gc, unsigned long
-
- if (changes & (GCClipMask|GCSubwindowMode) ||
- drawable->serialNumber != (gc->serialNumber & DRAWABLE_SERIAL_BITS) ||
-- (gc->clientClipType != CT_NONE && (changes & (GCClipXOrigin | GCClipYOrigin))))
-+ (has_clip(gc) && (changes & (GCClipXOrigin | GCClipYOrigin))))
- miComputeCompositeClip(gc, drawable);
-
- sna_gc(gc)->changes |= changes;
-@@ -14830,7 +14842,7 @@ static bool has_offload_slaves(struct sn
- {
- #if HAS_PIXMAP_SHARING
- ScreenPtr screen = sna->scrn->pScreen;
-- PixmapDirtyUpdatePtr dirty;
-+ PixmapDirtyUpdatePtr dirty = NULL;
-
- xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, ent) {
- assert(dirty->src == sna->front);
-@@ -14987,7 +14999,7 @@ static void sna_accel_post_damage(struct
- {
- #if HAS_PIXMAP_SHARING
- ScreenPtr screen = sna->scrn->pScreen;
-- PixmapDirtyUpdatePtr dirty;
-+ PixmapDirtyUpdatePtr dirty = NULL;
- bool flush = false;
-
- xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, ent) {
-@@ -15216,7 +15228,7 @@ migrate_dirty_tracking(PixmapPtr old_fro
- {
- #if HAS_PIXMAP_SHARING
- ScreenPtr screen = old_front->drawable.pScreen;
-- PixmapDirtyUpdatePtr dirty, safe;
-+ PixmapDirtyUpdatePtr dirty = NULL, safe;
-
- xorg_list_for_each_entry_safe(dirty, safe, &screen->pixmap_dirty_list, ent) {
- assert(dirty->src == old_front);
diff --git a/x11-drivers/xf86-video-intel/files/patch-src__sna__sna_threads.c b/x11-drivers/xf86-video-intel/files/patch-src__sna__sna_threads.c
deleted file mode 100644
index 57361b9413e5..000000000000
--- a/x11-drivers/xf86-video-intel/files/patch-src__sna__sna_threads.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- src/sna/sna_threads.c.orig 2013-02-02 00:03:44.000000000 +0000
-+++ src/sna/sna_threads.c 2013-02-02 00:04:39.000000000 +0000
-@@ -94,7 +94,11 @@
- size_t len = 0;
- char *line = NULL;
- uint32_t processors = 0, cores = 0;
-+#ifdef __GLIBC__
- while (getline(&line, &len, file) != -1) {
-+#else
-+ while ((line = fgetln(file, &len)) != (char *) NULL) {
-+#endif
- int id;
- if (sscanf(line, "physical id : %d", &id) == 1) {
- if (id >= 32)
diff --git a/x11-drivers/xf86-video-intel/files/patch-src__uxa__intel_driver.c b/x11-drivers/xf86-video-intel/files/patch-src__uxa__intel_driver.c
deleted file mode 100644
index 6abca3103df9..000000000000
--- a/x11-drivers/xf86-video-intel/files/patch-src__uxa__intel_driver.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/uxa/intel_driver.c.orig 2014-10-28 00:30:09.015749289 +0100
-+++ src/uxa/intel_driver.c 2014-10-28 00:30:26.834767496 +0100
-@@ -723,7 +723,7 @@
- intel_dirty_update(ScreenPtr screen)
- {
- RegionPtr region;
-- PixmapDirtyUpdatePtr ent;
-+ PixmapDirtyUpdatePtr ent = NULL;
-
- if (xorg_list_is_empty(&screen->pixmap_dirty_list))
- return;
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_compat-api.h b/x11-drivers/xf86-video-intel/files/patch-src_compat-api.h
deleted file mode 100644
index 638141f515c3..000000000000
--- a/x11-drivers/xf86-video-intel/files/patch-src_compat-api.h
+++ /dev/null
@@ -1,43 +0,0 @@
---- src/compat-api.h.orig 2013-05-21 10:15:11 UTC
-+++ src/compat-api.h
-@@ -158,4 +158,40 @@ static inline void FreePixmap(PixmapPtr
- if ((d)->pScreen->SourceValidate) (d)->pScreen->SourceValidate(d, x, y, w, h)
- #endif
-
-+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,14,99,2,0)
-+#define DamageUnregister(d, dd) DamageUnregister(dd)
-+#endif
-+
-+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,16,99,1,0)
-+
-+#define XORG_XV_VERSION 2
-+#define ddStopVideo_ARGS XvPortPtr port, DrawablePtr draw
-+#define ddSetPortAttribute_ARGS XvPortPtr port, Atom attribute, INT32 value
-+#define ddGetPortAttribute_ARGS XvPortPtr port, Atom attribute, INT32 *value
-+#define ddQueryBestSize_ARGS XvPortPtr port, CARD8 motion, CARD16 vid_w, CARD16 vid_h, CARD16 drw_w, CARD16 drw_h, unsigned int *p_w, unsigned int *p_h
-+#define ddPutImage_ARGS DrawablePtr draw, XvPortPtr port, GCPtr gc, INT16 src_x, INT16 src_y, CARD16 src_w, CARD16 src_h, INT16 drw_x, INT16 drw_y, CARD16 drw_w, CARD16 drw_h, XvImagePtr format, unsigned char *buf, Bool sync, CARD16 width, CARD16 height
-+#define ddQueryImageAttributes_ARGS XvPortPtr port, XvImagePtr format, unsigned short *w, unsigned short *h, int *pitches, int *offsets
-+
-+#else
-+
-+#define XORG_XV_VERSION 1
-+#define ddStopVideo_ARGS ClientPtr client, XvPortPtr port, DrawablePtr draw
-+#define ddSetPortAttribute_ARGS ClientPtr client, XvPortPtr port, Atom attribute, INT32 value
-+#define ddGetPortAttribute_ARGS ClientPtr client, XvPortPtr port, Atom attribute, INT32 *value
-+#define ddQueryBestSize_ARGS ClientPtr client, XvPortPtr port, CARD8 motion, CARD16 vid_w, CARD16 vid_h, CARD16 drw_w, CARD16 drw_h, unsigned int *p_w, unsigned int *p_h
-+#define ddPutImage_ARGS ClientPtr client, DrawablePtr draw, XvPortPtr port, GCPtr gc, INT16 src_x, INT16 src_y, CARD16 src_w, CARD16 src_h, INT16 drw_x, INT16 drw_y, CARD16 drw_w, CARD16 drw_h, XvImagePtr format, unsigned char *buf, Bool sync, CARD16 width, CARD16 height
-+#define ddQueryImageAttributes_ARGS ClientPtr client, XvPortPtr port, XvImagePtr format, unsigned short *w, unsigned short *h, int *pitches, int *offsets
-+
-+#endif
-+
-+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,16,99,1,0)
-+#include <mi.h>
-+#define miHandleExposures(pSrcDrawable, pDstDrawable, \
-+ pGC, srcx, srcy, width, height, \
-+ dstx, dsty, plane) \
-+ miHandleExposures(pSrcDrawable, pDstDrawable, \
-+ pGC, srcx, srcy, width, height, \
-+ dstx, dsty)
-+#endif
-+
- #endif
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_intel__device.c b/x11-drivers/xf86-video-intel/files/patch-src_intel__device.c
new file mode 100644
index 000000000000..90bbf79c72a8
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-src_intel__device.c
@@ -0,0 +1,12 @@
+--- src/intel_device.c.orig 2014-12-21 20:36:40.268102983 +0100
++++ src/intel_device.c 2014-12-21 20:36:01.358104504 +0100
+@@ -28,6 +28,9 @@
+ #include "config.h"
+ #endif
+
++#define _WITH_GETLINE /* to expose getline() in stdio.h on FreeBSD */
++#include <stdio.h> /* for getline() */
++
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <assert.h>
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_intel__list.h b/x11-drivers/xf86-video-intel/files/patch-src_intel__list.h
new file mode 100644
index 000000000000..e7068be9523f
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-src_intel__list.h
@@ -0,0 +1,36 @@
+--- src/intel_list.h.orig 2015-12-10 23:29:35.000000000 +0100
++++ src/intel_list.h 2016-10-24 10:22:57.280379000 +0200
+@@ -305,8 +305,6 @@
+ #define list_last_entry(ptr, type, member) \
+ list_entry((ptr)->prev, type, member)
+
+-#define __container_of(ptr, sample, member) \
+- (void *)((char *)(ptr) - ((char *)&(sample)->member - (char *)(sample)))
+ /**
+ * Loop through the list given by head and set pos to struct in the list.
+ *
+@@ -325,12 +323,12 @@
+ *
+ */
+ #define list_for_each_entry(pos, head, member) \
+- for (pos = __container_of((head)->next, pos, member); \
++ for (pos = NULL, pos = __container_of((head)->next, pos, member); \
+ &pos->member != (head); \
+ pos = __container_of(pos->member.next, pos, member))
+
+-#define list_for_each_entry_reverse(pos, head, member) \
+- for (pos = __container_of((head)->prev, pos, member); \
++#define list_for_each_entry_reverse(pos, head, member) \
++ for (pos = NULL, pos = __container_of((head)->prev, pos, member); \
+ &pos->member != (head); \
+ pos = __container_of(pos->member.prev, pos, member))
+
+@@ -342,7 +340,7 @@
+ * See list_for_each_entry for more details.
+ */
+ #define list_for_each_entry_safe(pos, tmp, head, member) \
+- for (pos = __container_of((head)->next, pos, member), \
++ for (pos = NULL, pos = __container_of((head)->next, pos, member), \
+ tmp = __container_of(pos->member.next, pos, member); \
+ &pos->member != (head); \
+ pos = tmp, tmp = __container_of(pos->member.next, tmp, member))
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_sna__sna_threads.c b/x11-drivers/xf86-video-intel/files/patch-src_sna__sna_threads.c
new file mode 100644
index 000000000000..05ae926a1b79
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-src_sna__sna_threads.c
@@ -0,0 +1,12 @@
+--- src/sna/sna_threads.c.orig 2016-11-18 16:32:46 UTC
++++ src/sna/sna_threads.c
+@@ -29,6 +29,9 @@
+ #include "config.h"
+ #endif
+
++#define _WITH_GETLINE /* to expose getline() in stdio.h on FreeBSD */
++#include <stdio.h> /* for getline() */
++
+ #include "sna.h"
+
+ #include <unistd.h>
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_sna_fb_fbpict.c b/x11-drivers/xf86-video-intel/files/patch-src_sna_fb_fbpict.c
deleted file mode 100644
index 6b7e767503dc..000000000000
--- a/x11-drivers/xf86-video-intel/files/patch-src_sna_fb_fbpict.c
+++ /dev/null
@@ -1,28 +0,0 @@
---- src/sna/fb/fbpict.c.orig 2013-03-27 11:58:09 UTC
-+++ src/sna/fb/fbpict.c
-@@ -156,6 +156,16 @@ create_conical_gradient_image(PictGradie
- gradient->nstops);
- }
-
-+static inline bool
-+picture_has_clip(PicturePtr p)
-+{
-+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,16,99,1,0)
-+ return p->clientClip;
-+#else
-+ return p->clientClipType != CT_NONE;
-+#endif
-+}
-+
- static pixman_image_t *
- create_bits_picture(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
- {
-@@ -180,7 +190,7 @@ create_bits_picture(PicturePtr pict, Boo
- * only set the clip region for pictures with drawables
- */
- if (has_clip) {
-- if (pict->clientClipType != CT_NONE)
-+ if (picture_has_clip(pict))
- pixman_image_set_has_client_clip(image, TRUE);
-
- if (*xoff || *yoff)
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_sna_kgem.c b/x11-drivers/xf86-video-intel/files/patch-src_sna_kgem.c
index 60a8c3440743..d93f4aed730b 100644
--- a/x11-drivers/xf86-video-intel/files/patch-src_sna_kgem.c
+++ b/x11-drivers/xf86-video-intel/files/patch-src_sna_kgem.c
@@ -1,87 +1,12 @@
---- src/sna/kgem.c.orig 2013-08-20 20:26:26 UTC
-+++ src/sna/kgem.c
-@@ -25,6 +25,7 @@
- *
- */
-
-+#define _WITH_GETLINE
- #ifdef HAVE_CONFIG_H
+--- src/sna/kgem.c.orig 2014-12-09 17:08:21.000000000 +0100
++++ src/sna/kgem.c 2015-11-19 00:06:27.883010000 +0100
+@@ -29,6 +29,9 @@
#include "config.h"
#endif
-@@ -1873,7 +1874,8 @@ static void kgem_bo_move_to_snoop(struct
- static struct kgem_bo *
- search_snoop_cache(struct kgem *kgem, unsigned int num_pages, unsigned flags)
- {
-- struct kgem_bo *bo, *first = NULL;
-+ struct kgem_bo *bo = NULL;
-+ struct kgem_bo *first = NULL;
-
- DBG(("%s: num_pages=%d, flags=%x\n", __FUNCTION__, num_pages, flags));
-
-@@ -2087,7 +2089,8 @@ static bool kgem_retire__buffers(struct
-
- static bool kgem_retire__flushing(struct kgem *kgem)
- {
-- struct kgem_bo *bo, *next;
-+ struct kgem_bo *bo = NULL;
-+ struct kgem_bo *next;
- bool retired = false;
-
- list_for_each_entry_safe(bo, next, &kgem->flushing, request) {
-@@ -2292,7 +2295,8 @@ bool __kgem_ring_is_idle(struct kgem *kg
- static void kgem_commit(struct kgem *kgem)
- {
- struct kgem_request *rq = kgem->next_request;
-- struct kgem_bo *bo, *next;
-+ struct kgem_bo *bo = NULL;
-+ struct kgem_bo *next;
-
- list_for_each_entry_safe(bo, next, &rq->buffers, request) {
- assert(next->request.prev == &bo->request);
-@@ -2373,7 +2377,8 @@ static void kgem_close_inactive(struct k
-
- static void kgem_finish_buffers(struct kgem *kgem)
- {
-- struct kgem_buffer *bo, *next;
-+ struct kgem_buffer *bo = NULL;
-+ struct kgem_buffer *next;
-
- list_for_each_entry_safe(bo, next, &kgem->batch_buffers, base.list) {
- DBG(("%s: buffer handle=%d, used=%d, exec?=%d, write=%d, mmapped=%s\n",
-@@ -3254,7 +3259,8 @@ void kgem_cleanup_cache(struct kgem *kge
- static struct kgem_bo *
- search_linear_cache(struct kgem *kgem, unsigned int num_pages, unsigned flags)
- {
-- struct kgem_bo *bo, *first = NULL;
-+ struct kgem_bo *bo = NULL;
-+ struct kgem_bo *first = NULL;
- bool use_active = (flags & CREATE_INACTIVE) == 0;
- struct list *cache;
-
-@@ -3867,7 +3873,7 @@ struct kgem_bo *kgem_create_2d(struct kg
- uint32_t flags)
- {
- struct list *cache;
-- struct kgem_bo *bo;
-+ struct kgem_bo *bo = NULL;
- uint32_t pitch, tiled_height, size;
- uint32_t handle;
- int i, bucket, retry;
-@@ -5337,7 +5343,7 @@ void kgem_bo_sync__gtt(struct kgem *kgem
- void kgem_clear_dirty(struct kgem *kgem)
- {
- struct list * const buffers = &kgem->next_request->buffers;
-- struct kgem_bo *bo;
-+ struct kgem_bo *bo = NULL;
-
- list_for_each_entry(bo, buffers, request) {
- if (!bo->gpu_dirty)
-@@ -5613,7 +5619,7 @@ struct kgem_bo *kgem_create_buffer(struc
- uint32_t size, uint32_t flags,
- void **ret)
- {
-- struct kgem_buffer *bo;
-+ struct kgem_buffer *bo = NULL;
- unsigned offset, alloc;
- struct kgem_bo *old;
-
+
++#define _WITH_GETLINE /* to expose getline() in stdio.h on FreeBSD */
++#include <stdio.h> /* for getline() */
++
+ #include "sna.h"
+ #include "sna_reg.h"
+
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__composite.c b/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__composite.c
deleted file mode 100644
index 06ea9a1a52d7..000000000000
--- a/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__composite.c
+++ /dev/null
@@ -1,43 +0,0 @@
---- src/sna/sna_composite.c.orig 2013-08-14 11:59:36 UTC
-+++ src/sna/sna_composite.c
-@@ -122,11 +122,21 @@ clip_to_dst(pixman_region16_t *region,
- }
-
- static inline bool
-+picture_has_clip(PicturePtr p)
-+{
-+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,16,99,1,0)
-+ return p->clientClip;
-+#else
-+ return p->clientClipType != CT_NONE;
-+#endif
-+}
-+
-+static inline bool
- clip_to_src(RegionPtr region, PicturePtr p, int dx, int dy)
- {
- bool result;
-
-- if (p->clientClipType == CT_NONE)
-+ if (!picture_has_clip(p))
- return true;
-
- pixman_region_translate(p->clientClip,
-@@ -220,7 +230,7 @@ sna_compute_composite_region(RegionPtr r
- __FUNCTION__,
- src->pDrawable ? src->pDrawable->width : 0,
- src->pDrawable ? src->pDrawable->height : 0,
-- src->clientClipType,
-+ picture_has_clip(src),
- region->extents.x1, region->extents.y1,
- region->extents.x2, region->extents.y2));
-
-@@ -287,7 +297,7 @@ trim_extents(BoxPtr extents, const Pictu
- static void
- _trim_source_extents(BoxPtr extents, const PicturePtr p, int dx, int dy)
- {
-- if (p->clientClipType != CT_NONE)
-+ if (picture_has_clip(p))
- trim_extents(extents, p, dx, dy);
- }
-
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__driver.c b/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__driver.c
deleted file mode 100644
index 9f831101fbb4..000000000000
--- a/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__driver.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/sna/sna_driver.c.orig 2015-03-05 09:44:44 UTC
-+++ src/sna/sna_driver.c
-@@ -769,6 +769,7 @@ static Bool sna_late_close_screen(CLOSE_
- DBG(("%s\n", __FUNCTION__));
-
- sna_accel_close(sna);
-+ sna_video_close(sna);
-
- depths = screen->allowedDepths;
- for (d = 0; d < screen->numDepths; d++)
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__trapezoids.c b/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__trapezoids.c
deleted file mode 100644
index 3e41f74c61bf..000000000000
--- a/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__trapezoids.c
+++ /dev/null
@@ -1,111 +0,0 @@
-From 48a33fc379b17eed195875222ad773c911d9dff1 Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Tue, 2 Sep 2014 19:08:36 +0100
-Subject: sna/trapezoids: Use the corrected trapezoid origin for aligned boxes
-
-The rule for the origin of the CompositeTrapezoids routine is the
-upper-left corner of the first trapezoid. Care must be taken in case the
-trapezoid edge is upside down to consider the upper vertex.
-
-Reported-by: "Jasper St. Pierre" <jstpierre@mecheye.net>
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-
-
---- src/sna/sna_trapezoids.c.orig 2013-08-20 22:26:26.000000000 +0200
-+++ src/sna/sna_trapezoids.c 2015-04-12 16:40:02.382938000 +0200
-@@ -2690,13 +2690,16 @@
- BoxRec stack_boxes[64], *boxes;
- pixman_region16_t region, clip;
- struct sna_composite_op tmp;
-+ int16_t dst_x, dst_y;
- bool ret = true;
- int dx, dy, n, num_boxes;
-
- if (NO_ALIGNED_BOXES)
- return false;
-
-- DBG(("%s\n", __FUNCTION__));
-+ DBG(("%s: pixmap=%ld, nboxes=%d, dx=(%d, %d)\n", __FUNCTION__,
-+ get_drawable_pixmap(dst->pDrawable)->drawable.serialNumber,
-+ ntrap, dst->pDrawable->x, dst->pDrawable->y));
-
- boxes = stack_boxes;
- if (ntrap > (int)ARRAY_SIZE(stack_boxes)) {
-@@ -2738,19 +2741,20 @@
- if (num_boxes == 0)
- goto free_boxes;
-
-- DBG(("%s: extents (%d, %d), (%d, %d) offset of (%d, %d)\n",
-+ trapezoid_origin(&traps[0].left, &dst_x, &dst_y);
-+
-+ DBG(("%s: extents (%d, %d), (%d, %d) offset of (%d, %d), origin (%d, %d)\n",
- __FUNCTION__,
- region.extents.x1, region.extents.y1,
- region.extents.x2, region.extents.y2,
- region.extents.x1 - boxes[0].x1,
-- region.extents.y1 - boxes[0].y1));
--
-- src_x += region.extents.x1 - boxes[0].x1;
-- src_y += region.extents.y1 - boxes[0].y1;
-+ region.extents.y1 - boxes[0].y1,
-+ dst_x, dst_y));
-
- if (!sna_compute_composite_region(&clip,
- src, NULL, dst,
-- src_x, src_y,
-+ src_x + region.extents.x1 - dst_x - dx,
-+ src_y + region.extents.y1 - dst_y - dy,
- 0, 0,
- region.extents.x1 - dx, region.extents.y1 - dy,
- region.extents.x2 - region.extents.x1,
-@@ -2760,9 +2764,18 @@
- goto done;
- }
-
-+ DBG(("%s: clipped extents (%d, %d), (%d, %d); now offset by (%d, %d), orgin (%d, %d)\n",
-+ __FUNCTION__,
-+ clip.extents.x1, clip.extents.y1,
-+ clip.extents.x2, clip.extents.y2,
-+ clip.extents.x1 - boxes[0].x1,
-+ clip.extents.y1 - boxes[0].y1,
-+ dst_x, dst_y));
-+
- if (force_fallback ||
- !sna->render.composite(sna, op, src, NULL, dst,
-- src_x, src_y,
-+ src_x + clip.extents.x1 - dst_x,
-+ src_y + clip.extents.y1 - dst_y,
- 0, 0,
- clip.extents.x1, clip.extents.y1,
- clip.extents.x2 - clip.extents.x1,
-@@ -2796,6 +2809,8 @@
- }
-
- DBG(("%s: fbComposite()\n", __FUNCTION__));
-+ src_x -= dst_x - dx;
-+ src_y -= dst_y - dy;
- if (maskFormat) {
- pixman_region_init_rects(&region, boxes, num_boxes);
- RegionIntersect(&region, &region, &clip);
-@@ -2804,8 +2819,8 @@
- count = REGION_NUM_RECTS(&region);
- for (i = 0; i < count; i++) {
- fbComposite(op, src, NULL, dst,
-- src_x + b[i].x1 - boxes[0].x1,
-- src_y + b[i].y1 - boxes[0].y1,
-+ src_x + b[i].x1,
-+ src_y + b[i].y1,
- 0, 0,
- b[i].x1, b[i].y1,
- b[i].x2 - b[i].x1, b[i].y2 - b[i].y1);
-@@ -2819,8 +2834,8 @@
- count = REGION_NUM_RECTS(&region);
- for (i = 0; i < count; i++) {
- fbComposite(op, src, NULL, dst,
-- src_x + b[i].x1 - boxes[0].x1,
-- src_y + b[i].y1 - boxes[0].y1,
-+ src_x + b[i].x1,
-+ src_y + b[i].y1,
- 0, 0,
- b[i].x1, b[i].y1,
- b[i].x2 - b[i].x1, b[i].y2 - b[i].y1);
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video.c b/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video.c
deleted file mode 100644
index 9f75bf5f3e2f..000000000000
--- a/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video.c
+++ /dev/null
@@ -1,82 +0,0 @@
---- src/sna/sna_video.c.orig 2015-03-05 09:45:32 UTC
-+++ src/sna/sna_video.c
-@@ -68,6 +68,7 @@
- #else
- static inline void sna_video_xvmc_setup(struct sna *sna, ScreenPtr ptr)
- {
-+ DBG(("%s: XvMC not compiled in\n"));
- }
- #endif
-
-@@ -620,6 +621,7 @@ sna_xv_fixup_formats(ScreenPtr screen, X
- return count;
- }
-
-+#if XORG_XV_VERSION < 2
- static int
- sna_xv_query_adaptors(ScreenPtr screen,
- XvAdaptorPtr *adaptors,
-@@ -636,20 +638,10 @@ static Bool
- sna_xv_close_screen(CLOSE_SCREEN_ARGS_DECL)
- {
- struct sna *sna = to_sna_from_screen(screen);
-- int i;
--
-- for (i = 0; i < sna->xv.num_adaptors; i++) {
-- free(sna->xv.adaptors[i].pPorts->devPriv.ptr);
-- free(sna->xv.adaptors[i].pPorts);
-- free(sna->xv.adaptors[i].pEncodings);
-- }
-- free(sna->xv.adaptors);
--
-- sna->xv.adaptors = NULL;
-- sna->xv.num_adaptors = 0;
--
-+ sna_video_close(sna);
- return TRUE;
- }
-+#endif
-
- void sna_video_init(struct sna *sna, ScreenPtr screen)
- {
-@@ -671,8 +663,10 @@ void sna_video_init(struct sna *sna, Scr
- return;
-
- xv = to_xv(screen);
-+#if XORG_XV_VERSION < 2
- xv->ddCloseScreen = sna_xv_close_screen;
- xv->ddQueryAdaptors = sna_xv_query_adaptors;
-+#endif
-
- sna_video_textured_setup(sna, screen);
- sna_video_sprite_setup(sna, screen);
-@@ -698,7 +692,28 @@ void sna_video_destroy_window(WindowPtr
- XvPortPtr port;
-
- port = sna_window_get_port(win);
-- if (port)
-+ if (port) {
-+#if XORG_XV_VERSION < 2
- port->pAdaptor->ddStopVideo(NULL, port, &win->drawable);
-+#else
-+ port->pAdaptor->ddStopVideo(port, &win->drawable);
-+#endif
-+ }
- assert(sna_window_get_port(win) == NULL);
- }
-+
-+void sna_video_close(struct sna *sna)
-+{
-+ int i;
-+
-+ for (i = 0; i < sna->xv.num_adaptors; i++) {
-+ free(sna->xv.adaptors[i].pPorts->devPriv.ptr);
-+ free(sna->xv.adaptors[i].pPorts);
-+ free(sna->xv.adaptors[i].pEncodings);
-+ }
-+ free(sna->xv.adaptors);
-+
-+ sna->xv.adaptors = NULL;
-+ sna->xv.num_adaptors = 0;
-+}
-+
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video.h b/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video.h
deleted file mode 100644
index dd4b3e0b8a17..000000000000
--- a/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/sna/sna_video.h.orig 2015-03-05 09:53:01 UTC
-+++ src/sna/sna_video.h
-@@ -129,6 +129,7 @@ void sna_video_overlay_setup(struct sna
- void sna_video_sprite_setup(struct sna *sna, ScreenPtr screen);
- void sna_video_textured_setup(struct sna *sna, ScreenPtr screen);
- void sna_video_destroy_window(WindowPtr win);
-+void sna_video_close(struct sna *sna);
-
- XvAdaptorPtr sna_xv_adaptor_alloc(struct sna *sna);
- int sna_xv_fixup_formats(ScreenPtr screen,
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video__overlay.c b/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video__overlay.c
deleted file mode 100644
index e44f6186e0f0..000000000000
--- a/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video__overlay.c
+++ /dev/null
@@ -1,101 +0,0 @@
---- src/sna/sna_video_overlay.c.orig 2015-03-05 09:54:32 UTC
-+++ src/sna/sna_video_overlay.c
-@@ -121,9 +121,7 @@ static bool sna_video_overlay_update_att
- return drmIoctl(video->sna->kgem.fd, DRM_IOCTL_I915_OVERLAY_ATTRS, &attrs) == 0;
- }
-
--static int sna_video_overlay_stop(ClientPtr client,
-- XvPortPtr port,
-- DrawablePtr draw)
-+static int sna_video_overlay_stop(ddStopVideo_ARGS)
- {
- struct sna_video *video = port->devPriv.ptr;
- struct sna *sna = video->sna;
-@@ -148,10 +146,7 @@ static int sna_video_overlay_stop(Client
- }
-
- static int
--sna_video_overlay_set_attribute(ClientPtr client,
-- XvPortPtr port,
-- Atom attribute,
-- INT32 value)
-+sna_video_overlay_set_attribute(ddSetPortAttribute_ARGS)
- {
- struct sna_video *video = port->devPriv.ptr;
- struct sna *sna = video->sna;
-@@ -270,12 +265,7 @@ sna_video_overlay_get_attribute(ClientPt
- }
-
- static int
--sna_video_overlay_best_size(ClientPtr client,
-- XvPortPtr port,
-- CARD8 motion,
-- CARD16 vid_w, CARD16 vid_h,
-- CARD16 drw_w, CARD16 drw_h,
-- unsigned int *p_w, unsigned int *p_h)
-+sna_video_overlay_best_size(ddQueryBestSize_ARGS)
- {
- struct sna_video *video = port->devPriv.ptr;
- struct sna *sna = video->sna;
-@@ -464,18 +454,7 @@ sna_video_overlay_show(struct sna *sna,
- }
-
- static int
--sna_video_overlay_put_image(ClientPtr client,
-- DrawablePtr draw,
-- XvPortPtr port,
-- GCPtr gc,
-- INT16 src_x, INT16 src_y,
-- CARD16 src_w, CARD16 src_h,
-- INT16 drw_x, INT16 drw_y,
-- CARD16 drw_w, CARD16 drw_h,
-- XvImagePtr format,
-- unsigned char *buf,
-- Bool sync,
-- CARD16 width, CARD16 height)
-+sna_video_overlay_put_image(ddPutImage_ARGS)
- {
- struct sna_video *video = port->devPriv.ptr;
- struct sna *sna = video->sna;
-@@ -604,18 +583,16 @@ invisible:
- /*
- * If the video isn't visible on any CRTC, turn it off
- */
-+#if XORG_XV_VERSION < 2
- sna_video_overlay_stop(client, port, draw);
-+#else
-+ sna_video_overlay_stop(port, draw);
-+#endif
- return Success;
- }
-
- static int
--sna_video_overlay_query(ClientPtr client,
-- XvPortPtr port,
-- XvImagePtr format,
-- unsigned short *w,
-- unsigned short *h,
-- int *pitches,
-- int *offsets)
-+sna_video_overlay_query(ddQueryImageAttributes_ARGS)
- {
- struct sna_video *video = port->devPriv.ptr;
- struct sna_video_frame frame;
-@@ -771,8 +748,10 @@ void sna_video_overlay_setup(struct sna
- adaptor->pAttributes = (XvAttributeRec *)Attributes;
- adaptor->nImages = ARRAY_SIZE(Images);
- adaptor->pImages = (XvImageRec *)Images;
-+#if XORG_XV_VERSION < 2
- adaptor->ddAllocatePort = sna_xv_alloc_port;
- adaptor->ddFreePort = sna_xv_free_port;
-+#endif
- adaptor->ddPutVideo = NULL;
- adaptor->ddPutStill = NULL;
- adaptor->ddGetVideo = NULL;
-@@ -843,4 +822,6 @@ void sna_video_overlay_setup(struct sna
- }
-
- sna_video_overlay_update_attrs(video);
-+
-+ DBG(("%s: '%s' initialized %d ports\n", __FUNCTION__, adaptor->name, adaptor->nPorts));
- }
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video__sprite.c b/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video__sprite.c
deleted file mode 100644
index ffde2de15e57..000000000000
--- a/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video__sprite.c
+++ /dev/null
@@ -1,114 +0,0 @@
---- src/sna/sna_video_sprite.c.orig 2015-03-05 10:02:08 UTC
-+++ src/sna/sna_video_sprite.c
-@@ -56,9 +56,7 @@ static const XvAttributeRec attribs[] =
- { XvSettable | XvGettable, 0, 0xffffff, (char *)"XV_COLORKEY" },
- };
-
--static int sna_video_sprite_stop(ClientPtr client,
-- XvPortPtr port,
-- DrawablePtr draw)
-+static int sna_video_sprite_stop(ddStopVideo_ARGS)
- {
- struct sna_video *video = port->devPriv.ptr;
- struct drm_mode_set_plane s;
-@@ -82,10 +80,7 @@ static int sna_video_sprite_stop(ClientP
- return Success;
- }
-
--static int sna_video_sprite_set_attr(ClientPtr client,
-- XvPortPtr port,
-- Atom attribute,
-- INT32 value)
-+static int sna_video_sprite_set_attr(ddSetPortAttribute_ARGS)
- {
- struct sna_video *video = port->devPriv.ptr;
-
-@@ -104,10 +99,7 @@ static int sna_video_sprite_set_attr(Cli
- return Success;
- }
-
--static int sna_video_sprite_get_attr(ClientPtr client,
-- XvPortPtr port,
-- Atom attribute,
-- INT32 *value)
-+static int sna_video_sprite_get_attr(ddGetPortAttribute_ARGS)
- {
- struct sna_video *video = port->devPriv.ptr;
-
-@@ -121,13 +113,7 @@ static int sna_video_sprite_get_attr(Cli
- return Success;
- }
-
--static int sna_video_sprite_best_size(ClientPtr client,
-- XvPortPtr port,
-- CARD8 motion,
-- CARD16 vid_w, CARD16 vid_h,
-- CARD16 drw_w, CARD16 drw_h,
-- unsigned int *p_w,
-- unsigned int *p_h)
-+static int sna_video_sprite_best_size(ddQueryBestSize_ARGS)
- {
- struct sna_video *video = port->devPriv.ptr;
- struct sna *sna = video->sna;
-@@ -310,18 +296,7 @@ sna_video_sprite_show(struct sna *sna,
- return true;
- }
-
--static int sna_video_sprite_put_image(ClientPtr client,
-- DrawablePtr draw,
-- XvPortPtr port,
-- GCPtr gc,
-- INT16 src_x, INT16 src_y,
-- CARD16 src_w, CARD16 src_h,
-- INT16 drw_x, INT16 drw_y,
-- CARD16 drw_w, CARD16 drw_h,
-- XvImagePtr format,
-- unsigned char *buf,
-- Bool sync,
-- CARD16 width, CARD16 height)
-+static int sna_video_sprite_put_image(ddPutImage_ARGS)
- {
- struct sna_video *video = port->devPriv.ptr;
- struct sna *sna = video->sna;
-@@ -430,16 +405,14 @@ static int sna_video_sprite_put_image(Cl
-
- invisible:
- /* If the video isn't visible on any CRTC, turn it off */
-+#if XORG_XV_VERSION < 2
- return sna_video_sprite_stop(client, port, draw);
-+#else
-+ return sna_video_sprite_stop(port, draw);
-+#endif
- }
-
--static int sna_video_sprite_query(ClientPtr client,
-- XvPortPtr port,
-- XvImagePtr format,
-- unsigned short *w,
-- unsigned short *h,
-- int *pitches,
-- int *offsets)
-+static int sna_video_sprite_query(ddQueryImageAttributes_ARGS)
- {
- struct sna_video *video = port->devPriv.ptr;
- struct sna_video_frame frame;
-@@ -548,8 +521,10 @@ void sna_video_sprite_setup(struct sna *
- if (sna->kgem.gen == 071)
- adaptor->nImages = 4;
-
-+#if XORG_XV_VERSION < 2
- adaptor->ddAllocatePort = sna_xv_alloc_port;
- adaptor->ddFreePort = sna_xv_free_port;
-+#endif
- adaptor->ddPutVideo = NULL;
- adaptor->ddPutStill = NULL;
- adaptor->ddGetVideo = NULL;
-@@ -593,6 +568,8 @@ void sna_video_sprite_setup(struct sna *
-
- xvColorKey = MAKE_ATOM("XV_COLORKEY");
- xvAlwaysOnTop = MAKE_ATOM("XV_ALWAYS_ON_TOP");
-+
-+ DBG(("%s: '%s' initialized %d ports\n", __FUNCTION__, adaptor->name, adaptor->nPorts));
- }
- #else
- void sna_video_sprite_setup(struct sna *sna, ScreenPtr screen)
diff --git a/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video__textured.c b/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video__textured.c
deleted file mode 100644
index c80ec1e5b1a6..000000000000
--- a/x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video__textured.c
+++ /dev/null
@@ -1,105 +0,0 @@
---- src/sna/sna_video_textured.c.orig 2015-03-05 10:08:42 UTC
-+++ src/sna/sna_video_textured.c
-@@ -56,9 +56,7 @@ static const XvImageRec Images[] = {
- XVMC_YUV,
- };
-
--static int sna_video_textured_stop(ClientPtr client,
-- XvPortPtr port,
-- DrawablePtr draw)
-+static int sna_video_textured_stop(ddStopVideo_ARGS)
- {
- struct sna_video *video = port->devPriv.ptr;
-
-@@ -71,10 +69,7 @@ static int sna_video_textured_stop(Clien
- }
-
- static int
--sna_video_textured_set_attribute(ClientPtr client,
-- XvPortPtr port,
-- Atom attribute,
-- INT32 value)
-+sna_video_textured_set_attribute(ddSetPortAttribute_ARGS)
- {
- struct sna_video *video = port->devPriv.ptr;
-
-@@ -100,10 +95,7 @@ sna_video_textured_set_attribute(ClientP
- }
-
- static int
--sna_video_textured_get_attribute(ClientPtr client,
-- XvPortPtr port,
-- Atom attribute,
-- INT32 *value)
-+sna_video_textured_get_attribute(ddGetPortAttribute_ARGS)
- {
- struct sna_video *video = port->devPriv.ptr;
-
-@@ -120,13 +112,7 @@ sna_video_textured_get_attribute(ClientP
- }
-
- static int
--sna_video_textured_best_size(ClientPtr client,
-- XvPortPtr port,
-- CARD8 motion,
-- CARD16 vid_w, CARD16 vid_h,
-- CARD16 drw_w, CARD16 drw_h,
-- unsigned int *p_w,
-- unsigned int *p_h)
-+sna_video_textured_best_size(ddQueryBestSize_ARGS)
- {
- if (vid_w > (drw_w << 1))
- drw_w = vid_w >> 1;
-@@ -153,18 +139,7 @@ sna_video_textured_best_size(ClientPtr c
- * compositing. It's a new argument to the function in the 1.1 server.
- */
- static int
--sna_video_textured_put_image(ClientPtr client,
-- DrawablePtr draw,
-- XvPortPtr port,
-- GCPtr gc,
-- INT16 src_x, INT16 src_y,
-- CARD16 src_w, CARD16 src_h,
-- INT16 drw_x, INT16 drw_y,
-- CARD16 drw_w, CARD16 drw_h,
-- XvImagePtr format,
-- unsigned char *buf,
-- Bool sync,
-- CARD16 width, CARD16 height)
-+sna_video_textured_put_image(ddPutImage_ARGS)
- {
- struct sna_video *video = port->devPriv.ptr;
- struct sna *sna = video->sna;
-@@ -269,13 +244,7 @@ sna_video_textured_put_image(ClientPtr c
- }
-
- static int
--sna_video_textured_query(ClientPtr client,
-- XvPortPtr port,
-- XvImagePtr format,
-- unsigned short *w,
-- unsigned short *h,
-- int *pitches,
-- int *offsets)
-+sna_video_textured_query(ddQueryImageAttributes_ARGS)
- {
- int size, tmp;
-
-@@ -384,8 +353,10 @@ void sna_video_textured_setup(struct sna
- adaptor->pAttributes = (XvAttributeRec *)Attributes;
- adaptor->nImages = ARRAY_SIZE(Images);
- adaptor->pImages = (XvImageRec *)Images;
-+#if XORG_XV_VERSION < 2
- adaptor->ddAllocatePort = sna_xv_alloc_port;
- adaptor->ddFreePort = sna_xv_free_port;
-+#endif
- adaptor->ddPutVideo = NULL;
- adaptor->ddPutStill = NULL;
- adaptor->ddGetVideo = NULL;
-@@ -426,4 +397,6 @@ void sna_video_textured_setup(struct sna
- xvBrightness = MAKE_ATOM("XV_BRIGHTNESS");
- xvContrast = MAKE_ATOM("XV_CONTRAST");
- xvSyncToVblank = MAKE_ATOM("XV_SYNC_TO_VBLANK");
-+
-+ DBG(("%s: '%s' initialized %d ports\n", __FUNCTION__, adaptor->name, adaptor->nPorts));
- }
diff --git a/x11-drivers/xf86-video-intel/pkg-descr b/x11-drivers/xf86-video-intel/pkg-descr
index 6ace2532843a..ffbea1fa582b 100644
--- a/x11-drivers/xf86-video-intel/pkg-descr
+++ b/x11-drivers/xf86-video-intel/pkg-descr
@@ -1,3 +1,10 @@
-Driver for Intel integrated graphics chipsets. It supports the i810,
-i810-DC100, i810e, i815, i830M, 845G, 852GM, 855GM, 865G, 915G, 915GM,
-945G, 945GM, 965G, 965Q, 946GZ and 965GM chipsets.
+Driver for Intel(R) Integrated Graphics Chipsets:
+ i810, i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G,
+ 915G, E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM,
+ Pineview G, 965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33,
+ GM45, 4 Series, G45/G43, Q45/Q43, G41, B43
+Driver for Intel(R) HD Graphics: 2000-5000
+Driver for Intel(R) Iris(TM) Graphics: 5100
+Driver for Intel(R) Iris(TM) Pro Graphics: 5200
+
+WWW: http://www.intellinuxgraphics.com/
diff --git a/x11-drivers/xf86-video-mach64/Makefile b/x11-drivers/xf86-video-mach64/Makefile
index 67e231079626..ef827ebd62be 100644
--- a/x11-drivers/xf86-video-mach64/Makefile
+++ b/x11-drivers/xf86-video-mach64/Makefile
@@ -2,14 +2,13 @@
PORTNAME= xf86-video-mach64
PORTVERSION= 6.9.5
+PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
COMMENT= X.Org mach64 display driver
USE_GL= gl
-
XORG_CAT= driver
-USE_XORG= glproto xf86driproto xf86miscproto
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-video-mga/Makefile b/x11-drivers/xf86-video-mga/Makefile
index 589c9c83b161..35eec9b215b2 100644
--- a/x11-drivers/xf86-video-mga/Makefile
+++ b/x11-drivers/xf86-video-mga/Makefile
@@ -2,6 +2,7 @@
PORTNAME= xf86-video-mga
PORTVERSION= 1.6.5
+PORTREVISION= 1
PORTEPOCH= 3
CATEGORIES= x11-drivers
diff --git a/x11-drivers/xf86-video-neomagic/Makefile b/x11-drivers/xf86-video-neomagic/Makefile
index 2d6591a5c763..0371bb7f9dbc 100644
--- a/x11-drivers/xf86-video-neomagic/Makefile
+++ b/x11-drivers/xf86-video-neomagic/Makefile
@@ -2,6 +2,7 @@
PORTNAME= xf86-video-neomagic
PORTVERSION= 1.2.9
+PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-neomagic/files/patch-src_neo__driver.c b/x11-drivers/xf86-video-neomagic/files/patch-src_neo__driver.c
new file mode 100644
index 000000000000..516ff7a028bb
--- /dev/null
+++ b/x11-drivers/xf86-video-neomagic/files/patch-src_neo__driver.c
@@ -0,0 +1,13 @@
+# Double in, double out; use fabs
+#
+--- src/neo_driver.c.orig 2016-11-25 03:32:57 UTC
++++ src/neo_driver.c
+@@ -2952,7 +2952,7 @@ neoCalcVCLK(ScrnInfoPtr pScrn, long freq
+ for (n = 0; n <= MAX_N; n++)
+ for (d = 1; d <= MAX_D; d++) {
+ f_out = (n+1.0)/((d+1.0)*(1<<f))*REF_FREQ;
+- f_diff = abs(f_out-f_target);
++ f_diff = fabs(f_out-f_target);
+ if (f_diff < f_best_diff) {
+ f_best_diff = f_diff;
+ n_best = n;
diff --git a/x11-drivers/xf86-video-nv/Makefile b/x11-drivers/xf86-video-nv/Makefile
index 368617e78947..ff10576926c9 100644
--- a/x11-drivers/xf86-video-nv/Makefile
+++ b/x11-drivers/xf86-video-nv/Makefile
@@ -2,6 +2,7 @@
PORTNAME= xf86-video-nv
PORTVERSION= 2.1.21
+PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-openchrome/Makefile b/x11-drivers/xf86-video-openchrome/Makefile
index a4f0664feecb..47d7dd7f0907 100644
--- a/x11-drivers/xf86-video-openchrome/Makefile
+++ b/x11-drivers/xf86-video-openchrome/Makefile
@@ -2,6 +2,7 @@
PORTNAME= xf86-video-openchrome
PORTVERSION= 0.5.0
+PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-r128/Makefile b/x11-drivers/xf86-video-r128/Makefile
index ef1475181fec..373b769092bb 100644
--- a/x11-drivers/xf86-video-r128/Makefile
+++ b/x11-drivers/xf86-video-r128/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= xf86-video-r128
-PORTVERSION= 6.10.1
+PORTVERSION= 6.10.2
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
@@ -12,6 +12,6 @@ LICENSE_FILE= ${WRKSRC}/COPYING
USE_GL= gl
XORG_CAT= driver
-USE_XORG= glproto xf86driproto xf86miscproto xineramaproto
+USE_XORG= xf86miscproto
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-video-r128/distinfo b/x11-drivers/xf86-video-r128/distinfo
index ea6992af9102..c27642f6b7db 100644
--- a/x11-drivers/xf86-video-r128/distinfo
+++ b/x11-drivers/xf86-video-r128/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1484351416
-SHA256 (xorg/driver/xf86-video-r128-6.10.1.tar.bz2) = 5ebfef49831c9b12f7b7011c8314010596ac2ab0d5b9b7cfd17908e93d7de4ea
-SIZE (xorg/driver/xf86-video-r128-6.10.1.tar.bz2) = 495306
+TIMESTAMP = 1484717021
+SHA256 (xorg/driver/xf86-video-r128-6.10.2.tar.bz2) = 84da21517f3af7617fdf341e84ccb22444d6cdab1647e4808fa631528b9a77de
+SIZE (xorg/driver/xf86-video-r128-6.10.2.tar.bz2) = 504031
diff --git a/x11-drivers/xf86-video-r128/files/patch-src_r128__dri.c b/x11-drivers/xf86-video-r128/files/patch-src_r128__dri.c
new file mode 100644
index 000000000000..837ad0aa1047
--- /dev/null
+++ b/x11-drivers/xf86-video-r128/files/patch-src_r128__dri.c
@@ -0,0 +1,94 @@
+# Correct type in format strings
+#
+--- src/r128_dri.c.orig 2017-01-17 22:42:44 UTC
++++ src/r128_dri.c
+@@ -500,7 +500,7 @@ static Bool R128DRIAgpInit(R128InfoPtr i
+ return FALSE;
+ }
+ xf86DrvMsg(pScreen->myNum, X_INFO,
+- "[agp] %d kB allocated with handle 0x%08x\n",
++ "[agp] %d kB allocated with handle 0x%08lx\n",
+ info->agpSize*1024, info->agpMemHandle);
+
+ if (drmAgpBind(info->drmFD, info->agpMemHandle, info->agpOffset) < 0) {
+@@ -540,7 +540,7 @@ static Bool R128DRIAgpInit(R128InfoPtr i
+ return FALSE;
+ }
+ xf86DrvMsg(pScreen->myNum, X_INFO,
+- "[agp] ring handle = 0x%08x\n", info->ringHandle);
++ "[agp] ring handle = 0x%08lx\n", info->ringHandle);
+
+ if (drmMap(info->drmFD, info->ringHandle, info->ringMapSize,
+ &info->ring) < 0) {
+@@ -558,7 +558,7 @@ static Bool R128DRIAgpInit(R128InfoPtr i
+ return FALSE;
+ }
+ xf86DrvMsg(pScreen->myNum, X_INFO,
+- "[agp] ring read ptr handle = 0x%08x\n",
++ "[agp] ring read ptr handle = 0x%08lx\n",
+ info->ringReadPtrHandle);
+
+ if (drmMap(info->drmFD, info->ringReadPtrHandle, info->ringReadMapSize,
+@@ -578,7 +578,7 @@ static Bool R128DRIAgpInit(R128InfoPtr i
+ return FALSE;
+ }
+ xf86DrvMsg(pScreen->myNum, X_INFO,
+- "[agp] vertex/indirect buffers handle = 0x%08x\n",
++ "[agp] vertex/indirect buffers handle = 0x%08lx\n",
+ info->bufHandle);
+
+ if (drmMap(info->drmFD, info->bufHandle, info->bufMapSize,
+@@ -598,7 +598,7 @@ static Bool R128DRIAgpInit(R128InfoPtr i
+ return FALSE;
+ }
+ xf86DrvMsg(pScreen->myNum, X_INFO,
+- "[agp] AGP texture map handle = 0x%08x\n",
++ "[agp] AGP texture map handle = 0x%08lx\n",
+ info->agpTexHandle);
+
+ if (drmMap(info->drmFD, info->agpTexHandle, info->agpTexMapSize,
+@@ -660,7 +660,7 @@ static Bool R128DRIPciInit(R128InfoPtr i
+ return FALSE;
+ }
+ xf86DrvMsg(pScreen->myNum, X_INFO,
+- "[pci] %d kB allocated with handle 0x%08x\n",
++ "[pci] %d kB allocated with handle 0x%08lx\n",
+ info->agpSize*1024, info->pciMemHandle);
+
+ /* Initialize the CCE ring buffer data */
+@@ -684,7 +684,7 @@ static Bool R128DRIPciInit(R128InfoPtr i
+ return FALSE;
+ }
+ xf86DrvMsg(pScreen->myNum, X_INFO,
+- "[pci] ring handle = 0x%08x\n", info->ringHandle);
++ "[pci] ring handle = 0x%08lx\n", info->ringHandle);
+
+ if (drmMap(info->drmFD, info->ringHandle, info->ringMapSize,
+ &info->ring) < 0) {
+@@ -705,7 +705,7 @@ static Bool R128DRIPciInit(R128InfoPtr i
+ return FALSE;
+ }
+ xf86DrvMsg(pScreen->myNum, X_INFO,
+- "[pci] ring read ptr handle = 0x%08x\n",
++ "[pci] ring read ptr handle = 0x%08lx\n",
+ info->ringReadPtrHandle);
+
+ if (drmMap(info->drmFD, info->ringReadPtrHandle, info->ringReadMapSize,
+@@ -728,7 +728,7 @@ static Bool R128DRIPciInit(R128InfoPtr i
+ return FALSE;
+ }
+ xf86DrvMsg(pScreen->myNum, X_INFO,
+- "[pci] vertex/indirect buffers handle = 0x%08x\n",
++ "[pci] vertex/indirect buffers handle = 0x%08lx\n",
+ info->bufHandle);
+
+ if (drmMap(info->drmFD, info->bufHandle, info->bufMapSize,
+@@ -829,7 +829,7 @@ static Bool R128DRIMapInit(R128InfoPtr i
+ return FALSE;
+ }
+ xf86DrvMsg(pScreen->myNum, X_INFO,
+- "[drm] register handle = 0x%08x\n", info->registerHandle);
++ "[drm] register handle = 0x%08lx\n", info->registerHandle);
+
+ return TRUE;
+ }
diff --git a/x11-drivers/xf86-video-rendition/Makefile b/x11-drivers/xf86-video-rendition/Makefile
index 15949523f523..da39b93a2cdd 100644
--- a/x11-drivers/xf86-video-rendition/Makefile
+++ b/x11-drivers/xf86-video-rendition/Makefile
@@ -1,8 +1,7 @@
# $FreeBSD$
PORTNAME= xf86-video-rendition
-PORTVERSION= 4.2.5
-PORTREVISION= 7
+PORTVERSION= 4.2.6
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-rendition/distinfo b/x11-drivers/xf86-video-rendition/distinfo
index 86861706d499..5e6f5fafa856 100644
--- a/x11-drivers/xf86-video-rendition/distinfo
+++ b/x11-drivers/xf86-video-rendition/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-video-rendition-4.2.5.tar.bz2) = 39b5569338237de6e17b2a2c6be73ac6c405ee596079c41a7028cfd6e54134cb
-SIZE (xorg/driver/xf86-video-rendition-4.2.5.tar.bz2) = 356351
+TIMESTAMP = 1480082861
+SHA256 (xorg/driver/xf86-video-rendition-4.2.6.tar.bz2) = 660ecf21f65a4d6002c1b603d62c314f8e9624d208db5b346850b0df9dc2f9a8
+SIZE (xorg/driver/xf86-video-rendition-4.2.6.tar.bz2) = 362408
diff --git a/x11-drivers/xf86-video-rendition/files/patch-src_rendition.c b/x11-drivers/xf86-video-rendition/files/patch-src_rendition.c
index 5d5bb0047117..580cf5cd75d7 100644
--- a/x11-drivers/xf86-video-rendition/files/patch-src_rendition.c
+++ b/x11-drivers/xf86-video-rendition/files/patch-src_rendition.c
@@ -1,51 +1,13 @@
---- src/rendition.c.orig 2015-10-11 22:31:51.242126000 +0200
-+++ src/rendition.c 2015-10-11 22:32:20.465605000 +0200
-@@ -1173,7 +1173,6 @@ renditionScreenInit(SCREEN_INIT_ARGS_DEC
- fbPictureInit (pScreen, 0, 0);
-
- xf86SetBlackWhitePixels(pScreen);
-- miInitializeBackingStore(pScreen);
-
- /*********************************************************/
- /* The actual setup of the driver-specific code */
-@@ -1372,6 +1371,18 @@ renditionMapMem(ScrnInfoPtr pScreenInfo)
- /* Override on users request */
- WriteCombine
- = xf86ReturnOptValBool(pRendition->Options, OPTION_FBWC, WriteCombine);
-+#ifdef XSERVER_LIBPCIACCESS
-+ mapOption = PCI_DEV_MAP_FLAG_WRITABLE;
-+ if (WriteCombine)
-+ mapOption |= PCI_DEV_MAP_FLAG_WRITE_COMBINE;
-+
-+ err = pci_device_map_range(pRendition->PciInfo,
-+ pRendition->PciInfo->regions[0].base_addr,
-+ pRendition->PciInfo->regions[0].size,
-+ mapOption, (void *)&pRendition->board.vmem_base);
-+
-+ return (err == 0);
-+#else
- if (WriteCombine) {
- xf86DrvMsg(pScreenInfo->scrnIndex, X_CONFIG,
- ("Requesting Write-Combined memory access\n"));
-@@ -1382,12 +1393,6 @@ renditionMapMem(ScrnInfoPtr pScreenInfo)
- mapOption = VIDMEM_MMIO;
- }
-
--#ifdef XSERVER_LIBPCIACCESS
-- err = pci_device_map_region(pRendition->PciInfo, 0, TRUE);
-- pRendition->board.vmem_base = pRendition->PciInfo->regions[0].memory;
--
-- return (err == 0);
--#else
- pRendition->board.vmem_base=
- xf86MapPciMem(pScreenInfo->scrnIndex, mapOption,
- pRendition->pcitag,
-@@ -1416,7 +1421,7 @@ renditionUnmapMem(ScrnInfoPtr pScreenInf
- #else
- pci_device_unmap_range(pRendition->PciInfo,
- pRendition->board.vmem_base,
-- pScreenInfo->videoRam * 1024);
-+ pRendition->PciInfo->regions[0].size);
- #endif
- return TRUE;
- #ifdef DEBUG0
+# Correct a string that should be const
+#
+--- src/rendition.c.orig 2014-09-30 14:21:44 UTC
++++ src/rendition.c
+@@ -480,7 +480,7 @@ renditionPreInit(ScrnInfoPtr pScreenInfo
+ MessageType From;
+ int videoRam, Rounding, nModes = 0;
+ renditionPtr pRendition;
+- char *in_string;
++ const char *in_string;
+ vgaHWPtr pvgaHW;
+
+ #ifdef DEBUG
diff --git a/x11-drivers/xf86-video-rendition/files/patch-src_rendition.h b/x11-drivers/xf86-video-rendition/files/patch-src_rendition.h
deleted file mode 100644
index 75a5fa411b62..000000000000
--- a/x11-drivers/xf86-video-rendition/files/patch-src_rendition.h
+++ /dev/null
@@ -1,31 +0,0 @@
---- src/rendition.h.orig 2015-10-11 22:31:54.085176000 +0200
-+++ src/rendition.h 2015-10-11 22:32:12.657760000 +0200
-@@ -14,9 +14,6 @@
- /* Everything using inb/outb, etc needs "compiler.h" */
- #include "compiler.h"
-
--/* Drivers for PCI hardware need this */
--#include "xf86PciInfo.h"
--
- /* Drivers that need to access the PCI config space directly need this */
- #include "xf86Pci.h"
-
-@@ -28,9 +25,6 @@
- /* All drivers initialising the SW cursor need this */
- #include "mipointer.h"
-
--/* All drivers implementing backing store need this */
--#include "mibstore.h"
--
- /* All drivers using the mi colormap manipulation need this */
- #include "micmap.h"
-
-@@ -69,4 +63,8 @@
-
- #include "compat-api.h"
- /* end of __RENDITION_H__ */
-+
-+#define PCI_CHIP_V1000 0x0001
-+#define PCI_CHIP_V2x00 0x2000
-+
- #endif
diff --git a/x11-drivers/xf86-video-s3/Makefile b/x11-drivers/xf86-video-s3/Makefile
index 99ccb30b3452..9c02e5bb494b 100644
--- a/x11-drivers/xf86-video-s3/Makefile
+++ b/x11-drivers/xf86-video-s3/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-video-s3
PORTVERSION= 0.6.5
-PORTREVISION= 7
+PORTREVISION= 8
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-s3virge/Makefile b/x11-drivers/xf86-video-s3virge/Makefile
index 62bb76968368..3680790dab13 100644
--- a/x11-drivers/xf86-video-s3virge/Makefile
+++ b/x11-drivers/xf86-video-s3virge/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-video-s3virge
PORTVERSION= 1.10.7
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-savage/Makefile b/x11-drivers/xf86-video-savage/Makefile
index da33d00348fd..7473be153f24 100644
--- a/x11-drivers/xf86-video-savage/Makefile
+++ b/x11-drivers/xf86-video-savage/Makefile
@@ -2,6 +2,7 @@
PORTNAME= xf86-video-savage
PORTVERSION= 2.3.9
+PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-scfb/Makefile b/x11-drivers/xf86-video-scfb/Makefile
index 5ffdfcf262ee..a1d9499b5443 100644
--- a/x11-drivers/xf86-video-scfb/Makefile
+++ b/x11-drivers/xf86-video-scfb/Makefile
@@ -3,7 +3,7 @@
PORTNAME= xf86-video-scfb
PORTVERSION= 0.0.4
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= x11-drivers
MAINTAINER= ray@FreeBSD.org
@@ -12,14 +12,6 @@ COMMENT= X.Org syscons display driver
USE_GITHUB= yes
GH_ACCOUNT= rayddteam
-USES= libtool pkgconfig
-GNU_CONFIGURE= yes
-DIST_SUBDIR= xorg/driver
-USE_XORG= xorg-server xproto randrproto xi renderproto xextproto \
- inputproto kbproto fontsproto videoproto dri2proto \
- xf86driproto glproto xineramaproto resourceproto \
- scrnsaverproto presentproto
-CONFIGURE_ENV= DRIVER_MAN_SUFFIX=4x DRIVER_MAN_DIR='$$(mandir)/man4'
-INSTALL_TARGET= install-strip
+XORG_CAT= driver
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-video-scfb/files/patch-src_scfb__driver.c b/x11-drivers/xf86-video-scfb/files/patch-src_scfb__driver.c
index eee6e58dc527..193b053b64e5 100644
--- a/x11-drivers/xf86-video-scfb/files/patch-src_scfb__driver.c
+++ b/x11-drivers/xf86-video-scfb/files/patch-src_scfb__driver.c
@@ -58,6 +58,17 @@
#endif
return mapaddr;
}
+@@ -366,8 +367,8 @@ ScfbPreInit(ScrnInfoPtr pScrn, int flags
+ struct fbtype fb;
+ int default_depth, wstype;
+ const char *dev;
+- char *mod = NULL, *s;
+- const char *reqSym = NULL;
++ char *mod = NULL;
++ const char *reqSym = NULL, *s;
+ Gamma zeros = {0.0, 0.0, 0.0};
+ DisplayModePtr mode;
+
@@ -633,9 +634,9 @@ ScfbShadowInit(ScreenPtr pScreen)
}
diff --git a/x11-drivers/xf86-video-siliconmotion/Makefile b/x11-drivers/xf86-video-siliconmotion/Makefile
index 93d104fc5042..356c90c3fa93 100644
--- a/x11-drivers/xf86-video-siliconmotion/Makefile
+++ b/x11-drivers/xf86-video-siliconmotion/Makefile
@@ -2,6 +2,7 @@
PORTNAME= xf86-video-siliconmotion
PORTVERSION= 1.7.9
+PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-sunffb/Makefile b/x11-drivers/xf86-video-sunffb/Makefile
index 96849c60cde6..fd14b0b1c588 100644
--- a/x11-drivers/xf86-video-sunffb/Makefile
+++ b/x11-drivers/xf86-video-sunffb/Makefile
@@ -2,16 +2,15 @@
PORTNAME= xf86-video-sunffb
PORTVERSION= 1.2.2
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
COMMENT= X.Org sunffb display driver
USE_GL= gl
-
XORG_CAT= driver
-USE_XORG= xf86driproto xextproto glproto
+
ONLY_FOR_ARCHS= sparc64
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-video-tdfx/Makefile b/x11-drivers/xf86-video-tdfx/Makefile
index c738dd2e477f..e4bce288defa 100644
--- a/x11-drivers/xf86-video-tdfx/Makefile
+++ b/x11-drivers/xf86-video-tdfx/Makefile
@@ -2,6 +2,7 @@
PORTNAME= xf86-video-tdfx
PORTVERSION= 1.4.7
+PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-trident/Makefile b/x11-drivers/xf86-video-trident/Makefile
index 35cf223b0060..bb76bd1d20a4 100644
--- a/x11-drivers/xf86-video-trident/Makefile
+++ b/x11-drivers/xf86-video-trident/Makefile
@@ -2,6 +2,7 @@
PORTNAME= xf86-video-trident
PORTVERSION= 1.3.8
+PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-tseng/Makefile b/x11-drivers/xf86-video-tseng/Makefile
index 3f35bcd49b0c..0f7afdf6f8c2 100644
--- a/x11-drivers/xf86-video-tseng/Makefile
+++ b/x11-drivers/xf86-video-tseng/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-video-tseng
PORTVERSION= 1.2.5
-PORTREVISION= 7
+PORTREVISION= 8
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-vesa/Makefile b/x11-drivers/xf86-video-vesa/Makefile
index 2a6d248a4854..b575c201153b 100644
--- a/x11-drivers/xf86-video-vesa/Makefile
+++ b/x11-drivers/xf86-video-vesa/Makefile
@@ -2,6 +2,7 @@
PORTNAME= xf86-video-vesa
PORTVERSION= 2.3.4
+PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-vmware/Makefile b/x11-drivers/xf86-video-vmware/Makefile
index 4bacc62b1338..ab9ad21ca0ac 100644
--- a/x11-drivers/xf86-video-vmware/Makefile
+++ b/x11-drivers/xf86-video-vmware/Makefile
@@ -2,6 +2,7 @@
PORTNAME= xf86-video-vmware
PORTVERSION= 13.2.1
+PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
@@ -10,10 +11,9 @@ COMMENT= X.Org vmware display driver
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
-INSTALL_TARGET= install-strip
XORG_CAT= driver
-USE_XORG= xextproto xineramaproto videoproto
-BROKEN_aarch64= Fails to compile: implicit declaration of function outl is invalid in C99
+ONLY_FOR_ARCHS= i386 amd64
+ONLY_FOR_ARCHS_REASON= The vmware gfx protocol is only supported on x86-compatible architectures.
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-video-voodoo/Makefile b/x11-drivers/xf86-video-voodoo/Makefile
index 2113ace6b228..fea4fce68041 100644
--- a/x11-drivers/xf86-video-voodoo/Makefile
+++ b/x11-drivers/xf86-video-voodoo/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-video-voodoo
PORTVERSION= 1.2.5
-PORTREVISION= 7
+PORTREVISION= 8
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-voodoo/files/patch-src_voodoo.h b/x11-drivers/xf86-video-voodoo/files/patch-src_voodoo.h
index e10001f5135c..94f19539bb78 100644
--- a/x11-drivers/xf86-video-voodoo/files/patch-src_voodoo.h
+++ b/x11-drivers/xf86-video-voodoo/files/patch-src_voodoo.h
@@ -4,9 +4,7 @@ Date: Mon, 22 Sep 2014 10:56:02 +1000
Subject: don't use PCITAG in struct anymore
-diff --git a/src/voodoo.h b/src/voodoo.h
-index bfed497..c3eb64e 100644
---- src/voodoo.h
+--- src/voodoo.h.orig 2012-07-17 05:21:17 UTC
+++ src/voodoo.h
@@ -23,7 +23,9 @@ typedef struct {
@@ -18,6 +16,3 @@ index bfed497..c3eb64e 100644
CARD32 PhysBase;
CARD32 Width; /* Current width */
---
-cgit v0.10.2
-
diff --git a/x11-drivers/xf86-video-voodoo/files/patch-src_voodoo__driver.c b/x11-drivers/xf86-video-voodoo/files/patch-src_voodoo__driver.c
new file mode 100644
index 000000000000..1e0183b0e3c9
--- /dev/null
+++ b/x11-drivers/xf86-video-voodoo/files/patch-src_voodoo__driver.c
@@ -0,0 +1,12 @@
+# Remove obsolete function call
+#
+--- src/voodoo_driver.c.orig 2016-11-25 18:37:43 UTC
++++ src/voodoo_driver.c
+@@ -680,7 +680,6 @@ VoodooScreenInit(SCREEN_INIT_ARGS_DECL)
+ if(pVoo->Accel)
+ Voodoo2XAAInit(pScreen);
+
+- miInitializeBackingStore(pScreen);
+ xf86SetBackingStore(pScreen);
+
+
diff --git a/x11-drivers/xf86-video-voodoo/files/patch-src_voodoo__hardware.c b/x11-drivers/xf86-video-voodoo/files/patch-src_voodoo__hardware.c
new file mode 100644
index 000000000000..952fff7d0068
--- /dev/null
+++ b/x11-drivers/xf86-video-voodoo/files/patch-src_voodoo__hardware.c
@@ -0,0 +1,17 @@
+# Fix fubar code that worked by accident
+#
+--- src/voodoo_hardware.c.orig 2016-11-25 18:41:04 UTC
++++ src/voodoo_hardware.c
+@@ -390,10 +390,10 @@ static int voodoo_find_dac(VoodooPtr pVo
+ device_id = dac_in(pVoo, 2);
+
+ /* AT&T 20C409 and clones */
+- if(vendor_id == DAC_VENDOR_ATT && DAC_DEVICE_ATT20C409)
++ if(vendor_id == DAC_VENDOR_ATT && device_id == DAC_DEVICE_ATT20C409)
+ return DAC_ID_ATT;
+
+- if(vendor_id == DAC_VENDOR_TI && DAC_DEVICE_TITVP3409)
++ if(vendor_id == DAC_VENDOR_TI && device_id == DAC_DEVICE_TITVP3409)
+ return DAC_ID_TI;
+
+ /* ICS5432 doesn't implement the back door. Glide does some
diff --git a/x11-drivers/xorg-drivers/Makefile b/x11-drivers/xorg-drivers/Makefile
index 916852f39f66..af0d99c3e2fe 100644
--- a/x11-drivers/xorg-drivers/Makefile
+++ b/x11-drivers/xorg-drivers/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xorg-drivers
PORTVERSION= 7.7
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
@@ -13,75 +13,76 @@ INPUTDIR= ${LOCALBASE}/lib/xorg/modules/input
USES= metaport
-INPUT_DRIVERS= mouse \
- keyboard \
- acecad \
+INPUT_DRIVERS= acecad \
+ egalax \
elographics \
+ evdev \
+ fpit \
hyperpen \
joystick \
+ keyboard \
+ mouse \
mutouch \
penmount \
synaptics \
- vmmouse \
void \
wacom
-VIDEO_DRIVERS= mach64 \
- nv \
- r128 \
- vesa \
- apm \
+VIDEO_DRIVERS= apm \
ark \
ast \
chips \
+ cirrus \
dummy \
glint \
i128 \
i740 \
+ mach64 \
mga \
neomagic \
+ nv \
+ openchrome \
+ r128 \
rendition \
s3 \
s3virge \
savage \
+ scfb \
siliconmotion \
sis \
tdfx \
trident \
tseng \
- vmware \
+ vesa \
voodoo
-OPTIONS_DEFAULT= MOUSE \
- KEYBOARD \
- MACH64 \
- NV \
- R128 \
- VESA
+OPTIONS_DEFAULT= KEYBOARD \
+ MOUSE \
+ SCFB
.for type in input video
. for a in ${${type:tu}_DRIVERS}
OPTIONS_DEFINE+= ${a:tu}
-${a:tu}_DESC= Install ${a} ${type} driver
+${a:tu}_DESC= Install ${a} ${type} driver
. endfor
.endfor
-OPTIONS_DEFINE_i386= ATI INTEL OPENCHROME
-OPTIONS_DEFAULT_i386= ATI INTEL OPENCHROME
+OPTIONS_DEFINE_amd64= AMDGPU ATI INTEL VMMOUSE VMWARE
+OPTIONS_DEFAULT_amd64= VESA
-OPTIONS_DEFINE_amd64:= ${OPTIONS_DEFINE_i386}
-OPTIONS_DEFAULT_amd64:= ${OPTIONS_DEFAULT_i386}
+OPTIONS_DEFINE_i386:= ${OPTIONS_DEFINE_amd64} GEODE
+OPTIONS_DEFAULT_i386:= ${OPTIONS_DEFAULT_amd64}
OPTIONS_DEFINE_sparc64= SUNFFB
OPTIONS_DEFAULT_sparc64=SUNFFB
-OPTIONS_DEFINE_ia64= OPENCHROME
-OPTIONS_DEFAULT_ia64= OPENCHROME
-
-ATI_DESC= Install ati video driver
+AMDGPU_DESC= Install amdgpu video driver
+ATI_DESC= Install ati (radeon) video driver
+GEODE_DESC= Install geode video driver
INTEL_DESC= Install intel video driver
-OPENCHROME_DESC= Install openchrome video driver
SUNFFB_DESC= Install sunffb video driver
+VMMOUSE_DESC= Install vmmouse input driver
+VMWARE_DESC= Install vmware video driver
# these drivers have a different module name compared to the plugin they install
QUIRKS= keyboard:kbd
@@ -90,7 +91,12 @@ QUIRKS= keyboard:kbd
# Manual add arch specific drivers so they be added to depend lines.
.if ${ARCH}==i386 || ${ARCH}==amd64
-VIDEO_DRIVERS+= ati intel openchrome
+INPUT_DRIVERS+= vmmouse
+VIDEO_DRIVERS+= amdgpu ati intel vmware
+.endif
+
+.if ${ARCH}==i386
+VIDEO_DRIVERS+= geode
.endif
.if ${ARCH}==sparc64