Unknown W. Brackets
b71d998a20
Broadcast a threadend event to wake mutexes.
2012-11-20 02:20:16 -08:00
Unknown W. Brackets
dd3db71b61
Forget mutex waiting threads when they timeout.
2012-11-20 02:20:16 -08:00
Unknown W. Brackets
8da2fb074c
For mutexes/semaphores, register a global timer.
...
Instead of leaking one per each. Should be faster.
Since we can only wait on one thing per thread at a time, this is fine.
2012-11-20 02:20:16 -08:00
Unknown W. Brackets
a81c138004
Create and Delete LwMutex funcs.
2012-11-20 02:20:15 -08:00
Unknown W. Brackets
619a9906de
Remove threads from semaphores when they timeout.
...
This makes wait tests *almost* pass. There's some timing
related issues left, though.
2012-11-20 02:20:15 -08:00
Unknown W. Brackets
fd41851503
Implement timeouts on semaphores too.
2012-11-20 02:20:14 -08:00
Unknown W. Brackets
4d71e32193
Update the value when mutexes timeout.
2012-11-20 02:20:14 -08:00
Unknown W. Brackets
aad7e48a1a
Oops, turns out mutex timeouts are in micro.
...
Found it documented as milli somewhere, but it was wrong.
2012-11-20 02:20:14 -08:00
Unknown W. Brackets
d88fa153b7
Implement timeouts on mutexes.
...
Still need to set timeoutPtr after they expire.
Pretty sure I did this the right way, seems CoreTiming does already
allow/use multiple events for the same type?
2012-11-20 02:20:13 -08:00
Unknown W. Brackets
b9bb5c4cce
Make sceKernelStartThread() reschedule.
...
Mutexes and semaphores are wrong, duh.
2012-11-20 02:20:13 -08:00
Unknown W. Brackets
7b9a8bf766
Minor correctness on create mutex.
2012-11-20 02:20:12 -08:00
Unknown W. Brackets
7fa388952e
Refactor mutex locking to simplify.
2012-11-20 02:20:12 -08:00
Unknown W. Brackets
0681c8e5c5
Add overflow error to mutex locking.
2012-11-20 02:20:12 -08:00
Unknown W. Brackets
40a6ebfabe
Fix sceKernelCancelSema() to handle any negative.
...
So the test isn't failing.
2012-11-20 02:19:21 -08:00
Unknown W. Brackets
2290397b94
sceKernelTryLockMutex() and fix other locking.
2012-11-20 02:19:21 -08:00
Unknown W. Brackets
4bfa24eca8
Fix sceKernelCreateMutex() to match tests.
...
Still have an issue where reusing threads doesn't work.
2012-11-20 02:19:21 -08:00
Unknown W. Brackets
a539580195
Reschedule after acquiring a lock.
...
This matches the actual test results.
2012-11-20 02:19:20 -08:00
Unknown W. Brackets
2613ed8806
Cleanup mutex func types.
...
Looks like mutexes reschedule when they lock, so switch to void.
2012-11-20 02:19:20 -08:00
Unknown W. Brackets
429ac9de87
Oops, CreateMutex was missing a parameter.
2012-11-20 02:19:19 -08:00
Unknown W. Brackets
4bab714db5
Mutexes go in FIFO order as expected.
...
The test was wrong.
2012-11-20 02:19:19 -08:00
Unknown W. Brackets
4cddd3092a
Implement basic locking for sceKernel mutexes.
...
Test still not passing, due to odd order the mutex is unlocked in?
But, at least, it does lock now.
2012-11-20 02:19:19 -08:00
Henrik Rydgard
f378f959e1
Fix issues with games that don't call sceDisplaySet mode. Add option to run without FBOs, may be useful on slow devices.
2012-11-20 10:59:23 +01:00
Henrik Rydgard
f226afc3ca
Implement a missing time function
2012-11-20 01:04:39 +01:00
Henrik Rydgard
45d42f09a1
Remove x86disasm, experiment with build order
2012-11-20 00:48:13 +01:00
Henrik Rydgard
ee32db47b9
Assorted FBO fixes
2012-11-20 00:31:19 +01:00