-
Notifications
You must be signed in to change notification settings - Fork 118
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
Add emscripten support built against patched 2.0.34 emsdk #514
base: develop
Are you sure you want to change the base?
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 |
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=2
The 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.