Commit Graph

13067 Commits

Author SHA1 Message Date
Pokechu22
8802f96b7e Fix uninitialized variable warnings (C26495) 2023-02-15 19:18:39 -08:00
SMarioMan
301e97f7f7
Remove WinAPI-specific type from socket request 2023-02-15 09:29:21 -05:00
SMarioMan
a45f6d9438
Enable broadcast permissions in socket requests 2023-02-15 07:59:38 -05:00
Admiral H. Curtiss
661b74f4a3
Merge pull request #11564 from JosJuice/jitarm64-cmp-order
JitArm64: Fix special cases of cmp
2023-02-14 20:19:07 +01:00
JosJuice
0049a76775 JitArm64: Fix special cases of cmp
This fixes a regression from 592ba31. When `a` was a constant 0 and `b`
was a non-constant 0x80000000, the 32-bit negation operation would
overflow, causing an incorrect result. The sign extension needs to happen
before the negation to avoid overflow.

Note that I can't merge the SXTW and NEG into one instruction.
NEG is an alias for SUB with the first operand being set to ZR,
but "SUB (extended register)" treats register 31 as SP instead of ZR.

I've also changed the order for the case where `a` is a constant
0xFFFFFFFF. I don't think the order actually affects correctness here,
but let's use the same order for all the cases since it makes the code
easier to reason about.
2023-02-14 19:16:00 +01:00
Admiral H. Curtiss
34a459bed7
Merge pull request #11445 from JosJuice/jit64-wraparound-backpatch
Jit64: Properly handle backpatching overflowed address calculations
2023-02-14 01:00:13 +01:00
Admiral H. Curtiss
3458c58c7d
Merge pull request #11503 from JosJuice/ppcanalyst-read-cr
PPCAnalyst: Actually check if instructions want CR
2023-02-14 00:55:24 +01:00
Admiral H. Curtiss
e2d7b6d079
Merge pull request #11559 from Pokechu22/cache-fix-plru-updates
PPCCache: Update PLRU on any cache access
2023-02-14 00:50:54 +01:00
Admiral H. Curtiss
e1dbea3658
JIT: Fix calls to HLE::Execute.
This got broken in 7cecb28bdf.
2023-02-13 11:47:47 +01:00
Pokechu22
14c4f4e7f6 PPCCache: Update PLRU on any cache access
The previous code only updated the PLRU on cache misses, which made it so that the least recently inserted cache block was evicted, instead of the least recently used/hit one.

This regressed in 9d39647f9e (part of #11183, but it was fine in e97d380437), although beforehand it was only implemented for the instruction cache, and the instruction cache hit extremely infrequently when the JIT or cached interpreter is in use, which generally keeps it from behaving correctly (the pure interpreter behaves correctly with it).

I'm not aware of any games that are affected by this, though I did not do extensive testing.
2023-02-12 19:59:19 -08:00
JosJuice
611e721a4d Jit64: Properly handle backpatching overflowed address calculations
Previously we would only backpatch overflowed address calculations
if the overflow was 0x1000 or less. Now we can handle the full 2 GiB
of overflow in both directions.

I'm also making equivalent changes to JitArm64's code. This isn't because
it needs it – JitArm64 address calculations should never overflow – but
because I wanted to get rid of the 0x100001000 inherited from Jit64 that
makes even less sense for JitArm64 than for Jit64.
2023-02-12 20:48:27 +01:00
JosJuice
7cecb28bdf DolphinQt: Properly lock CPU before accessing emulated memory
This fixes a problem I was having where using frame advance with the
debugger open would frequently cause panic alerts about invalid addresses
due to the CPU thread changing MSR.DR while the host thread was trying
to access memory.

To aid in tracking down all the places where we weren't properly locking
the CPU, I've created a new type (in Core.h) that you have to pass as a
reference or pointer to functions that require running as the CPU thread.
2023-02-12 11:27:50 +01:00
Admiral H. Curtiss
9b5c52ad8d
Merge pull request #11541 from Pokechu22/dsptool-no-redefine-label
DSPTool: Fix missing error when redefining labels
2023-02-10 11:02:36 +01:00
Pokechu22
3024ca2146 Suppress memcpy writing to an object with no trivial copy-assignment warnings
We need to copy padding in most of these cases, and the objects are trivially copyable; however, BitField prevents trivial copy-assignment.
2023-02-09 16:23:49 -08:00
Pokechu22
ac7a17579e BreakPoints: Fix shadowing warning 2023-02-09 16:23:02 -08:00
Pokechu22
debed35c10 State: Fix shadowing warnings 2023-02-09 16:23:02 -08:00
Pokechu22
f1b1f5c013 IOS: Fix shadowing warnings 2023-02-09 16:23:02 -08:00
Pokechu22
8d71f542cb Boot: Fix shadowing warning 2023-02-09 16:23:02 -08:00
Pokechu22
edcc4a6578 AudioInterface: Fix warning: declaration of ‘state’ shadows a previous local 2023-02-09 16:23:02 -08:00
Pokechu22
8ad7d58303 DSP: Fix warning: declaration of ‘state’ shadows a previous local 2023-02-09 16:23:02 -08:00
Pokechu22
24df509447 DVDInterface: Fix warning: declaration of ‘state’ shadows a previous local 2023-02-09 16:23:02 -08:00
Pokechu22
9c52c600c4 EXI_DeviceEthernet: Fix warning: operation on ‘current_rwp’ may be undefined [-Wsequence-point] 2023-02-09 16:23:01 -08:00
Pokechu22
1465620721 GCMemcardDirectory: Fix variable shadowing warning 2023-02-09 16:23:01 -08:00
Pokechu22
c555a4f0c6 SerialInterface: Fix warning: declaration of ‘state’ shadows a previous local 2023-02-09 16:23:01 -08:00
Pokechu22
72b4675c8f VideoInterface: Fix warning: declaration of ‘state’ shadows a previous local 2023-02-09 16:23:01 -08:00
Pokechu22
49a84cbc4c Resolve various "no previous declaration" warnings 2023-02-09 16:23:01 -08:00
Pokechu22
af5013b60f Suppress -Winvalid-offsetof for PowerPC::PowerPCState
This code doesn't need to be portable (since the goal is to have a smaller offset for x64 codegen), so if it's not supported there are other problems. Similar code exists in e.g. DSP.cpp.
2023-02-09 16:23:01 -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 Mansell
ccf92a3e56
Merge pull request #11522 from phire/KillRendererWithFire
Kill Renderer (with phire)
2023-02-09 19:59:16 +13:00
Scott Mansell
8c8bd0e7ac Rename to HookableEvent. Because naming conflict 2023-02-09 18:36:20 +13:00
Scott Mansell
60f2b5af7b Apply suggestions from code review
Co-authored-by: Mai <mathew1800@gmail.com>
Co-authored-by: BhaaL <bhaalsen@gmail.com>
Co-authored-by: iwubcode <iwubcode@users.noreply.github.com>
2023-02-09 18:36:20 +13:00
Scott Mansell
05fad53fa0 Update STATE_VERSION
Co-authored-by: BhaaL <bhaalsen@gmail.com>
2023-02-09 18:36:20 +13:00
Scott Mansell
31cfe8250d Lint fixes 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
Joshua de Reeper
e0b3dd0dcf Remove Imaginators Skylanders from list
Add Vicarious Visions variant
2023-02-06 15:16:06 +13:00
Pokechu22
a244cb868b DSPTool: Fix missing error when redefining labels
The logging was broken in 958cbf38a4 (DSPTool doesn't use dolphin's logging system, so it just produced nothing; the same thing affected comparing before 693a29f8ce).

AssemblerError::LabelAlreadyExists (previously ERR_LABEL_EXISTS) simply was never used.
2023-02-04 17:31:06 -08: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
Sam Belliveau
4a97dc7c81 Let VI Skip work if variance > fallback 2023-02-02 20:59:17 -05:00
Sam Belliveau
87d5d39dfe Set VI Skip Activation to Half The Audio Buffer 2023-02-02 20:55:13 -05:00
Joshua de Reeper
680db55239 Android: Add Skylanders Portal
Co-Authored-By: Charles Lombardo <clombardo169@gmail.com>
2023-02-02 21:16:14 +13:00
Scott Mansell
12431a83ba
Merge pull request #11435 from techydude0713/wc24-utc-fix
NetKDTime: Use UTC based timestamp instead of localtime.
2023-01-31 23:40:15 +13:00
Scott Mansell
abfc75f362 Cleanup headers 2023-01-31 19:41:24 +13:00
Scott Mansell
0da69055d9 Split out everying remaining from Swap 2023-01-31 19:41:24 +13:00
Scott Mansell
b007b8e104 Replace BeginUI/EndUI 2023-01-31 19:41:24 +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
Scott Mansell
0d4537d60f Move Presenting, Dumping and ImGui out of Renderer 2023-01-31 18:45:21 +13:00
Pierre Bourdon
2843cd10a8
Merge pull request #11492 from mandar1jn/file-improvements
Improve the data in the first data block of the skylanders figures
2023-01-31 03:02:39 +01:00
Lioncash
f20790370a Core/ActionReplay: Make use of std::span where applicable
Generifies the interface a little by not strictly requiring the use of
std::vector.
2023-01-30 13:02:09 -05:00
Lioncash
adb4c0492d Core/GeckoCode: Make use of std::span where applicable
Generifies the interface a little by not strictly requiring the use of
std::vector.
2023-01-30 12:53:50 -05:00
Mandar1jn
c8a91abadc Improve the data in the first data block of the skylanders figures
* Added NUID
* Added BCC
* Added ATQA
* Added SAK
2023-01-30 16:29:20 +01:00
Admiral H. Curtiss
e48424065b
Merge pull request #10839 from CasualPokePlayer/fix_sysconf_settings
Fix SYSCONF movie settings
2023-01-30 09:50:21 +01:00
Pierre Bourdon
a2f4606d33
Merge pull request #11205 from TellowKrinkle/AutoPresent
VideoBackends:Metal: Default to presentDrawable when vsync is on
2023-01-30 09:01:18 +01:00
Scott Mansell
6d7303993c
Merge pull request #11509 from Sam-Belliveau/improved-speed-counter
Tie Speed to CPU Speed and not VPS
2023-01-30 20:41:03 +13:00
Sam Belliveau
ebf114aef5 Tie Speed to CPU Speed and not VPS 2023-01-29 13:33:48 -05:00
Pierre Bourdon
2eda76cffc
Merge pull request #11474 from MayImilae/cleanup-remove-cdutils
Cleanup: Remove CDUtils
2023-01-29 09:50:32 +01:00
Pokechu22
3b4e17292d Revert "DSPLLE: Add assertion for bad DMA alignment"
This reverts commit e140516130. This assert triggers for AX and AXWii uCode games (including the Wii System Menu) for various addresses that seem to be 4-byte aligned. Worse still, if the DSP thread is in use (i.e. for DSP LLE recompiler, but not for DSP LLE interpreter), Dolphin completely hangs after the panic alert. Perhaps the data DMA has fewer restrictions compared to the instruction DMA?

The change to DSPTool (e391a28102) has not been reverted, as it still fixes broken behavior for DSPSpy at -O0 on real hardware.
2023-01-28 17:26:47 -08:00
JosJuice
e27339039c PPCAnalyst: Actually check if instructions want CR 2023-01-28 20:16:17 +01:00
JosJuice
9d2c4aa325 PPCAnalyst: Use bitsets for CR analysis
Currently we're only performing CR analysis for CR0 and CR1, but I
would like to do it for all CRs. Bitsets are appropriate for this.
2023-01-28 20:16:16 +01:00
JosJuice
3b57fb1d21 PPCTables: Add new instruction flags for CR 2023-01-28 20:16:16 +01:00
MayImilae
37859ec1da Cleanup: Remove CDUtils
This is a cleaning followup for #11456.
2023-01-28 03:50:57 -08:00
Admiral H. Curtiss
be2d394b8c
GDBStub: Avoid ppcState global. 2023-01-27 15:22:48 +01:00
Admiral H. Curtiss
dd9907ed93
PatchEngine: Avoid ppcState global. 2023-01-27 15:22:48 +01:00
Admiral H. Curtiss
4c349caabd
MIOS: Avoid ppcState global. 2023-01-27 15:22:48 +01:00
Admiral H. Curtiss
ed633476e6
IOS: Avoid ppcState global. 2023-01-27 15:22:47 +01:00
Admiral H. Curtiss
0a0b4d325f
HW/SystemTimers: Avoid ppcState global. 2023-01-27 15:22:47 +01:00
Admiral H. Curtiss
a784fe1f2f
HW/ProcessorInterface: Avoid ppcState global. 2023-01-27 15:22:47 +01:00
Admiral H. Curtiss
884130f95c
HW/Memmap: Avoid ppcState global. 2023-01-27 15:22:47 +01:00
Admiral H. Curtiss
2bf72de43d
HW/GPFifo: Avoid ppcState global. 2023-01-27 15:22:47 +01:00
Admiral H. Curtiss
e2f7855b0e
HW/DSP: Avoid ppcState global. 2023-01-27 15:22:47 +01:00
Admiral H. Curtiss
18d9ec75f1
HW/CPU: Avoid ppcState global. 2023-01-27 15:22:47 +01:00
Admiral H. Curtiss
078a460446
HW/AudioInterface: Avoid ppcState global. 2023-01-27 15:22:46 +01:00
Admiral H. Curtiss
b52e8fd295
HLE_OS: Avoid ppcState global. 2023-01-27 15:22:46 +01:00
Admiral H. Curtiss
7fd552081f
HLE function hooking: Avoid ppcState global. 2023-01-27 15:22:46 +01:00
Admiral H. Curtiss
30de91d843
GeckoCode: Avoid ppcState global. 2023-01-27 15:22:46 +01:00
Admiral H. Curtiss
1a826b27a6
FifoPlayer: Avoid ppcState global. 2023-01-27 15:22:46 +01:00
Admiral H. Curtiss
8adabb86cf
Debugger: Avoid ppcState global. 2023-01-27 15:22:45 +01:00
Admiral H. Curtiss
bfc951311f
CheatSearch: Avoid ppcState global. 2023-01-27 15:22:45 +01:00
Admiral H. Curtiss
41ad0490f0
CoreTiming: Avoid ppcState global. 2023-01-27 15:22:45 +01:00
Admiral H. Curtiss
94455ee9e1
Boot: Avoid ppcState global. 2023-01-27 15:22:45 +01:00
Admiral H. Curtiss
51e7980d95
Core: Add PowerPCState reference to System. 2023-01-27 15:22:44 +01:00
Admiral H. Curtiss
485bba238e
PowerPC: Add PowerPCState parameter to UpdatePerformanceMonitor(). 2023-01-27 15:22:44 +01:00
Admiral H. Curtiss
61ba516570
PowerPC: Move a few functions to PowerPCState. 2023-01-27 15:22:44 +01:00
Admiral H. Curtiss
0dcf228aaf
PowerPC: Parametrize TU macro. 2023-01-27 15:22:44 +01:00
Admiral H. Curtiss
a7d3315b4f
PowerPC: Parametrize TL macro. 2023-01-27 15:22:44 +01:00
Admiral H. Curtiss
2f241856b6
PowerPC: Add PowerPCState parameter to GQR macro. 2023-01-27 15:22:44 +01:00
Admiral H. Curtiss
814c01162a
PowerPC: Remove SPRG0/1/2/3 macros. 2023-01-27 15:22:43 +01:00
Admiral H. Curtiss
2f8b3ac1b7
PowerPC: Parametrize SRR1 macro. 2023-01-27 15:22:43 +01:00
Admiral H. Curtiss
652113e6ba
PowerPC: Parametrize SRR0 macro. 2023-01-27 15:22:43 +01:00
Admiral H. Curtiss
10dabd9975
PowerPC: Remove rDEC macro. 2023-01-27 15:22:43 +01:00
Admiral H. Curtiss
c13ca271d8
PowerPC: Parametrize CTR macro. 2023-01-27 15:22:43 +01:00
Admiral H. Curtiss
0a343007cb
PowerPC: Parametrize LR macro. 2023-01-27 15:22:43 +01:00
Admiral H. Curtiss
0f301829d2
PowerPC: Remove rPS macro. 2023-01-27 15:22:42 +01:00
Admiral H. Curtiss
0cd4a226d2
PowerPC: Remove rSPR macro. 2023-01-27 15:22:42 +01:00
Admiral H. Curtiss
27ce432012
PowerPC: Remove rGPR macro. 2023-01-27 15:22:42 +01:00
Admiral H. Curtiss
8fccefa3aa
PowerPC: Remove GPR macro. 2023-01-27 15:22:42 +01:00
Admiral H. Curtiss
ba1b624e1b
PowerPC: Remove MSR macro. 2023-01-27 15:22:42 +01:00
Admiral H. Curtiss
4b6b8fa1ae
PowerPC: Remove FPSCR macro. 2023-01-27 15:22:41 +01:00
Admiral H. Curtiss
2f3187eba9
PowerPC: Remove NPC macro. 2023-01-27 15:22:41 +01:00
Admiral H. Curtiss
be8d0b76ca
PowerPC: Remove PC macro. 2023-01-27 15:22:41 +01:00
Admiral H. Curtiss
82f3170876
PowerPC: Parametrize THRM1/2/3 macros. 2023-01-27 15:22:41 +01:00
Admiral H. Curtiss
8bab3ac755
PowerPC: Parametrize MMCR1 macro. 2023-01-27 15:22:41 +01:00
Admiral H. Curtiss
126590c4cd
PowerPC: Parametrize MMCR0 macro. 2023-01-27 15:22:40 +01:00
Admiral H. Curtiss
38529a2d8d
PowerPC: Parametrize DMAL macro. 2023-01-27 15:22:40 +01:00
Admiral H. Curtiss
2374365274
PowerPC: Parametrize DMAU macro. 2023-01-27 15:22:40 +01:00
Admiral H. Curtiss
31483e492e
PowerPC: Parametrize HID4 macro. 2023-01-27 15:22:40 +01:00
Admiral H. Curtiss
6f0ab1b33e
PowerPC: Parametrize HID2 macro. 2023-01-27 15:22:40 +01:00
Admiral H. Curtiss
49eeb986c6
PowerPC: Parametrize HID0 macro. 2023-01-27 15:22:40 +01:00
Pierre Bourdon
f056cec859
Merge pull request #11480 from Pokechu22/dsp-code-alignment
DSPLLE: Add assertion for bad DMA alignment
2023-01-26 23:17:09 +01:00
Pierre Bourdon
9c9310bf44
Merge pull request #11208 from TellowKrinkle/CPUCull
Cull vertices on the CPU
2023-01-26 23:15:23 +01:00
Pierre Bourdon
c6a7465529
Merge pull request #11485 from MayImilae/remove-filepath-from-states-messaging
Remove Filepath from State Save/Load OSD Messages
2023-01-26 05:29:21 +01:00
TellowKrinkle
1be0149146 VideoCommon: Cull vertices on the CPU 2023-01-25 02:21:56 -06:00
Admiral H. Curtiss
9fc959cab0
Merge pull request #11489 from lioncash/init
CoreTiming: Zero initialize all CoreTimingManager throttle members
2023-01-25 02:29:32 +01:00
Lioncash
3607c1dc7d CoreTiming: Zero initialize all CoreTimingManager throttle members
Gives two members without explicit initialization default values to be
consistent with the rest of the class and also ensuring deterministic
values on construction.
2023-01-24 17:20:08 -05:00
Pierre Bourdon
6fad8ac389
Merge pull request #11467 from Simonx22/remove-titlebar-fps-counter
Core: Remove FPS, VPS and speed percentage from window title
2023-01-24 23:04:29 +01:00
Lioncash
e5b91f00b0 Common: Replace StringBeginsWith/StringEndsWith with std equivalents
Obsoletes these functions in favor of the standard member functions
added in C++20.
2023-01-24 14:58:20 -05: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
Pierre Bourdon
caca662dbf
Merge pull request #10994 from shuffle2/fs
get rid of HAS_STD_FILESYSTEM
2023-01-24 12:18:25 +01:00
Admiral H. Curtiss
d4d6f3db63
Merge pull request #11331 from deReeperJosh/skylandersportal
Emulate Skylanders Portals within Dolphin
2023-01-24 06:56:00 +01:00
Joshua de Reeper
c76d2c16eb Valid block/num checks, rename variables, remove translatable strings
Capitalize Skylander in tr strings

Lint and validation method fixes

Proper Attach and Change Interface method

Re-jig code to exit early and read easier
2023-01-24 18:12:24 +13:00
Pokechu22
e140516130 DSPLLE: Add assertion for bad DMA alignment
I haven't tested this extensively on real hardware, but I do know that bad things happen if the address isn't properly aligned, and libogc says it should be 32-byte aligned.
2023-01-23 15:20:49 -08:00
Simonx22
df6f070a55 Core: Remove FPS, VPS and speed percentage from window title 2023-01-23 21:32:50 +01:00
Pierre Bourdon
8d477c65c9
Merge pull request #11458 from shuffle2/winuver
windows: prefer os version from registry
2023-01-23 15:53:41 +01:00
Admiral H. Curtiss
8032a71c4c
Merge pull request #11471 from MayImilae/dont-update-titlebar-with-osd-messages
Don't Write OSD Messages to the Titlebar
2023-01-23 06:46:32 +01:00
MayImilae
9df1f0276d Don't Write OSD Messages to the titlebar
Turns out all OSD messages, every single one, are written to the titlebar. We've just never seen them because the FPS is in the title bar and it replaces it in a fraction of a second. This was only visible when saving savestates because it halts emulation for a moment while writing.

This is dumb, let's not do that anymore.
2023-01-22 00:19:51 -08:00
Pierre Bourdon
0eb984f030
Merge pull request #11470 from MayImilae/remove-memory-card-path-from-osd-message
Remove Memory Card Path from the Wrote to OSD Message
2023-01-22 08:13:51 +01:00
MayImilae
ef0d386954 Remove Memory Card Path from the Wrote OSD Message
A few weeks ago, a vtuber tweeted that they had to remove a vod of their stream because Dolphin Emulator showed some personal information during the steam, and left a warning to everyone else that Dolphin shows the account name of the computer. And yea, we do, we show the full directory of the memory card every time a memory card is written, and due to mandatory Microsoft account nonsense, that is very likely to contain someone’s real name.

Fortunately this is very easy for us to solve. This change simply removes the filename from wrote memory card contents string. That’s it. All functionality of the wrote memory card OSD message remains the same, it just doesn’t say where the memory card is anymore.

There are lots of other potential solutions to this but after talking on IRC it seems the simplest one is the best.
2023-01-21 21:19:51 -08:00
Joshua de Reeper
18fd0d7dcd Use Core timing instead of thread
Skylander code tidy ups

Convert c array to std::array and fix comments

Formatting fixes/review changes

Variable comment

Migrate portal to System Impl and code tidy ups

Use struct

Restore review changes

Minor fix to schedule transfer method

Change descriptors to hex and fix comments
2023-01-22 14:50:30 +13:00
Joshua de Reeper
f76a6789a0 Emulate Skylanders within Dolphin
Ported the code from RPCS3, with improvements made to the handling of control messages and audio transfers, Co-Authored with @mandar1jn

Missing new line chars

Co-Authored-By: mandar1jn <49076509+mandar1jn@users.noreply.github.com>
2023-01-22 14:50:30 +13:00
shockdude
a32b85691b Fix Turntable extension's table range 2023-01-18 19:17:09 -08:00
Pierre Bourdon
8d5edb13a9
Merge pull request #11367 from Sam-Belliveau/lagbegone
VideoCommon: VI Skip
2023-01-19 01:20:01 +01:00
Pierre Bourdon
1cd11b8f3a
Merge pull request #11381 from skyfloogle/traversal-fix-1
Netplay: Fix traversal connections occasionally not working
2023-01-17 23:40:24 +01:00
John Papetti
e2db9cd142
NetKDTime: Use UTC timestamp 2023-01-17 13:59:01 -05:00
Shawn Hoffman
dff7f20f9d windows: prefer os version from registry
this value is not modified by compatibility mode
drop reporting service pack numbers. no longer used
2023-01-17 01:38:00 -08:00
Scott Mansell
7c202ab411 Reset throttle on savestate load 2023-01-16 14:18:42 +13:00
JMC47
30f0051f9c
Merge pull request #11440 from JosJuice/jit64-negative-guard
Core: Allocate 2 GiB of guard pages below fastmem area
2023-01-14 19:19:53 -05:00
JosJuice
4fa9fa997e Core: Allocate 2 GiB of guard pages below fastmem area
See the comment added by this commit. We were previously guarding against
overshooting in address calculations, but not against undershooting.
Perhaps someone assumed that the displacement of an x86 loadstore was
treated as unsigned?

Note: While the comment says we can undershoot by up to 2 GiB, in
practice Jit64 as it currently behaves won't actually undershoot by more
than 0x8000 if my analysis is correct. But address space is cheap, so
let's guard the full 2 GiB.
2023-01-14 20:35:50 +01:00
JosJuice
9c90b31e6a Memmap: Remove some remnants from the 32-bit JITs 2023-01-14 11:46:37 +01:00
Sam Belliveau
23ad07b368 Add VISkip 2023-01-14 01:56:37 -05:00
JMC47
8a1cac9be1
Merge pull request #11348 from Sam-Belliveau/improved-pacing
CoreTiming: Throttle Before Every Event Using std::chrono
2023-01-13 21:52:07 -05:00
Sam Belliveau
e849172dc9 Limit Throttling to 1200hz 2023-01-13 18:17:24 -05:00
Sam Belliveau
e95c1d55e8 Limit Sleep Calls to 8192hz at most 2023-01-13 11:59:32 -05:00
Shawn Hoffman
d51e4e5236 get rid of HAS_STD_FILESYSTEM
just use std::filesystem
2023-01-10 05:17:43 -08:00
Admiral H. Curtiss
653e0ccf28
Merge pull request #11365 from iwubcode/cheat_manager_freeze_value
DolphinQt: add ability to lock / freeze values in the watches window
2023-01-09 18:41:28 +01:00
Admiral H. Curtiss
993d2ab173
PatchEngine: Use std::span in ApplyMemoryPatches(). 2023-01-09 17:24:41 +01:00
Admiral H. Curtiss
21c29bad6b
Merge pull request #11407 from AdmiralCurtiss/globals-gpfifo
HW/GPFifo: Refactor to class, move to Core::System.
2023-01-09 17:09:48 +01:00
Admiral H. Curtiss
eeeab3c3be
Merge pull request #11183 from TheLordScruffy/write-back-cache
Implement PowerPC data cache
2023-01-09 17:09:32 +01:00
Sam Belliveau
901e4c7697 Reset Throttle Variables In Init 2023-01-09 11:06:12 -05:00
Sam Belliveau
f7de0e4147 Fix issue that would disable Throttling 2023-01-08 01:20:19 -05:00
TheLordScruffy
d85f6c8298 DolphinAnalytics: Remove ICACHE_MATTERS 2023-01-08 00:17:46 -05:00
TheLordScruffy
825bacde43 PPCCache: Change u32 to u8 for plru, valid, modified 2023-01-07 20:18:59 -05:00
TheLordScruffy
811d942222 Improve PPCCache lookup table 2023-01-07 07:30:42 -05:00
Sam Belliveau
bc1cc9eeb4 CoreTiming: Throttle Before Every Event Using Chrono 2023-01-06 17:21:17 -05:00
Admiral H. Curtiss
d33416fc35
HW/Memmap: Zero-initialize members by default. 2023-01-06 05:33:21 +01:00
Admiral H. Curtiss
fbcaf83d30
HW/GPFifo: Refactor to class, move to Core::System. 2023-01-06 05:33:21 +01:00
Admiral H. Curtiss
7b04a6b958
Merge pull request #11089 from sepalani/pcap-share
NetworkCaptureLogger: Allow PCAP shared read access on Windows
2023-01-05 04:06:35 +01:00
Admiral H. Curtiss
2fdaf0a86e
HW/ProcessorInterface: Rename member variables to fit naming convention. 2023-01-04 03:17:26 +01:00
Admiral H. Curtiss
74e1577a2c
HW/ProcessorInterface: Refactor to class, move to Core::System. 2023-01-04 03:00:10 +01:00
Pokechu22
c1b1d8d783 DolphinAnalytics: Track support of framebuffer fetch 2023-01-02 23:17:17 -08:00
Pokechu22
277518837a DolphinAnalytics: Track support of logic ops 2023-01-02 23:17:02 -08:00
Pokechu22
f433da6083 DolphinAnalytics: Fix comment wrapping
This was broken in 3570c7f03a.
2023-01-02 23:15:04 -08:00
TheLordScruffy
9d39647f9e Fix PPC cache code formatting 2023-01-02 02:33:57 -05:00
Mai
20ac2cf781
Merge pull request #11375 from JosJuice/mmu-inf-write
PowerPC: Fix theoretically possible infinite loop in WriteToHardware
2022-12-31 18:55:11 +00:00
Mai
acdf76bf16
Merge pull request #11374 from JosJuice/jitarm64-breakpoints
JitArm64: Implement breakpoints
2022-12-31 18:53:25 +00:00
Admiral H. Curtiss
f6fbeaf355
Merge pull request #11364 from jordan-woyak/udraw-lift
WiimoteEmu: Expose mappings for lifted UDraw and Drawsome stylus.
2022-12-29 21:16:57 +01:00
Admiral H. Curtiss
c20bb01b47
Merge pull request #11372 from JosJuice/m3u-backslash
Boot: Fix handling of M3U file paths containing backslashes
2022-12-29 17:09:38 +01:00
Admiral H. Curtiss
4bc94e4629
Merge pull request #11353 from noahpistilli/fix-mail-account-generation
Set checksum for NWC24Config during creation
2022-12-29 17:08:10 +01:00
Admiral H. Curtiss
cb0a603c72
VideoCommon: De-globalize GeometryShaderManager class. 2022-12-29 15:33:19 +01:00
Admiral H. Curtiss
a164c47caf
Core/Boot: Pass System instance to BootUp() and related. 2022-12-29 05:49:26 +01:00
Admiral H. Curtiss
50625728e0
VideoCommon: De-globalize VertexShaderManager class. 2022-12-28 15:52:29 +01:00
Mai
0900e68986
Merge pull request #11384 from AdmiralCurtiss/globals-pixelshadermanager
VideoCommon: De-globalize PixelShaderManager class.
2022-12-28 00:59:03 +00:00
Admiral H. Curtiss
c8202043b6
IOS/NWC24Config: Combine WriteConfig() and WriteCBK(). 2022-12-27 21:21:06 +01:00
Admiral H. Curtiss
725bd64ec2
VideoCommon: De-globalize PixelShaderManager class. 2022-12-27 20:13:24 +01:00
Sketch
929fba08e7 Fix ESDevice::GetTitlesWithTickets always returning 0 titles owned 2022-12-27 12:18:44 -05:00
Floogle
c689e9cde0 Netplay: When connecting, ignore packets from traversal server 2022-12-26 23:35:42 +01:00
Jordan Woyak
4f4285cf5e WiimoteEmu/DrawsomeTablet: Expose mapping for lifted stylus. 2022-12-25 19:03:15 -06:00
Jordan Woyak
ab9fc3f2e4 WiimoteEmu/UDrawTablet: Expose mapping for lifted stylus. 2022-12-25 19:03:15 -06:00
JosJuice
cf16f49068 PowerPC: Fix theoretically possible infinite loop in WriteToHardware
`em_address + size` can overflow and become 0. It shouldn't happen with
the kinds of memory mappings games use in practice, though.
2022-12-25 12:29:13 +01:00
JosJuice
c744ff4934 JitArm64: Implement breakpoints
Plus two miscellaneous debugger features that I found along the way when
reading Jit64's code for comparison: bJITNoBlockLinking and tracing.

Fixes https://bugs.dolphin-emu.org/issues/13127.
2022-12-24 13:24:01 +01:00
JosJuice
0659827485 Jit64: Check for breakpoint without disabling block link
Small optimization. By not calling WriteExit, the block linking system
never finds out about the exit we're doing, saving us from having to
disable block linking.
2022-12-24 13:01:29 +01:00
JosJuice
71f1b1db34 Boot: Fix handling of M3U file paths containing backslashes
Previously, if a user on Windows launched Dolphin from the command line
and specified a path to an M3U file and included backslashes in this path,
Dolphin would fail to resolve relative paths in the M3U file.
2022-12-24 11:13:27 +01:00
Sam Belliveau
673f81c18a New FrameTime/VBlank Analyzer + Graph 2022-12-23 19:52:53 -05:00
iwubcode
31bf9d0019 Core: add option to apply memory patch to not store the existing value (used during locking) 2022-12-23 12:31:33 -06:00
iwubcode
8f3e8e4ca3 Core: add locked state to watches 2022-12-23 11:59:23 -06:00
iwubcode
3081a781fd Core: when scheduling an invalidate cpu cache, no need to schedule if we're already on the cpu thread 2022-12-23 11:59:23 -06:00
iwubcode
2f2f906bf5 Core: add ability to add memory patches to the patch engine that will be executed each frame 2022-12-23 03:13:03 -06:00
iwubcode
1f87bcd202 Core: add ability to apply memory patches during a frame update in the PatchEngine 2022-12-23 03:13:03 -06:00
iwubcode
4743d74985 Core: add helper function to apply a memory patch and mark the 'PPCPatches' as final 2022-12-23 03:13:03 -06:00
Minty-Meeo
05bebee802 Replace BitUtils with C++20: Counting Zeroes
With the upgrade to C++20, std::countl_zero and std::countr_zero can replace these home-spun implementations from the BitUtil.h library.
2022-12-21 04:17:00 -06:00
Admiral H. Curtiss
d853da3b0b
Merge pull request #11354 from Pokechu22/desert-bus-asnd-ucode
DSPHLE: Add Desert Bus libasnd ucode variants
2022-12-20 20:01:21 +01:00
Pokechu22
66b3686d84 DSPHLE: Add Desert Bus libasnd ucode variants 2022-12-20 10:02:53 -08:00
Mai
5348c8b2c6
Merge pull request #11344 from JosJuice/jitarm64-mw-deps
JitArm64: Improve pipelining of lmw/stmw
2022-12-20 15:11:29 +00:00
Sketch
c01ec96c92 Set checksum for NWC24Config during creation 2022-12-19 20:18:34 -05:00
Mai
a1c4861ad8
Merge pull request #10950 from JosJuice/replace-bitutils-rotate
Replace BitUtils with C++20: RotateLeft/RotateRight
2022-12-11 21:19:43 +00:00
Mai
aa57d53c90
Merge pull request #11345 from AdmiralCurtiss/globals-pe
VideoCommon/PixelEngine: Refactor to class, move to Core::System.
2022-12-11 21:07:30 +00:00
Admiral H. Curtiss
ec8aaf1f30
VideoCommon/PixelEngine: Refactor to class, move to Core::System. 2022-12-11 21:57:19 +01:00
JosJuice
701ba7cd43 JitArm64: Improve pipelining of lmw/stmw
The calculation of each address in lmw/stmw currently has a dependency
on the calculation of the previous address. By removing this dependency,
the host CPU should be able to pipeline the loads/stores better. The cost
we pay for this is up to one extra register and one extra MOV instruction
per guest instruction, but often nothing.

Making EmitBackpatchRoutine support using any register as the address
register would let us get rid of the MOV, but I consider that to be too
big of a task to do in one go at the same time as this.
2022-12-11 17:08:12 +01:00
Merry
17c14ac4b9 MachineContext: Fix USE_SIGACTION_ON_APPLE on arm64 2022-12-11 13:36:44 +00:00
JosJuice
454537d53e Replace BitUtils with C++20: RotateLeft/RotateRight
Now that we've flipped the C++20 switch, let's start making use of
the nice new <bit> header.

I'm planning on handling this move away from BitUtils.h incrementally
in a series of PRs. There may be a few functions remaining in
BitUtils.h by the end that C++20 doesn't have any equivalents for.
2022-12-11 08:59:18 +01:00
JosJuice
1fd8d476e8
Merge pull request #11325 from t895/extra-dark
Android: Add black backgrounds toggle
2022-12-10 21:09:26 +01:00