Commit Graph
5276 Commits
Author SHA1 Message Date
Unknown W. Brackets fe8850b34d Set the IO thread's name for debugging. 2013-08-11 12:22:01 -07:00
Unknown W. Brackets dd1cbe55d4 Give sceIoWrite the same treatment, for savedata. 2013-08-11 12:04:38 -07:00
Unknown W. Brackets 193a336189 Run sceIoRead operations on a separate thread.
This should improve stutter.  Also verified via a timer to improve
performance (although, not very much, ~0.07 seconds during an entire
game load.)
2013-08-11 11:53:21 -07:00
Unknown W. Brackets 85ad4a80dd Start and stop a separate thread for IO.
Not actually running anything on it yet.
2013-08-11 11:51:36 -07:00
Unknown W. Brackets e6b42768fe Add a class to manage IO on a separate thread.
Also separate the logic for exiting the loop based on coreState.  IO and
audio won't necessarily be tied to the frame.
2013-08-11 11:46:55 -07:00
Yaroslav 62835aad40 Make more strings translatable. 2013-08-11 22:25:50 +07:00
Henrik Rydgård c709315aff Merge pull request #3120 from unknownbrackets/gpu-thread
Fix some more GPU thread sync issues
2013-08-11 01:29:14 -07:00
Unknown W. Brackets 82aca253e4 Add a few more OUT_EAT_PREFIX flags.
Based on testing the instructions individually.  Cuts a few cases in God
Eater Burst where instructions bailed out of jit.
2013-08-10 23:19:03 -07:00
Unknown W. Brackets 169fbeaca6 As a safety, especially for win32, cap the wait. 2013-08-10 21:27:51 -07:00
Unknown W. Brackets 8786ec74ca Fix some potential threading probs with SymbolMap.
Got some strange crashes.
2013-08-10 20:54:55 -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
Henrik Rydgard 408e570469 Typo fix 2013-08-10 23:41:29 +02:00
Henrik Rydgard 89ddbb51bb Oops, XMM0 might be taken by temps. Also, s/GC_ALIGN16/MEMORY_ALIGN16 2013-08-10 23:39:24 +02:00
Henrik Rydgård 85e17f03cc Merge pull request #3118 from unknownbrackets/io-async
Prep work for pspFileSystem and two small fixes
2013-08-10 14:32:59 -07:00
Henrik Rydgard 4c6006190f Of course, found the real bug causing #3117 immediately after the revert. Fixed. 2013-08-10 23:32:12 +02:00
Henrik Rydgard a517b8d53f Fix #3117 (by reverting part of a previous change), plus a minor change that might speed GT up. 2013-08-10 23:25:55 +02:00
Unknown W. Brackets 3bba464451 Add one more missing sceCcc func. 2013-08-10 14:04:42 -07:00
Henrik Rydgard 0dac2b4783 Update native, minor UI stuff and cleanups 2013-08-10 23:04:23 +02:00
Unknown W. Brackets f68ebfe230 Fix savestates while not running.
Fixes #2791.
2013-08-10 14:04:23 -07:00
Unknown W. Brackets 54ca1e212f Unmount filesystems during HLE shutdown.
Fixes #3115.
2013-08-10 14:04:07 -07:00
Unknown W. Brackets 00ae811446 Shutdown the filesystem after HLE. 2013-08-10 14:01:44 -07:00
Henrik Rydgard d32e10ff0b Error handling improvements 2013-08-10 19:56:47 +02:00
Henrik Rydgard 1da49273b5 Address some complaints about touch button opacity 2013-08-10 19:23:50 +02:00
Henrik Rydgard bc84c135b3 Revert vscmp, didn't make a difference in the tests anyway 2013-08-10 19:22:33 +02:00
Unknown W. Brackets 333cc33efb Handle OpenFile() errors in a more threadsafe way.
Probably needs better cleanup though.
2013-08-10 09:54:14 -07:00
Henrik Rydgard ca6de59019 Another attempt at frame timing / flip detection. Might solve some flicker issue. 2013-08-10 18:39:27 +02:00
Henrik Rydgard 394f590c36 Failed attempt at implementing vsge/vslt. Dunno what's wrong but disabled for now. 2013-08-10 18:39:27 +02:00
Unknown W. Brackets b5ac31bbea Add locks to all the pspFileSystem methods. 2013-08-10 09:27:06 -07:00
Unknown W. Brackets 1b838c4403 Move ThreadEventQueue to its own file. 2013-08-10 09:08:31 -07:00
Henrik Rydgård d169c31e26 Merge pull request #3103 from CPkmn/patch-1
Sanity checks for shadow glyphs
2013-08-10 08:26:59 -07:00
CPkmn 4fccf6771f Update PGF.cpp 2013-08-10 05:21:23 -07:00
Unknown W. Brackets 7e56dcf665 Ignore changes to SeparateCPUThread after startup. 2013-08-10 03:36:22 -07:00
Henrik Rydgard c6956c299a Don't leak cpuThread objects 2013-08-10 11:39:53 +02: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 1226c3dbd9 Try to prevent a deadlock if CPU doesn't NEXTFRAME. 2013-08-09 22:57:53 -07:00
Unknown W. Brackets e71cf2ec7e Don't queue Flush() etc. while on GPU thread.
Oops, that makes it not actually flush properly of course.

Also made a simpler guard wrapper to avoid extra braces in too many
places.  Reduced contention areas slightly.
2013-08-09 22:57:52 -07:00
Unknown W. Brackets e76f945c7e Use the native cond vars for the CPU thread. 2013-08-09 22:57:51 -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 b0e6967697 Rename UseCPUThread to SeparateCPUThread. 2013-08-09 22:41:33 -07:00
Unknown W. Brackets a56cac1eb3 Bail when CPU thread disabled to ensure good perf. 2013-08-09 22:41:32 -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 02e301e5fe Add a simple message event system to the GE.
With this, the CPU thread feature now mostly works.
2013-08-09 22:41:31 -07:00
Unknown W. Brackets e7c7c5b3db Add a setting to launch a separate CPU thread. 2013-08-09 22:41:30 -07:00
CPkmn 8547eecd31 Update PGF.cpp 2013-08-09 18:49:01 -07:00
CPkmn c067c48585 Sanity checks for shadow glyphs
Partially fixes text, huds and videos in Jeanne d'Arc.
These changes shouldn't negatively impact other games since all it does is makes sure shadow glyphs are within the vector sizes.
The text, huds and videos still don't fully display, but that's because of something else.
2013-08-09 17:52:01 -07:00
The Dax 8b6790187d Fix some translation issues and change a variable name(it was supposed to be iSFXVolume, but for some reason it never got changed over). 2013-08-09 08:04:13 -04:00
The Dax 01e9111ac5 Remove Stream VBO option. 2013-08-09 05:18:24 -04:00
Henrik Rydgard 174223c42b Fix VCMP (VC_TR) and optimize a little 2013-08-08 21:03:40 +02:00
CPkmn 1cf0b62e70 Try fixing sceJpegGetOutputInfo again
I guess the colour info address isn't supposed to be updated if the jpeg errors out, or I think so based on reports from the God Eater Burst thread in the forums. This shouldn't affect working jpegs since the address is still being updated before returning, just not if it errors out. If this doesn't work for the save from the forums, it would have never worked in PPSSPP builds up to today (it basically makes the function _only_ return null without updating the colour address, making it the equivalent of the only implementation other than mine, which was a stub, if it errors out). The previous commit I made worked in the Japanese version, but still bounced back in the US version (wtf?).
2013-08-07 16:39:42 -07:00
Henrik Rydgard bc00a7e302 Process frame timing on frame boundaries instead of flips. Frameskipping works better in many games. 2013-08-07 23:32:28 +02:00