Add emscripten support built against patched 2.0.34 emsdk#514
Conversation
|
I need to check whatever i merged to my main branches already, most things still reside in emscripten_testing branch iirc |
|
Gonna start on this soon |
|
Rebased & Backported some changes onto emscripten_testing branch |
|
Am I reading this correct that you are working on dynarec in emscripten? |
Ahead of time tho, I implemented it through cached interpreter for now so i can compile in parts of the game into the core directly. Also SIMD seems to work decently with this |
|
-msimd128 -ftree-vectorize -mfpu=neon |
|
This is progressing quite well, still too many changes to push it all but thought i give a small update |
|
Hi, |
Its looking good, working on getting it on the last toolchain ver next |
|
Quite a lot has changed since then, performance has also majorly improved, it seems most of the perf issues were audio driver related (and theres a weird stall on IOS on the GPU if fb emulation is off, doesnt happen elsewhere). |
|
Hello, i found this pull requests, which has no changes since a while... Thank you and Best Regards! |
This is an update of toadkings PR here and I cannot take credit for these changes https://github.com/BinBashBanana using toadkings old PR got this all working:
#132
This needs to be built against a specific version of emscripten that has webgl patched.
On the retroarch side should be built without ASYNC flagged as is currently defined here: (can be deleted)
https://github.com/libretro/RetroArch/blob/master/Makefile.emscripten#L61C1-L63C6
And with the additional flags:
-s TOTAL_STACK=268435456 -s TOTAL_MEMORY=536870912 -s FULL_ES3=1 -s MIN_WEBGL_VERSION=2 -s MAX_WEBGL_VERSION=2The results are very good even on a low end client machine:
n64.mp4
I can rewrite the guards Retroarch side as well but having a viable bc file is the first step.
Let me know if this is possible to mainline I do not have a deep enough understanding of the codebase to see if there are any breaking changes for other ports here, but most of it looks non obtrusive with guards.