Unknown W. Brackets
879efb25cc
Don't allow unlocking someone else's mutex.
2012-11-21 00:28:29 -08:00
Unknown W. Brackets
fa9b9840d0
Implement LwMutex locking and unlocking.
2012-11-21 00:21:25 -08:00
Unknown W. Brackets
db16f9309e
Don't crash if something goes wrong with mutexes.
...
Probably can't happen but being defensive is good.
2012-11-20 22:57:14 -08:00
Henrik Rydgård
2a56d36b12
glViewport calls need to be in pixel coordinates.
2012-11-20 16:48:24 +01:00
Henrik Rydgard
4b87da74cb
windows gui option for buffered rendering. Misc fixes, prettier checkbox on android.
2012-11-20 11:35:48 +01:00
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