diff options
author | Jan Beich <jbeich@FreeBSD.org> | 2021-03-07 02:06:51 +0000 |
---|---|---|
committer | Jan Beich <jbeich@FreeBSD.org> | 2021-03-07 02:06:51 +0000 |
commit | b8c1cb4ca5269441f4ba7d3828268f9099f702a9 (patch) | |
tree | b8e9fc8a17348ef8b429e5c7d13687f5e352e608 /emulators | |
parent | a684c3633026ac0f0bec491e2282f97d3e91590f (diff) | |
download | ports-b8c1cb4ca5269441f4ba7d3828268f9099f702a9.tar.gz ports-b8c1cb4ca5269441f4ba7d3828268f9099f702a9.zip |
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=/head/; revision=567534
Diffstat (limited to 'emulators')
-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 a6089a5a2913..40b2a8df0477 100644 --- a/emulators/rpcs3/Makefile +++ b/emulators/rpcs3/Makefile @@ -4,6 +4,7 @@ PORTNAME= rpcs3 DISTVERSIONPREFIX= v DISTVERSION= 0.0.15-11892 # git rev-list --count HEAD DISTVERSIONSUFFIX= -g3ae7debc1 +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()) + { |