Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MAC - Apple Silicon/aarch64 support? #418

Closed
MaddTheSane opened this issue Jan 19, 2021 · 2 comments
Closed

MAC - Apple Silicon/aarch64 support? #418

MaddTheSane opened this issue Jan 19, 2021 · 2 comments
Assignees
Labels

Comments

@MaddTheSane
Copy link
Contributor

Attempting to hack together something that will build natively on Apple Silicon, the arm_arm JIT fails to build, mainly consisting of errors such as "Cast from pointer to smaller type 'uint32_t' (aka 'unsigned int') loses information".

@zeromus
Copy link
Contributor

zeromus commented Jan 20, 2021

the mac port is abandoned. Unless you're adopting it, nothing's going to happen.

@zeromus zeromus added the mac label Jan 21, 2021
@zeromus zeromus changed the title Apple Silicon/aarch64 support? MAC: Apple Silicon/aarch64 support? Jan 21, 2021
@zeromus zeromus changed the title MAC: Apple Silicon/aarch64 support? MAC - Apple Silicon/aarch64 support? Jan 21, 2021
@rogerman rogerman self-assigned this Apr 3, 2022
@rogerman
Copy link
Collaborator

rogerman commented Apr 3, 2022

As of commit e9b3998, new build targets for Apple Silicon have been added to the "DeSmuME (Latest).xcodeproj" file. There are quite a few new build targets, but here's what the Apple Silicon related ones do.

DeSmuME (macOS App; AppleSilicon -- Latest Xcode): Makes an optimized build of DeSmuME.app with a native arm64 binary using the Big Sur 11.0 SDK, and so requires Xcode 12.2 or later. Both Debug and Release builds are considered developer-oriented builds that run closely to what the typical user will run in the Final Release build.

DeSmuME (macOS App; AppleSilicon dev+ -- Latest Xcode): Makes a not-so-optimized build of DeSmuME.app with a native arm64 binary using the Big Sur 11.0 SDK, and so requires Xcode 12.2 or later. Debug builds are completely unoptimized (-O0 flag), but include all of the console messages, debugging flags, GDB stub, and extra developer options in the Tools menu. Debug builds are the preferred way to run DeSmuME when you need to step through the code. Release builds are the same as Debug builds, but includes some optimizations and reduces the amount of console messages that you'll see. Release builds are easier to use if you are a GDB stub user. Both Debug and Release builds are considered deep developer builds that few users will actually use, but includes those extra developer options for people like us.

DeSmuME (macOS App; Release Stage Final AppleSilicon -- Latest Xcode): This build is only intended for final releases, where the arm64 binary will be combined with all of the other release binaries through lipo. Although the required SDK is 10.9, this build should only be made with the latest Xcode, which is v13.3 as of this writing. It contains very few debugging and special developer features, but has full optimizations enabled for best performance.

I'm pretty sure this issue has to do with simply providing native arm64 builds for the Cocoa port. Commit e9b3998 does just that, and so I consider this issue closed. If this issue is asking for native arm64 builds with all of the SIMD optimizations, I consider those SIMD optimizations beyond the scope of this issue. However, I am working on adding said SIMD optimizations (just got an M1 iMac, and so I'm curious to see how far I can push it!), so please see commits 7e85253 and 9ccc791 for more details.

@rogerman rogerman closed this as completed Apr 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants