Commit graph

74 commits

Author SHA1 Message Date
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
Henrik Rydgard
bf23c6f5e1 Turn down sceGeContinue and sceGeBreak log level.
We know them and they're mostly used by our own debug overlay.
2013-03-04 19:52:10 +01:00
Unknown W. Brackets
51d5b84108 Fix some misc HLE warnings. 2013-02-18 09:04:43 -08:00
Unknown W. Brackets
21483f2d4c Cut down on rescheduling in sceGeListEnqueue.
Fixes ClaDun X2.
2013-02-12 07:45:20 -08:00
Unknown W. Brackets
430139b12a Minimal revert of the GE-related interrupt changes.
Keep most of them, just revert using getList() which isn't cutting it
right now.  Fixes #595.
2013-02-10 02:03:02 -08:00
Unknown W. Brackets
7c3cb9357e Fix crash with GE interrupts. 2013-02-03 23:22:27 -08:00
Florent Castelli
8004d360dd Interrupt handler reorganization for easier GE interrupt support 2013-02-04 03:10:01 +01:00
Henrik Rydgard
b72ac7d7f0 Fix sceGeGetCmd 2013-01-05 20:57:00 +01:00
Henrik Rydgard
d8d2246236 Implement sceGeGetMtx and sceGeGetCmd 2013-01-05 19:26:37 +01:00
Henrik Rydgard
363f158a0a Just warning fixes 2013-01-02 21:13:21 +01:00
Unknown W. Brackets
7bd16a7f97 Add warnings when GE callbacks are misused. 2012-12-29 15:55:05 -08:00
Unknown W. Brackets
97bdaf5dd2 Add support for selecting the GE callback per list.
Not sure if interrupts are right, but this should be more right.
2012-12-29 15:55:05 -08:00
Unknown W. Brackets
2ed0902ae2 Cleanup sceGe stubs and void return values. 2012-12-29 15:43:17 -08:00
Unknown W. Brackets
589916fca2 Move GPU state to sceDisplay, reset GPU on load. 2012-12-29 12:49:49 -08:00
Unknown W. Brackets
ea9f0be28a Save more of the GPU's state, fix a crash.
Well, ReapplyGfxState() seems kinda dangerous now...
2012-12-29 11:41:33 -08:00
Florent Castelli
6eec4f5d7f Move display list management to common GPU class 2012-12-29 03:11:35 +01:00