Commit graph

3818 commits

Author SHA1 Message Date
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
Henrik Rydgard
51ffdfa132 Rename gpuStats.numFrames to numVBlanks. Switch to using numFlips for things like cache expirations. 2013-08-07 22:34:00 +02:00
Henrik Rydgard
8714240519 Fix vf2i properly on x86. 2013-08-07 21:30:57 +02:00
Henrik Rydgard
dce3c9449b Attempt to quickfix vf2i but failed, so disabling it. Should fix #3084 2013-08-07 18:07:49 +02:00
CPkmn
76dbd9c22b Fix sceJpegGetOutputInfo
Return better responses for errors (should allow weird God Eater Burst saves from real PSPs to not bounce back to the titlescreen). Not sure why some God Eater Burst saves would send bad jpeg data. The data sent through sceJpeg is supposed to be a normal jpeg (ie it should be perfectly viewable in photoshop or whatever image viewer/editor). The reason it doesn't send a good, decodable jpeg should still be researched but in the meantime let's not push users getting that error back to the titlescreen. Returning getYCbCrBufferSize(0, 0) on error seems like it would be more correct as well (or, at least God Eater Burst recognises that as an error unlike 0xC000...I didn't think that error code was right but no saves gave me bad jpeg data before).
2013-08-07 08:08:12 -07:00
Unknown W. Brackets
b1344f8254 Get rid of CoreTiming::AdvanceQuick().
It basically existed for savestates, so no longer needed.
Fixes issues with events not running when they should.
2013-08-07 00:32:29 -07:00
Unknown W. Brackets
dc56ab9e83 Treat savestates specially, no longer using events.
This makes it easier to run them on the GPU thread anyway, which is best
if they reset GPU caches etc., and should remove any timing related
issues.
2013-08-07 00:32:29 -07:00
Unknown W. Brackets
7a2ef728cb Schedule ts events using the same time frame. 2013-08-07 00:32:28 -07:00
Unknown W. Brackets
b298432e8f Use threadsafe events for GE communication.
Hopefully this doesn't cause problems again for 3rd Birthday or FF Type-0.
Kinda need it.
2013-08-07 00:32:28 -07:00