Commit Graph

166 Commits

Author SHA1 Message Date
Unknown W. Brackets
e0f85a9c6b Native merge part 1: skip native/ in includes. 2015-09-06 12:19:33 -07:00
Henrik Rydgard
72ae497350 Remove glstate usage except in the GPU implementation. Prepare for moving it into PPSSPP. 2015-09-06 12:42:15 +02:00
Henrik Rydgard
2430c283a5 More GPU cleaning, removing uses of GPUState.h where not needed.
Want to get rid of direct accesses to GPUState in modules that may be reused in
my future next-gen backends, that will reformat display lists into command lists that will
then be optimized and executed, out of sync with the real GPUState.

Candidate modules that may be reused in full are Framebuffer and Depal, possibly TextureCache to some degree.
2015-07-29 12:37:49 +02:00
Henrik Rydgard
0b2a1dfe53 Profile a few more scopes 2015-05-26 00:39:27 +02:00
Unknown W. Brackets
bbe15d2518 Add a NEON color conv for 5551 -> 1555. 2015-05-23 11:30:06 -07:00
Unknown W. Brackets
6b26e1a591 Read pending vertex data before exiting gpu loop.
Fixes save pictures in Crimson Gem Saga.
2015-03-14 18:11:24 -07:00
Unknown W. Brackets
e4a24efda3 Don't show the op twice in the GE debugger. 2015-02-01 01:21:04 -08:00
Unknown W. Brackets
0a6a70f53f Allow switching cpu thread on/off ingame. 2014-12-20 17:39:42 -08:00
Unknown W. Brackets
199e6bcd3b Avoid crashing when calling an invalid address.
We already have a check, let's use it properly.
2014-09-23 08:31:29 -07:00
Henrik Rydgard
170e88838f Slightly improve GPU disassembly 2014-09-13 23:51:07 +02:00
sum2012
d671675027 fix bracing 2014-08-19 07:04:36 +08:00
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
03f86f364f Skip debug stepping time in list/func time.
Just makes the debug stats actually useful while stepping.  A bit of
overengineering, but it makes it easy to go frame-by-frame looking for
perf issues.
2014-06-14 08:42:18 -07:00
Unknown W. Brackets
230c7fb8a8 Don't block duplicate enqueues when intr pending.
Fixes #6138.
2014-05-25 18:52:31 -07:00
Unknown W. Brackets
7f5be6b35d CALLs and JUMPs to misaligned addresses round down.
Fixes Pac-Man World 3.  Matches tests on hardware.
2014-05-04 17:58:44 -07:00
Unknown W. Brackets
984bb31709 Fix another race condition with multithreading.
It's possible that after it's marked completed, the CPU will grab it to
enqueue.  This actually happened to mean with decent reproducibility.
2014-05-03 18:40:27 -07:00
Unknown W. Brackets
99e4300f95 Eat a few more cycles on END cmds.
Fixes #3049, which apparently expects an END/FINISH to not immediately
trigger (it drawsyncs soon after, and completely expects that to
reschedule.)

Either way, it seems plausible an END would take a few more cycles than
most instructions, since it generates an interrupt.
2014-04-29 00:08:43 -07:00
Unknown W. Brackets
97c18e7f0e Comment out a few unsafe replacement funcs. 2014-04-22 08:07:10 -07:00
Unknown W. Brackets
256e98b841 Add the common funcs to the direct exec calls. 2014-04-17 01:18:52 -07:00
Unknown W. Brackets
b2f12daba9 Don't reset OFFSETADDR, changes offsetAddr. 2014-04-17 01:18:51 -07:00
Unknown W. Brackets
4c1c694d4b Use flags to avoid hashing textures when unchanged.
If only parameters change (like wrapping or clut, etc.) we don't need to
rehash the data - we know it hasn't changed.

Should reduce the distance between lazy texture hashing on and off.
2014-04-13 14:22:39 -07:00
Unknown W. Brackets
e93407f33e Oops, downgrade from ERROR to DEBUG, and -report. 2014-04-12 00:04:02 -07:00
Unknown W. Brackets
26933384a7 Don't mark a list complete too early.
This would matter probably mostly if we implemented CONTINUE properly.
2014-04-11 23:50:20 -07:00
Unknown W. Brackets
4561440df7 Handle GE pause signals per tests.
They really should pause, but we were resetting them incorrectly.
And most importantly, sceGeContinue() inside the signal handler absolutely
must work.  Games use this a lot.
2014-04-11 23:50:20 -07:00
Unknown W. Brackets
702294fe60 Don't trigger pause GE signals either, comments.
This better explains what each signal does.
2014-04-10 00:23:36 -07:00
Unknown W. Brackets
9c75c1e6fd Avoid triggering SYNC ge signals.
Fixes #5806, bcause it avoids rescheduling at the signal, which it should
not do.  Possibly this is incorrect for all GE signals, but we don't need
to trigger any behavior on a sync anyway.
2014-04-08 22:20:33 -07:00
Unknown W. Brackets
8a440f93b1 Super stupid typo. 2014-04-05 14:08:44 -07:00
Unknown W. Brackets
82df1b1fa8 Simplify UpdatePC() a bit more. 2014-04-05 12:04:10 -07:00
Unknown W. Brackets
cbb6c01d4c Avoid some debug stats when disabled.
This function can get called a lot sometimes, and an if helps on ARM a
little.
2014-04-05 01:41:54 -07:00
Unknown W. Brackets
7cde2311e0 Include sceKernelThread.h in less headers. 2014-03-29 17:02:41 -07:00
Unknown W. Brackets
a4327702f1 Reduce some includes under GPU/. 2014-03-29 16:51:38 -07:00
Unknown W. Brackets
4fbb245382 Avoid leaving the fast runloop on jumps.
Jumps are actually very common in some games, like FF4 and Crisis Core,
and tons more.  They are used to jump around vertex data.

Improves performance by a few percent in FF4.
2014-03-05 23:24:18 -08:00
Henrik Rydgard
e11e4cfff2 GCC buildfix 2014-03-04 11:38:33 +01:00
Unknown W. Brackets
0a880b09ad Allow fast bone mtx loads w/o software skinning. 2014-03-02 18:12:40 -08:00
Henrik Rydgård
db59559a92 Reduce the "Ret: Stack Empty" log level to DEBUG.
Still reporting. Avoids logspam in buggy games.
2014-02-25 21:23:21 +07:00
Unknown W. Brackets
183b4cb45c Add a static method for creating PSPPointers.
This is still kinda ugly, but the assignment thing was just too ugly, I
couldn't do it anymore.
2013-12-16 23:50:52 -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
Henrik Rydgard
dc03796ccb The bone matrix optimization is only safe when software skinning 2013-11-14 15:02:22 +01:00
Henrik Rydgard
8c562a615f Bone matrix loading speedup. Bit of a hack but seems reliable enough. 2013-11-14 14:02:31 +01:00
Unknown W. Brackets
1633aa689c Remove the extra process queues hack.
It seems like it's not helping anymore so it could be hurting.
2013-11-09 23:08:44 -08:00
Sacha
2c74693f6c VSync codepath only works on _WIN32 so only show it and check it there. 2013-10-27 23:09:46 +10:00
Sacha
4972e7b680 EnqueueList: Relocate code that depends on compatibility check to simplify the code 2013-10-27 03:49:46 +10:00
Unknown W. Brackets
afb578a325 Use the newer interface for Qt's gpu debugging. 2013-10-20 00:14:39 -07:00
raven02
acb9c49ea2 Try to use a smaller value for cyclesExecuted 2013-10-12 16:20:27 +08:00
raven02
2cdb2d1e1f Extra cycles execute .Fix #3979 & #3883 2013-10-09 19:45:28 +08:00
Henrik Rydgard
fc8aa7bd8f Crashfix dumping display lists that start at the start of VRAM (seems to hit this in GTA).
Add a couple of comments.
2013-10-07 22:58:46 +02:00
Henrik Rydgård
8f7a9656c8 Merge pull request #4062 from unknownbrackets/debugger
Show tabs for depth/stencil in ge debugger, other improvements
2013-10-06 23:59:54 -07:00
Unknown W. Brackets
ff0e9cf32d Make it possible to flip flags in the ge debugger. 2013-10-06 22:17:56 -07:00
Unknown W. Brackets
0c03dc2dec Handle it better when viewing an invalid addr. 2013-10-06 22:17:52 -07:00