Browse Source

fix macos shenanigans

liz-dynarmic-macos-fbsd-port
lizzie 4 weeks ago
committed by Caio Oliveira
parent
commit
291b82c7b7
No known key found for this signature in database GPG Key ID: 362DA3DC1901E080
  1. 9
      src/common/host_memory.cpp
  2. 3
      src/video_core/vulkan_common/vk_enum_string_helper.h

9
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));
}

3
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 <vulkan/vk_enum_string_helper.h>
Loading…
Cancel
Save