36513 Commits

Author SHA1 Message Date
dreamsyntax
2f38a00534 InputCommon: Disable DualSense Player LED 2024-11-02 16:49:36 -07:00
Sintendo
a307d9d9b8 JitArm64_LoadStore: Optimize zero stores in stX
The value being stored must be loaded into a register. In the case of an
immediate value, this means it must be materialized. The value is
eventually byteswapped before performing the store.

This can be simplified for the value 0 for two reasons:
- ARM64 has a dedicated zero register, so does not need to be
  materialized.
- Byteswapping zero is still zero, so we can skip this step.

We could skip byteswapping for other values by immediately materializing
the byteswapped value in a register, but the benefits are not so clear
there (if the value needs to be materialized anyway, it is better to do
it up front).

Before:
0x5280001b   mov    w27, #0x0                 ; =0
0xb9404fba   ldr    w26, [x29, #0x4c]
0x12881862   mov    w2, #-0x40c4              ; =-16580
0x0b020342   add    w2, w26, w2
0x5ac00b61   rev    w1, w27
0xb8226b81   str    w1, [x28, x2]

After:
0xb9404fbb   ldr    w27, [x29, #0x4c]
0x12881862   mov    w2, #-0x40c4              ; =-16580
0x0b020362   add    w2, w27, w2
0xb8226b9f   str    wzr, [x28, x2]
2024-11-02 23:15:22 +01:00
Jordan Woyak
0fd5e86677 Config/IsSettingSaveable: Remove unused includes. 2024-11-02 16:23:49 -05:00
Jordan Woyak
8da7a86b96 Config/IsSettingSaveable: Use class template argument deduction. 2024-11-02 16:22:54 -05:00
Tilka
97931a718f
Merge pull request #13151 from mitaclaw/core-global-system-6
MainWindow: Avoid Global System Accessor
2024-11-02 12:04:28 +00:00
JosJuice
980a726313 JitArm64: Drop GetCRFieldBit's negate parameter
No caller is using it anymore.
2024-11-02 10:51:48 +01:00
JosJuice
71e9766519 JitArm64: Use BIC/EON/ORN in crXXX
This lets us save an instruction in certain scenarios.
2024-11-02 10:51:38 +01:00
JosJuice
9246bcad55 JitArm64: Add negate parameter to SetCRFieldBit
Unlike on x64, inverting EQ or GT in SetCRFieldBit saves us one
instruction. Also unlike on x64, inverting SO or LT in GetCRFieldBit
requires an extra instruction (just like in SetCRFieldBit). Due to this,
replacing an invert in GetCRFieldBit with an invert in SetCRFieldBit
when possible is either equally good or better - never worse.
2024-11-02 10:48:27 +01:00
JosJuice
7fddd39d97 JitArm64: Port some crXXX optimizations from Jit64 2024-11-02 10:24:02 +01:00
JosJuice
bbe271eec6 JitArm64: Refactor CR bit manipulation code
This brings JitArm64 more in line with Jit64, and makes the next commit
easier to implement. No functional change.
2024-11-02 10:19:31 +01:00
Jordan Woyak
d920064779 Add include guard to QtUtils.h 2024-11-02 01:27:07 -05:00
JMC47
000e8fd83d
Merge pull request #13157 from jordan-woyak/sdl-hotplug-fix
ControllerInterface/SDL: Fix device removal event processing.
2024-11-01 18:11:17 -04:00
Jordan Woyak
d361d4ba6e ControllerInterface/SDL: Fix device removal event processing. 2024-10-31 14:11:27 -05:00
Jordan Woyak
149a3721ff DolphinQt: Ensure skylanders QDateTimeEdit shows a four digit year without forcing dd-mm-yyyy format. 2024-10-31 02:38:45 -05:00
Jordan Woyak
19c3b88e5a ControllerInterface/SDL: Disable SDL's Windows.Gaming.Input controller handling. 2024-10-30 17:41:09 -05:00
JMC47
adafe1f347
Merge pull request #13147 from mitaclaw/jit-block-table-model-fix
JitBlockTableModel: Catch All Block Invalidating Events (I Hope)
2024-10-30 17:00:27 -04:00
JMC47
1ba3a141a2
Merge pull request #13143 from TellowKrinkle/PrimBreaking
VideoCommon: Implement primitive breaking for primitive lists
2024-10-30 12:15:11 -04:00
TellowKrinkle
5ef4fcb005 VideoCommon: Implement primitive breaking for primitive lists 2024-10-29 22:38:22 -05:00
Admiral H. Curtiss
2764a3dc44
Merge pull request #13136 from Tilka/startup_patch
Core: apply Dolphin OnFrame patches right after boot
2024-10-30 04:28:18 +01:00
JMC47
bab34ca060
Merge pull request #13140 from dreamsyntax/skip-efb-default-flip
GraphicsSettings: EFBAccessEnable=false by default
2024-10-28 18:58:37 -04:00
JMC47
1012803f2e
Merge pull request #12954 from LillyJadeKatrin/retroachievements-confirm
Achievements Confirmation Dialogs
2024-10-28 12:54:37 -04:00
JMC47
aa8226fa88
Merge pull request #12744 from nlebeck/settingshandler-split-2
Split `SettingsHandler` into separate reader and writer classes
2024-10-27 19:23:05 -04:00
JMC47
96c9591b99
Merge pull request #13096 from mitaclaw/ranges-modernization-7-rewrite
Ranges Algorithms Modernization - Rewrite
2024-10-27 19:17:01 -04:00
JosJuice
92b8d57e6f
Merge pull request #13144 from JosJuice/jitarm64-imm-stp
JitArm64: Allow ppcState STP optimization for imm
2024-10-27 10:59:00 +01:00
mitaclaw
12f8b11452 MainWindow: Avoid Global System Accessor 2024-10-24 21:41:35 -07:00
mitaclaw
0371b74ebf JitBlockTableModel: Update For Symbols Too
Flushing efficiency down the drain because I wrote unsafe code to achieve it... I hope I can recover this.
2024-10-24 18:10:52 -07:00
Sintendo
e6fd843c0b JitArm64_LoadStore: Small dcbx optimization
MUL and SUB can be combined in one instruction.

Before:
0x1b1a7c01   mul    w1, w0, w26
0x4b010318   sub    w24, w24, w1

After:
0x1b1ae018   msub   w24, w0, w26, w24
2024-10-24 23:05:42 +02:00
JosJuice
5165ddea52 DolphinQt: Remove a stray period from the Audio tab 2024-10-24 21:24:40 +02:00
JosJuice
c212c0d08e
Merge pull request #12868 from Sintendo/scoped-reg
JitArm64: Release temporary regs with RAII
2024-10-24 21:01:53 +02:00
mitaclaw
5a95951751 DolphinQt: Signal Host::JitCacheInvalidation in more places 2024-10-23 23:43:25 -07:00
mitaclaw
3d9c728910 Host: Rename JitCacheInvalidation
There are two hard problems in computer science...
2024-10-23 23:43:24 -07:00
Admiral H. Curtiss
c13c11d230
Add missing algorithm header in SettingsHandlerTest.cpp 2024-10-22 23:48:43 +02:00
dreamsyntax
9dacefcbf1 GraphicsSettings: EFBAccessEnable=false by default
Makes Graphics -> Hacks -> Skip EFB Access from CPU enabled by default. Some GPU drivers stall when EFB access occurs in games where EFB is not used. Most games that require this setting set to 'true' already have this defined in their game inis.
2024-10-22 12:28:14 -07:00
Niel Lebeck
1d79991ec4 Split SettingsHandler into separate reader and writer classes 2024-10-21 20:20:15 -07:00
JosJuice
6fb3e9226b JitArm64: Use WZR for ppcState STP optimization with imm == 0 2024-10-21 21:53:21 +02:00
JosJuice
383cbffdec JitArm64: Allow ppcState STP optimization for imm 2024-10-21 21:51:48 +02:00
JMC47
f412e2488c
Merge pull request #12714 from mitaclaw/jit-widget-refresh
DolphinQt: JIT Widget Refresh
2024-10-21 12:03:50 -04:00
Sintendo
defb2d65a6 JitArm64_SystemRegisters: Use ScopedARM64Reg 2024-10-21 08:33:05 +02:00
Sintendo
be2b466743 JitArm64_Paired: Use ScopedARM64Reg 2024-10-21 08:33:05 +02:00
Sintendo
3b251dbb2a JitArm64_LoadStorePaired: Use ScopedARM64Reg 2024-10-21 08:33:05 +02:00
Sintendo
23327064f6 JitArm64_LoadStoreFloating: Use ScopedARM64Reg 2024-10-21 08:33:05 +02:00
Sintendo
9420250046 JitArm64_LoadStore: Use ScopedARM64Reg 2024-10-21 08:33:05 +02:00
Sintendo
ac3d3de66d JitArm64_FloatingPoint: Use ScopedARM64Reg 2024-10-21 08:33:05 +02:00
Sintendo
9805a8ac0a JitArm64_Branch: Use ScopedARM64Reg 2024-10-21 08:33:05 +02:00
Sintendo
cb29a29866 JitArm64: Use ScopedARM64Reg 2024-10-21 08:33:05 +02:00
Sintendo
c0a0746d65 JitArm64_Integer: Use ScopedARM64Reg 2024-10-21 08:33:05 +02:00
Sintendo
62e1d7ad99 JitArm64: Add ScopedARM64Reg 2024-10-21 08:23:23 +02:00
JosJuice
24e9fc120c
Merge pull request #13066 from DacoTaco/feature/networking
IOS/Net: implement ioctlv that retrieves the network routing table that libogc now uses on network init
2024-10-20 14:14:24 +02:00
mitaclaw
c3bda2e875 Jit64: Make Furthest Exit Micro-Optimization More Correct 2024-10-19 18:19:17 -07:00
mitaclaw
ff6845288e Simplify std::copy with fmt::format_to
Plus a few other memory allocation optimizations.
2024-10-19 12:18:16 -07:00