1043 Commits

Author SHA1 Message Date
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
Unknown W. Brackets
ab1c20f509 Detach textures and fbs using a range check.
This is more compatible with the attach logic, and might also be faster.
Although, framebuffer destroys should not be that common.
2013-08-02 22:45:34 -07:00
Henrik Rydgard
61d419b2ec Don't scan for something to decimate every frame. Actually costs perf. 2013-08-01 00:13:58 +02:00
raven02
08a315b7db Fix typo 2013-07-31 02:35:03 +08:00
raven02
635def582c Fix readIndexedTex() to use texture level for width/height 2013-07-31 01:52:29 +08:00