Commit Graph

89 Commits

Author SHA1 Message Date
Unknown W. Brackets 8396cdf227 Eat cycles when enqueuing GE lists. 2014-01-19 12:44:55 -08:00
Henrik Rydgård 79ff2f0ba8 Start untangling our include mess a little. 2013-12-29 23:34:45 +01: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 3a1b6fb269 Fix some sign comparison warnings. 2013-10-05 11:13: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 db1f2f2535 Oops, fix return of sceGeBreak(0).
Needs to match dlist ids.
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 d305d1faa2 Check enqueue as well, should be safer.
Also, make sure not to eat a bunch more cycles when forcing a check.
2013-09-21 17:00:52 -07:00
Unknown W. Brackets 18a493f316 Don't use Advance() in syscalls, it's unsafe.
Eats some cycles in enqueue and still checks ASAP, FF Type-0 seems happy
with this also.
2013-09-21 15:03:30 -07:00
Unknown W. Brackets 927f292230 Return a similar dlist id range to the PSP.
At least this top part seems to match, the other bits seem randomish.
But, there may be some game out there thinking that if the top bits aren't
set it's invalid or something.
2013-09-21 15:03:29 -07:00
Unknown W. Brackets 7ca64374ea Return 24-bit floats in sceGeGetMtx(). 2013-09-21 10:32:09 -07:00
Unknown W. Brackets ecd5869b88 Validate sceGeGetCmd and Mtx. 2013-09-21 10:23:41 -07:00
Unknown W. Brackets 863eb83e4c Add support for sceGeGetStack() for debugging. 2013-09-21 10:04:31 -07:00
Unknown W. Brackets 17a4341bb3 Don't allow save/restore ctx while list running. 2013-09-20 09:51:44 -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 7906de26f7 Try to match especially the size of ge contexts.
But also some of the actual data, most of it matches like this.
2013-09-20 00:33:32 -07:00
Unknown W. Brackets 3604c2285a Error checking in sceGeEdramSetAddrTranslation(). 2013-09-19 23:03:34 -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
Henrik Rydgard 8c88dff5a4 More log categories, use them (and existing ones). Improve log config. 2013-09-07 22:02:55 +02:00
Lioncash 02ec457cc9 Fix a null check 2013-09-04 14:07:52 -04: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
Henrik Rydgard 664d74a9b7 Another frameskipping attempt. Now: 0=no frameskip, 1=auto frameskipt, 2-9=fixed frameskip.
There is still some flicker remaining in non-buffered rendering that I can't seem to get rid off.
2013-08-16 01:00:26 +02: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 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 5e363bcbd2 Don't allow gpu->Flush() to be called publicly. 2013-08-09 22:57:54 -07:00
Unknown W. Brackets 4803f72b36 Add a "multithreaded" UI option on Windows.
Not on other platforms since not yet tested.
2013-08-09 22:57:50 -07:00
Unknown W. Brackets 3819886e2e Add a way to synchronize with the GPU thread. 2013-08-09 22:41:32 -07:00
Unknown W. Brackets b1344f8254 Get rid of CoreTiming::AdvanceQuick().
It basically existed for savestates, so no longer needed.
Fixes issues with events not running when they should.
2013-08-07 00:32:29 -07:00
Unknown W. Brackets b298432e8f Use threadsafe events for GE communication.
Hopefully this doesn't cause problems again for 3rd Birthday or FF Type-0.
Kinda need it.
2013-08-07 00:32:28 -07:00
Unknown W. Brackets 9e94f9a896 Specify memory layout endianness in sceGe. 2013-07-29 22:47:37 -07:00
Unknown W. Brackets ded3fb5e12 Add reporting to a bunch of unimpl functions.
Also some comment/logging fixes along the way.
2013-05-19 22:12:37 -07:00
raven02 14f6560fde Use CoreTiming::AdvanceQuick(); 2013-05-10 09:38:44 +08:00
Unknown W. Brackets 8ffbdc32e6 Eat some cycles in sceGeListUpdateStallAddr().
Another common function.  Per real PSP timing.
2013-05-04 23:42:11 -07:00
Henrik Rydgard 628c223234 GPUCommon: Get rid of prev variable. 2013-04-21 19:32:56 +02:00
Unknown W. Brackets a8e8b096e6 Use regular events for GPU for now, quicker.
There's too much latency in threadsafe events, causing tests to fail.
Might break games too.  I guess they need to execute more often...
2013-04-07 17:52:57 -07:00
Unknown W. Brackets 6190918158 Don't allow two drawsyncs to be in play at once. 2013-04-07 17:37:24 -07:00
Unknown W. Brackets 5d017829ad Make sure lists aren't reused before they complete. 2013-04-07 17:05:11 -07:00
Unknown W. Brackets 57770dbd95 Delay GPU signals and waits to simulate cycles. 2013-04-07 17:05:11 -07:00
Unknown W. Brackets 0ca4e5f0a7 Implement the jump, call, and ret signals.
Still buggy, but more things show...
2013-04-06 11:03:43 -07:00
Unknown W. Brackets 376ad80d76 Implement sync signal in display lists.
Makes dialogs show up in 3rd Birthday.
2013-04-06 10:12:41 -07:00
Unknown W. Brackets dac448dfae Implement the pause signal a bit better. 2013-04-06 09:59:24 -07:00
Unknown W. Brackets 77311a121d Don't listsync until after the signal handler. 2013-04-06 08:36:03 -07:00
Unknown W. Brackets c0f20c2fdd If the interrupt is not run, don't flip gpuState.
Technically this is a hack, hopefully can remove it soon.
2013-04-06 02:30:37 -07:00
Unknown W. Brackets c57954a72e Implement sceGeDrawSync(). 2013-04-06 02:30:37 -07:00
Unknown W. Brackets ef1086413c Correct wait signal handling. 2013-04-05 00:32:35 -07:00
Unknown W. Brackets 339b444703 Switch to a fixed size displaylist queue. 2013-04-05 00:32:34 -07:00
Unknown W. Brackets 7738b42b9c Implement sceGeBreak()/sceGeContinue(). 2013-04-04 00:36:43 -07:00
Unknown W. Brackets 15cb005a60 Always trigger FINISH and SIGNAL from END. 2013-04-03 08:16:43 -07:00
Unknown W. Brackets affe91cb3b Refactor some GPU methods to return errors. 2013-03-31 23:57:03 -07:00