diff options
author | Jan Beich <jbeich@FreeBSD.org> | 2021-03-07 02:07:48 +0000 |
---|---|---|
committer | Jan Beich <jbeich@FreeBSD.org> | 2021-03-07 02:07:48 +0000 |
commit | 0bce41447ee7a7f32603a80549c58ca31f2d617f (patch) | |
tree | 7c6ba6eb2af8b5ad5ef7b22ed7ea278b6a0f0304 | |
parent | 1a81b84b6ff4d5da7ceb7f834fe0501f68e56075 (diff) | |
download | ports-0bce41447ee7a7f32603a80549c58ca31f2d617f.tar.gz ports-0bce41447ee7a7f32603a80549c58ca31f2d617f.zip |
MFH: r567534
emulators/rpcs3: unbreak Vulkan on Intel after r562625
ioctl(I915_GEM_USERPTR) failed. Try running as root but expect poor stability.
F {RSX [0x000255c]} SIG: Thread terminated due to fatal error: Assertion Failed! Vulkan API call failed with unrecoverable error: Invalid external handle (VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR)
(in file rpcs3/Emu/RSX/VK/vkutils/memory.cpp:224[:79], in function memory_block_host) (errno=1)
(in file rpcs3/Emu/RSX/VK/vkutils/shared.cpp:103[:4], in function die_with_error) (errno=1)
Notes
Notes:
svn path=/branches/2021Q1/; revision=567535
-rw-r--r-- | emulators/rpcs3/Makefile | 1 | ||||
-rw-r--r-- | emulators/rpcs3/files/patch-userptr | 15 |
2 files changed, 16 insertions, 0 deletions
diff --git a/emulators/rpcs3/Makefile b/emulators/rpcs3/Makefile index a87d0be945a0..2209c7efd5ec 100644 --- a/emulators/rpcs3/Makefile +++ b/emulators/rpcs3/Makefile @@ -4,6 +4,7 @@ PORTNAME= rpcs3 DISTVERSIONPREFIX= v DISTVERSION= 0.0.15-11838 # git rev-list --count HEAD DISTVERSIONSUFFIX= -g8e4451d1a +PORTREVISION= 1 CATEGORIES= emulators MAINTAINER= jbeich@FreeBSD.org diff --git a/emulators/rpcs3/files/patch-userptr b/emulators/rpcs3/files/patch-userptr new file mode 100644 index 000000000000..e090db6880d2 --- /dev/null +++ b/emulators/rpcs3/files/patch-userptr @@ -0,0 +1,15 @@ +VK_EXT_external_memory_host depends on userptr, so disable on Intel until +https://github.com/FreeBSDDesktop/kms-drm/issues/197 + +--- rpcs3/Emu/RSX/VK/VKDMA.cpp.orig 2021-02-28 23:32:23 UTC ++++ rpcs3/Emu/RSX/VK/VKDMA.cpp +@@ -264,7 +264,8 @@ namespace vk + true; + #else + // Anything running on AMDGPU kernel driver will not work due to the check for fd-backed memory allocations +- const bool allow_host_buffers = (vendor != driver_vendor::AMD && vendor != driver_vendor::RADV); ++ // Intel userptr on non-Linux may not work or require root ++ const bool allow_host_buffers = (vendor != driver_vendor::AMD && vendor != driver_vendor::RADV && vendor != driver_vendor::INTEL); + #endif + if (allow_host_buffers && g_render_device->get_external_memory_host_support()) + { |