Commit Graph
6963 Commits
Author SHA1 Message Date
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
Unknown W. Brackets cfb1d02182 Oops, left these here. 2013-08-10 17:18:31 -07:00
Unknown W. Brackets 55c07bdc73 Avoid a possible thread sync issue.
Could be that it's about to wake listsync, does, and then we wait.
2013-08-10 17:18:31 -07:00
Henrik Rydgård 0ef02cddfa Merge pull request #3119 from unknownbrackets/gpu-thread
Sync the GPU thread on list/draw sync
2013-08-10 15:25:05 -07:00
Unknown W. Brackets abc396cbe1 Sync the GPU thread on list/draw sync.
Otherwise, the CPU gets ahead (inside the frame) and games get confused.
I don't think there's any good workaround to avoid this.
2013-08-10 15:16:49 -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 8ba8b3ddd2 gcc warning fix 2013-08-10 18:39:28 +02: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 4d4b2990ec GPU ShaderManager: Naming convention, inline a function 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
Unknown W. Brackets e018b6f348 Merge pull request #3111 from raven02/patch-14
Fix broken texture in God of War.
2013-08-10 07:45:01 -07:00
raven02 6f994ec05f Fix texture broken in God of War 2013-08-10 21:56:52 +08:00
CPkmn 4fccf6771f Update PGF.cpp 2013-08-10 05:21:23 -07:00
Henrik Rydgård 1d38dfde78 Merge pull request #3109 from unknownbrackets/gpu-thread
Small refactoring in event queue logic, ignore multithreaded setting change
2013-08-10 03:42:32 -07:00
Unknown W. Brackets 7e56dcf665 Ignore changes to SeparateCPUThread after startup. 2013-08-10 03:36:22 -07:00
Unknown W. Brackets 450e4c7fea Factor out event queue logic to a template mixin. 2013-08-10 03:33:09 -07:00
Henrik Rydgard cd53dfdc9c Mark multithreading as experimental in the UI 2013-08-10 11:53:55 +02:00
Henrik Rydgard c6956c299a Don't leak cpuThread objects 2013-08-10 11:39:53 +02:00
Henrik Rydgard 360210876c Add multithread checkboxes to gl UI as well 2013-08-10 11:34:27 +02:00
Unknown W. Brackets a80a7690c8 Fix SyncThread() not syncing during last event. 2013-08-09 23:18:37 -07: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 e82bae3708 Simplify easy_guard to avoid coding errors. 2013-08-09 22:57:53 -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 68fb78e203 Be more careful with the stall address.
In case it's moved while running the list.
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 8c69020fa8 Use separate condition vars/locks for GPU sync. 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 52ca93aab2 Add mutex locks around list management.
This way we can safely execute lists on a separate thread.
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