summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--x11-drivers/xf86-video-intel/Makefile1
-rw-r--r--x11-drivers/xf86-video-intel/files/patch-src_sna_kgem.c24
2 files changed, 25 insertions, 0 deletions
diff --git a/x11-drivers/xf86-video-intel/Makefile b/x11-drivers/xf86-video-intel/Makefile
index 08a3ba6d4856..ff1b17eed08a 100644
--- a/x11-drivers/xf86-video-intel/Makefile
+++ b/x11-drivers/xf86-video-intel/Makefile
@@ -3,6 +3,7 @@
PORTNAME= xf86-video-intel
DISTVERSION= 2.99.917-916
DISTVERSIONSUFFIX= -g${GL_COMMIT:C/(.{12}).*/\1/}
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= x11-drivers
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
new file mode 100644
index 000000000000..f71962e56a63
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/patch-src_sna_kgem.c
@@ -0,0 +1,24 @@
+--- src/sna/kgem.c.orig 2021-01-15 20:59:05 UTC
++++ src/sna/kgem.c
+@@ -1189,13 +1189,18 @@ static int gem_param(struct kgem *kgem, int name)
+ static bool test_has_execbuffer2(struct kgem *kgem)
+ {
+ struct drm_i915_gem_execbuffer2 execbuf;
++ int ret;
+
+ memset(&execbuf, 0, sizeof(execbuf));
+ execbuf.buffer_count = 1;
+
+- return do_ioctl(kgem->fd,
+- DRM_IOCTL_I915_GEM_EXECBUFFER2,
+- &execbuf) == -EFAULT;
++ ret = do_ioctl(kgem->fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf);
++#ifdef __FreeBSD__
++ /* XXX FreeBSD returns ENOENT instead of EFAULT. */
++ if (ret == -ENOENT)
++ return true;
++#endif
++ return ret == -EFAULT;
+ }
+
+ static bool test_has_no_reloc(struct kgem *kgem)