Commit Graph

70 Commits

Author SHA1 Message Date
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
Unknown W. Brackets 7738b42b9c Implement sceGeBreak()/sceGeContinue(). 2013-04-04 00:36:43 -07:00
Unknown W. Brackets 74441fdc07 Handle displaylist state more like the PSP.
All these changes from Orphis' hard work.  Things still looking good.
2013-04-03 23:05:54 -07:00
Unknown W. Brackets 514bf93bf9 Don't trigger an interrupt when cb = -1. 2013-04-03 08:09:34 -07:00
Unknown W. Brackets b8e4c72f04 Maintain the stack per displaylist, not globally. 2013-03-31 23:57:03 -07:00
Unknown W. Brackets affe91cb3b Refactor some GPU methods to return errors. 2013-03-31 23:57:03 -07:00
Henrik Rydgard bc15617392 Make un-buffered rendering much smarter, removing flicker.
This turns it into a very viable option for many games. You do lose some FX
but it can as a result even be used as a workaround for the massive glow
in Wipeout...
2013-03-03 13:00:21 +01:00
Xele02 2a6af9b8a3 Add displayList debug dialog 2013-02-17 01:28:43 +01:00
Xele02 381bffaa47 Remove Qt define 2013-02-10 18:15:01 +01:00
Xele02 69b837f18b Add debug dialogs (DisAsm, Memory, VFPU).
New features : Breakpoint display, thread status, display list status
Update translation and start french translation
2013-02-10 17:33:34 +01:00
Unknown W. Brackets 2a6457b6ab Cut down on h files including PointerWrap.
This makes changes to it a bit faster to build.
2013-02-04 08:26:59 -08:00
Florent Castelli 8004d360dd Interrupt handler reorganization for easier GE interrupt support 2013-02-04 03:10:01 +01:00