Commit graph

290 commits

Author SHA1 Message Date
刘皓
d575c92b2e
Make it easier to change the number of wasm2c outputs in libretro/Makefile 2025-08-08 10:21:57 -04:00
刘皓
5a0630f015
Patch wasm2c to evenly distribute the data segments
This prevents the TOC (table of contents) on PowerPC targets from being
overflowed by the sizes of the files generated by wasm2c. It should also
help improve compilation times. I'll be submitting this patch as a pull
request to WABT later.
2025-08-06 14:34:03 -04:00
刘皓
b16068e661
Fix detection logic for semaphore support in meson.build 2025-08-02 10:13:25 -04:00
刘皓
d31df2dead
Use Grand Central Dispatch semaphores instead of POSIX semaphores in libretro Darwin builds
POSIX semaphores are available in the standard library, but creation of
unnamed POSIX semaphores always fails, so they're basically useless for
our purposes.
2025-08-01 14:53:18 -04:00
刘皓
9da4fc8540
Improve determination of size of stbsp__uintptr in stb_sprintf 2025-07-31 21:36:25 -04:00
刘皓
9967999130
Lower Android API level for 32-bit libretro Android builds to 21 2025-07-29 12:21:08 -04:00
刘皓
b4db773b70
Use "none" instead of "bare" as Meson system name for console builds 2025-07-29 10:56:20 -04:00
刘皓
6d5c71bd56
Change is_vita to is_vitasdk in meson.build for consistency 2025-07-15 12:44:04 -04:00
刘皓
13cf3de01e
Fix some CI failures 2025-07-13 17:37:33 -04:00
刘皓
57b00eb738
Add PlayStation 4 builds to GitHub and libretro CI 2025-07-13 15:56:25 -04:00
刘皓
c59a5905ca
Merge branch 'misc-fixes' into libretro 2025-07-12 21:44:26 -04:00
刘皓
3a397eefa0
Make sure git-hash.h is generated prior to building
meson.build was previously written in such a way that Ninja did not
actually have to generate git-hash.h before building the source files
that needed it, although Ninja often did do it.
2025-07-12 21:16:37 -04:00
刘皓
9c7a2ce7b0
Fix libretro build failures on Windows 2025-07-08 18:42:42 -04:00
刘皓
8774af1db8
Don't use position-independent code for devkitARM or devkitPPC 2025-07-08 14:00:24 -04:00
刘皓
30eb0352e8
Fix some minor issues with the Darwin polyfilling logic in meson.build 2025-07-07 23:21:53 -04:00
刘皓
89809ea872
Polyfill aligned new/delete in mkxp-polyfill.cpp for old macOS/iOS versions 2025-07-07 19:55:41 -04:00
刘皓
e8637319ce
Attempt to fix some more libretro build failures in old macOS/iOS versions 2025-07-07 18:12:06 -04:00
刘皓
a2a76c688a
Patch OpenAL Soft in libretro builds to avoid C++17 aligned operator new[] if possible
This function isn't available in older macOS and iOS versions.
2025-07-07 17:05:16 -04:00
刘皓
d0a78e3be5
Enable position-independent code in libretro builds that use devkitPro 2025-07-07 15:32:14 -04:00
刘皓
61c0f59c16
Use -ffat-lto-objects in libretro buildbot's Linux builds 2025-07-07 09:58:20 -04:00
刘皓
5199c48de7
Remove exceptions from mkxp-z src/ directory 2025-05-16 15:54:32 -04:00
刘皓
082bd25be5
Allow FluidSynth and OpenAL Soft to compile with -fno-exceptions -fno-rtti in libretro builds 2025-05-15 15:17:18 -04:00
刘皓
13c0657691
Handle current working directory properly in libretro builds
Any relative paths that the game tries to access in libretro builds will
now be relative to whatever is the current working directory in the Ruby
sandbox, which will also now be initialized to the game directory during
initialization. Before, all of the bindings that took paths were
hardcoded to prepend the path with the game directory.
2025-05-06 16:55:28 -04:00
刘皓
1c10158f2d
Add single-threaded Graphics.play_movie for platforms without multithreading 2025-05-05 11:00:27 -04:00
刘皓
82c3d7985c
Fix some Graphics.play_movie audio/video synchronization issues in libretro builds 2025-05-03 23:01:11 -04:00
刘皓
74e5cc763c
Implement Graphics.play_movie in libretro builds 2025-05-03 18:27:44 -04:00
刘皓
a40f6e7659
Fix some compiler warnings in libretro builds 2025-05-01 11:58:43 -04:00
刘皓
0b9baa1007
Add mutex and condition variable polyfill for libretro 3DS builds 2025-04-27 00:49:47 -04:00
刘皓
a73dec9cad
Manually disable threaded audio support in libretro Wii U build 2025-04-26 22:01:07 -04:00
刘皓
e5a4309402
Try using the latest version of Emscripten in the autobuild 2025-04-22 21:47:38 -04:00
刘皓
fafad03874
Temporarily use nightly build of RetroArch in libretro Emscripten autobuild 2025-04-22 16:51:38 -04:00
刘皓
71653549f2
Add threaded audio driver in libretro builds
This adds a new driver for audio in libretro builds for devices with
multithreading support that defers audio rendering to a worker thread
provided by the libretro frontend.

The threaded driver has the advantage that video lag will not also cause
the audio to lag, which is very noticeable since it manifests in the
form of audio crackling when it happens.
2025-04-22 12:17:15 -04:00
刘皓
3ace4ad6ae
Merge branch 'misc-fixes' into libretro 2025-04-15 23:25:55 -04:00
刘皓
8277390e13
Move embedtool.cpp into tools directory 2025-04-15 12:20:22 -04:00
刘皓
ae19c0e42e
Reconcile the standalone and libretro build systems 2025-04-09 23:52:12 -04:00
刘皓
ecd8e50e9e
Upgrade OpenAL Soft from 1.23.1 to 1.24.2 again in libretro builds
I don't know why the Wii U build fails with older versions of OpenAL
Soft. There's nothing we can do here except use the newer OpenAL Soft
versions.
2025-04-09 17:22:13 -04:00
刘皓
8c7786da2b
Change openal-soft-int32.patch to also apply to devkitPPC 2025-04-08 23:36:42 -04:00
刘皓
01a5875fd3
Improve detection of aligned memory allocation APIs in libretro builds 2025-04-08 17:32:19 -04:00
刘皓
74f4c0e714
Downgrade OpenAL Soft from 1.24.2 to 1.23.1 in libretro builds
OpenAL Soft 1.24 introduces a lot of code that doesn't work well with
the PlayStation 3 homebrew toolchain, and also the old version of the
Wii U homebrew toolchain currently used by the libretro buildbot.
Instead of maintaining a bunch of patches to get 1.24 to work on these
toolchains, I think it'd be easier to just use 1.23.
2025-04-08 14:27:20 -04:00
刘皓
192300dbe9
Allow FluidSynth to build for libretro targets with no threading support 2025-04-08 00:27:32 -04:00
刘皓
db7853d02d
Use fluidsynth-sans-glib instead of fluidlite in libretro builds
FluidLite plays one of the tracks in the intro sequence of KNight-Blade
incorrectly.
2025-04-07 21:24:27 -04:00
刘皓
7c7495ab1e
Set CMAKE_POLICY_VERSION_MINIMUM to 3.10 in libretro builds instead of 3.5 2025-04-02 13:23:47 -04:00
刘皓
8457ac1598
Rename mkxp-threads to mkxp-polyfill 2025-04-02 13:06:17 -04:00
刘皓
436e5f8510
Stop passing -fno-optimize-sibling-calls in PlayStation Vita builds
Not required as long as we pass `-Wl,--pic-veneer` when linking, which
we do (in Makefile.vita from RetroArch).
2025-03-31 23:41:18 -04:00
刘皓
dcd29f44a9
Remove dependency on libzip in libretro builds 2025-03-31 13:26:54 -04:00
刘皓
70c5b3dad4
Fix undefined symbol error in libretro Nintendo 3DS build 2025-03-30 00:03:03 -04:00
刘皓
afec0dc50d
Use -mword-relocations -fno-optimize-sibling-calls in libretro PlayStation Vita builds
The Vita builds of RetroArch and some libretro cores use these two
flags, supposedly to fix relocation-related bugs.

(cherry picked from commit 3c43cd5747b19bd4d9c0202fec1a68677ddbd5af)
2025-03-29 22:23:39 -04:00
刘皓
5754c8b4f1
Use -march=armv6k in libretro Nintendo 3DS builds 2025-03-29 22:17:03 -04:00
刘皓
81b94d1498
Remove dependency on SDL headers in libretro builds
I'd already removed the SDL static libraries from libretro builds for
portability, but kept the headers to make it easier to port the codebase
to libretro. Eventually it was time to stop using the SDL headers as a
crutch.
2025-03-29 12:37:07 -04:00
刘皓
b9e54fbb28
Fix libretro builds with CMake 4 2025-03-27 23:02:49 -04:00