1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
3 NAMEBASE= xorg-driver-video-intel
4 VERSION= 2.99.917.20181203
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]= e5ff8e1828f97891c819c919d7115c6e18b2eb1f.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= xorgproto pciaccess pixman x11 xcb xext xrender xv
34 DISTNAME= e5ff8e1828f97891c819c919d7115c6e18b2eb1f
37 LICENSE_FILE= MIT:{{WRKSRC}}/COPYING
40 CPE_PRODUCT= xf86-video-intel
42 FPC_EQUIVALENT= x11-drivers/xf86-video-intel
46 INSTALL_TARGET= install-strip
48 CFLAGS= -Wunused-but-set-variable
50 [SNA].DESCRIPTION= SandyBridge's New Acceleration
51 [SNA].CONFIGURE_ARGS_ON= --with-default-accel=sna
53 [UXA].DESCRIPTION= Unified Acceleration Architecture
54 [UXA].CONFIGURE_ARGS_ON= --with-default-accel=uxa
57 # Broken by political correctness
59 -e 's|slave_dst|secondary_dst|g' \
60 -e 's|master_pixmap|primary_pixmap|g' \
61 ${WRKSRC}/src/sna/sna_accel.c \
62 ${WRKSRC}/src/uxa/intel_driver.c
64 pre-configure-dragonfly:
65 # Prefer to use dfly specific sigjmp_buf for less errors
66 ${REINPLACE_CMD} -e 's|jmp_buf |sigjmp_buf |g' \
67 ${WRKSRC}/src/sna/sna.h \
68 ${WRKSRC}/src/sna/sna_accel.c
70 [FILE:531:descriptions/desc.single]
71 The xf86-video-intel module is an open-source 2D graphics driver for
72 the X Window System as implemented by X.org. It supports a variety of
73 Intel graphics chipsets including:
75 i810/i810e/i810-dc100,i815,
76 i830M,845G,852GM,855GM,865G,
77 915G/GM,945G/GM/GME,946GZ
79 G/Q33,G/Q35,G41,G/Q43,G/GM/Q45
80 PineView-M (Atom N400 series)
81 PineView-D (Atom D400/D500 series)
83 Intel(R) Iris(TM) Graphics,
84 Intel(R) Iris(TM) Pro Graphics.
88 298cb9bec0108f96cbf38d9ce802625b125c720cf0c5723e0410dc12b50496fd 954764 e5ff8e1828f97891c819c919d7115c6e18b2eb1f.tar.xz
91 [FILE:324:manifests/plist.single]
92 %%ONLY-LINUX%%libexec/xf86-video-intel-backlight-helper
93 %%ONLY-LINUX%%share/polkit-1/actions/org.x.xf86-video-intel.backlight-helper.policy
100 libIntelXvMC.so.1.0.0
101 lib/xorg/modules/drivers/intel_drv.so
102 share/man/man4/intel.4.gz
105 [FILE:1594:patches/patch-src_intel__list.h]
106 --- src/intel_list.h.orig 2018-12-03 09:01:25 UTC
108 @@ -305,8 +305,6 @@ list_is_empty(const struct list *head)
109 #define list_last_entry(ptr, type, member) \
110 list_entry((ptr)->prev, type, member)
112 -#define __container_of(ptr, sample, member) \
113 - (void *)((char *)(ptr) - ((char *)&(sample)->member - (char *)(sample)))
115 * Loop through the list given by head and set pos to struct in the list.
117 @@ -325,12 +323,12 @@ list_is_empty(const struct list *head)
120 #define list_for_each_entry(pos, head, member) \
121 - for (pos = __container_of((head)->next, pos, member); \
122 + for (pos = NULL, pos = __container_of((head)->next, pos, member); \
123 &pos->member != (head); \
124 pos = __container_of(pos->member.next, pos, member))
126 -#define list_for_each_entry_reverse(pos, head, member) \
127 - for (pos = __container_of((head)->prev, pos, member); \
128 +#define list_for_each_entry_reverse(pos, head, member) \
129 + for (pos = NULL, pos = __container_of((head)->prev, pos, member); \
130 &pos->member != (head); \
131 pos = __container_of(pos->member.prev, pos, member))
133 @@ -342,7 +340,7 @@ list_is_empty(const struct list *head)
134 * See list_for_each_entry for more details.
136 #define list_for_each_entry_safe(pos, tmp, head, member) \
137 - for (pos = __container_of((head)->next, pos, member), \
138 + for (pos = NULL, pos = __container_of((head)->next, pos, member), \
139 tmp = __container_of(pos->member.next, pos, member); \
140 &pos->member != (head); \
141 pos = tmp, tmp = __container_of(pos->member.next, tmp, member))
144 [FILE:311:patches/patch-src_legacy_i810_i810.h]
145 --- src/legacy/i810/i810.h.orig 2018-12-03 09:01:25 UTC
146 +++ src/legacy/i810/i810.h
147 @@ -322,6 +322,5 @@ extern void I810InitMC(ScreenPtr pScreen
148 extern const OptionInfoRec *I810AvailableOptions(int chipid, int busid);
150 extern const int I810CopyROP[16];
151 -const int I810PatternROP[16];
153 #endif /* _I810_H_ */
156 [FILE:433:patches/patch-src_sna_sna__video.c]
157 sna_video.c:62:10: fatal error: 'byteswap.h' file not found
158 #include <byteswap.h>
161 --- src/sna/sna_video.c.orig 2018-12-03 09:01:25 UTC
162 +++ src/sna/sna_video.c
164 #include "intel_options.h"
167 +#if defined(__linux__) || defined(__GLIBC__)
168 #include <byteswap.h>
170 +#include <sys/endian.h>
171 +#define bswap_32 bswap32
175 #define _SNA_XVMC_SERVER_
178 [FILE:944:dragonfly/patch-src_intel__device.c]
179 i915 does not use hw.dri.0.busid
180 so simplify to basics.
182 --- src/intel_device.c.orig 2018-12-03 09:01:25 UTC
183 +++ src/intel_device.c
188 +#define _WITH_GETLINE /* to expose getline() in stdio.h on FreeBSD */
189 +#include <stdio.h> /* for getline() */
191 #include <sys/types.h>
192 #include <sys/stat.h>
194 @@ -424,6 +427,10 @@ static int __intel_open_device__legacy(c
195 "pci:%04x:%02x:%02x.%d",
196 pci->domain, pci->bus, pci->dev, pci->func);
198 +#if defined(__DragonFly__)
199 + /* assume modesetting for i915, allow multiple loads and no fbcon */
200 + load_i915_kernel_module();
202 ret = drmCheckModesettingSupported(id);
204 if (load_i915_kernel_module() == 0)
205 @@ -433,6 +440,7 @@ static int __intel_open_device__legacy(c
206 /* Be nice to the user and load fbcon too */
207 (void)xf86LoadKernelModule("fbcon");
211 return fd_set_nonblock(drmOpen(NULL, id));
215 [FILE:958:dragonfly/patch-src_sna_kgem.c]
216 --- src/sna/kgem.c.orig 2018-12-03 09:01:25 UTC
222 +#define _WITH_GETLINE /* to expose getline() in stdio.h on FreeBSD */
223 +#include <stdio.h> /* for getline() */
228 @@ -71,7 +74,7 @@ search_snoop_cache(struct kgem *kgem, un
229 #define DBG_NO_USERPTR 0
230 #define DBG_NO_UNSYNCHRONIZED_USERPTR 0
231 #define DBG_NO_COHERENT_MMAP_GTT 0
232 -#define DBG_NO_LLC 0
233 +#define DBG_NO_LLC 1
234 #define DBG_NO_SEMAPHORES 0
235 #define DBG_NO_MADV 0
236 #define DBG_NO_UPLOAD_CACHE 0
237 @@ -3313,7 +3316,9 @@ bool __kgem_ring_is_idle(struct kgem *kg
239 struct kgem_request *tmp;
241 - if (__kgem_busy(kgem, rq->bo->handle)) {
242 + if (rq->bo == NULL)
243 + fprintf(stderr, "__kgem_ring_is_idle: rq->bo == NULL\n");
244 + if (rq->bo && __kgem_busy(kgem, rq->bo->handle)) {
245 DBG(("%s: last fence handle=%d still busy\n",
246 __FUNCTION__, rq->bo->handle));
250 [FILE:284:dragonfly/patch-src_sna_sna__threads.c]
251 --- src/sna/sna_threads.c.orig 2018-12-03 09:01:25 UTC
252 +++ src/sna/sna_threads.c
257 +#define _WITH_GETLINE /* to expose getline() in stdio.h on FreeBSD */
258 +#include <stdio.h> /* for getline() */
265 [FILE:944:freebsd/patch-src_intel__device.c]
266 i915 does not use hw.dri.0.busid
267 so simplify to basics.
269 --- src/intel_device.c.orig 2018-12-03 09:01:25 UTC
270 +++ src/intel_device.c
275 +#define _WITH_GETLINE /* to expose getline() in stdio.h on FreeBSD */
276 +#include <stdio.h> /* for getline() */
278 #include <sys/types.h>
279 #include <sys/stat.h>
281 @@ -424,6 +427,10 @@ static int __intel_open_device__legacy(c
282 "pci:%04x:%02x:%02x.%d",
283 pci->domain, pci->bus, pci->dev, pci->func);
285 +#if defined(__DragonFly__)
286 + /* assume modesetting for i915, allow multiple loads and no fbcon */
287 + load_i915_kernel_module();
289 ret = drmCheckModesettingSupported(id);
291 if (load_i915_kernel_module() == 0)
292 @@ -433,6 +440,7 @@ static int __intel_open_device__legacy(c
293 /* Be nice to the user and load fbcon too */
294 (void)xf86LoadKernelModule("fbcon");
298 return fd_set_nonblock(drmOpen(NULL, id));
302 [FILE:958:freebsd/patch-src_sna_kgem.c]
303 --- src/sna/kgem.c.orig 2018-12-03 09:01:25 UTC
309 +#define _WITH_GETLINE /* to expose getline() in stdio.h on FreeBSD */
310 +#include <stdio.h> /* for getline() */
315 @@ -71,7 +74,7 @@ search_snoop_cache(struct kgem *kgem, un
316 #define DBG_NO_USERPTR 0
317 #define DBG_NO_UNSYNCHRONIZED_USERPTR 0
318 #define DBG_NO_COHERENT_MMAP_GTT 0
319 -#define DBG_NO_LLC 0
320 +#define DBG_NO_LLC 1
321 #define DBG_NO_SEMAPHORES 0
322 #define DBG_NO_MADV 0
323 #define DBG_NO_UPLOAD_CACHE 0
324 @@ -3313,7 +3316,9 @@ bool __kgem_ring_is_idle(struct kgem *kg
326 struct kgem_request *tmp;
328 - if (__kgem_busy(kgem, rq->bo->handle)) {
329 + if (rq->bo == NULL)
330 + fprintf(stderr, "__kgem_ring_is_idle: rq->bo == NULL\n");
331 + if (rq->bo && __kgem_busy(kgem, rq->bo->handle)) {
332 DBG(("%s: last fence handle=%d still busy\n",
333 __FUNCTION__, rq->bo->handle));
337 [FILE:284:freebsd/patch-src_sna_sna__threads.c]
338 --- src/sna/sna_threads.c.orig 2018-12-03 09:01:25 UTC
339 +++ src/sna/sna_threads.c
344 +#define _WITH_GETLINE /* to expose getline() in stdio.h on FreeBSD */
345 +#include <stdio.h> /* for getline() */