From 291b82c7b768e5da05bcdaf3bc4ca1ca16ca3956 Mon Sep 17 00:00:00 2001 From: lizzie Date: Sun, 30 Nov 2025 20:36:53 +0000 Subject: [PATCH] fix macos shenanigans --- src/common/host_memory.cpp | 9 ++++++++- src/video_core/vulkan_common/vk_enum_string_helper.h | 3 +++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/common/host_memory.cpp b/src/common/host_memory.cpp index eebb88de29..9a18e8ecf4 100644 --- a/src/common/host_memory.cpp +++ b/src/common/host_memory.cpp @@ -625,7 +625,14 @@ public: prot_flags |= PROT_EXEC; #endif int flags = (fd > 0 ? MAP_SHARED : MAP_PRIVATE) | MAP_FIXED; - void* ret = mmap(virtual_base + virtual_offset, length, prot_flags, flags, fd, host_offset); + + u8* addr = virtual_base + virtual_offset; +#ifdef __APPLE__ + // The way Steve Jobs intended + addr = (void*)trunc_page(u64(addr)); + length = round_page(length); +#endif + void* ret = mmap(addr, length, prot_flags, flags, fd, host_offset); ASSERT_MSG(ret != MAP_FAILED, "mmap: {}", strerror(errno)); } diff --git a/src/video_core/vulkan_common/vk_enum_string_helper.h b/src/video_core/vulkan_common/vk_enum_string_helper.h index a1515814c6..8e8f01dc47 100644 --- a/src/video_core/vulkan_common/vk_enum_string_helper.h +++ b/src/video_core/vulkan_common/vk_enum_string_helper.h @@ -5,4 +5,7 @@ #include "video_core/vulkan_common/vulkan.h" +#if defined(__APPLE__) && !defined(VK_STRUCTURE_TYPE_OH_SURFACE_CREATE_INFO_OHOS) +# define VK_STRUCTURE_TYPE_OH_SURFACE_CREATE_INFO_OHOS VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS +#endif #include