-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
SPU: improve analyser [WIP] #4750
Conversation
165af9a
to
3b7d0a0
Compare
16d9834
to
0571c5a
Compare
Potential fixes are applied to solve the problem of crashing on the first run with SPU LLVM. |
ToCS previously will hang on SPU LLVM. I saw it generating a lot of SPU LLVM cache (first run) EDIT: after last changes of this PR merged, ToCS is able to run with SPU LLVM. (only tested a little) |
With this PR I can test games, if they are SPU LLVM-compatible? |
Wait until next PR update though. |
With this PR Silent Hill Downpour goes ingame in SPU LLVM for the first time. P.S.
Same compilation error for Demon's Souls, though i am not sure if this game was even tested before. |
Build SPU cache after PPU, fix mixing progress SPU ASMJIT: add support for Giga mode SPU ASMJIT: use the same spu.log location as SPU LLVM SPU: improve spu.log disasm SPU: improve trampolines, unify with SPU ASMJIT SPU: decode interrupt handler address from BR/BRA at 0x0 SPU LLVM: support Mega/Giga modes SPU LLVM: implement function chunks SPU LLVM: use PHI nodes, value visibility across basic blocks SPU LLVM: implement function chunk table New simple memory manager for LLVM (bugfix)
Simplify code by using root config location for /dev_flash/ Hide Emu.GetEmuDir() function due to the risk of misuse
Persona 5 ASMJIT |
That's a really great idea - to merge the PR with giant [Work In Progress] words. |
The last of us now locks before showing Naughty Dog logo |
It's his PR, it's a great idea to merge whenever he feels like it |
@Emulator-Team-2 dont know why you directed that to me but ok, if its not to report regressions... i simple stop doing it. |
@spyropt Maybe you need to delete SPU cache, if you tested this PR before merge. Or need more information to reproduce. |
@Nekotekina did a fresh install and the same thing happens, could be because my cpu does not support avx/tsx |
My test was done on a non-TSX CPU, but has AVX, AVX2 and XOP |
@AniLeo Ijust tested on a 3770k avx cpu and it works fine on asmjit with F {SPU[0x2000004] Thread (gfdSpursCellSpursKernel4) [0x0b5b8]} MEM: Access violation writing location 0xffdead00 usually i do all my tests on the x5675 since its an arcade machine just for emulation |
Reproduced! AVX cpu are unaffected. |
I have an AVX+ cpu (i5 7400 - no TSX) and I think that this PR causes Demon's Soul (maybe other games as well?) to reliably hang/crash on my system… Win10 |
Detailed description is under construction.