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