Commit graph

1916 commits

Author SHA1 Message Date
Nekotekina
253e8b4466 SPU LLVM: improve SHUFB with constant mask 2018-07-06 00:33:52 +03:00
Nekotekina
622f2f7f66 SPU LLVM: constant computation fixes
Fixed instructions:
Gather Bits: GB, GBH, GBB
Form Select Mask: FSM, FSMH, FSMB
2018-07-06 00:33:52 +03:00
Nekotekina
c959ab2698 SPU LLVM: fix constant propagation
Compute constant bitcasts
2018-07-06 00:33:52 +03:00
Nekotekina
20900ebea2 SPU: rename block stats
Use Block Weight and Retreats
2018-07-06 00:33:52 +03:00
Nekotekina
a0c0d8b993 SPU: simplify unimplemented event check
Move checks closer to the actual use
2018-07-06 00:33:52 +03:00
Nekotekina
afd5af04f6 SPU: improve analyser (v5)
Fix jumptable analysis
2018-07-06 00:33:52 +03:00
Nekotekina
712632d28a SPU LLVM: inline RDCH 2018-07-06 00:33:52 +03:00
Nekotekina
c1385558ad SPU LLVM: inline RCHCNT 2018-07-06 00:33:52 +03:00
Nekotekina
0910acad42 SPU LLVM: clean NOP/LNOP
Add volatile to state check and update_pc()
2018-07-06 00:33:52 +03:00
Nekotekina
513bac0304 SPU LLVM: refactor halt instructions 2018-07-06 00:33:52 +03:00
Nekotekina
a0bf103e8b Implement cpu_translator::pshufb<>()
Remove spu_translator::pshufb<>()
Improve PSHUFB emulation (pre-SSSE3)
Emit static shufflevector for the constant mask
PPU: Inline VPERM instruction
2018-07-06 00:33:52 +03:00
Nekotekina
41eab62ed7 Implement spu_iname helper
Remove old code
Report $SP anomalies
2018-07-06 00:33:52 +03:00
Nekotekina
e009bbac10 Use LLVM 7 (master) 2018-07-06 00:33:52 +03:00
Nekotekina
8ad05ce10e SPU LLVM: fix jt target duplication bug 2018-07-05 22:26:35 +03:00
Nekotekina
a999bccc03 SPU LLVM: use cpu_translator::build<> 2018-07-05 22:26:35 +03:00
Nekotekina
ded9d1ddfd SPU LLVM: improve function type
Use pointers for args
Use noalias attribute
2018-07-05 22:26:35 +03:00
eladash
4db79c458d Fix cellSysCacheMount error checking 2018-07-05 16:36:57 +04:00
eladash
24699f0f96 Fix cellSysCacheClear 2018-07-05 16:36:57 +04:00
eladash
3b64e0fb3f Fix cache directory 2018-07-05 16:36:57 +04:00
isJuhn
3d8223fccc Fix LLVM STW reservation update 2018-07-02 15:19:50 +04:00
Ofek
5d3b0e7352 Fix cellGameDataCheckCreate2 (#4832)
* Fix cellGameDataCheckCreate2
2018-07-01 23:07:21 +01:00
Jake
e2c288ff8a trophy: zero out data before setting 2018-06-24 14:29:41 +04:00
Jake
edeb858138 loader: ignore invalid index_value and allow relative reloc 10 2018-06-24 14:29:41 +04:00
eladash
b3a933ba84 cellgcm: fix regression 2018-06-24 10:57:30 +03:00
eladash
b456955688 rsx: fix hardcoded rsx allocation address 2018-06-24 10:57:30 +03:00
isJuhn
83f096c435 Add conditional reservation update to STW 2018-06-23 23:13:34 +04:00
Nekotekina
6229b3ca8d Fixes for booting PS1 games 2018-06-23 17:30:16 +03:00
clienthax
8b449ce76c PS1 Classics 2018-06-23 16:34:19 +04:00
Nekotekina
cd92d9bcdf Fix SPU ASMJIT for SSE2 CPUs 2018-06-23 08:46:50 +03:00
Megamouse
4464951c77 cellVdec: add more detail to the logging 2018-06-22 22:30:02 +04:00
Nekotekina
81e5f3b7f2 Remove /dev_flash/ configuration
Simplify code by using root config location for /dev_flash/
Hide Emu.GetEmuDir() function due to the risk of misuse
2018-06-22 14:14:29 +03:00
Nekotekina
e4da284176 SPU: analyser v4 and fixes
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)
2018-06-21 22:29:34 +03:00
eladash
af62c92b7f mfc: clamp list transfer size 2018-06-17 23:20:00 +04:00
Ofek
2bc4cb4e58 Fix sys_spu_thread_connect event 2018-06-16 19:05:51 +04:00
Nekotekina
88b6d51643 Fix cellGameContentPermit 2018-06-12 02:09:22 +03:00
Nekotekina
eb081bbcfa SPU: add 'Accurate PUTLLUC' option
Effectively rollback previous PUTLLUC accuracy commit by default
Minor changes in GETLLAR/PUTLLUC transactions
2018-06-12 02:09:22 +03:00
Nekotekina
0a58464f01 SPU ASMJIT: returnable STOP in Mega mode
Fix STOP, STOPD, SYNC, DSYNC in Safe mode
2018-06-12 02:09:22 +03:00
isJuhn
88bfdb0c05 cellGameContentPermit: Don't set content and usrdir path on gamedata if cellGameCreateGameData was never called 2018-06-11 21:48:29 +04:00
jjsat
53ca2526ed Fix VSLO and VSRO in the LLVM PPU recompiler 2018-06-10 20:12:40 +04:00
Megamouse
5454f57dd0 cellSaveData: handle fatal error fs::file is_null (read-only files) 2018-06-08 23:41:56 +03:00
Megamouse
4003aacc6a RSX: add taskbar progress to native ui progress dialogs 2018-06-08 23:41:56 +03:00
Megamouse
b9b6bd85a6 Qt/RSX: add taskbar progress in msg_dialog_frame for shader compilation 2018-06-08 23:41:56 +03:00
Megamouse
edc9e9b4ec Qt/RSX: add window title to the shader compilation msg_dialog 2018-06-08 23:41:56 +03:00
isJuhn
dde4a9c6e7 Fix cellGameCreateGameData temporary path 2018-06-06 23:51:58 +04:00
ikki84
73f7ab29bc Return offline according to g_psn_connection_status. 2018-06-06 19:14:12 +04:00
ikki84
83b09cf047 sceNpManagerRequestTicket2 (return offline)
Returning CELL_OK in sceNpManagerRequestTicket2 makes NPEB01268 loop indefinitely trying to check the downloaded content.
Telling that the system is offline escapes the loop and make the game go further.
Moves NPEB01268/BLES01794 from Intro to Ingame.
2018-06-06 19:14:12 +04:00
scribam
824ad4fea7 cmake: simplify glslang integration (#4652)
* cmake: simplify glslang integration

* Fix warning (ignored attributes), part 2
2018-06-06 15:45:28 +03:00
Nekotekina
5c9d0e4b46 Add "SPU Cache" option
If disabled, the cache will still be loaded, but never updated.
2018-06-05 12:35:26 +03:00
Nekotekina
5d4c5ecc1c Add "SPU Verification" option
Should be always enabled
2018-06-05 12:35:26 +03:00
Nekotekina
12eee6a19e SPU ASMJIT: Implement Mega block mode (experimental)
Disable extra modes for SPU LLVM for now.
In Mega mode, SPU Analyser tries to determine complete functions.
Recompiler tries to speed up returns via 'stack mirror'.
2018-06-05 12:35:26 +03:00