sum2012
5ac70026c7
Fix save status
...
Rename u32_le stackAddr to u32
2014-08-17 16:52:06 +08:00
JimLee168
8099281928
check for duplicated stack addresses
...
Based on https://code.google.com/p/jpcsp/source/detail?r=3569
Fix WWE SmackDown! vs. RAW 2006
2014-08-13 21:28:22 +08:00
Unknown W. Brackets
d2d7d6e34b
Destroy all FBOs/textures upon sceKernelLoadExec().
...
It can confuse our heuristics about size, attachment, memcpy, etc.
2014-06-28 12:29:09 -07:00
Unknown W. Brackets
6d104edb5d
Make sure not to leak any enabled vertex arrays.
...
When returning to EmuScreen, we need to reset any enabled vertex arrays or
we could crash in EmuScreen. Also, when starting a frame / dirting the
shader, make sure also to toggle the vertex arrays.
2014-06-22 21:42:29 -07:00
Unknown W. Brackets
adee76cd62
Add a matching PerformMemoryUpload().
...
Just so we have both Download and Upload to use later.
2014-06-10 00:45:03 -07:00
Unknown W. Brackets
089ee41d9c
Implement a very basic stencil upload.
...
This is not fast or efficient, but works.
2014-05-31 21:48:09 -07:00
Unknown W. Brackets
1433b98c46
Clean up the framebuffer force downloads.
2014-05-31 10:03:03 -07:00
Unknown W. Brackets
8dcc09c9e1
Use a separate func for gpu memset().
2014-05-27 07:50:01 -07:00
Unknown W. Brackets
e4dc702d68
Schedule the FBO blit during multithreading.
...
This was it's properly ordered with draws, and it runs on the right GL
context.
2014-05-25 22:08:15 -07:00
Unknown W. Brackets
8275f613ce
UpdateMemory() now returns whether to skip the cpy.
...
This way it can do it itself as necessary in the right order.
2014-05-25 21:48:41 -07:00
Unknown W. Brackets
a4327702f1
Reduce some includes under GPU/.
2014-03-29 16:51:38 -07:00
Henrik Rydgård
e5e17fbc6e
More include cleanup. Hoping for very slightly faster compile times..
2013-12-30 10:49:05 +01:00
Unknown W. Brackets
d35717f5a8
Also report the vertex decoder jit to verysleepy.
...
Can use the same methods to support other platforms.
2013-11-30 19:20:22 -08:00
Unknown W. Brackets
435115441d
Reinitialize the GE on sceKernelLoadExec().
...
Mostly, reset the lists and draw completion, etc.
May be required for Capcom Classic Collection Reloaded to work.
2013-11-28 15:35:12 -08:00
Unknown W. Brackets
afafa5fcd6
Make sure the gpu thread has a chance to run.
...
If the scheduler puts it on the same core, it may not even do anything
before we check if the framebuffer is dirty, so SyncThread will quit since
it's not even running.
Instead, let's wait until it's at least done something.
2013-11-09 23:08:28 -08:00
Henrik Rydgard
a88ab80477
Only clear the shader cache when toggling "Disable alpha test"
2013-10-22 14:34:16 +02:00
Unknown W. Brackets
479a9801d4
Shutdown issues: the legend continues.
...
If the gpu was slow (softgpu for example), it might still be accessing
memory. Need to let it wake, and ignoring coreState too.
2013-10-13 09:35:02 -07:00
Unknown W. Brackets
a09119ba04
Correct savestates when dls had context saving.
...
It was wrong, and also they were different between 64/32 bit.
2013-10-06 22:10:44 -07:00
Henrik Rydgard
424b4cbd5f
Move GE_CMD_BJUMP to GPUCommon. Add the flag. (no actual bbox impl yet)
2013-09-24 14:14:04 +02:00
Unknown W. Brackets
3787471791
Add some initial methods to GPUDebugInterface.
2013-09-22 10:22:33 -07:00
Unknown W. Brackets
2e2fa53201
Preseve offsetAddr on stall, instead of reset to 0.
...
Only for new lists is it reset to 0, afaict.
2013-09-21 21:01:41 -07:00
Unknown W. Brackets
881cefbc83
A paused list will allow a context save.
...
Just not stall, drawing, etc.
2013-09-21 21:01:41 -07:00
Unknown W. Brackets
863eb83e4c
Add support for sceGeGetStack() for debugging.
2013-09-21 10:04:31 -07:00
Unknown W. Brackets
3c954ea0e4
Save the base address in signal calls.
...
It's not saved in regular calls but it is in signal ones.
2013-09-21 00:07:49 -07:00
Unknown W. Brackets
4078dcd917
Support save/restore of context on list run/finish.
2013-09-20 09:51:44 -07:00
Unknown W. Brackets
8998a1b303
Don't trash a list the GE interrupt handler needs.
...
Even after it's marked COMPLETED, the CPU needs it to start and finish the
interrupt. Fixes #2956 , where an existing completed list was not having
its interrupt run correctly.
2013-09-01 12:39:45 -07:00
Henrik Rydgard
664d74a9b7
Another frameskipping attempt. Now: 0=no frameskip, 1=auto frameskipt, 2-9=fixed frameskip.
...
There is still some flicker remaining in non-buffered rendering that I can't seem to get rid off.
2013-08-16 01:00:26 +02:00
Unknown W. Brackets
cf7c718706
Use a timer to keep gpu/cpu in sync periodically.
...
Fixes Diva Extend demo, at least, losing FPS.
2013-08-11 13:41:42 -07: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
1226c3dbd9
Try to prevent a deadlock if CPU doesn't NEXTFRAME.
2013-08-09 22:57:53 -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
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
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
f7a39d1b12
Move ReapplyGfxState() to GPUCommon.
...
This way it can be overridden, and simplifies some other things.
2013-08-04 15:15:50 -07:00
Unknown W. Brackets
89349eae7e
Consistently use a proper type for GE fb format.
2013-07-29 23:05:59 -07:00
Unknown W. Brackets
f8d6bda678
Add a better signal for VRAM copies in the GPU.
2013-06-09 23:55:32 -07:00
Unknown W. Brackets
3c0ed69fd2
Improve GPU invalidation interface, check fonts.
...
When a font is rendered, tell the GPU about it, but don't rehash.
This not only improves perf (less hashing) but makes font changes more
immediate (no deferred hashing.) But only if they use sceFont.
2013-05-05 22:52:01 -07:00
Peter Thoman
2212e7f609
Fixed threading issue pointed out by unknownbrackets and made texture scaling changes apply immediately
2013-04-30 17:58:05 +02:00
Unknown W. Brackets
b0ce9e934e
Split out the GPU vendor and the full detail.
...
This way we can sort things more easily.
2013-04-29 00:30:54 -07:00
Unknown W. Brackets
5cea38e405
Reporting: catch information about the GPU.
2013-04-29 00:26:43 -07:00
Unknown W. Brackets
f86e01707f
Use a struct for the GE stack entries, cleaner.
2013-04-15 23:06:56 -07:00
Unknown W. Brackets
2b4ec12aa9
Buildfix for iOS. Fixes #1220 .
2013-04-08 07:41:09 -07:00
Unknown W. Brackets
57770dbd95
Delay GPU signals and waits to simulate cycles.
2013-04-07 17:05:11 -07:00
Unknown W. Brackets
77311a121d
Don't listsync until after the signal handler.
2013-04-06 08:36:03 -07:00
Unknown W. Brackets
fb26941a27
Implement sceGeListSync().
2013-04-06 02:30:38 -07:00
Unknown W. Brackets
339b444703
Switch to a fixed size displaylist queue.
2013-04-05 00:32:34 -07:00
Unknown W. Brackets
7aa6112c24
Keep a flag to indicate display list bailout.
2013-04-05 00:32:32 -07:00