Commit Graph

153 Commits

Author SHA1 Message Date
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
Unknown W. Brackets
82df1b1fa8 Simplify UpdatePC() a bit more. 2014-04-05 12:04:10 -07:00
Unknown W. Brackets
cbb6c01d4c Avoid some debug stats when disabled.
This function can get called a lot sometimes, and an if helps on ARM a
little.
2014-04-05 01:41:54 -07:00
Unknown W. Brackets
7cde2311e0 Include sceKernelThread.h in less headers. 2014-03-29 17:02:41 -07:00
Unknown W. Brackets
a4327702f1 Reduce some includes under GPU/. 2014-03-29 16:51:38 -07:00
Unknown W. Brackets
4fbb245382 Avoid leaving the fast runloop on jumps.
Jumps are actually very common in some games, like FF4 and Crisis Core,
and tons more.  They are used to jump around vertex data.

Improves performance by a few percent in FF4.
2014-03-05 23:24:18 -08:00
Henrik Rydgard
e11e4cfff2 GCC buildfix 2014-03-04 11:38:33 +01:00
Unknown W. Brackets
0a880b09ad Allow fast bone mtx loads w/o software skinning. 2014-03-02 18:12:40 -08:00
Henrik Rydgård
db59559a92 Reduce the "Ret: Stack Empty" log level to DEBUG.
Still reporting. Avoids logspam in buggy games.
2014-02-25 21:23:21 +07:00
Unknown W. Brackets
183b4cb45c Add a static method for creating PSPPointers.
This is still kinda ugly, but the assignment thing was just too ugly, I
couldn't do it anymore.
2013-12-16 23:50:52 -08:00
Unknown W. Brackets
435115441d Reinitialize the GE on sceKernelLoadExec().
Mostly, reset the lists and draw completion, etc.

May be required for Capcom Classic Collection Reloaded to work.
2013-11-28 15:35:12 -08:00
Henrik Rydgard
dc03796ccb The bone matrix optimization is only safe when software skinning 2013-11-14 15:02:22 +01:00
Henrik Rydgard
8c562a615f Bone matrix loading speedup. Bit of a hack but seems reliable enough. 2013-11-14 14:02:31 +01:00
Unknown W. Brackets
1633aa689c Remove the extra process queues hack.
It seems like it's not helping anymore so it could be hurting.
2013-11-09 23:08:44 -08:00
Sacha
2c74693f6c VSync codepath only works on _WIN32 so only show it and check it there. 2013-10-27 23:09:46 +10:00
Sacha
4972e7b680 EnqueueList: Relocate code that depends on compatibility check to simplify the code 2013-10-27 03:49:46 +10:00
Unknown W. Brackets
afb578a325 Use the newer interface for Qt's gpu debugging. 2013-10-20 00:14:39 -07:00
raven02
acb9c49ea2 Try to use a smaller value for cyclesExecuted 2013-10-12 16:20:27 +08:00
raven02
2cdb2d1e1f Extra cycles execute .Fix #3979 & #3883 2013-10-09 19:45:28 +08:00
Henrik Rydgard
fc8aa7bd8f Crashfix dumping display lists that start at the start of VRAM (seems to hit this in GTA).
Add a couple of comments.
2013-10-07 22:58:46 +02:00
Henrik Rydgård
8f7a9656c8 Merge pull request #4062 from unknownbrackets/debugger
Show tabs for depth/stencil in ge debugger, other improvements
2013-10-06 23:59:54 -07:00
Unknown W. Brackets
ff0e9cf32d Make it possible to flip flags in the ge debugger. 2013-10-06 22:17:56 -07:00
Unknown W. Brackets
0c03dc2dec Handle it better when viewing an invalid addr. 2013-10-06 22:17:52 -07:00
Unknown W. Brackets
a09119ba04 Correct savestates when dls had context saving.
It was wrong, and also they were different between 64/32 bit.
2013-10-06 22:10:44 -07:00
Unknown W. Brackets
74908f6b38 Add errors and rescheduling to sceDmac*.
The functionality seems pretty straight-forward.
2013-09-29 16:51:49 -07:00
Henrik Rydgard
424b4cbd5f Move GE_CMD_BJUMP to GPUCommon. Add the flag. (no actual bbox impl yet) 2013-09-24 14:14:04 +02:00
Unknown W. Brackets
bdfc8bf4b3 Mark texture as maybe changed when running lists. 2013-09-23 23:17:56 -07:00
Unknown W. Brackets
4c3b3484d7 Actually apply the restored gstate. 2013-09-23 23:17:36 -07:00
Unknown W. Brackets
3787471791 Add some initial methods to GPUDebugInterface. 2013-09-22 10:22:33 -07:00
Unknown W. Brackets
eabd8b5302 Add GPU debugging hooks to Host, not yet in use. 2013-09-22 08:14:55 -07:00
Unknown W. Brackets
2e2fa53201 Preseve offsetAddr on stall, instead of reset to 0.
Only for new lists is it reset to 0, afaict.
2013-09-21 21:01:41 -07:00
Unknown W. Brackets
881cefbc83 A paused list will allow a context save.
Just not stall, drawing, etc.
2013-09-21 21:01:41 -07:00
Unknown W. Brackets
e10ae1530b Error and reporting for sceGeBreak's second param. 2013-09-21 21:01:40 -07:00
Unknown W. Brackets
e9db63f61d Refuse to dequeue a running/completed list. 2013-09-21 15:03:30 -07:00
Unknown W. Brackets
c5a709d039 Don't update stall address on completed lists. 2013-09-21 15:03:30 -07:00
Unknown W. Brackets
e7bd716c71 Allocate ge list ids using round robin.
Even if you enqueue and then dequeue 0, you don't get it again right away.
2013-09-21 15:03:29 -07:00