Commit Graph
263 Commits
Author SHA1 Message Date
iwubcode 095f946b66 Core: update State version due to adding XFStateManager 2023-11-26 16:30:54 -06:00
Rairii 2333fc2701 MMU: Use VSID in segment register as additional TLB lookup key 2023-11-11 15:59:47 +00:00
Admiral H. Curtiss 437946fb1a Core/State: Refactor logic for determining the relative age of existing savestates.
The code previously did this indirectly via `std::map<double, int>`, the key being the timestamp, which required a questionable workaround for the case where multiple states have the same timestamp. By having a particular combination of timestamps in the on-disk savestates, you could cause this workaround to infinitely loop, locking up Dolphin. This avoids this completely by refactoring the logic and just using `std::vector` instead.
2023-10-30 19:19:01 +01:00
Admiral H. Curtiss 99a3bbc055 Core/State: Return an empty string on invalid input to SystemTimeAsDoubleToString(). 2023-10-30 19:19:01 +01:00
sowens99 cddc75c28b Core: Fix UI slowdown for savestate timestamp reads 2023-10-26 22:32:47 -04:00
sowens99 1eaa9380dd Savestates: Use LZ4 algorithm for faster decompression 2023-10-08 20:45:49 -04:00
Admiral H. Curtiss b2ee958058 IOS/WiiSockMan: Move instance to IOS Kernel. 2023-04-18 01:24:10 +02:00
Admiral H. Curtiss 23843583bf PowerPC: Refactor to class, move to System. 2023-04-09 21:48:37 +02:00
Admiral H. Curtiss 4c21cdd0e6 HW/DVDInterface: Do DTK math in blocks instead of in samples. 2023-03-14 13:19:44 +01:00
Admiral H. Curtiss 43a5d506c8 Merge pull request #11644 from deReeperJosh/trapteamaudio
Skylander Portal: Play Trap Team Audio
2023-03-14 01:29:20 +01:00
Admiral H. Curtiss 026b6a3e0f HW: Pass System to functions. 2023-03-13 18:13:20 +01:00
Joshua de Reeper f27e8216a5 Skylander Portal: Play Trap Team Audio
Asserts and length handling
2023-03-13 13:01:48 +13:00
Admiral H. Curtiss 2102e64299 HW/VideoInterface: Savestate members individually. 2023-03-11 12:48:02 +01:00
Pokechu22 debed35c10 State: Fix shadowing warnings 2023-02-09 16:23:02 -08:00
Scott Mansell aaad0cd39f Merge pull request #11539 from phire/improve_workqueuethread
Various WorkQueueThread improvements
2023-02-09 20:00:04 +13:00
Scott MansellandBhaaL 05fad53fa0 Update STATE_VERSION
Co-authored-by: BhaaL <bhaalsen@gmail.com>
2023-02-09 18:36:20 +13:00
Scott Mansell 11de923dcb Move xfb tracking and IR scaling out of RenderBase 2023-02-09 18:36:20 +13:00
Scott Mansell 7c4fcc30a3 WorkQueueThread: provide name and function at same time 2023-02-04 15:56:27 +13:00
Scott Mansell acdb0c5be1 WorkQueueThread: Implement thread name
Otherwise we will end up with a dozen threads named "WorkQueueThread"
2023-02-04 14:58:12 +13:00
Scott Mansell e57eb04ed3 Rename FrameDump.{cpp,h} to FrameDumpFFMpeg.{cpp,h}
The name kind of conflicts with a new FrameDumper class
2023-01-31 18:45:29 +13:00
MayImilae ed121ee679 Removed filepath from State Save/Load OSD messages
Though less important compared to #11470, save states also show the full path in the OSD message and could potentially dox a streamer who is playing in Dolphin. This is a simple fix - it removes the path from the message and only displays the file name.
2023-01-24 07:55:58 -08:00
TheLordScruffy e97d380437 Implement PPC write-back data cache 2022-12-08 18:18:32 -05:00
Admiral H. Curtiss 839db591d9 HW/Memmap: Refactor Memory to class, move to Core::System. 2022-12-03 13:27:02 +01:00
Admiral H. Curtiss c9558ecb4c CoreTiming: Refactor to class. 2022-11-27 03:47:12 +01:00
Lobsterzelda ed54e1905a HostFileSystem: Set all NAND folders to be saved in save states when a movie is active 2022-11-10 14:02:29 -05:00
TellowKrinkle 68f49df0f8 VideoCommon: Add vertex shader point and line expansion 2022-10-22 20:13:24 -05:00
Lobsterzelda 486a523e0d IOS: Simplify IOS::HLE::Device savestate method 2022-10-17 23:11:04 -04:00
Lobsterzelda 65c7304bd4 VideoInterface: Simplify VideoInterface savestate code
VideoInterface: Simplify savestate code in VideoInterface
2022-10-13 15:21:22 -04:00
Pokechu22 05f3bbfa4d Include tangent/binormal cache in savestates
This theoretically matters for RS2/RS3, although in practice these games reconfigure it each frame so it shouldn't matter for savestates.
2022-10-09 16:21:49 -07:00
Lobsterzelda d2db451eba HW/MemoryInterface: Add data to savestates and initialize on boot. 2022-10-07 01:31:56 +02:00
Pokechu22 4d33f6af7c GCMemcard: Remove manual std::vector handling in DoState 2022-10-06 11:25:36 -07:00
Admiral H. Curtiss f3a23db0e0 Core/State: Minor cleanup around the undo load state buffer. 2022-10-02 00:01:01 +02:00
Admiral H. Curtiss e0d30e371c Core/State: Rewrite threading behavior when multiple Save requests are happening. Should improve responsiveness when eg. mashing a save state button. 2022-10-02 00:00:29 +02:00
TellowKrinkle 4c629c2bee VideoCommon: Add dynamic vertex loader to ubershaders 2022-09-19 16:28:23 -05:00
Dentomologist 02cd4ecf7d Core: Use std::chrono time_since_epoch 2022-08-06 13:28:28 -07:00
Pokechu22 bf70026728 DSPHLE: Require implementing DoState
CARDUCode, GBAUCode, and INITUCode previously didn't have an implementation of it. In practice it's unlikely that this caused an issue, since these uCodes are only active for a few frames at most, but now that GBAUCode doesn't have global state, we can implement it there. I also implemented it for CARDUCode, although our CARDUCode implementation does not have all states handled yet - this is simply future-proofing so that when the card uCode is properly implemented, the save state version does not need to be bumped. INITUCode does not have any state to save, though.
2022-08-03 17:32:12 -07:00
Mai a8b2174ce6 Merge pull request #10872 from shuffle2/timer
Timer improvements
2022-08-03 14:30:29 -04:00
Shawn Hoffman 3384b1385e move "double time" code into State from Timer
Ideally the statesave format could be changed
to just store a u64 in the future
2022-08-02 22:24:06 -07:00
Shawn Hoffman 09089eeee0 Common::Timer: use chrono::steady_clock internally 2022-08-02 22:24:06 -07:00
Pokechu22 134397754e PPCCache: Stop storing lookup table in savestates
These lookup tables total 4 megabytes, and contain data that's entirely redundant to the actual cache state (as part of an optimization, though I'm not sure whether the optimization actually is useful). This change instead recomputes these lookup tables when loading the state (which involves filling the lookup table with a marker (0xff), and then setting the 128 * 8 valid entries (1 kilobyte)).
2022-08-01 16:36:59 -07:00
Pokechu22 b76f4dd5f8 ProcessorInterface: Remove unused fields 2022-07-22 22:20:26 -07:00
Admiral H. Curtiss a1e8e60c4c IOS: Add IOSC::KeyEntry::misc_data to savestate. 2022-07-20 21:32:44 +02:00
Admiral H. Curtiss de3d1344d5 Merge pull request #10762 from CasualPokePlayer/fix_slow_audio_desyncs
Reduce gradual audio desyncing in dumps and apply the correct sample rate for GameCube audio
2022-07-05 11:37:30 +02:00
CasualPokePlayer 4234b25682 Do not directly store input sample rate, rather just store a divisor for that sample rate, with it using a fixed dividend of 54000000 * 2.
This should reduce (but not completely eliminate) gradual audio desyncs in dumps. This also allows for accurate sample rates for the GameCube.
Completely eliminating gradual audio desyncs will require resampling to an integer sample rate, as nothing seems to support a non-integer sample rate.
2022-07-03 15:07:06 -07:00
Minty-Meeo 69e32dea52 Resolve GCC Warnings 2022-06-30 15:26:48 -05:00
Admiral H. Curtiss caf0e5b3e8 DSPHLE: Add variables in CMailHandler to savestate. 2022-06-25 19:15:21 +02:00
Pokechu22 072913bbad DSPLLE: More accurately handle initialization behavior 2022-06-16 12:18:05 -07:00
Dentomologist c8e20c569b Convert PointerWrap::Mode to enum class 2022-05-25 13:16:46 -07:00
Dentomologist f6b9acccfc Common: Refactor PointerWrap 2022-05-25 13:06:41 -07:00
Vicki Pfau 6a26b0ce8a HW: Initial HSP implementation with ARAM expansion 2022-05-21 17:05:49 -07:00