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.
This cuts down on many of the proxied calls, as well as fixing the platform data that wasn't working when RetroArch was run off a pthread (see #17637). PROXY_TO_PTHREAD itself is removed, instead we create the pthread manually so that its stack size doesn't have to be identical to the browser thread stack size (good for the cores that need larger stacks).
emscriptenwebgl_ctx was made the default video context driver for all emscripten builds.
I've also completely redone the frontend for threaded RetroArch with a dark ozone-like theme, removed the jquery and bootstrap dependency, and added data migration from the old BrowserFS into the new OPFS.
Note that I've removed the
userdata
andbundle
dirs for the threaded build as they are now redundant (everything is on the same mount), and removing them makes it more similar to the regular unix frontend.I removed support for OPFS without PROXY_TO_PTHREAD; I couldn't get this to work? Supposedly it works with JSPI but that is currently unavailable.
Threaded RetroArch is still built with these makefile options:
HAVE_WASMFS=1 PROXY_TO_PTHREAD=1
TODO (later): remove remaining proxied calls in rwebpad, write AudioWorklet audio driver
A few things need to happen before the threaded build replaces the old one: