605 Commits

Author SHA1 Message Date
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
Unknown W. Brackets
863eb83e4c Add support for sceGeGetStack() for debugging. 2013-09-21 10:04:31 -07:00
Unknown W. Brackets
3c954ea0e4 Save the base address in signal calls.
It's not saved in regular calls but it is in signal ones.
2013-09-21 00:07:49 -07:00
Unknown W. Brackets
9116b879a4 Restore context even without an interrupt. 2013-09-20 21:03:39 -07:00
Unknown W. Brackets
4078dcd917 Support save/restore of context on list run/finish. 2013-09-20 09:51:44 -07:00
Unknown W. Brackets
bd70d04930 Include GE_CMD_PATCHFACING just in case. 2013-09-20 00:45:48 -07:00
Unknown W. Brackets
50e9e45d65 Check version in each DoState() func.
They bail on PointerWrap error or bad version.
2013-09-14 20:23:03 -07:00
Unknown W. Brackets
8ae6694e1d Use a waiting thread list in sceGe as well. 2013-09-08 11:57:44 -07:00
Unknown W. Brackets
08b41df6a2 Change a few more log types. 2013-09-07 13:31:14 -07:00
Unknown W. Brackets
8998a1b303 Don't trash a list the GE interrupt handler needs.
Even after it's marked COMPLETED, the CPU needs it to start and finish the
interrupt.  Fixes #2956, where an existing completed list was not having
its interrupt run correctly.
2013-09-01 12:39:45 -07:00
Unknown W. Brackets
dc9b5156d9 Cleanup comment (broke savestates anyway.) 2013-09-01 00:52:25 -07:00
Unknown W. Brackets
15a0f39fa1 Return yet more errors while inside interrupts. 2013-08-28 23:15:13 -07:00
Unknown W. Brackets
211c2bd955 Refuse a few more waits w/ dispatch/intr disabled. 2013-08-28 22:35:05 -07:00
The Dax
4d9eb24f29 Fix hang in Project Diva 2nd in single-threaded mode. Doesn't seem to affect other games, but I don't have every game in existence, so there could be one or two out there that might break from this. 2013-08-24 21:13:34 -04:00
Unknown W. Brackets
8dbcf6572e Add some additional reporting. 2013-08-24 11:34:38 -07:00
Henrik Rydgard
520453a5bd Fix gpu cycle call level counting, of course halving the numbers I mentioned in the previous commit comment. 2013-08-23 11:42:15 +02:00
Henrik Rydgard
dfb91d4532 Track number of GPU commands executed per call level.
This is to get an idea if it would be beneficial to compile and cache display lists. Looks like it would be for some games, for example in GTA it's often 20k/80k/20k commands per frame - that is 100k executed commands per frame that could potentially just be executed instead of interpreted. Likewise in Wipeout. Of course, this means yet another cache with invalidation issues etc..
2013-08-23 11:29:55 +02:00
Unknown W. Brackets
1ed8edb0d3 Avoid some dangerous hex constant widths. 2013-08-22 23:23:48 -07:00
raven02
e68ddf671c Temporary fix issue #3167 in non-multithread mode #2 2013-08-15 03:44:20 +08:00
Unknown W. Brackets
49ab98c7fd Use atomic operations on Android + warning fixes. 2013-08-12 08:51:49 -07:00
Unknown W. Brackets
cf7c718706 Use a timer to keep gpu/cpu in sync periodically.
Fixes Diva Extend demo, at least, losing FPS.
2013-08-11 13:41:42 -07:00
Unknown W. Brackets
e0f699fd5f Use a possibly harmless hack to prevent hangs.
Not sure where the problem is, but this fixes it pretty consistently for
me... seems like lists are somehow not being processed after becoming
processable?
2013-08-10 20:03:43 -07:00
Unknown W. Brackets
26c072df51 Don't wait directly from GPUCommon, do it in sceGe.
Makes debugging a bit easier.
2013-08-10 18:24:40 -07:00
Unknown W. Brackets
55c07bdc73 Avoid a possible thread sync issue.
Could be that it's about to wake listsync, does, and then we wait.
2013-08-10 17:18:31 -07:00