Commit Graph

163 Commits

Author SHA1 Message Date
Henrik Rydgard
0b2a1dfe53 Profile a few more scopes 2015-05-26 00:39:27 +02:00
Unknown W. Brackets
bbe15d2518 Add a NEON color conv for 5551 -> 1555. 2015-05-23 11:30:06 -07:00
Unknown W. Brackets
6b26e1a591 Read pending vertex data before exiting gpu loop.
Fixes save pictures in Crimson Gem Saga.
2015-03-14 18:11:24 -07:00
Unknown W. Brackets
e4a24efda3 Don't show the op twice in the GE debugger. 2015-02-01 01:21:04 -08:00
Unknown W. Brackets
0a6a70f53f Allow switching cpu thread on/off ingame. 2014-12-20 17:39:42 -08:00
Unknown W. Brackets
199e6bcd3b Avoid crashing when calling an invalid address.
We already have a check, let's use it properly.
2014-09-23 08:31:29 -07:00
Henrik Rydgard
170e88838f Slightly improve GPU disassembly 2014-09-13 23:51:07 +02:00
sum2012
d671675027 fix bracing 2014-08-19 07:04:36 +08:00
sum2012
5ac70026c7 Fix save status
Rename u32_le stackAddr to u32
2014-08-17 16:52:06 +08:00
JimLee168
8099281928 check for duplicated stack addresses
Based on https://code.google.com/p/jpcsp/source/detail?r=3569

Fix WWE SmackDown! vs. RAW 2006
2014-08-13 21:28:22 +08:00
Unknown W. Brackets
03f86f364f Skip debug stepping time in list/func time.
Just makes the debug stats actually useful while stepping.  A bit of
overengineering, but it makes it easy to go frame-by-frame looking for
perf issues.
2014-06-14 08:42:18 -07:00
Unknown W. Brackets
230c7fb8a8 Don't block duplicate enqueues when intr pending.
Fixes #6138.
2014-05-25 18:52:31 -07:00
Unknown W. Brackets
7f5be6b35d CALLs and JUMPs to misaligned addresses round down.
Fixes Pac-Man World 3.  Matches tests on hardware.
2014-05-04 17:58:44 -07:00
Unknown W. Brackets
984bb31709 Fix another race condition with multithreading.
It's possible that after it's marked completed, the CPU will grab it to
enqueue.  This actually happened to mean with decent reproducibility.
2014-05-03 18:40:27 -07:00
Unknown W. Brackets
99e4300f95 Eat a few more cycles on END cmds.
Fixes #3049, which apparently expects an END/FINISH to not immediately
trigger (it drawsyncs soon after, and completely expects that to
reschedule.)

Either way, it seems plausible an END would take a few more cycles than
most instructions, since it generates an interrupt.
2014-04-29 00:08:43 -07:00
Unknown W. Brackets
97c18e7f0e Comment out a few unsafe replacement funcs. 2014-04-22 08:07:10 -07:00
Unknown W. Brackets
256e98b841 Add the common funcs to the direct exec calls. 2014-04-17 01:18:52 -07:00
Unknown W. Brackets
b2f12daba9 Don't reset OFFSETADDR, changes offsetAddr. 2014-04-17 01:18:51 -07:00
Unknown W. Brackets
4c1c694d4b Use flags to avoid hashing textures when unchanged.
If only parameters change (like wrapping or clut, etc.) we don't need to
rehash the data - we know it hasn't changed.

Should reduce the distance between lazy texture hashing on and off.
2014-04-13 14:22:39 -07:00
Unknown W. Brackets
e93407f33e Oops, downgrade from ERROR to DEBUG, and -report. 2014-04-12 00:04:02 -07:00
Unknown W. Brackets
26933384a7 Don't mark a list complete too early.
This would matter probably mostly if we implemented CONTINUE properly.
2014-04-11 23:50:20 -07:00
Unknown W. Brackets
4561440df7 Handle GE pause signals per tests.
They really should pause, but we were resetting them incorrectly.
And most importantly, sceGeContinue() inside the signal handler absolutely
must work.  Games use this a lot.
2014-04-11 23:50:20 -07:00
Unknown W. Brackets
702294fe60 Don't trigger pause GE signals either, comments.
This better explains what each signal does.
2014-04-10 00:23:36 -07:00
Unknown W. Brackets
9c75c1e6fd Avoid triggering SYNC ge signals.
Fixes #5806, bcause it avoids rescheduling at the signal, which it should
not do.  Possibly this is incorrect for all GE signals, but we don't need
to trigger any behavior on a sync anyway.
2014-04-08 22:20:33 -07:00
Unknown W. Brackets
8a440f93b1 Super stupid typo. 2014-04-05 14:08:44 -07:00