View | Details | Raw Unified | Return to bug 214593 | Differences between
and this patch

Collapse All | Expand All

(-)x11-drivers/xf86-video-intel/Makefile (-7 / +13 lines)
Lines 2-16 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	xf86-video-intel
4
PORTNAME=	xf86-video-intel
5
PORTVERSION=	2.21.15
5
PORTVERSION=	2.99.917.20161118
6
PORTREVISION=	9
7
CATEGORIES=	x11-drivers
6
CATEGORIES=	x11-drivers
7
MASTER_SITES=	http://cgit.freedesktop.org/xorg/${XORG_CAT}/${PORTNAME}/snapshot/
8
DISTNAME=	${PORTNAME}-${COMMIT_ID}
8
9
9
MAINTAINER=	x11@FreeBSD.org
10
MAINTAINER=	x11@FreeBSD.org
10
COMMENT=	Driver for Intel integrated graphics chipsets
11
COMMENT=	Driver for Intel integrated graphics chipsets
11
12
12
LIB_DEPENDS=	libxcb-util.so:x11/xcb-util
13
LIB_DEPENDS=	libxcb-util.so:x11/xcb-util \
14
		libpciaccess.so:devel/libpciaccess \
15
		libdrm.so:graphics/libdrm
13
16
17
COMMIT_ID=	bde946054efbc1c7ae1483b84c3b4fa3c2c7e2ec
18
14
ONLY_FOR_ARCHS=	amd64 i386
19
ONLY_FOR_ARCHS=	amd64 i386
15
USE_GL=		gl
20
USE_GL=		gl
16
21
Lines 19-36 Link Here
19
USE_XORG=	glproto \
24
USE_XORG=	glproto \
20
		pixman \
25
		pixman \
21
		x11 \
26
		x11 \
27
		xcb \
22
		xext \
28
		xext \
23
		xf86driproto \
29
		xf86driproto \
24
		xineramaproto \
30
		xineramaproto \
25
		xrender \
31
		xrender \
32
		presentproto \
33
		xv \
26
		xvmc
34
		xvmc
27
35
28
USES+=		cpe
36
USES+=		cpe autoreconf
29
CPE_VENDOR=	x
37
CPE_VENDOR=	x
30
38
31
CONFIGURE_ENV+=	xorg_cv_cc_flag__Wno_maybe_uninitialized=no
39
CONFIGURE_ARGS+=	--disable-dri3
32
CONFIGURE_ARGS+=	--enable-sna
33
CONFIGURE_ARGS+=	--disable-glamor
34
INSTALL_TARGET=	install-strip
40
INSTALL_TARGET=	install-strip
35
41
36
.include <bsd.port.options.mk>
42
.include <bsd.port.options.mk>
(-)x11-drivers/xf86-video-intel/distinfo (-4 / +3 lines)
Lines 1-4 Link Here
1
SHA256 (xorg/driver/xf86-video-intel-2.7.1.tar.bz2) = 255c0d54249cc0132f743254a43c21fac695fab2139c8ed96a07cf3c628e5f42
1
TIMESTAMP = 1480353885
2
SIZE (xorg/driver/xf86-video-intel-2.7.1.tar.bz2) = 780625
2
SHA256 (xorg/driver/xf86-video-intel-bde946054efbc1c7ae1483b84c3b4fa3c2c7e2ec.tar.bz2) = 61ed3a34db76a13ab8af3d5af89a6e40dcb56762e48e00e1070efa80c5d67968
3
SHA256 (xorg/driver/xf86-video-intel-2.21.15.tar.bz2) = 7d5a140f82a72fd1cbc8a664d66c3d4eca47ee240ca4927b8a98d7af6f65d6fc
3
SIZE (xorg/driver/xf86-video-intel-bde946054efbc1c7ae1483b84c3b4fa3c2c7e2ec.tar.bz2) = 1236393
4
SIZE (xorg/driver/xf86-video-intel-2.21.15.tar.bz2) = 1977431
(-)x11-drivers/xf86-video-intel/files/patch-clang (-63 lines)
Lines 1-63 Link Here
1
--- src/sna/sna_cpu.c.orig	2013-08-14 12:04:40.231041285 +0200
2
+++ src/sna/sna_cpu.c	2013-08-14 12:05:51.237030719 +0200
3
@@ -41,6 +41,7 @@
4
 {
5
 	unsigned max = __get_cpuid_max(BASIC_CPUID, NULL);
6
 	unsigned int eax, ebx, ecx, edx;
7
+	eax = ebx = ecx = edx = 0;
8
 	unsigned features = 0;
9
 	unsigned extra = 0;
10
 
11
--- src/sna/sna_damage.c.orig	2013-08-14 12:06:26.381036854 +0200
12
+++ src/sna/sna_damage.c	2013-08-14 12:07:23.684023065 +0200
13
@@ -410,7 +410,7 @@
14
 	int n, nboxes;
15
 	BoxPtr boxes, free_boxes = NULL;
16
 	pixman_region16_t *region = &damage->region;
17
-	struct sna_damage_box *iter;
18
+	struct sna_damage_box *iter = NULL;
19
 
20
 	assert(damage->mode != DAMAGE_ALL);
21
 	assert(damage->dirty);
22
@@ -1709,7 +1709,7 @@
23
 {
24
 	int n, nboxes;
25
 	BoxPtr boxes;
26
-	struct sna_damage_box *iter;
27
+	struct sna_damage_box *iter = NULL;
28
 
29
 	RegionCopy(r, &damage->region);
30
 	if (!damage->dirty)
31
--- src/uxa/intel_batchbuffer.c.orig	2013-08-14 12:08:14.323028320 +0200
32
+++ src/uxa/intel_batchbuffer.c	2013-08-14 12:08:37.202016923 +0200
33
@@ -141,7 +141,7 @@
34
 static void intel_batch_do_flush(ScrnInfoPtr scrn)
35
 {
36
 	intel_screen_private *intel = intel_get_screen_private(scrn);
37
-	struct intel_pixmap *priv;
38
+	struct intel_pixmap *priv = NULL;
39
 
40
 	list_for_each_entry(priv, &intel->batch_pixmaps, batch)
41
 		priv->dirty = 0;
42
--- src/uxa/intel_display.c.orig	2013-08-14 12:09:25.802015629 +0200
43
+++ src/uxa/intel_display.c	2013-08-14 12:09:51.034009844 +0200
44
@@ -1753,7 +1753,7 @@
45
 static drmModeEncoderPtr
46
 intel_get_kencoder(struct intel_mode *mode, int num)
47
 {
48
-	struct intel_output *iterator;
49
+	struct intel_output *iterator = NULL;
50
 	int id = mode->mode_res->encoders[num];
51
 
52
 	list_for_each_entry(iterator, &mode->outputs, link)
53
--- src/uxa/uxa-accel.c.orig	2013-08-14 12:02:11.898048975 +0200
54
+++ src/uxa/uxa-accel.c	2013-08-14 12:03:39.336042139 +0200
55
@@ -944,7 +944,7 @@
56
 
57
 	if (uxa_screen->info->flags & UXA_USE_GLAMOR) {
58
 		int ok = 0;
59
-		RegionPtr region;
60
+		RegionPtr region = NULL;
61
 
62
 		if (uxa_prepare_access(pDst, UXA_GLAMOR_ACCESS_RW)) {
63
 			if (uxa_prepare_access(pSrc, UXA_GLAMOR_ACCESS_RO)) {
(-)x11-drivers/xf86-video-intel/files/patch-i915kms (-12 / +9 lines)
Lines 1-13 Link Here
1
--- src/intel_device.c.orig	2013-06-30 16:03:51.000000000 +0200
1
--- src/intel_device.c.orig	2016-02-16 09:25:09.124344000 +0100
2
+++ src/intel_device.c	2013-07-02 14:08:34.903060688 +0200
2
+++ src/intel_device.c	2016-02-16 09:22:49.541922000 +0100
3
@@ -94,8 +94,8 @@
3
@@ -204,6 +207,7 @@
4
 			 pci->domain, pci->bus, pci->dev, pci->func);
4
 }
5
 
5
 
6
 		ret = drmCheckModesettingSupported(id);
6
 static const char *kernel_module_names[] ={
7
-		if (ret) {
7
+	"i915kms",
8
-			if (xf86LoadKernelModule("i915"))
8
 	"i915",
9
+		if (ret || 1) {
9
 	NULL,
10
+			if (xf86LoadKernelModule("i915kms"))
10
 };
11
 				ret = drmCheckModesettingSupported(id);
12
 			if (ret)
13
 				return -1;
(-)x11-drivers/xf86-video-intel/files/patch-src__sna__sna_accel.c (-81 lines)
Lines 1-81 Link Here
1
--- src/sna/sna_accel.c.orig	2013-08-20 20:26:26 UTC
2
+++ src/sna/sna_accel.c
3
@@ -3797,6 +3797,7 @@ static bool must_check sna_gc_move_to_cp
4
 	sgc->priv = gc->pCompositeClip;
5
 	gc->pCompositeClip = region;
6
 
7
+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(1,16,99,901,0)
8
 	if (gc->clientClipType == CT_PIXMAP) {
9
 		PixmapPtr clip = gc->clientClip;
10
 		gc->clientClip = region_from_bitmap(gc->pScreen, clip);
11
@@ -3804,7 +3805,9 @@ static bool must_check sna_gc_move_to_cp
12
 		gc->clientClipType = gc->clientClip ? CT_REGION : CT_NONE;
13
 		changes |= GCClipMask;
14
 	} else
15
+#else
16
 		changes &= ~GCClipMask;
17
+#endif
18
 
19
 	if (changes || drawable->serialNumber != sgc->serial) {
20
 		gc->serialNumber = sgc->serial;
21
@@ -5562,6 +5565,15 @@ static inline bool box_equal(const BoxRe
22
 	return *(const uint64_t *)a == *(const uint64_t *)b;
23
 }
24
 
25
+static inline bool has_clip(GCPtr gc)
26
+{
27
+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(1,16,99,901,0)
28
+	return gc->clientClipType != CT_NONE;
29
+#else
30
+	return gc->clientClip != NULL;
31
+#endif
32
+}
33
+
34
 static RegionPtr
35
 sna_do_copy(DrawablePtr src, DrawablePtr dst, GCPtr gc,
36
 	    int sx, int sy,
37
@@ -5628,7 +5640,7 @@ sna_do_copy(DrawablePtr src, DrawablePtr
38
 
39
 	/* Compute source clip region */
40
 	if (src->type == DRAWABLE_PIXMAP) {
41
-		if (src == dst && gc->clientClipType == CT_NONE) {
42
+		if (src == dst && !has_clip(gc)) {
43
 			DBG(("%s: pixmap -- using gc clip\n", __FUNCTION__));
44
 			clip = gc->pCompositeClip;
45
 		} else {
46
@@ -14391,7 +14403,7 @@ sna_validate_gc(GCPtr gc, unsigned long 
47
 
48
 	if (changes & (GCClipMask|GCSubwindowMode) ||
49
 	    drawable->serialNumber != (gc->serialNumber & DRAWABLE_SERIAL_BITS) ||
50
-	    (gc->clientClipType != CT_NONE && (changes & (GCClipXOrigin | GCClipYOrigin))))
51
+	    (has_clip(gc) && (changes & (GCClipXOrigin | GCClipYOrigin))))
52
 		miComputeCompositeClip(gc, drawable);
53
 
54
 	sna_gc(gc)->changes |= changes;
55
@@ -14830,7 +14842,7 @@ static bool has_offload_slaves(struct sn
56
 {
57
 #if HAS_PIXMAP_SHARING
58
 	ScreenPtr screen = sna->scrn->pScreen;
59
-	PixmapDirtyUpdatePtr dirty;
60
+	PixmapDirtyUpdatePtr dirty = NULL;
61
 
62
 	xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, ent) {
63
 		assert(dirty->src == sna->front);
64
@@ -14987,7 +14999,7 @@ static void sna_accel_post_damage(struct
65
 {
66
 #if HAS_PIXMAP_SHARING
67
 	ScreenPtr screen = sna->scrn->pScreen;
68
-	PixmapDirtyUpdatePtr dirty;
69
+	PixmapDirtyUpdatePtr dirty = NULL;
70
 	bool flush = false;
71
 
72
 	xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, ent) {
73
@@ -15216,7 +15228,7 @@ migrate_dirty_tracking(PixmapPtr old_fro
74
 {
75
 #if HAS_PIXMAP_SHARING
76
 	ScreenPtr screen = old_front->drawable.pScreen;
77
-	PixmapDirtyUpdatePtr dirty, safe;
78
+	PixmapDirtyUpdatePtr dirty = NULL, safe;
79
 
80
 	xorg_list_for_each_entry_safe(dirty, safe, &screen->pixmap_dirty_list, ent) {
81
 		assert(dirty->src == old_front);
(-)x11-drivers/xf86-video-intel/files/patch-src__sna__sna_threads.c (-14 lines)
Lines 1-14 Link Here
1
--- src/sna/sna_threads.c.orig	2013-02-02 00:03:44.000000000 +0000
2
+++ src/sna/sna_threads.c	2013-02-02 00:04:39.000000000 +0000
3
@@ -94,7 +94,11 @@
4
 		size_t len = 0;
5
 		char *line = NULL;
6
 		uint32_t processors = 0, cores = 0;
7
+#ifdef __GLIBC__
8
 		while (getline(&line, &len, file) != -1) {
9
+#else
10
+		while ((line = fgetln(file, &len)) != (char *) NULL) {
11
+#endif
12
 			int id;
13
 			if (sscanf(line, "physical id : %d", &id) == 1) {
14
 				if (id >= 32)
(-)x11-drivers/xf86-video-intel/files/patch-src__uxa__intel_driver.c (-11 lines)
Lines 1-11 Link Here
1
--- src/uxa/intel_driver.c.orig	2014-10-28 00:30:09.015749289 +0100
2
+++ src/uxa/intel_driver.c	2014-10-28 00:30:26.834767496 +0100
3
@@ -723,7 +723,7 @@
4
 intel_dirty_update(ScreenPtr screen)
5
 {
6
 	RegionPtr region;
7
-	PixmapDirtyUpdatePtr ent;
8
+	PixmapDirtyUpdatePtr ent = NULL;
9
 
10
 	if (xorg_list_is_empty(&screen->pixmap_dirty_list))
11
 	    return;
(-)x11-drivers/xf86-video-intel/files/patch-src_compat-api.h (-43 lines)
Lines 1-43 Link Here
1
--- src/compat-api.h.orig	2013-05-21 10:15:11 UTC
2
+++ src/compat-api.h
3
@@ -158,4 +158,40 @@ static inline void FreePixmap(PixmapPtr 
4
 	if ((d)->pScreen->SourceValidate) (d)->pScreen->SourceValidate(d, x, y, w, h)
5
 #endif
6
 
7
+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,14,99,2,0)
8
+#define DamageUnregister(d, dd) DamageUnregister(dd)
9
+#endif
10
+
11
+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,16,99,1,0)
12
+
13
+#define XORG_XV_VERSION 2
14
+#define ddStopVideo_ARGS XvPortPtr port, DrawablePtr draw
15
+#define ddSetPortAttribute_ARGS XvPortPtr port, Atom attribute, INT32 value
16
+#define ddGetPortAttribute_ARGS XvPortPtr port, Atom attribute, INT32 *value
17
+#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
18
+#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
19
+#define ddQueryImageAttributes_ARGS XvPortPtr port, XvImagePtr format, unsigned short *w, unsigned short *h, int *pitches, int *offsets
20
+
21
+#else
22
+
23
+#define XORG_XV_VERSION 1
24
+#define ddStopVideo_ARGS ClientPtr client, XvPortPtr port, DrawablePtr draw
25
+#define ddSetPortAttribute_ARGS ClientPtr client, XvPortPtr port, Atom attribute, INT32 value
26
+#define ddGetPortAttribute_ARGS ClientPtr client, XvPortPtr port, Atom attribute, INT32 *value
27
+#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
28
+#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
29
+#define ddQueryImageAttributes_ARGS ClientPtr client, XvPortPtr port, XvImagePtr format, unsigned short *w, unsigned short *h, int *pitches, int *offsets
30
+
31
+#endif
32
+
33
+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,16,99,1,0)
34
+#include <mi.h>
35
+#define miHandleExposures(pSrcDrawable, pDstDrawable, \
36
+			  pGC, srcx, srcy, width, height, \
37
+			  dstx, dsty, plane) \
38
+	miHandleExposures(pSrcDrawable, pDstDrawable, \
39
+			  pGC, srcx, srcy, width, height, \
40
+			  dstx, dsty)
41
+#endif
42
+
43
 #endif
(-)x11-drivers/xf86-video-intel/files/patch-src_intel__device.c (+12 lines)
Line 0 Link Here
1
--- src/intel_device.c.orig	2014-12-21 20:36:40.268102983 +0100
2
+++ src/intel_device.c	2014-12-21 20:36:01.358104504 +0100
3
@@ -28,6 +28,9 @@
4
 #include "config.h"
5
 #endif
6
 
7
+#define _WITH_GETLINE	/* to expose getline() in stdio.h on FreeBSD */
8
+#include <stdio.h>	/* for getline() */
9
+
10
 #include <sys/types.h>
11
 #include <sys/stat.h>
12
 #include <assert.h>
(-)x11-drivers/xf86-video-intel/files/patch-src_intel__list.h (+36 lines)
Line 0 Link Here
1
--- src/intel_list.h.orig	2015-12-10 23:29:35.000000000 +0100
2
+++ src/intel_list.h	2016-10-24 10:22:57.280379000 +0200
3
@@ -305,8 +305,6 @@
4
 #define list_last_entry(ptr, type, member) \
5
     list_entry((ptr)->prev, type, member)
6
 
7
-#define __container_of(ptr, sample, member)				\
8
-    (void *)((char *)(ptr) - ((char *)&(sample)->member - (char *)(sample)))
9
 /**
10
  * Loop through the list given by head and set pos to struct in the list.
11
  *
12
@@ -325,12 +323,12 @@
13
  *
14
  */
15
 #define list_for_each_entry(pos, head, member)				\
16
-    for (pos = __container_of((head)->next, pos, member);		\
17
+    for (pos = NULL, pos = __container_of((head)->next, pos, member);	\
18
 	 &pos->member != (head);					\
19
 	 pos = __container_of(pos->member.next, pos, member))
20
 
21
-#define list_for_each_entry_reverse(pos, head, member)				\
22
-    for (pos = __container_of((head)->prev, pos, member);		\
23
+#define list_for_each_entry_reverse(pos, head, member)			\
24
+    for (pos = NULL, pos = __container_of((head)->prev, pos, member);	\
25
 	 &pos->member != (head);					\
26
 	 pos = __container_of(pos->member.prev, pos, member))
27
 
28
@@ -342,7 +340,7 @@
29
  * See list_for_each_entry for more details.
30
  */
31
 #define list_for_each_entry_safe(pos, tmp, head, member)		\
32
-    for (pos = __container_of((head)->next, pos, member),		\
33
+    for (pos = NULL, pos = __container_of((head)->next, pos, member),	\
34
 	 tmp = __container_of(pos->member.next, pos, member);		\
35
 	 &pos->member != (head);					\
36
 	 pos = tmp, tmp = __container_of(pos->member.next, tmp, member))
(-)x11-drivers/xf86-video-intel/files/patch-src_sna__sna_threads.c (+12 lines)
Line 0 Link Here
1
--- src/sna/sna_threads.c.orig	2016-11-18 16:32:46 UTC
2
+++ src/sna/sna_threads.c
3
@@ -29,6 +29,9 @@
4
 #include "config.h"
5
 #endif
6
7
+#define _WITH_GETLINE	/* to expose getline() in stdio.h on FreeBSD */
8
+#include <stdio.h>	/* for getline() */
9
+
10
 #include "sna.h"
11
12
 #include <unistd.h>
(-)x11-drivers/xf86-video-intel/files/patch-src_sna_fb_fbpict.c (-28 lines)
Lines 1-28 Link Here
1
--- src/sna/fb/fbpict.c.orig	2013-03-27 11:58:09 UTC
2
+++ src/sna/fb/fbpict.c
3
@@ -156,6 +156,16 @@ create_conical_gradient_image(PictGradie
4
 						    gradient->nstops);
5
 }
6
 
7
+static inline bool
8
+picture_has_clip(PicturePtr p)
9
+{
10
+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,16,99,1,0)
11
+	return p->clientClip;
12
+#else
13
+	return p->clientClipType != CT_NONE;
14
+#endif
15
+}
16
+
17
 static pixman_image_t *
18
 create_bits_picture(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
19
 {
20
@@ -180,7 +190,7 @@ create_bits_picture(PicturePtr pict, Boo
21
 	 * only set the clip region for pictures with drawables
22
 	 */
23
 	if (has_clip) {
24
-		if (pict->clientClipType != CT_NONE)
25
+		if (picture_has_clip(pict))
26
 			pixman_image_set_has_client_clip(image, TRUE);
27
 
28
 		if (*xoff || *yoff)
(-)x11-drivers/xf86-video-intel/files/patch-src_sna_kgem.c (-85 / +10 lines)
Lines 1-87 Link Here
1
--- src/sna/kgem.c.orig	2013-08-20 20:26:26 UTC
1
--- src/sna/kgem.c.orig	2014-12-09 17:08:21.000000000 +0100
2
+++ src/sna/kgem.c
2
+++ src/sna/kgem.c	2015-11-19 00:06:27.883010000 +0100
3
@@ -25,6 +25,7 @@
3
@@ -29,6 +29,9 @@
4
  *
5
  */
6
 
7
+#define _WITH_GETLINE
8
 #ifdef HAVE_CONFIG_H
9
 #include "config.h"
4
 #include "config.h"
10
 #endif
5
 #endif
11
@@ -1873,7 +1874,8 @@ static void kgem_bo_move_to_snoop(struct
6
12
 static struct kgem_bo *
7
+#define _WITH_GETLINE	/* to expose getline() in stdio.h on FreeBSD */
13
 search_snoop_cache(struct kgem *kgem, unsigned int num_pages, unsigned flags)
8
+#include <stdio.h>	/* for getline() */
14
 {
9
+
15
-	struct kgem_bo *bo, *first = NULL;
10
 #include "sna.h"
16
+	struct kgem_bo *bo = NULL;
11
 #include "sna_reg.h"
17
+	struct kgem_bo *first = NULL;
12
18
 
19
 	DBG(("%s: num_pages=%d, flags=%x\n", __FUNCTION__, num_pages, flags));
20
 
21
@@ -2087,7 +2089,8 @@ static bool kgem_retire__buffers(struct 
22
 
23
 static bool kgem_retire__flushing(struct kgem *kgem)
24
 {
25
-	struct kgem_bo *bo, *next;
26
+	struct kgem_bo *bo = NULL;
27
+	struct kgem_bo *next;
28
 	bool retired = false;
29
 
30
 	list_for_each_entry_safe(bo, next, &kgem->flushing, request) {
31
@@ -2292,7 +2295,8 @@ bool __kgem_ring_is_idle(struct kgem *kg
32
 static void kgem_commit(struct kgem *kgem)
33
 {
34
 	struct kgem_request *rq = kgem->next_request;
35
-	struct kgem_bo *bo, *next;
36
+	struct kgem_bo *bo = NULL;
37
+	struct kgem_bo *next;
38
 
39
 	list_for_each_entry_safe(bo, next, &rq->buffers, request) {
40
 		assert(next->request.prev == &bo->request);
41
@@ -2373,7 +2377,8 @@ static void kgem_close_inactive(struct k
42
 
43
 static void kgem_finish_buffers(struct kgem *kgem)
44
 {
45
-	struct kgem_buffer *bo, *next;
46
+	struct kgem_buffer *bo = NULL;
47
+	struct kgem_buffer *next;
48
 
49
 	list_for_each_entry_safe(bo, next, &kgem->batch_buffers, base.list) {
50
 		DBG(("%s: buffer handle=%d, used=%d, exec?=%d, write=%d, mmapped=%s\n",
51
@@ -3254,7 +3259,8 @@ void kgem_cleanup_cache(struct kgem *kge
52
 static struct kgem_bo *
53
 search_linear_cache(struct kgem *kgem, unsigned int num_pages, unsigned flags)
54
 {
55
-	struct kgem_bo *bo, *first = NULL;
56
+	struct kgem_bo *bo = NULL;
57
+	struct kgem_bo *first = NULL;
58
 	bool use_active = (flags & CREATE_INACTIVE) == 0;
59
 	struct list *cache;
60
 
61
@@ -3867,7 +3873,7 @@ struct kgem_bo *kgem_create_2d(struct kg
62
 			       uint32_t flags)
63
 {
64
 	struct list *cache;
65
-	struct kgem_bo *bo;
66
+	struct kgem_bo *bo = NULL;
67
 	uint32_t pitch, tiled_height, size;
68
 	uint32_t handle;
69
 	int i, bucket, retry;
70
@@ -5337,7 +5343,7 @@ void kgem_bo_sync__gtt(struct kgem *kgem
71
 void kgem_clear_dirty(struct kgem *kgem)
72
 {
73
 	struct list * const buffers = &kgem->next_request->buffers;
74
-	struct kgem_bo *bo;
75
+	struct kgem_bo *bo = NULL;
76
 
77
 	list_for_each_entry(bo, buffers, request) {
78
 		if (!bo->gpu_dirty)
79
@@ -5613,7 +5619,7 @@ struct kgem_bo *kgem_create_buffer(struc
80
 				   uint32_t size, uint32_t flags,
81
 				   void **ret)
82
 {
83
-	struct kgem_buffer *bo;
84
+	struct kgem_buffer *bo = NULL;
85
 	unsigned offset, alloc;
86
 	struct kgem_bo *old;
87
 
(-)x11-drivers/xf86-video-intel/files/patch-src_sna_sna__composite.c (-43 lines)
Lines 1-43 Link Here
1
--- src/sna/sna_composite.c.orig	2013-08-14 11:59:36 UTC
2
+++ src/sna/sna_composite.c
3
@@ -122,11 +122,21 @@ clip_to_dst(pixman_region16_t *region,
4
 }
5
 
6
 static inline bool
7
+picture_has_clip(PicturePtr p)
8
+{
9
+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,16,99,1,0)
10
+	return p->clientClip;
11
+#else
12
+	return p->clientClipType != CT_NONE;
13
+#endif
14
+}
15
+
16
+static inline bool
17
 clip_to_src(RegionPtr region, PicturePtr p, int dx, int	 dy)
18
 {
19
 	bool result;
20
 
21
-	if (p->clientClipType == CT_NONE)
22
+	if (!picture_has_clip(p))
23
 		return true;
24
 
25
 	pixman_region_translate(p->clientClip,
26
@@ -220,7 +230,7 @@ sna_compute_composite_region(RegionPtr r
27
 		       __FUNCTION__,
28
 		       src->pDrawable ? src->pDrawable->width : 0,
29
 		       src->pDrawable ? src->pDrawable->height : 0,
30
-		       src->clientClipType,
31
+		       picture_has_clip(src),
32
 		       region->extents.x1, region->extents.y1,
33
 		       region->extents.x2, region->extents.y2));
34
 
35
@@ -287,7 +297,7 @@ trim_extents(BoxPtr extents, const Pictu
36
 static void
37
 _trim_source_extents(BoxPtr extents, const PicturePtr p, int dx, int dy)
38
 {
39
-	if (p->clientClipType != CT_NONE)
40
+	if (picture_has_clip(p))
41
 		trim_extents(extents, p, dx, dy);
42
 }
43
 
(-)x11-drivers/xf86-video-intel/files/patch-src_sna_sna__driver.c (-10 lines)
Lines 1-10 Link Here
1
--- src/sna/sna_driver.c.orig	2015-03-05 09:44:44 UTC
2
+++ src/sna/sna_driver.c
3
@@ -769,6 +769,7 @@ static Bool sna_late_close_screen(CLOSE_
4
 	DBG(("%s\n", __FUNCTION__));
5
 
6
 	sna_accel_close(sna);
7
+	sna_video_close(sna);
8
 
9
 	depths = screen->allowedDepths;
10
 	for (d = 0; d < screen->numDepths; d++)
(-)x11-drivers/xf86-video-intel/files/patch-src_sna_sna__trapezoids.c (-111 lines)
Lines 1-111 Link Here
1
From 48a33fc379b17eed195875222ad773c911d9dff1 Mon Sep 17 00:00:00 2001
2
From: Chris Wilson <chris@chris-wilson.co.uk>
3
Date: Tue, 2 Sep 2014 19:08:36 +0100
4
Subject: sna/trapezoids: Use the corrected trapezoid origin for aligned boxes
5
6
The rule for the origin of the CompositeTrapezoids routine is the
7
upper-left corner of the first trapezoid. Care must be taken in case the
8
trapezoid edge is upside down to consider the upper vertex.
9
10
Reported-by: "Jasper St. Pierre" <jstpierre@mecheye.net>
11
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
12
13
14
--- src/sna/sna_trapezoids.c.orig	2013-08-20 22:26:26.000000000 +0200
15
+++ src/sna/sna_trapezoids.c	2015-04-12 16:40:02.382938000 +0200
16
@@ -2690,13 +2690,16 @@
17
 	BoxRec stack_boxes[64], *boxes;
18
 	pixman_region16_t region, clip;
19
 	struct sna_composite_op tmp;
20
+	int16_t dst_x, dst_y;
21
 	bool ret = true;
22
 	int dx, dy, n, num_boxes;
23
 
24
 	if (NO_ALIGNED_BOXES)
25
 		return false;
26
 
27
-	DBG(("%s\n", __FUNCTION__));
28
+	DBG(("%s: pixmap=%ld, nboxes=%d, dx=(%d, %d)\n", __FUNCTION__,
29
+	    get_drawable_pixmap(dst->pDrawable)->drawable.serialNumber,
30
+	    ntrap, dst->pDrawable->x, dst->pDrawable->y));
31
 
32
 	boxes = stack_boxes;
33
 	if (ntrap > (int)ARRAY_SIZE(stack_boxes)) {
34
@@ -2738,19 +2741,20 @@
35
 	if (num_boxes == 0)
36
 		goto free_boxes;
37
 
38
-	DBG(("%s: extents (%d, %d), (%d, %d) offset of (%d, %d)\n",
39
+	trapezoid_origin(&traps[0].left, &dst_x, &dst_y);
40
+
41
+	DBG(("%s: extents (%d, %d), (%d, %d) offset of (%d, %d), origin (%d, %d)\n",
42
 	     __FUNCTION__,
43
 	     region.extents.x1, region.extents.y1,
44
 	     region.extents.x2, region.extents.y2,
45
 	     region.extents.x1 - boxes[0].x1,
46
-	     region.extents.y1 - boxes[0].y1));
47
-
48
-	src_x += region.extents.x1 - boxes[0].x1;
49
-	src_y += region.extents.y1 - boxes[0].y1;
50
+	     region.extents.y1 - boxes[0].y1,
51
+	     dst_x, dst_y));
52
 
53
 	if (!sna_compute_composite_region(&clip,
54
 					  src, NULL, dst,
55
-					  src_x,  src_y,
56
+					  src_x + region.extents.x1 - dst_x - dx,
57
+					  src_y + region.extents.y1 - dst_y - dy,
58
 					  0, 0,
59
 					  region.extents.x1 - dx, region.extents.y1 - dy,
60
 					  region.extents.x2 - region.extents.x1,
61
@@ -2760,9 +2764,18 @@
62
 		goto done;
63
 	}
64
 
65
+	DBG(("%s: clipped extents (%d, %d), (%d, %d);  now offset by (%d, %d), orgin (%d, %d)\n",
66
+	    __FUNCTION__,
67
+	     clip.extents.x1, clip.extents.y1,
68
+	     clip.extents.x2, clip.extents.y2,
69
+	     clip.extents.x1 - boxes[0].x1,
70
+	     clip.extents.y1 - boxes[0].y1,
71
+	     dst_x, dst_y));
72
+
73
 	if (force_fallback ||
74
 	    !sna->render.composite(sna, op, src, NULL, dst,
75
-				   src_x,  src_y,
76
+				   src_x + clip.extents.x1 - dst_x,
77
+				   src_y + clip.extents.y1 - dst_y,
78
 				   0, 0,
79
 				   clip.extents.x1,  clip.extents.y1,
80
 				   clip.extents.x2 - clip.extents.x1,
81
@@ -2796,6 +2809,8 @@
82
 		}
83
 
84
 		DBG(("%s: fbComposite()\n", __FUNCTION__));
85
+		src_x -= dst_x - dx;
86
+		src_y -= dst_y - dy;
87
 		if (maskFormat) {
88
 			pixman_region_init_rects(&region, boxes, num_boxes);
89
 			RegionIntersect(&region, &region, &clip);
90
@@ -2804,8 +2819,8 @@
91
 			count = REGION_NUM_RECTS(&region);
92
 			for (i = 0; i < count; i++) {
93
 				fbComposite(op, src, NULL, dst,
94
-					    src_x + b[i].x1 - boxes[0].x1,
95
-					    src_y + b[i].y1 - boxes[0].y1,
96
+					    src_x + b[i].x1,
97
+					    src_y + b[i].y1,
98
 					    0, 0,
99
 					    b[i].x1, b[i].y1,
100
 					    b[i].x2 - b[i].x1, b[i].y2 - b[i].y1);
101
@@ -2819,8 +2834,8 @@
102
 				count = REGION_NUM_RECTS(&region);
103
 				for (i = 0; i < count; i++) {
104
 					fbComposite(op, src, NULL, dst,
105
-						    src_x + b[i].x1 - boxes[0].x1,
106
-						    src_y + b[i].y1 - boxes[0].y1,
107
+						    src_x + b[i].x1,
108
+						    src_y + b[i].y1,
109
 						    0, 0,
110
 						    b[i].x1, b[i].y1,
111
 						    b[i].x2 - b[i].x1, b[i].y2 - b[i].y1);
(-)x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video.c (-82 lines)
Lines 1-82 Link Here
1
--- src/sna/sna_video.c.orig	2015-03-05 09:45:32 UTC
2
+++ src/sna/sna_video.c
3
@@ -68,6 +68,7 @@
4
 #else
5
 static inline void sna_video_xvmc_setup(struct sna *sna, ScreenPtr ptr)
6
 {
7
+	DBG(("%s: XvMC not compiled in\n"));
8
 }
9
 #endif
10
 
11
@@ -620,6 +621,7 @@ sna_xv_fixup_formats(ScreenPtr screen, X
12
 	return count;
13
 }
14
 
15
+#if XORG_XV_VERSION < 2
16
 static int
17
 sna_xv_query_adaptors(ScreenPtr screen,
18
 		      XvAdaptorPtr *adaptors,
19
@@ -636,20 +638,10 @@ static Bool
20
 sna_xv_close_screen(CLOSE_SCREEN_ARGS_DECL)
21
 {
22
 	struct sna *sna = to_sna_from_screen(screen);
23
-	int i;
24
-
25
-	for (i = 0; i < sna->xv.num_adaptors; i++) {
26
-		free(sna->xv.adaptors[i].pPorts->devPriv.ptr);
27
-		free(sna->xv.adaptors[i].pPorts);
28
-		free(sna->xv.adaptors[i].pEncodings);
29
-	}
30
-	free(sna->xv.adaptors);
31
-
32
-	sna->xv.adaptors = NULL;
33
-	sna->xv.num_adaptors = 0;
34
-
35
+	sna_video_close(sna);
36
 	return TRUE;
37
 }
38
+#endif
39
 
40
 void sna_video_init(struct sna *sna, ScreenPtr screen)
41
 {
42
@@ -671,8 +663,10 @@ void sna_video_init(struct sna *sna, Scr
43
 		return;
44
 
45
 	xv = to_xv(screen);
46
+#if XORG_XV_VERSION < 2
47
 	xv->ddCloseScreen = sna_xv_close_screen;
48
 	xv->ddQueryAdaptors = sna_xv_query_adaptors;
49
+#endif
50
 
51
 	sna_video_textured_setup(sna, screen);
52
 	sna_video_sprite_setup(sna, screen);
53
@@ -698,7 +692,28 @@ void sna_video_destroy_window(WindowPtr 
54
 	XvPortPtr port;
55
 
56
 	port = sna_window_get_port(win);
57
-	if (port)
58
+	if (port) {
59
+#if XORG_XV_VERSION < 2
60
 		port->pAdaptor->ddStopVideo(NULL, port, &win->drawable);
61
+#else
62
+		port->pAdaptor->ddStopVideo(port, &win->drawable);
63
+#endif
64
+	}
65
 	assert(sna_window_get_port(win) == NULL);
66
 }
67
+
68
+void sna_video_close(struct sna *sna)
69
+{
70
+	int i;
71
+
72
+	for (i = 0; i < sna->xv.num_adaptors; i++) {
73
+		free(sna->xv.adaptors[i].pPorts->devPriv.ptr);
74
+		free(sna->xv.adaptors[i].pPorts);
75
+		free(sna->xv.adaptors[i].pEncodings);
76
+	}
77
+	free(sna->xv.adaptors);
78
+
79
+	sna->xv.adaptors = NULL;
80
+	sna->xv.num_adaptors = 0;
81
+}
82
+
(-)x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video.h (-10 lines)
Lines 1-10 Link Here
1
--- src/sna/sna_video.h.orig	2015-03-05 09:53:01 UTC
2
+++ src/sna/sna_video.h
3
@@ -129,6 +129,7 @@ void sna_video_overlay_setup(struct sna 
4
 void sna_video_sprite_setup(struct sna *sna, ScreenPtr screen);
5
 void sna_video_textured_setup(struct sna *sna, ScreenPtr screen);
6
 void sna_video_destroy_window(WindowPtr win);
7
+void sna_video_close(struct sna *sna);
8
 
9
 XvAdaptorPtr sna_xv_adaptor_alloc(struct sna *sna);
10
 int sna_xv_fixup_formats(ScreenPtr screen,
(-)x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video__overlay.c (-101 lines)
Lines 1-101 Link Here
1
--- src/sna/sna_video_overlay.c.orig	2015-03-05 09:54:32 UTC
2
+++ src/sna/sna_video_overlay.c
3
@@ -121,9 +121,7 @@ static bool sna_video_overlay_update_att
4
 	return drmIoctl(video->sna->kgem.fd, DRM_IOCTL_I915_OVERLAY_ATTRS, &attrs) == 0;
5
 }
6
 
7
-static int sna_video_overlay_stop(ClientPtr client,
8
-				  XvPortPtr port,
9
-				  DrawablePtr draw)
10
+static int sna_video_overlay_stop(ddStopVideo_ARGS)
11
 {
12
 	struct sna_video *video = port->devPriv.ptr;
13
 	struct sna *sna = video->sna;
14
@@ -148,10 +146,7 @@ static int sna_video_overlay_stop(Client
15
 }
16
 
17
 static int
18
-sna_video_overlay_set_attribute(ClientPtr client,
19
-				XvPortPtr port,
20
-				Atom attribute,
21
-				INT32 value)
22
+sna_video_overlay_set_attribute(ddSetPortAttribute_ARGS)
23
 {
24
 	struct sna_video *video = port->devPriv.ptr;
25
 	struct sna *sna = video->sna;
26
@@ -270,12 +265,7 @@ sna_video_overlay_get_attribute(ClientPt
27
 }
28
 
29
 static int
30
-sna_video_overlay_best_size(ClientPtr client,
31
-			    XvPortPtr port,
32
-			    CARD8 motion,
33
-			    CARD16 vid_w, CARD16 vid_h,
34
-			    CARD16 drw_w, CARD16 drw_h,
35
-			    unsigned int *p_w, unsigned int *p_h)
36
+sna_video_overlay_best_size(ddQueryBestSize_ARGS)
37
 {
38
 	struct sna_video *video = port->devPriv.ptr;
39
 	struct sna *sna = video->sna;
40
@@ -464,18 +454,7 @@ sna_video_overlay_show(struct sna *sna,
41
 }
42
 
43
 static int
44
-sna_video_overlay_put_image(ClientPtr client,
45
-			    DrawablePtr draw,
46
-			    XvPortPtr port,
47
-			    GCPtr gc,
48
-			    INT16 src_x, INT16 src_y,
49
-			    CARD16 src_w, CARD16 src_h,
50
-			    INT16 drw_x, INT16 drw_y,
51
-			    CARD16 drw_w, CARD16 drw_h,
52
-			    XvImagePtr format,
53
-			    unsigned char *buf,
54
-			    Bool sync,
55
-			    CARD16 width, CARD16 height)
56
+sna_video_overlay_put_image(ddPutImage_ARGS)
57
 {
58
 	struct sna_video *video = port->devPriv.ptr;
59
 	struct sna *sna = video->sna;
60
@@ -604,18 +583,16 @@ invisible:
61
 	/*
62
 	 * If the video isn't visible on any CRTC, turn it off
63
 	 */
64
+#if XORG_XV_VERSION < 2
65
 	sna_video_overlay_stop(client, port, draw);
66
+#else
67
+	sna_video_overlay_stop(port, draw);
68
+#endif
69
 	return Success;
70
 }
71
 
72
 static int
73
-sna_video_overlay_query(ClientPtr client,
74
-			XvPortPtr port,
75
-			XvImagePtr format,
76
-			unsigned short *w,
77
-			unsigned short *h,
78
-			int *pitches,
79
-			int *offsets)
80
+sna_video_overlay_query(ddQueryImageAttributes_ARGS)
81
 {
82
 	struct sna_video *video = port->devPriv.ptr;
83
 	struct sna_video_frame frame;
84
@@ -771,8 +748,10 @@ void sna_video_overlay_setup(struct sna 
85
 	adaptor->pAttributes = (XvAttributeRec *)Attributes;
86
 	adaptor->nImages = ARRAY_SIZE(Images);
87
 	adaptor->pImages = (XvImageRec *)Images;
88
+#if XORG_XV_VERSION < 2
89
 	adaptor->ddAllocatePort = sna_xv_alloc_port;
90
 	adaptor->ddFreePort = sna_xv_free_port;
91
+#endif
92
 	adaptor->ddPutVideo = NULL;
93
 	adaptor->ddPutStill = NULL;
94
 	adaptor->ddGetVideo = NULL;
95
@@ -843,4 +822,6 @@ void sna_video_overlay_setup(struct sna 
96
 	}
97
 
98
 	sna_video_overlay_update_attrs(video);
99
+
100
+	DBG(("%s: '%s' initialized %d ports\n", __FUNCTION__, adaptor->name, adaptor->nPorts));
101
 }
(-)x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video__sprite.c (-114 lines)
Lines 1-114 Link Here
1
--- src/sna/sna_video_sprite.c.orig	2015-03-05 10:02:08 UTC
2
+++ src/sna/sna_video_sprite.c
3
@@ -56,9 +56,7 @@ static const XvAttributeRec attribs[] = 
4
 	{ XvSettable | XvGettable, 0, 0xffffff, (char *)"XV_COLORKEY" },
5
 };
6
 
7
-static int sna_video_sprite_stop(ClientPtr client,
8
-				 XvPortPtr port,
9
-				 DrawablePtr draw)
10
+static int sna_video_sprite_stop(ddStopVideo_ARGS)
11
 {
12
 	struct sna_video *video = port->devPriv.ptr;
13
 	struct drm_mode_set_plane s;
14
@@ -82,10 +80,7 @@ static int sna_video_sprite_stop(ClientP
15
 	return Success;
16
 }
17
 
18
-static int sna_video_sprite_set_attr(ClientPtr client,
19
-				     XvPortPtr port,
20
-				     Atom attribute,
21
-				     INT32 value)
22
+static int sna_video_sprite_set_attr(ddSetPortAttribute_ARGS)
23
 {
24
 	struct sna_video *video = port->devPriv.ptr;
25
 
26
@@ -104,10 +99,7 @@ static int sna_video_sprite_set_attr(Cli
27
 	return Success;
28
 }
29
 
30
-static int sna_video_sprite_get_attr(ClientPtr client,
31
-				     XvPortPtr port,
32
-				     Atom attribute,
33
-				     INT32 *value)
34
+static int sna_video_sprite_get_attr(ddGetPortAttribute_ARGS)
35
 {
36
 	struct sna_video *video = port->devPriv.ptr;
37
 
38
@@ -121,13 +113,7 @@ static int sna_video_sprite_get_attr(Cli
39
 	return Success;
40
 }
41
 
42
-static int sna_video_sprite_best_size(ClientPtr client,
43
-				      XvPortPtr port,
44
-				      CARD8 motion,
45
-				      CARD16 vid_w, CARD16 vid_h,
46
-				      CARD16 drw_w, CARD16 drw_h,
47
-				      unsigned int *p_w,
48
-				      unsigned int *p_h)
49
+static int sna_video_sprite_best_size(ddQueryBestSize_ARGS)
50
 {
51
 	struct sna_video *video = port->devPriv.ptr;
52
 	struct sna *sna = video->sna;
53
@@ -310,18 +296,7 @@ sna_video_sprite_show(struct sna *sna,
54
 	return true;
55
 }
56
 
57
-static int sna_video_sprite_put_image(ClientPtr client,
58
-				      DrawablePtr draw,
59
-				      XvPortPtr port,
60
-				      GCPtr gc,
61
-				      INT16 src_x, INT16 src_y,
62
-				      CARD16 src_w, CARD16 src_h,
63
-				      INT16 drw_x, INT16 drw_y,
64
-				      CARD16 drw_w, CARD16 drw_h,
65
-				      XvImagePtr format,
66
-				      unsigned char *buf,
67
-				      Bool sync,
68
-				      CARD16 width, CARD16 height)
69
+static int sna_video_sprite_put_image(ddPutImage_ARGS)
70
 {
71
 	struct sna_video *video = port->devPriv.ptr;
72
 	struct sna *sna = video->sna;
73
@@ -430,16 +405,14 @@ static int sna_video_sprite_put_image(Cl
74
 
75
 invisible:
76
 	/* If the video isn't visible on any CRTC, turn it off */
77
+#if XORG_XV_VERSION < 2
78
 	return sna_video_sprite_stop(client, port, draw);
79
+#else
80
+	return sna_video_sprite_stop(port, draw);
81
+#endif
82
 }
83
 
84
-static int sna_video_sprite_query(ClientPtr client,
85
-				  XvPortPtr port,
86
-				  XvImagePtr format,
87
-				  unsigned short *w,
88
-				  unsigned short *h,
89
-				  int *pitches,
90
-				  int *offsets)
91
+static int sna_video_sprite_query(ddQueryImageAttributes_ARGS)
92
 {
93
 	struct sna_video *video = port->devPriv.ptr;
94
 	struct sna_video_frame frame;
95
@@ -548,8 +521,10 @@ void sna_video_sprite_setup(struct sna *
96
 	if (sna->kgem.gen == 071)
97
 		adaptor->nImages = 4;
98
 
99
+#if XORG_XV_VERSION < 2
100
 	adaptor->ddAllocatePort = sna_xv_alloc_port;
101
 	adaptor->ddFreePort = sna_xv_free_port;
102
+#endif
103
 	adaptor->ddPutVideo = NULL;
104
 	adaptor->ddPutStill = NULL;
105
 	adaptor->ddGetVideo = NULL;
106
@@ -593,6 +568,8 @@ void sna_video_sprite_setup(struct sna *
107
 
108
 	xvColorKey = MAKE_ATOM("XV_COLORKEY");
109
 	xvAlwaysOnTop = MAKE_ATOM("XV_ALWAYS_ON_TOP");
110
+
111
+	DBG(("%s: '%s' initialized %d ports\n", __FUNCTION__, adaptor->name, adaptor->nPorts));
112
 }
113
 #else
114
 void sna_video_sprite_setup(struct sna *sna, ScreenPtr screen)
(-)x11-drivers/xf86-video-intel/files/patch-src_sna_sna__video__textured.c (-105 lines)
Lines 1-105 Link Here
1
--- src/sna/sna_video_textured.c.orig	2015-03-05 10:08:42 UTC
2
+++ src/sna/sna_video_textured.c
3
@@ -56,9 +56,7 @@ static const XvImageRec Images[] = {
4
 	XVMC_YUV,
5
 };
6
 
7
-static int sna_video_textured_stop(ClientPtr client,
8
-				   XvPortPtr port,
9
-				   DrawablePtr draw)
10
+static int sna_video_textured_stop(ddStopVideo_ARGS)
11
 {
12
 	struct sna_video *video = port->devPriv.ptr;
13
 
14
@@ -71,10 +69,7 @@ static int sna_video_textured_stop(Clien
15
 }
16
 
17
 static int
18
-sna_video_textured_set_attribute(ClientPtr client,
19
-				 XvPortPtr port,
20
-				 Atom attribute,
21
-				 INT32 value)
22
+sna_video_textured_set_attribute(ddSetPortAttribute_ARGS)
23
 {
24
 	struct sna_video *video = port->devPriv.ptr;
25
 
26
@@ -100,10 +95,7 @@ sna_video_textured_set_attribute(ClientP
27
 }
28
 
29
 static int
30
-sna_video_textured_get_attribute(ClientPtr client,
31
-				 XvPortPtr port,
32
-				 Atom attribute,
33
-				 INT32 *value)
34
+sna_video_textured_get_attribute(ddGetPortAttribute_ARGS)
35
 {
36
 	struct sna_video *video = port->devPriv.ptr;
37
 
38
@@ -120,13 +112,7 @@ sna_video_textured_get_attribute(ClientP
39
 }
40
 
41
 static int
42
-sna_video_textured_best_size(ClientPtr client,
43
-			     XvPortPtr port,
44
-			     CARD8 motion,
45
-			     CARD16 vid_w, CARD16 vid_h,
46
-			     CARD16 drw_w, CARD16 drw_h,
47
-			     unsigned int *p_w,
48
-			     unsigned int *p_h)
49
+sna_video_textured_best_size(ddQueryBestSize_ARGS)
50
 {
51
 	if (vid_w > (drw_w << 1))
52
 		drw_w = vid_w >> 1;
53
@@ -153,18 +139,7 @@ sna_video_textured_best_size(ClientPtr c
54
  * compositing.  It's a new argument to the function in the 1.1 server.
55
  */
56
 static int
57
-sna_video_textured_put_image(ClientPtr client,
58
-			     DrawablePtr draw,
59
-			     XvPortPtr port,
60
-			     GCPtr gc,
61
-			     INT16 src_x, INT16 src_y,
62
-			     CARD16 src_w, CARD16 src_h,
63
-			     INT16 drw_x, INT16 drw_y,
64
-			     CARD16 drw_w, CARD16 drw_h,
65
-			     XvImagePtr format,
66
-			     unsigned char *buf,
67
-			     Bool sync,
68
-			     CARD16 width, CARD16 height)
69
+sna_video_textured_put_image(ddPutImage_ARGS)
70
 {
71
 	struct sna_video *video = port->devPriv.ptr;
72
 	struct sna *sna = video->sna;
73
@@ -269,13 +244,7 @@ sna_video_textured_put_image(ClientPtr c
74
 }
75
 
76
 static int
77
-sna_video_textured_query(ClientPtr client,
78
-			 XvPortPtr port,
79
-			 XvImagePtr format,
80
-			 unsigned short *w,
81
-			 unsigned short *h,
82
-			 int *pitches,
83
-			 int *offsets)
84
+sna_video_textured_query(ddQueryImageAttributes_ARGS)
85
 {
86
 	int size, tmp;
87
 
88
@@ -384,8 +353,10 @@ void sna_video_textured_setup(struct sna
89
 	adaptor->pAttributes = (XvAttributeRec *)Attributes;
90
 	adaptor->nImages = ARRAY_SIZE(Images);
91
 	adaptor->pImages = (XvImageRec *)Images;
92
+#if XORG_XV_VERSION < 2
93
 	adaptor->ddAllocatePort = sna_xv_alloc_port;
94
 	adaptor->ddFreePort = sna_xv_free_port;
95
+#endif
96
 	adaptor->ddPutVideo = NULL;
97
 	adaptor->ddPutStill = NULL;
98
 	adaptor->ddGetVideo = NULL;
99
@@ -426,4 +397,6 @@ void sna_video_textured_setup(struct sna
100
 	xvBrightness = MAKE_ATOM("XV_BRIGHTNESS");
101
 	xvContrast = MAKE_ATOM("XV_CONTRAST");
102
 	xvSyncToVblank = MAKE_ATOM("XV_SYNC_TO_VBLANK");
103
+
104
+	DBG(("%s: '%s' initialized %d ports\n", __FUNCTION__, adaptor->name, adaptor->nPorts));
105
 }
(-)x11-drivers/xf86-video-intel/pkg-descr (-3 / +10 lines)
Lines 1-3 Link Here
1
Driver for Intel integrated graphics chipsets. It supports the i810,
1
Driver for Intel(R) Integrated Graphics Chipsets:
2
i810-DC100, i810e, i815, i830M, 845G, 852GM, 855GM, 865G, 915G, 915GM,
2
  i810, i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G,
3
945G, 945GM, 965G, 965Q, 946GZ and 965GM chipsets.
3
  915G, E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM,
4
  Pineview G, 965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33,
5
  GM45, 4 Series, G45/G43, Q45/Q43, G41, B43
6
Driver for Intel(R) HD Graphics: 2000-5000
7
Driver for Intel(R) Iris(TM) Graphics: 5100
8
Driver for Intel(R) Iris(TM) Pro Graphics: 5200
9
10
WWW: http://www.intellinuxgraphics.com/

Return to bug 214593