Commit Graph
1047 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
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 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 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
Henrik Rydgard 8ba8b3ddd2 gcc warning fix 2013-08-10 18:39:28 +02:00
Henrik Rydgard 4d4b2990ec GPU ShaderManager: Naming convention, inline a function 2013-08-10 18:39:27 +02:00
Unknown W. Brackets 1b838c4403 Move ThreadEventQueue to its own file. 2013-08-10 09:08:31 -07:00
raven02 6f994ec05f Fix texture broken in God of War 2013-08-10 21:56:52 +08:00
Unknown W. Brackets 450e4c7fea Factor out event queue logic to a template mixin. 2013-08-10 03:33:09 -07: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 8c69020fa8 Use separate condition vars/locks for GPU sync. 2013-08-09 22:57:51 -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
The Dax 01e9111ac5 Remove Stream VBO option. 2013-08-09 05:18:24 -04:00
Henrik Rydgård f01279f2cf Merge pull request #3082 from raven02/patch-12
Fix black/missing textures in few games
2013-08-09 00:58:38 -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
raven02 ba4d236d18 Fix black/missing textures in few games 2013-08-07 22:47:41 +08:00
Henrik Rydgård 41f90303b2 Merge pull request #3069 from raven02/patch-10
Logic Ops: code cleanup
2013-08-07 02:08:02 -07:00
Henrik Rydgård b8978e49d2 Merge pull request #3075 from unknownbrackets/gpu-thread
Prep work for GE and CPU on separate threads
2013-08-07 01:00:26 -07:00
Henrik Rydgård 75b3d78694 Merge pull request #3029 from unknownbrackets/render-fb
Use a null texture for incorrect render-to-texture + delete better
2013-08-07 00:34:38 -07:00
Unknown W. Brackets 00fc5ec40e Enable interrupts as a property of the list.
This way there's no behavior change when enqueue is async.
2013-08-07 00:32:30 -07:00
Unknown W. Brackets 0dc6bab9ff Shouldn't be necessary to flush on drawsync. 2013-08-07 00:32:27 -07:00
Henrik Rydgard 773115bb6d GPU: tiny optimization and log fix 2013-08-06 19:08:38 +02:00
raven02 6798762eaa May fix Vsync broken previously 2013-08-06 23:08:57 +08:00
raven02 6465402283 Logic Ops: code cleanup 2013-08-06 22:14:30 +08:00
Henrik Rydgard 2f1e6f81bb Android buildfix 2013-08-06 11:24:48 +02:00
raven02 ecf43c7ea9 Fix lookup table 2013-08-06 16:46:35 +08:00
raven02 1fb77f5fec Use lookup table 2013-08-06 16:30:58 +08:00
raven02 6992eba90a Add remaining opcodes 2013-08-06 16:25:33 +08:00
raven02 c9c1a75869 Fix opcode/glLogicOp type 2013-08-06 16:14:36 +08:00
raven02 5c4af8908e Add context for logicOps 2013-08-06 16:03:27 +08:00
raven02 f1473ba1fb Add remaining GE_LOGI in enum GELogicOp 2013-08-06 16:01:31 +08:00
Unknown W. Brackets 3aa2db9a8e Simplify ProcessDLQueue() slightly. 2013-08-04 16:31:54 -07:00
Unknown W. Brackets f7a39d1b12 Move ReapplyGfxState() to GPUCommon.
This way it can be overridden, and simplifies some other things.
2013-08-04 15:15:50 -07:00
raven02 c4a3638183 Add gstate.isClearModeDepthWriteEnabled/ColorMask/AlphaMask() 2013-08-03 14:56:37 +08:00
raven02 fd40bf7ada Use gstate.isClearModeDepthWriteEnabled/ColorMask/AlphaMask() 2013-08-03 14:55:45 +08:00
Unknown W. Brackets f35b4a6159 Don't use render-to-texture with format mismatch. 2013-08-02 22:45:35 -07:00
Unknown W. Brackets 8e512c926e For now, don't bind mismatched FBs at all.
But still don't create a garbage texture either.
2013-08-02 22:45:34 -07:00