Commit Graph

488 Commits

Author SHA1 Message Date
Unknown W. Brackets
98d3dc4be8 Typos. 2014-07-12 13:48:30 -07:00
Unknown W. Brackets
ef4847b6f5 Don't double decrease g_inCbCount.
Happened when a thread was deleted, it seems like.  Fixes #6542.
2014-07-12 09:57:13 -07:00
Unknown W. Brackets
0a33eb4c42 Fix missing log semicolons only affecting logging. 2014-06-29 19:09:39 -07:00
Unknown W. Brackets
0078faef8b Fix some log semicolons that might affect logic.
But, these should all be right.
2014-06-29 19:09:38 -07:00
Unknown W. Brackets
1c3b60a8ee Allow changing software skinning at runtime. 2014-06-28 21:46:43 -07:00
Unknown W. Brackets
b4594c7bc5 Avoid Advance() twice, cleanup some comments. 2014-06-28 16:20:35 -07:00
Unknown W. Brackets
b68ad3844e Simplify __KernelReSchedule().
It no longer needs all these checks, and we can Advance within callbacks,
interrupts, etc. safely.
2014-06-28 16:17:52 -07:00
Unknown W. Brackets
0edeb085ab Allow rescheduling within callbacks. 2014-06-28 14:58:56 -07:00
Unknown W. Brackets
10096b94f2 Correctly remember callback status when sleeping.
If a callback triggered right away after a sceKernelSleepThreadCB(), it
would trigger the "current callback" and remember callback status as
false, instead of true (since it was set later.)

This corrects that by ignoring it if both are set.
2014-06-28 03:06:30 -07:00
Unknown W. Brackets
5ab3750186 Reduce the thread switching cost.
Maybe it was actually too high.  Some tests fail with it that high.
2014-06-27 01:00:11 -07:00
Unknown W. Brackets
4626e63294 Wake good pri threads immediately from delays. 2014-06-24 00:45:38 -07:00
Unknown W. Brackets
118736ff75 Don't eat extra cycles when idling.
Rescheduling between threads takes about 3000 cycles, but that's not true
for both sides of e.g. a delay.

Fixes #6409 (assuming 60fps is what a PSP gets.)
2014-06-23 23:02:46 -07:00
Unknown W. Brackets
c1e293fe7c Fix a warning on 32-bit that might be bad... 2014-06-22 22:17:48 -07:00
Unknown W. Brackets
392edb4f84 Eat some cycles when switching threads.
There's a cost and it seems to be at least this much.  Matters for
Wipeout Pure when callbacks are allowed to wait.
2014-06-22 22:17:47 -07:00
Unknown W. Brackets
e8803c4e9b Improve sceKernelDelayThread() timing.
A delay of 0 never reschedules, actually, unless there's a better priority
thread.  A greater delay depends on if a >= or similar check matches, but
generally is at least 200us.

It seems like this actually completes in at least another 10-20us.
2014-06-22 19:47:54 -07:00
Unknown W. Brackets
8851fc1685 Remove savedIdRegister/MIPS_CALL_ID.
We've never trusted it anyway, simpler without dealing with this stuff.
2014-06-22 11:29:47 -07:00
Unknown W. Brackets
c142207a93 Fix a few warnings, mostly type comparisons. 2014-05-31 21:42:57 -07:00
Unknown W. Brackets
b9ede6aade Add a class to create helper threads from HLE.
This should be usable from sceIo as well.
2014-05-22 23:38:21 -07:00
Henrik Rydgard
89fbe8f761 Reduce some logspam 2014-05-08 10:40:58 +02:00
Unknown W. Brackets
641064f0bc Consistently use MIPS_REG_V0 for return values.
This way all instances are a lot easier to search for (was trying to find
where we were writing an incorrect value to v0, turns out to be callback
related of course.)
2014-03-04 08:21:55 -08:00
lioncash
b9886942a7 Fix some vertical alignments in misc Core source files. 2014-03-03 11:16:53 -05:00
Unknown W. Brackets
8aceba732a Stop reporting null thread args with size.
Must've been a mistake in the test, can no longer reproduce the crash.
2014-03-02 16:59:50 -08:00
chinhodado
23cce7d25a remove a redundant check 2014-02-15 19:39:13 -05:00
Unknown W. Brackets
48fd33b201 Remove callback return injection and related.
With paused waits, this is no longer correct.  Callbacks still don't allow
waits inside callbacks yet (they should.)
2014-01-31 12:22:39 -08:00
Unknown W. Brackets
c9b037815f Reschedule instead of switching to delayed threads.
This will hopefully take care of #5263, and might fix other issues too.
If a thread goes into a wait, it may reschedule right into an interrupt.

In this case, it would've been switched back to, and woken up early.
2014-01-28 22:10:28 -08:00