Admiral H. Curtiss
c730ee2de2
Merge pull request #11596 from AdmiralCurtiss/copyany
...
Common/FileUtil: Migrate CopyDir() to a more clear interface.
2023-02-27 12:02:00 +01:00
Admiral H. Curtiss
4f462b4ef6
Migrate destructive calls of File::CopyDir() to File::Move().
2023-02-26 23:17:10 +01:00
Admiral H. Curtiss
26adf78e45
Merge pull request #11602 from JosJuice/cpu-guard-expression
...
PowerPC: Rework CPUThreadGuard handling in Expression.cpp
2023-02-26 11:55:47 +01:00
Shawn Hoffman
28956cc6c2
workaround msvc optimizer bug
2023-02-25 23:26:27 -08:00
JosJuice
ae5311d6e6
PowerPC: Rework CPUThreadGuard handling in Expression.cpp
...
See https://github.com/dolphin-emu/dolphin/pull/11554#discussion_r1113949572 .
2023-02-25 16:13:34 +01:00
Dentomologist
d18735e82e
Qt/WiimoteControllersWidget: Add bluetooth unavailable message
2023-02-24 14:30:43 -08:00
Admiral H. Curtiss
1ed0e014cd
Migrate non-destructive calls of File::CopyDir() to File::Copy().
2023-02-24 20:32:19 +01:00
Admiral H. Curtiss
e52aa52a66
Common/FileUtil: Rename Copy() to CopyRegularFile().
...
This is to clarify that it can only copy files, not folders.
2023-02-22 11:43:58 +01:00
Léo Lam
3c4a21315d
Merge pull request #11592 from Pokechu22/fix-delete-ticket
...
IOS/ES: Fix crash when deleting tickets
2023-02-21 10:53:37 +01:00
Pokechu22
f2ac3aec94
IOS/ES: Fix crash when deleting tickets
...
This broke formatting the system memory; see https://bugs.dolphin-emu.org/issues/13176 . After calling ticket.DeleteTicket(), ticket.m_bytes was 0-length, but calling ticket.IsV1Ticket() still attempted to read from m_bytes.
This was introduced in 2fd9852ca8
, although it didn't actually cause a crash until 929fba08e7
.
2023-02-20 18:33:34 -08:00
Seeky
4e6e510003
Debugger: Add string comparison to conditional breakpoints.
2023-02-20 01:40:33 +01:00
JosJuice
78c53bfec8
Jit64: Fix the offsetAddedToAddress correction
...
The LEA that the signal handler is trying to undo the effects of is a
32-bit instruction, and the value in the register prior to the LEA is
also 32-bit, so the signal handler should use a 32-bit write.
(Actually, in the end this doesn't really matter, because the first
instruction that reads this value after backpatching is also a 32-bit
instruction...)
2023-02-18 21:14:31 +01:00
Admiral H. Curtiss
0c48324c75
Jit64: Use 5 byte jump in mtmsr for the CP interrupt check.
...
WriteExternalExceptionExit() can write more than the maximum offset of the small jump.
2023-02-16 19:26:19 +01:00
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