1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
3 NAMEBASE= xorg-driver-video-intel
4 VERSION= 2.99.917.20180111
7 SDESC[standard]= X.org driver for Intel graphics controllers
8 HOMEPAGE= https://www.x.org/
12 SITES[main]= https://cgit.freedesktop.org/xorg/driver/xf86-video-intel/snapshot/
13 DISTFILE[1]= 26f5406841f3924f23f29df61b5ea53d2816b665.tar.xz:main
15 SPKGS[standard]= single
17 OPTIONS_AVAILABLE= SNA UXA
18 OPTIONS_STANDARD= SNA UXA
20 OPTDESCR[ACCEL]= Default AccelMethod (if not specified in xorg.conf)
21 OPTGROUP[ACCEL]= SNA UXA
26 BUILDRUN_DEPENDS= xorg-server:single:standard
27 xorg-xcb-util:single:standard
28 libdrm:single:standard
30 USES= mesa libtool cpe autoreconf
31 XORG_COMPONENTS= inputproto pciaccess pixman x11 xcb xext xrender xv
32 xvmc randrproto renderproto scrnsaverproto
33 resourceproto xf86driproto glproto dri2proto
34 dri3proto presentproto xineramaproto
36 DISTNAME= 26f5406841f3924f23f29df61b5ea53d2816b665
39 LICENSE_FILE= MIT:{{WRKSRC}}/COPYING
43 FPC_EQUIVALENT= x11-drivers/xf86-video-intel
47 INSTALL_TARGET= install-strip
49 [SNA].DESCRIPTION= SandyBridge's New Acceleration
50 [SNA].CONFIGURE_ARGS_ON= --with-default-accel=sna
52 [UXA].DESCRIPTION= Unified Acceleration Architecture
53 [UXA].CONFIGURE_ARGS_ON= --with-default-accel=uxa
56 # Prefer to use dfly specific sigjmp_buf for less errors
57 ${REINPLACE_CMD} -e 's|jmp_buf |sigjmp_buf |g' \
58 ${WRKSRC}/src/sna/sna.h \
59 ${WRKSRC}/src/sna/sna_accel.c
61 [FILE:531:descriptions/desc.single]
62 The xf86-video-intel module is an open-source 2D graphics driver for
63 the X Window System as implemented by X.org. It supports a variety of
64 Intel graphics chipsets including:
66 i810/i810e/i810-dc100,i815,
67 i830M,845G,852GM,855GM,865G,
68 915G/GM,945G/GM/GME,946GZ
70 G/Q33,G/Q35,G41,G/Q43,G/GM/Q45
71 PineView-M (Atom N400 series)
72 PineView-D (Atom D400/D500 series)
74 Intel(R) Iris(TM) Graphics,
75 Intel(R) Iris(TM) Pro Graphics.
79 b21656f41592d86c6cc00460e03b34a574c9d5864443d5f64b3c7f87fd76052b 947196 26f5406841f3924f23f29df61b5ea53d2816b665.tar.xz
82 [FILE:184:manifests/plist.single]
90 lib/xorg/modules/drivers/intel_drv.so
91 share/man/man4/intel.4.gz
94 [FILE:1594:patches/patch-src_intel__list.h]
95 --- src/intel_list.h.orig 2017-09-27 18:01:05 UTC
97 @@ -305,8 +305,6 @@ list_is_empty(const struct list *head)
98 #define list_last_entry(ptr, type, member) \
99 list_entry((ptr)->prev, type, member)
101 -#define __container_of(ptr, sample, member) \
102 - (void *)((char *)(ptr) - ((char *)&(sample)->member - (char *)(sample)))
104 * Loop through the list given by head and set pos to struct in the list.
106 @@ -325,12 +323,12 @@ list_is_empty(const struct list *head)
109 #define list_for_each_entry(pos, head, member) \
110 - for (pos = __container_of((head)->next, pos, member); \
111 + for (pos = NULL, pos = __container_of((head)->next, pos, member); \
112 &pos->member != (head); \
113 pos = __container_of(pos->member.next, pos, member))
115 -#define list_for_each_entry_reverse(pos, head, member) \
116 - for (pos = __container_of((head)->prev, pos, member); \
117 +#define list_for_each_entry_reverse(pos, head, member) \
118 + for (pos = NULL, pos = __container_of((head)->prev, pos, member); \
119 &pos->member != (head); \
120 pos = __container_of(pos->member.prev, pos, member))
122 @@ -342,7 +340,7 @@ list_is_empty(const struct list *head)
123 * See list_for_each_entry for more details.
125 #define list_for_each_entry_safe(pos, tmp, head, member) \
126 - for (pos = __container_of((head)->next, pos, member), \
127 + for (pos = NULL, pos = __container_of((head)->next, pos, member), \
128 tmp = __container_of(pos->member.next, pos, member); \
129 &pos->member != (head); \
130 pos = tmp, tmp = __container_of(pos->member.next, tmp, member))
133 [FILE:944:dragonfly/patch-src_intel__device.c]
134 i915 does not use hw.dri.0.busid
135 so simplify to basics.
137 --- src/intel_device.c.orig 2017-09-27 18:01:05 UTC
138 +++ src/intel_device.c
143 +#define _WITH_GETLINE /* to expose getline() in stdio.h on FreeBSD */
144 +#include <stdio.h> /* for getline() */
146 #include <sys/types.h>
147 #include <sys/stat.h>
149 @@ -424,6 +427,10 @@ static int __intel_open_device__legacy(c
150 "pci:%04x:%02x:%02x.%d",
151 pci->domain, pci->bus, pci->dev, pci->func);
153 +#if defined(__DragonFly__)
154 + /* assume modesetting for i915, allow multiple loads and no fbcon */
155 + load_i915_kernel_module();
157 ret = drmCheckModesettingSupported(id);
159 if (load_i915_kernel_module() == 0)
160 @@ -433,6 +440,7 @@ static int __intel_open_device__legacy(c
161 /* Be nice to the user and load fbcon too */
162 (void)xf86LoadKernelModule("fbcon");
166 return fd_set_nonblock(drmOpen(NULL, id));
170 [FILE:948:dragonfly/patch-src_sna_kgem.c]
171 --- src/sna/kgem.c.orig 2017-09-27 18:01:05 UTC
177 +#define _WITH_GETLINE /* to expose getline() in stdio.h on FreeBSD */
178 +#include <stdio.h> /* for getline() */
183 @@ -70,7 +73,7 @@ search_snoop_cache(struct kgem *kgem, un
184 #define DBG_NO_CREATE2 0
185 #define DBG_NO_USERPTR 0
186 #define DBG_NO_UNSYNCHRONIZED_USERPTR 0
187 -#define DBG_NO_LLC 0
188 +#define DBG_NO_LLC 1
189 #define DBG_NO_SEMAPHORES 0
190 #define DBG_NO_MADV 0
191 #define DBG_NO_UPLOAD_CACHE 0
192 @@ -3299,7 +3302,9 @@ bool __kgem_ring_is_idle(struct kgem *kg
194 struct kgem_request *tmp;
196 - if (__kgem_busy(kgem, rq->bo->handle)) {
197 + if (rq->bo == NULL)
198 + fprintf(stderr, "__kgem_ring_is_idle: rq->bo == NULL\n");
199 + if (rq->bo && __kgem_busy(kgem, rq->bo->handle)) {
200 DBG(("%s: last fence handle=%d still busy\n",
201 __FUNCTION__, rq->bo->handle));
205 [FILE:284:dragonfly/patch-src_sna_sna__threads.c]
206 --- src/sna/sna_threads.c.orig 2017-09-27 18:01:05 UTC
207 +++ src/sna/sna_threads.c
212 +#define _WITH_GETLINE /* to expose getline() in stdio.h on FreeBSD */
213 +#include <stdio.h> /* for getline() */
220 [FILE:944:freebsd/patch-src_intel__device.c]
221 i915 does not use hw.dri.0.busid
222 so simplify to basics.
224 --- src/intel_device.c.orig 2017-09-27 18:01:05 UTC
225 +++ src/intel_device.c
230 +#define _WITH_GETLINE /* to expose getline() in stdio.h on FreeBSD */
231 +#include <stdio.h> /* for getline() */
233 #include <sys/types.h>
234 #include <sys/stat.h>
236 @@ -424,6 +427,10 @@ static int __intel_open_device__legacy(c
237 "pci:%04x:%02x:%02x.%d",
238 pci->domain, pci->bus, pci->dev, pci->func);
240 +#if defined(__DragonFly__)
241 + /* assume modesetting for i915, allow multiple loads and no fbcon */
242 + load_i915_kernel_module();
244 ret = drmCheckModesettingSupported(id);
246 if (load_i915_kernel_module() == 0)
247 @@ -433,6 +440,7 @@ static int __intel_open_device__legacy(c
248 /* Be nice to the user and load fbcon too */
249 (void)xf86LoadKernelModule("fbcon");
253 return fd_set_nonblock(drmOpen(NULL, id));
257 [FILE:948:freebsd/patch-src_sna_kgem.c]
258 --- src/sna/kgem.c.orig 2017-09-27 18:01:05 UTC
264 +#define _WITH_GETLINE /* to expose getline() in stdio.h on FreeBSD */
265 +#include <stdio.h> /* for getline() */
270 @@ -70,7 +73,7 @@ search_snoop_cache(struct kgem *kgem, un
271 #define DBG_NO_CREATE2 0
272 #define DBG_NO_USERPTR 0
273 #define DBG_NO_UNSYNCHRONIZED_USERPTR 0
274 -#define DBG_NO_LLC 0
275 +#define DBG_NO_LLC 1
276 #define DBG_NO_SEMAPHORES 0
277 #define DBG_NO_MADV 0
278 #define DBG_NO_UPLOAD_CACHE 0
279 @@ -3299,7 +3302,9 @@ bool __kgem_ring_is_idle(struct kgem *kg
281 struct kgem_request *tmp;
283 - if (__kgem_busy(kgem, rq->bo->handle)) {
284 + if (rq->bo == NULL)
285 + fprintf(stderr, "__kgem_ring_is_idle: rq->bo == NULL\n");
286 + if (rq->bo && __kgem_busy(kgem, rq->bo->handle)) {
287 DBG(("%s: last fence handle=%d still busy\n",
288 __FUNCTION__, rq->bo->handle));
292 [FILE:284:freebsd/patch-src_sna_sna__threads.c]
293 --- src/sna/sna_threads.c.orig 2017-09-27 18:01:05 UTC
294 +++ src/sna/sna_threads.c
299 +#define _WITH_GETLINE /* to expose getline() in stdio.h on FreeBSD */
300 +#include <stdio.h> /* for getline() */