PPSSPP Git (2012/11/21) is compiled. PPSSPP is a fast and portable PSP emulator for Android, Windows, Mac, and Linux, written in C++.
PPSSPP Git Changelog:
* Merge pull request #70 from unknownbrackets/mutexes
Mutexes
* Don't allow unlocking someone else's mutex.
* Implement LwMutex locking and unlocking.
* Don't crash if something goes wrong with mutexes.
Probably can't happen but being defensive is good.
* Broadcast a threadend event to wake mutexes.
* Forget mutex waiting threads when they timeout.
* 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.
* Create and Delete LwMutex funcs.
* Remove threads from semaphores when they timeout.
This makes wait tests *almost* pass. There's some timing
related issues left, though.
* Implement timeouts on semaphores too.
* Update the value when mutexes timeout.
* Oops, turns out mutex timeouts are in micro.
Found it documented as milli somewhere, but it was wrong.
* 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?
* Make sceKernelStartThread() reschedule.
Mutexes and semaphores are wrong, duh.
* Minor correctness on create mutex.
* Refactor mutex locking to simplify.
* Add overflow error to mutex locking.
* Update tests (semaphores/mutexes.)
Most mutex tests are failing due to thread scheduling or
reuse issues.
* Fix sceKernelCancelSema() to handle any negative.
So the test isn't failing.
* sceKernelTryLockMutex() and fix other locking.
* Fix sceKernelCreateMutex() to match tests.
Still have an issue where reusing threads doesn't work.
* Reschedule after acquiring a lock.
This matches the actual test results.
* Cleanup mutex func types.
Looks like mutexes reschedule when they lock, so switch to void.
* Oops, CreateMutex was missing a parameter.
* Mutexes go in FIFO order as expected.
The test was wrong.
* 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.
* Activate some more tests
* 0.31 in the UI
* Merge pull request #69 from Orphis/testtimeout
Add a 5s timeout to tests
* Add a 5s timeout to tests
* glViewport calls need to be in pixel coordinates.
Download: PPSSPP Git (2012/11/21) x86
Download: PPSSPP Git (2012/11/21) x64
Download: PPSSPP Git (2012/11/21) for Android
Source: Here
0 Comments
Post a Comment