mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-26 00:05:58 +03:00
[PR #294] [MERGED] Add macOS support #1457
Labels
No labels
Bloodborne
bug
contributor wanted
documentation
enhancement
frontend
good first issue
help wanted
linux
pull-request
question
release
verification progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/shadPS4#1457
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/shadps4-emu/shadPS4/pull/294
Author: @squidbus
Created: 7/15/2024
Status: ✅ Merged
Merged: 7/21/2024
Merged by: @raphaelthegreat
Base:
main← Head:main📝 Commits (10+)
3d572a6Add initial macOS support.7e25149Fix one-off bug with user data registers.f40d3c2Migrate TLS patches to new patching system.2a72b9aDowngrade Vulkan requirement to 1.2 with extensions.a50e118Add fallback system for unsupported pixel formats.0009c7cRemap SDL face buttons to be usable without a keypad.29077ebAdd GitHub Actions workflows for macOS.0aded5cSet minimum macOS target to 11 and fix compile errors.3def73bTidy up Vulkan extension list.65c54bfChange format list from vector to array/span.📊 Changes
44 files changed (+1168 additions, -236 deletions)
View changed files
➕
.github/workflows/macos-qt.yml(+63 -0)➕
.github/workflows/macos.yml(+56 -0)📝
.gitmodules(+3 -0)📝
CMakeLists.txt(+31 -1)📝
externals/CMakeLists.txt(+7 -0)➕
externals/date(+1 -0)📝
src/common/path_util.cpp(+35 -0)📝
src/common/thread.cpp(+1 -0)📝
src/core/address_space.cpp(+116 -22)📝
src/core/address_space.h(+42 -10)➕
src/core/cpu_patches.cpp(+407 -0)➕
src/core/cpu_patches.h(+15 -0)📝
src/core/libraries/gnmdriver/gnmdriver.cpp(+6 -5)📝
src/core/libraries/kernel/event_flag/event_flag_obj.cpp(+2 -1)📝
src/core/libraries/kernel/event_queue.cpp(+1 -0)📝
src/core/libraries/kernel/libkernel.cpp(+10 -1)📝
src/core/libraries/kernel/memory_management.cpp(+6 -1)📝
src/core/libraries/kernel/thread_management.cpp(+35 -1)📝
src/core/libraries/kernel/threads/keys.cpp(+4 -1)📝
src/core/libraries/kernel/time_management.cpp(+1 -0)...and 24 more files
📄 Description
Adds basic support for macOS. Currently requires a minimum of macOS 11 for Intel Macs, and macOS 15 for M series Macs for the AVX support added to Rosetta 2.
Summary of changes:
std::chrono::time_zonememfd_createand inability to map to the desired fixed locationSIGBUSfor the texture cache signal handler instead ofSIGSEGVpthread_mutex_timedlockpolyfill when unavailableUpdated TLS patches are not fully tested on other platforms as I'm not currently set up to do so.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.