summaryrefslogtreecommitdiff
path: root/graphics/mesa-devel/files/patch-userptr
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2022-09-03 20:27:51 +0000
committerJan Beich <jbeich@FreeBSD.org>2022-09-04 09:05:50 +0000
commitb7e360bd9feea772d908a8d5f91af121500d190c (patch)
tree5af15019f254dfeceb1e84b5dd83a4d973536c97 /graphics/mesa-devel/files/patch-userptr
parentx11-servers/xwayland-devel: update to 21.0.99.1.272 (diff)
graphics/mesa-devel: update to 22.2.b.1696
Changes: https://gitlab.freedesktop.org/mesa/mesa/-/compare/d3642a0e027...a03ce740bbb
Diffstat (limited to '')
-rw-r--r--graphics/mesa-devel/files/patch-userptr24
1 files changed, 24 insertions, 0 deletions
diff --git a/graphics/mesa-devel/files/patch-userptr b/graphics/mesa-devel/files/patch-userptr
index f73abcd5d1ed..409833b38ba5 100644
--- a/graphics/mesa-devel/files/patch-userptr
+++ b/graphics/mesa-devel/files/patch-userptr
@@ -73,3 +73,27 @@ https://github.com/FreeBSDDesktop/kms-drm/issues/197
return userptr.handle;
}
+--- src/intel/vulkan_hasvk/anv_gem.c.orig 2022-09-03 20:27:51 UTC
++++ src/intel/vulkan_hasvk/anv_gem.c
+@@ -179,9 +179,19 @@ anv_gem_userptr(struct anv_device *device, void *mem,
+ if (device->physical->has_userptr_probe)
+ userptr.flags |= I915_USERPTR_PROBE;
+
+- int ret = intel_ioctl(device->fd, DRM_IOCTL_I915_GEM_USERPTR, &userptr);
+- if (ret == -1)
++ int ret;
++retry:
++ ret = intel_ioctl(device->fd, DRM_IOCTL_I915_GEM_USERPTR, &userptr);
++ if (ret == -1) {
++ if (errno == ENODEV && userptr.flags == 0) {
++ userptr.flags = I915_USERPTR_UNSYNCHRONIZED;
++ goto retry;
++ }
++ if (geteuid() != 0) {
++ fprintf(stderr, "%s", "ioctl(I915_GEM_USERPTR) failed. Try running as root but expect poor stability.\n");
++ }
+ return 0;
++ }
+
+ return userptr.handle;
+ }