Unknown W. Brackets
288d867588
Fix a type comparison warning.
2014-05-21 08:00:31 -07:00
Unknown W. Brackets
2ad06d777b
Eat cycles and resched in sceGeContinue().
...
Fixes the gpu/ge/queue test.
2014-05-15 22:45:09 -07:00
Unknown W. Brackets
ed6ea61283
Fix deadlock in multithreading.
...
Fixes #5971 .
2014-04-27 15:52:36 -07:00
Unknown W. Brackets
5076a080c4
In case interrupts are delayed, read cmd early.
...
Otherwise, in Project Diva, the cmd may be overwritten (probably due to a
sync or etc.) by some other cmd. Fixes #5896 .
2014-04-17 22:33:13 -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
Felix-Dev
5fe0783593
Added name for PSP error code 0x80000023 and replaced the various uses of that error code number with its error code name.
2014-04-03 18:12:22 +02:00
Unknown W. Brackets
e527ef8ad0
Correct old savestate compat.
...
When there was a pending GE sync.
2014-03-31 22:36:36 -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
05ab192c9c
Reduce includes in Core/HLE/.
...
Especially templates.
2014-03-15 11:22:19 -07:00
Henrik Rydgard
7ae9c26b6a
Enable the new vreg flushing mechanism on ARM.
...
Reduce logspam seen in a couple games.
2014-03-12 10:15:09 +01:00
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