From cfda1f54258833e02c45cfaa6b331e5f55a5fed8 Mon Sep 17 00:00:00 2001 From: Miku AuahDark Date: Thu, 3 Dec 2020 13:34:23 +0800 Subject: [PATCH 1/5] PhysFS: Fix compile error when targetting Windows ARM64 --- src/libraries/physfs/physfs_lzmasdk.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libraries/physfs/physfs_lzmasdk.h b/src/libraries/physfs/physfs_lzmasdk.h index c86972e57..b1463fdea 100644 --- a/src/libraries/physfs/physfs_lzmasdk.h +++ b/src/libraries/physfs/physfs_lzmasdk.h @@ -508,7 +508,8 @@ MY_CPU_LE_UNALIGN means that CPU is LITTLE ENDIAN and CPU supports unaligned mem #if defined(MY_CPU_AMD64) \ || defined(_M_IA64) \ || defined(__AARCH64EL__) \ - || defined(__AARCH64EB__) + || defined(__AARCH64EB__) \ + || defined(_M_ARM64) #define MY_CPU_64BIT #endif @@ -529,7 +530,7 @@ MY_CPU_LE_UNALIGN means that CPU is LITTLE ENDIAN and CPU supports unaligned mem #define MY_CPU_32BIT #endif -#if defined(_WIN32) && defined(_M_ARM) +#if defined(_WIN32) && (defined(_M_ARM) || defined(_M_ARM64)) #define MY_CPU_ARM_LE #endif From fc69bcce03b1b52b84431589692929ec695221a7 Mon Sep 17 00:00:00 2001 From: Miku AuahDark Date: Thu, 3 Dec 2020 13:42:53 +0800 Subject: [PATCH 2/5] dr_mp3: Fix Windows ARM64 compilation. Based on lieff/minimp3@0d0c452dc76f744ceea4782de17bb735163cdee4. dr_mp3 is based on minimp3, thus have similar structure. Ieally, we should update dr_mp3, but it makes the commit noisy and dr_mp3 is updated often so an update to dr_mp3 should be done before new LOVE releases. --- src/libraries/dr/dr_mp3.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/dr/dr_mp3.h b/src/libraries/dr/dr_mp3.h index c876c064b..4fe386abe 100644 --- a/src/libraries/dr/dr_mp3.h +++ b/src/libraries/dr/dr_mp3.h @@ -617,7 +617,7 @@ end: return g_have_simd - 1; #endif } -#elif defined(__ARM_NEON) || defined(__aarch64__) +#elif defined(__ARM_NEON) || defined(__aarch64__) || defined(_M_ARM64) #include #define DRMP3_HAVE_SSE 0 #define DRMP3_HAVE_SIMD 1 From c8eeefba519898b7f951c348a1180fbcf01e4976 Mon Sep 17 00:00:00 2001 From: Miku AuahDark Date: Thu, 3 Dec 2020 13:48:25 +0800 Subject: [PATCH 3/5] dr_flac: Ensure NEON codepath is taken for Windows ARM64 Patch based on mackron/dr_libs@5c6b5b1638c625d82ac350ce4c1e7581cc10f292 --- src/libraries/dr/dr_flac.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/dr/dr_flac.h b/src/libraries/dr/dr_flac.h index c30574ebe..fdbd3492c 100644 --- a/src/libraries/dr/dr_flac.h +++ b/src/libraries/dr/dr_flac.h @@ -1020,7 +1020,7 @@ drflac_bool32 drflac_next_cuesheet_track(drflac_cuesheet_track_iterator* pIter, #define DRFLAC_X64 #elif defined(__i386) || defined(_M_IX86) #define DRFLAC_X86 -#elif defined(__arm__) || defined(_M_ARM) +#elif defined(__arm__) || defined(_M_ARM) || defined(_M_ARM64) #define DRFLAC_ARM #endif From 6301b690afd8cb47e39aee217abebbd75384c16e Mon Sep 17 00:00:00 2001 From: Miku AuahDark Date: Thu, 3 Dec 2020 13:53:41 +0800 Subject: [PATCH 4/5] Ensure LOVE_SIMD_NEON is defined when compiling for Windows ARM64 --- src/common/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/config.h b/src/common/config.h index 69be99fbd..3d588cbca 100644 --- a/src/common/config.h +++ b/src/common/config.h @@ -71,7 +71,7 @@ #endif // NEON instructions. -#if defined(__ARM_NEON) +#if defined(__ARM_NEON) || defined(_M_ARM64) # define LOVE_SIMD_NEON #endif From 67ea81f739c31f2aefefb978b1d7cca8062422d8 Mon Sep 17 00:00:00 2001 From: Miku AuahDark Date: Thu, 3 Dec 2020 14:29:03 +0800 Subject: [PATCH 5/5] Don't look for (and link with) OpenGL for Megasource build --- CMakeLists.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c9d29ddc8..5dbbe8172 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,8 +65,6 @@ if(POLICY CMP0072) cmake_policy(SET CMP0072 NEW) endif() -find_package(OpenGL) - if(MEGA) # LOVE_MSVC_DLLS contains runtime DLLs that should be bundled with the love # binary (in e.g. the installer). Example: msvcp140.dll. @@ -88,7 +86,6 @@ if(MEGA) set(LOVE_LINK_DIRS ${SDL_LINK_DIR}) set(LOVE_LINK_LIBRARIES - ${OPENGL_gl_LIBRARY} ${MEGA_FREETYPE} ${MEGA_LIBOGG} ${MEGA_LIBVORBISFILE}