-
Notifications
You must be signed in to change notification settings - Fork 684
General aarch64 improvements & Apple Silicon support #1255
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
Open
exverge-0
wants to merge
53
commits into
cemu-project:main
Choose a base branch
from
exverge-0:macos-arm64
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+405
−32
Open
Changes from 51 commits
Commits
Show all changes
53 commits
Select commit
Hold shift + click to select a range
08630f5
CI: Add macOS arm64 build
exverge-0 d2a9c31
ih264d: Modify to compile with AppleClang & for M1
exverge-0 5a3f864
When compiling for Apple Silicon, CMAKE_SYSTEM_PROCESSOR is set to ar…
exverge-0 dc1dc44
MMU: Align pre-core memory space for 16kib page size
exverge-0 6786bca
Implement _mm_mfence for aarch64
exverge-0 72af6e8
Hardcode frequency on Apple Silicon
exverge-0 011be25
coreinit: Split pointer before passing to FiberThreadEntry
exverge-0 e81a592
gui: Fix missing item on macOS
exverge-0 f4b59c9
Latte: Disable blending integer formats
exverge-0 b2330b3
Use interpreter on arm64 by default
exverge-0 f24fc3e
MMU: Make HIGHMEM address conditional
exverge-0 e6e65af
gx2: Use atomic pointers for GX2WriteGatherPipeState
exverge-0 10bed1a
Latte: decode indices with NEON on aarch64
exverge-0 804aa4f
ih264d: Process arguments correctly on Apple Silicon
exverge-0 005e78b
Set macOS frequency constant for Intel
exverge-0 4baad7c
CI: Use AppleClang for arm64
exverge-0 7037337
gui: don't use 1 as itemid
exverge-0 0760d3e
Update BUILD.md
exverge-0 b853614
Merge branch 'cemu-project:main' into macos-arm64
exverge-0 d25f8da
ih264: fix comment formatting
exverge-0 ca2a9ff
Merge remote-tracking branch 'base/main' into macos-arm64
exverge-0 a393ee8
Fix build errors
exverge-0 4700a19
Revert alignment of HIGHMEM
exverge-0 3795fc0
MemMapper: Support alternative pagesizes
exverge-0 118d1c6
Update BUILD.md
exverge-0 6b6a538
Update build.yml
exverge-0 d73c589
MemMapper: don't change address on non-reserved mappings
exverge-0 b30a6b0
Add suggested changes
exverge-0 86b477a
Revert "Update build.yml"
exverge-0 ee7c08e
Latte : Temporarily disable blending for integer format color attachm…
exverge-0 6290c19
Revert "cmake: Fix compiling for Apple Silicon"
exverge-0 62339c0
Partially revert "ih264d: Modify to compile with AppleClang & for M1"
exverge-0 1ff1127
Revert "Update BUILD.md"
exverge-0 7120ec9
Merge remote-tracking branch 'base/main' into macos-arm64
exverge-0 0924e11
update ih264d macros
exverge-0 c147d4f
Revert integer format color attachment fix
exverge-0 8d507d0
fix compiling bundle on arm64 macOS
exverge-0 fed7605
Merge branch 'main' into macos-arm64
exverge-0 498cbc4
fix unnesscary formatting changes
exverge-0 99378f1
fix compiling on x64
exverge-0 0f31612
Add macOS arm64 workflow
exverge-0 2ccb5dd
fix CI on windows
exverge-0 0e48f86
Update ih264_deblk_edge_filters.h
exverge-0 0ac296d
Update ih264_intra_pred_filters.h
exverge-0 3a3710d
Correctly deal with preceding underscore on macOS
exverge-0 cee2195
Revert "gx2: Use atomic pointers for GX2WriteGatherPipeState"
exverge-0 66587cb
Merge remote-tracking branch 'base/main' into macos-arm64
exverge-0 2a022ab
Add suggested changes
exverge-0 562522f
Enable aarch64 recompiler on Apple
exverge-0 8f2ede4
Fix compiling on x64 mac
exverge-0 5260fb2
Add suggested changes
exverge-0 036ec85
Fix misleading comments in ih264d asm
exverge-0 1d27769
Look for libMoltenVK.dylib in /opt/homebrew as well
exverge-0 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
185 changes: 185 additions & 0 deletions
185
dependencies/ih264d/common/armv8/macos_arm_symbol_aliases.s
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,185 @@ | ||
// macOS clang compilers append preceding underscores to function names, this is to prevent | ||
// mismatches with the assembly function names and the C functions as defined in the header. | ||
|
||
.global _ih264_deblk_chroma_horz_bs4_av8 | ||
_ih264_deblk_chroma_horz_bs4_av8 = ih264_deblk_chroma_horz_bs4_av8 | ||
|
||
.global _ih264_deblk_chroma_horz_bslt4_av8 | ||
_ih264_deblk_chroma_horz_bslt4_av8 = ih264_deblk_chroma_horz_bslt4_av8 | ||
|
||
.global _ih264_deblk_chroma_vert_bs4_av8 | ||
_ih264_deblk_chroma_vert_bs4_av8 = ih264_deblk_chroma_vert_bs4_av8 | ||
|
||
.global _ih264_deblk_chroma_vert_bslt4_av8 | ||
_ih264_deblk_chroma_vert_bslt4_av8 = ih264_deblk_chroma_vert_bslt4_av8 | ||
|
||
.global _ih264_deblk_luma_horz_bs4_av8 | ||
_ih264_deblk_luma_horz_bs4_av8 = ih264_deblk_luma_horz_bs4_av8 | ||
|
||
.global _ih264_deblk_luma_horz_bslt4_av8 | ||
_ih264_deblk_luma_horz_bslt4_av8 = ih264_deblk_luma_horz_bslt4_av8 | ||
|
||
.global _ih264_deblk_luma_vert_bs4_av8 | ||
_ih264_deblk_luma_vert_bs4_av8 = ih264_deblk_luma_vert_bs4_av8 | ||
|
||
.global _ih264_deblk_luma_vert_bslt4_av8 | ||
_ih264_deblk_luma_vert_bslt4_av8 = ih264_deblk_luma_vert_bslt4_av8 | ||
|
||
.global _ih264_default_weighted_pred_chroma_av8 | ||
_ih264_default_weighted_pred_chroma_av8 = ih264_default_weighted_pred_chroma_av8 | ||
|
||
.global _ih264_default_weighted_pred_luma_av8 | ||
_ih264_default_weighted_pred_luma_av8 = ih264_default_weighted_pred_luma_av8 | ||
|
||
.global _ih264_ihadamard_scaling_4x4_av8 | ||
_ih264_ihadamard_scaling_4x4_av8 = ih264_ihadamard_scaling_4x4_av8 | ||
|
||
.global _ih264_inter_pred_chroma_av8 | ||
_ih264_inter_pred_chroma_av8 = ih264_inter_pred_chroma_av8 | ||
|
||
.global _ih264_inter_pred_luma_copy_av8 | ||
_ih264_inter_pred_luma_copy_av8 = ih264_inter_pred_luma_copy_av8 | ||
|
||
.global _ih264_inter_pred_luma_horz_av8 | ||
_ih264_inter_pred_luma_horz_av8 = ih264_inter_pred_luma_horz_av8 | ||
|
||
.global _ih264_inter_pred_luma_horz_hpel_vert_hpel_av8 | ||
_ih264_inter_pred_luma_horz_hpel_vert_hpel_av8 = ih264_inter_pred_luma_horz_hpel_vert_hpel_av8 | ||
|
||
.global _ih264_inter_pred_luma_horz_hpel_vert_qpel_av8 | ||
_ih264_inter_pred_luma_horz_hpel_vert_qpel_av8 = ih264_inter_pred_luma_horz_hpel_vert_qpel_av8 | ||
|
||
.global _ih264_inter_pred_luma_horz_qpel_av8 | ||
_ih264_inter_pred_luma_horz_qpel_av8 = ih264_inter_pred_luma_horz_qpel_av8 | ||
|
||
.global _ih264_inter_pred_luma_horz_qpel_vert_hpel_av8 | ||
_ih264_inter_pred_luma_horz_qpel_vert_hpel_av8 = ih264_inter_pred_luma_horz_qpel_vert_hpel_av8 | ||
|
||
.global _ih264_inter_pred_luma_horz_qpel_vert_qpel_av8 | ||
_ih264_inter_pred_luma_horz_qpel_vert_qpel_av8 = ih264_inter_pred_luma_horz_qpel_vert_qpel_av8 | ||
|
||
.global _ih264_inter_pred_luma_vert_av8 | ||
_ih264_inter_pred_luma_vert_av8 = ih264_inter_pred_luma_vert_av8 | ||
|
||
.global _ih264_inter_pred_luma_vert_qpel_av8 | ||
_ih264_inter_pred_luma_vert_qpel_av8 = ih264_inter_pred_luma_vert_qpel_av8 | ||
|
||
.global _ih264_intra_pred_chroma_8x8_mode_horz_av8 | ||
_ih264_intra_pred_chroma_8x8_mode_horz_av8 = ih264_intra_pred_chroma_8x8_mode_horz_av8 | ||
|
||
.global _ih264_intra_pred_chroma_8x8_mode_plane_av8 | ||
_ih264_intra_pred_chroma_8x8_mode_plane_av8 = ih264_intra_pred_chroma_8x8_mode_plane_av8 | ||
|
||
.global _ih264_intra_pred_chroma_8x8_mode_vert_av8 | ||
_ih264_intra_pred_chroma_8x8_mode_vert_av8 = ih264_intra_pred_chroma_8x8_mode_vert_av8 | ||
|
||
.global _ih264_intra_pred_luma_16x16_mode_dc_av8 | ||
_ih264_intra_pred_luma_16x16_mode_dc_av8 = ih264_intra_pred_luma_16x16_mode_dc_av8 | ||
|
||
.global _ih264_intra_pred_luma_16x16_mode_horz_av8 | ||
_ih264_intra_pred_luma_16x16_mode_horz_av8 = ih264_intra_pred_luma_16x16_mode_horz_av8 | ||
|
||
.global _ih264_intra_pred_luma_16x16_mode_plane_av8 | ||
_ih264_intra_pred_luma_16x16_mode_plane_av8 = ih264_intra_pred_luma_16x16_mode_plane_av8 | ||
|
||
.global _ih264_intra_pred_luma_16x16_mode_vert_av8 | ||
_ih264_intra_pred_luma_16x16_mode_vert_av8 = ih264_intra_pred_luma_16x16_mode_vert_av8 | ||
|
||
.global _ih264_intra_pred_luma_4x4_mode_dc_av8 | ||
_ih264_intra_pred_luma_4x4_mode_dc_av8 = ih264_intra_pred_luma_4x4_mode_dc_av8 | ||
|
||
.global _ih264_intra_pred_luma_4x4_mode_diag_dl_av8 | ||
_ih264_intra_pred_luma_4x4_mode_diag_dl_av8 = ih264_intra_pred_luma_4x4_mode_diag_dl_av8 | ||
|
||
.global _ih264_intra_pred_luma_4x4_mode_diag_dr_av8 | ||
_ih264_intra_pred_luma_4x4_mode_diag_dr_av8 = ih264_intra_pred_luma_4x4_mode_diag_dr_av8 | ||
|
||
.global _ih264_intra_pred_luma_4x4_mode_horz_av8 | ||
_ih264_intra_pred_luma_4x4_mode_horz_av8 = ih264_intra_pred_luma_4x4_mode_horz_av8 | ||
|
||
.global _ih264_intra_pred_luma_4x4_mode_horz_d_av8 | ||
_ih264_intra_pred_luma_4x4_mode_horz_d_av8 = ih264_intra_pred_luma_4x4_mode_horz_d_av8 | ||
|
||
.global _ih264_intra_pred_luma_4x4_mode_horz_u_av8 | ||
_ih264_intra_pred_luma_4x4_mode_horz_u_av8 = ih264_intra_pred_luma_4x4_mode_horz_u_av8 | ||
|
||
.global _ih264_intra_pred_luma_4x4_mode_vert_av8 | ||
_ih264_intra_pred_luma_4x4_mode_vert_av8 = ih264_intra_pred_luma_4x4_mode_vert_av8 | ||
|
||
.global _ih264_intra_pred_luma_4x4_mode_vert_l_av8 | ||
_ih264_intra_pred_luma_4x4_mode_vert_l_av8 = ih264_intra_pred_luma_4x4_mode_vert_l_av8 | ||
|
||
.global _ih264_intra_pred_luma_4x4_mode_vert_r_av8 | ||
_ih264_intra_pred_luma_4x4_mode_vert_r_av8 = ih264_intra_pred_luma_4x4_mode_vert_r_av8 | ||
|
||
.global _ih264_intra_pred_luma_8x8_mode_dc_av8 | ||
_ih264_intra_pred_luma_8x8_mode_dc_av8 = ih264_intra_pred_luma_8x8_mode_dc_av8 | ||
|
||
.global _ih264_intra_pred_luma_8x8_mode_diag_dl_av8 | ||
_ih264_intra_pred_luma_8x8_mode_diag_dl_av8 = ih264_intra_pred_luma_8x8_mode_diag_dl_av8 | ||
|
||
.global _ih264_intra_pred_luma_8x8_mode_diag_dr_av8 | ||
_ih264_intra_pred_luma_8x8_mode_diag_dr_av8 = ih264_intra_pred_luma_8x8_mode_diag_dr_av8 | ||
|
||
.global _ih264_intra_pred_luma_8x8_mode_horz_av8 | ||
_ih264_intra_pred_luma_8x8_mode_horz_av8 = ih264_intra_pred_luma_8x8_mode_horz_av8 | ||
|
||
.global _ih264_intra_pred_luma_8x8_mode_horz_d_av8 | ||
_ih264_intra_pred_luma_8x8_mode_horz_d_av8 = ih264_intra_pred_luma_8x8_mode_horz_d_av8 | ||
|
||
.global _ih264_intra_pred_luma_8x8_mode_horz_u_av8 | ||
_ih264_intra_pred_luma_8x8_mode_horz_u_av8 = ih264_intra_pred_luma_8x8_mode_horz_u_av8 | ||
|
||
.global _ih264_intra_pred_luma_8x8_mode_vert_av8 | ||
_ih264_intra_pred_luma_8x8_mode_vert_av8 = ih264_intra_pred_luma_8x8_mode_vert_av8 | ||
|
||
.global _ih264_intra_pred_luma_8x8_mode_vert_l_av8 | ||
_ih264_intra_pred_luma_8x8_mode_vert_l_av8 = ih264_intra_pred_luma_8x8_mode_vert_l_av8 | ||
|
||
.global _ih264_intra_pred_luma_8x8_mode_vert_r_av8 | ||
_ih264_intra_pred_luma_8x8_mode_vert_r_av8 = ih264_intra_pred_luma_8x8_mode_vert_r_av8 | ||
|
||
.global _ih264_iquant_itrans_recon_4x4_av8 | ||
_ih264_iquant_itrans_recon_4x4_av8 = ih264_iquant_itrans_recon_4x4_av8 | ||
|
||
.global _ih264_iquant_itrans_recon_4x4_dc_av8 | ||
_ih264_iquant_itrans_recon_4x4_dc_av8 = ih264_iquant_itrans_recon_4x4_dc_av8 | ||
|
||
.global _ih264_iquant_itrans_recon_8x8_av8 | ||
_ih264_iquant_itrans_recon_8x8_av8 = ih264_iquant_itrans_recon_8x8_av8 | ||
|
||
.global _ih264_iquant_itrans_recon_8x8_dc_av8 | ||
_ih264_iquant_itrans_recon_8x8_dc_av8 = ih264_iquant_itrans_recon_8x8_dc_av8 | ||
|
||
.global _ih264_iquant_itrans_recon_chroma_4x4_av8 | ||
_ih264_iquant_itrans_recon_chroma_4x4_av8 = ih264_iquant_itrans_recon_chroma_4x4_av8 | ||
|
||
.global _ih264_iquant_itrans_recon_chroma_4x4_dc_av8 | ||
_ih264_iquant_itrans_recon_chroma_4x4_dc_av8 = ih264_iquant_itrans_recon_chroma_4x4_dc_av8 | ||
|
||
.global _ih264_pad_left_chroma_av8 | ||
_ih264_pad_left_chroma_av8 = ih264_pad_left_chroma_av8 | ||
|
||
.global _ih264_pad_left_luma_av8 | ||
_ih264_pad_left_luma_av8 = ih264_pad_left_luma_av8 | ||
|
||
.global _ih264_pad_right_chroma_av8 | ||
_ih264_pad_right_chroma_av8 = ih264_pad_right_chroma_av8 | ||
|
||
.global _ih264_pad_right_luma_av8 | ||
_ih264_pad_right_luma_av8 = ih264_pad_right_luma_av8 | ||
|
||
.global _ih264_pad_top_av8 | ||
_ih264_pad_top_av8 = ih264_pad_top_av8 | ||
|
||
.global _ih264_weighted_bi_pred_chroma_av8 | ||
_ih264_weighted_bi_pred_chroma_av8 = ih264_weighted_bi_pred_chroma_av8 | ||
|
||
.global _ih264_weighted_bi_pred_luma_av8 | ||
_ih264_weighted_bi_pred_luma_av8 = ih264_weighted_bi_pred_luma_av8 | ||
|
||
.global _ih264_weighted_pred_chroma_av8 | ||
_ih264_weighted_pred_chroma_av8 = ih264_weighted_pred_chroma_av8 | ||
|
||
.global _ih264_weighted_pred_luma_av8 | ||
_ih264_weighted_pred_luma_av8 = ih264_weighted_pred_luma_av8 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.