diff options
Diffstat (limited to 'x11-drivers/xf86-video-intel/files/patch-src_sna_kgem.c')
| -rw-r--r-- | x11-drivers/xf86-video-intel/files/patch-src_sna_kgem.c | 24 |
1 files changed, 24 insertions, 0 deletions
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) |
