Commit Graph
132 Commits
Author SHA1 Message Date
Unknown W. Brackets 24999e792a Ge: Report and save Edram translation value.
See #16126 for some details on its usage and effects.
2022-10-01 23:18:42 -07:00
Unknown W. Brackets 6b20c0318d softgpu: Correct matrix value update wrapping.
The values read back when saving a context or getting matrix data are set
differently than the actual values used for rendering.

This implements the wrapping and bleeding between matrices within softgpu,
but leaves hardware rendering to only use the rendering registers for
speed.
2022-09-27 22:29:55 -07:00
Unknown W. Brackets 95d2083f04 Ge: Move matrix reading into GPU.
Let's keep managing its state / registers internal.
2022-09-27 22:23:02 -07:00
Unknown W. Brackets 1d5c90d370 Ge: Read matrix num/data back like hardware.
In case any game accidentally relies on this.
2022-09-05 19:37:58 -07:00
Unknown W. Brackets a86b904cf2 Ge: Switch from ReadStruct to PSPPointer. 2022-09-03 10:44:11 -07:00
Unknown W. Brackets f1254b1976 Ge: Fix sceGeBreak error case.
Seems to be some compiler optimization.
2022-01-25 19:50:35 -08:00
Unknown W. Brackets 5d17ec70ce Ge: Add measured minimal timing for sceGeDrawSync. 2021-08-14 20:18:52 -07:00
Unknown W. Brackets 5041a898a2 Ge: Improve some logging and memchecks.
Explicitly trigger memchecks on readback.
2021-01-31 00:22:49 -08:00
Henrik Rydgård 886a8b1ac6 Remove Timer.cpp/h. Move various collections into Common/Data/Collections. 2020-10-05 21:05:23 +02:00
Unknown W. Brackets b8342fb8ec SaveState: Rename ChunkFile files to Serialize.
Makes more sense and less weird than ChunkFileDoMap, etc.
2020-08-10 08:04:05 +00:00
Unknown W. Brackets 1dc5ee424b SaveState: Split out Do types to reduce headers. 2020-08-10 08:03:44 +00:00
Unknown W. Brackets 4b4e3432cd SaveState: Split Do() into a separate header. 2020-08-10 08:03:41 +00:00
Unknown W. Brackets 5507116d3f Ge: Check stack depth based on args struct size.
Matches tests against firmware.
2020-05-21 22:16:13 -07:00
Unknown W. Brackets d13f76308d Ge: Avoid executing invalid pointers.
May help #3407 and related errors, as well as crashes and execution of
garbage.  This stops immediately on a bad pointer, rather than trying to
push through.
2018-08-25 10:32:32 -07:00
Henrik Rydgård a827ad23ae Don't use "threadsafe events" for Ge stuff. 2017-11-06 00:27:51 +01:00
Henrik Rydgård 9e35144b96 Remove/deprecate GPU tick sync 2017-11-05 23:21:53 +01:00
Henrik Rydgård 26e52ca5e8 Get rid of a bunch of sync stuff that's no longer needed. 2017-11-05 23:21:49 +01:00
Henrik Rydgard 26a2d42731 Big mutex overhaul - remove our custom ones, make them non-recursive where possible 2017-02-28 11:40:29 +01:00
LunaMoo 8d37b97b20 Place the hack into compat.ini 2017-02-03 15:30:22 +01:00
LunaMoo 1b25959d86 Modify Hack for Crash Tag Team Racing to fix Gundam games 2017-02-03 01:13:02 +01:00
Henrik Rydgard e11d0a7e1c Minor GPU interface cleanup 2016-01-06 23:49:02 +01:00
Henrik Rydgard 68fc776fa7 Work around some crashes I got trying to load a GTA:LCS savestate from 2014.
However, the savestate still loads to a black screen, although background audio is working.
2015-10-04 10:34:15 +02:00
Henrik Rydgard 828c740fd5 Correct a few comments, thanks unknown. 2015-07-24 23:27:23 +02:00
Henrik Rydgård 0763dbc641 Cleanup and comments in sceGe.cpp 2015-07-24 19:52:42 +02:00
Unknown W. Brackets e2ecd1eabd Add memchecks for ReadStruct/WriteStruct. 2015-04-05 18:09:35 -07:00
Unknown W. Brackets fcf0518223 Update all the HLE tables with arg and ret info. 2015-03-22 20:51:55 -07:00
Lioncash cac632424c Core: Add missing override specifiers 2014-12-08 15:20:31 -05:00
Lioncash 4ccb838306 Core: Mark some module functions as static 2014-12-08 04:40:08 -05:00
Unknown W. Brackets 413523c8ac Unpause lists after wait signals with no handler.
This stops the gpu/displaylist/state test from hanging, and appears to be
the correct behavior.  It makes sense.
2014-08-17 14:14:25 -07:00
Unknown W. Brackets 5cd4a17e88 Fix periodic events drifting when eating cycles.
Need to set the next timer before rescheduling threads or etc.
2014-07-01 00:26:15 -07:00
Unknown W. Brackets 17496330ce Don't wake a killed list in ge callback end.
Fixes #3198, some homebrew demos locking up.
2014-06-22 23:21:10 -07:00
Unknown W. Brackets 288d867588 Fix a type comparison warning. 2014-05-21 08:00:31 -07:00
Unknown W. Brackets 2ad06d777b Eat cycles and resched in sceGeContinue().
Fixes the gpu/ge/queue test.
2014-05-15 22:45:09 -07:00
Unknown W. Brackets ed6ea61283 Fix deadlock in multithreading.
Fixes #5971.
2014-04-27 15:52:36 -07:00
Unknown W. Brackets 5076a080c4 In case interrupts are delayed, read cmd early.
Otherwise, in Project Diva, the cmd may be overwritten (probably due to a
sync or etc.) by some other cmd.  Fixes #5896.
2014-04-17 22:33:13 -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
Felix-Dev 5fe0783593 Added name for PSP error code 0x80000023 and replaced the various uses of that error code number with its error code name. 2014-04-03 18:12:22 +02:00
Unknown W. Brackets e527ef8ad0 Correct old savestate compat.
When there was a pending GE sync.
2014-03-31 22:36:36 -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 05ab192c9c Reduce includes in Core/HLE/.
Especially templates.
2014-03-15 11:22:19 -07:00
Henrik Rydgard 7ae9c26b6a Enable the new vreg flushing mechanism on ARM.
Reduce logspam seen in a couple games.
2014-03-12 10:15:09 +01:00
Unknown W. Brackets 8396cdf227 Eat cycles when enqueuing GE lists. 2014-01-19 12:44:55 -08:00
Henrik Rydgård 79ff2f0ba8 Start untangling our include mess a little. 2013-12-29 23:34:45 +01: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 3a1b6fb269 Fix some sign comparison warnings. 2013-10-05 11:13: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 db1f2f2535 Oops, fix return of sceGeBreak(0).
Needs to match dlist ids.
2013-09-21 21:01:41 -07:00
Unknown W. Brackets e10ae1530b Error and reporting for sceGeBreak's second param. 2013-09-21 21:01:40 -07:00