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
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
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
mitaclaw
4c064de235
Simplify `std::copy` with `fmt::join`
2024-10-19 12:18:16 -07:00
JMC47
05e3a52de0
Merge pull request #13135 from Tilka/warning
...
VideoCommon: fix -Wshadow-uncaptured-local warning and simplify
2024-10-19 15:12:25 -04:00
Tilka
fed8220c39
Merge pull request #12712 from Dentomologist/remove_defined_out_code
...
Remove defined-out code
2024-10-19 19:36:19 +01:00
JMC47
88cf25e915
Merge pull request #13114 from TryTwo/PR_Turbo_Mutes_Audio
...
Audio: Add option to temporarily mute audio when using turbo
2024-10-19 13:11:05 -04:00
JMC47
e10821a847
Merge pull request #13104 from TellowKrinkle/MTLLogging
...
VideoBackends:Metal: Log file on failed pipeline compile
2024-10-19 13:03:52 -04:00
mitaclaw
a035bd95e4
JITs: Revamp LogGeneratedX86
...
Debug logging of recompiled code is now a feature of all three JITs.
2024-10-19 02:30:45 -07:00
mitaclaw
9afd09598c
DolphinQt: JIT Widget Refresh
...
Fulfilling a certain six-year-old todo.
2024-10-19 02:30:44 -07:00
mitaclaw
ca9222a16b
Move UICommon/Disassembler to Common/HostDisassembler
...
A preliminary commit for a cleaner diff and an easier review
2024-10-19 00:14:54 -07:00
mitaclaw
a0987829e5
JITs: Add GetMemoryStats Function
...
Using the updated rangeset library
2024-10-19 00:14:54 -07:00
mitaclaw
46f8fe0eaf
JITs: Add EraseSingleBlock Function
2024-10-19 00:14:54 -07:00
mitaclaw
d26dc1ba32
JITs: Outline FreeRanges Function
...
As I have done for Cached Interpreter 2.0
2024-10-19 00:14:54 -07:00
mitaclaw
c431cd2e1e
CachedInterpreter: Callback Disassembler
2024-10-19 00:14:53 -07:00
mitaclaw
ff9be97ea1
JitCache: Add WipeBlockProfilingData Function
...
Accessible from DolphinQt and Android.
2024-10-18 23:50:26 -07:00
mitaclaw
3d0d03b871
Modernize `std::partition` with ranges
...
The new return value is `std::ranges::subrange`.
2024-10-17 18:39:13 -07:00
mitaclaw
5f3a8ff0de
Modernize `std::unique` with ranges
...
The new return value is `std::ranges::subrange`.
2024-10-17 18:39:12 -07:00
mitaclaw
be0b13da97
Simplify `std::remove` with `std::erase`
...
`std::erase` is a replacement for the remove-erase idiom.
Changes to `OpenModeToAndroid` inadvertently revealed that the prior implementation had UB (potentially deleting the end iterator). This is now fixed.
2024-10-17 18:38:34 -07:00
mitaclaw
4fde0f2868
Modernize `std::search` with ranges
...
The new return value is `std::ranges::subrange`.
2024-10-17 18:38:34 -07:00
mitaclaw
0352f24a8e
Modernize `std::mismatch` with ranges
...
The new return value is `std::ranges::mismatch_result`, an alias for the pair-like type `std::ranges::in_in_result`.
2024-10-17 18:38:34 -07:00
JMC47
21f4319302
Merge pull request #13092 from mitaclaw/ranges-modernization-3-spaceship
...
Ranges Algorithms Modernization - Compare
2024-10-17 13:37:16 -04:00
JMC47
3d7ae07dbf
Merge pull request #13112 from Tilka/ioslog
...
IOS: log cIOS device checks as warnings, not errors
2024-10-17 12:17:47 -04:00
Tillmann Karras
0e41adb7b7
VideoCommon: fix -Wshadow-uncaptured-local warning and simplify
2024-10-16 18:36:00 +01:00
Tillmann Karras
fd95607700
Core: apply Dolphin OnFrame patches right after boot
2024-10-16 02:58:03 +01:00
Tillmann Karras
37ebb13ece
DSPHLE/AXWii: fix wiimote audio in multiple games
...
Three bugs specific to older Wii games:
- The size difference between high-pass and biquad filter was not
accounted for, causing wiimote related fields to be corrupted.
- Wiimote sample buffer pointers were advanced by 32 samples per
millisecond instead of 6 samples. Usually hidden by the first bug.
- PB updates on Wii were being byte-swapped twice, but I've not actually
found any Wii games that make use of PB updates.
This fixes wiimote audio in at least the following games:
- Excite Truck
- Ice Age 2: The Meltdown
- Kororinpa: Marble Mania
- Rapala Tournament Fishing
- Shrek the Third
- Super Monkey Ball: Banana Blitz
- Tiger Woods PGA Tour 07
- WarioWare: Smooth Moves (issue 11725)
- Wing Island
2024-10-15 18:54:41 +01:00
DacoTaco
386c2faa30
IOS/Net: implement ioctlv that retrieves the network routing table that libogc now uses on network init
2024-10-15 17:29:17 +02:00
JosJuice
07605bf67c
Merge pull request #13090 from mitaclaw/ranges-modernization-1-trivial
...
Ranges Algorithms Modernization - Trivial
2024-10-15 17:08:55 +02:00
TryTwo
a56a27a219
Audio: Add option to AudioPane to temporarily mute audio when emulation speed limit is disabled.
2024-10-15 03:05:19 -07:00
JMC47
ef8b753cd7
Merge pull request #13115 from Tilka/syncfifo
...
VideoCommon: fix common opcode decoding errors
2024-10-14 21:26:08 -04:00
JosJuice
564e640acf
Android: Add vsync setting
...
Recently we have been getting some requests to make the existing vsync
setting available in the Android GUI:
https://bugs.dolphin-emu.org/issues/13650
https://forums.dolphin-emu.org/Thread-vsync-toggle-for-android
I don't quite understand why enabling the vsync setting is helpful when
Android already enforces vsync, but I guess having the option available
doesn't hurt. I'm putting the setting under Advanced, unlike in
DolphinQt, since there's no clear reason why the typical user would want
to use this setting.
2024-10-14 12:20:15 +02:00
JMC47
8d5b6e8e86
Merge pull request #13069 from JosJuice/android-real-balance-board
...
Android: Add the "Real Balance Board" setting
2024-10-13 15:17:26 -04:00
JosJuice
8e619b7302
Merge pull request #13127 from Tilka/dol001
...
Boot: don't error for NTSC IPL v1.2 of DOL-001 consoles
2024-10-12 22:05:21 +02:00
Pokechu22
937bb2aa2e
Cache normals in addition to binormals and tangents
...
Fixes LIT (https://bugs.dolphin-emu.org/issues/13635 ). The text does not include normals, but has lighting enabled. With the previous default of (0, 0, 0), lighting was always black (as dot(X, (0, 0, 0)) is always 0). It seems like the normal from the map in the background (0, 0, 1) is re-used.
LIT also has the vertex color enabled while vertex color is not specified, the same as SMS's debug cubes; the default MissingColorValue GameINI value of solid white seems to work correctly in this case.
2024-10-12 10:32:41 -07:00
Tillmann Karras
09b163d814
Boot: don't error for NTSC IPL v1.2 of DOL-001 consoles
...
Checksum and descriptions from Redump.
2024-10-12 16:11:42 +01:00
Tilka
35ec2e97a8
Merge pull request #13079 from JosJuice/android-16k
...
Android: Add 16 KiB page size support
2024-10-12 10:11:33 +01:00
Tilka
c5ce90b786
Merge pull request #13080 from JosJuice/androidx-edge-to-edge
...
Android: Use enableEdgeToEdge
2024-10-12 10:11:11 +01:00
Tilka
2024d9f8ff
Merge pull request #13126 from jordan-woyak/no-big-banner
...
DolphinQt: Restrict size of banner image in game properties info tab.
2024-10-12 09:40:20 +01:00
Tilka
f635c71f28
Merge pull request #13125 from jordan-woyak/mapping-tab-bar-auto-hide
...
DolphinQt: Auto hide the mapping window tab bar.
2024-10-12 09:36:19 +01:00
Tilka
9eb0429c2e
Merge pull request #13124 from jordan-woyak/trigger-threshold-99
...
ControllerEmu: Change trigger threshold check to prevent user error.
2024-10-12 09:34:53 +01:00
Jordan Woyak
23ba1c9133
DolphinQt: Restrict size of banner image in game properties info tab.
2024-10-11 22:56:33 -05:00
Jordan Woyak
3d762c20ee
DolphinQt: Auto hide the mapping window tab bar.
2024-10-11 22:03:05 -05:00
Jordan Woyak
ccdce615ec
ControllerEmu: Change trigger threshold check to >= instead of > and set minimum threshold in UI to 1% to prevent user error.
2024-10-11 19:38:38 -05:00
Jordan Woyak
863889a34e
DolphinQt/MappingIndicator: Use Settings::IsThemeDark instead of reimplementing it.
2024-10-11 18:50:32 -05:00
Tilka
d6e10e586a
Merge pull request #13076 from robxnano/dbus-inhibit
...
Linux: Use D-Bus to inhibit screensaver
2024-10-12 00:31:58 +01:00
Tilka
f4e0a42cfc
Merge pull request #13075 from robxnano/qt-color-scheme
...
Remove unneeded Win32 code for color scheme
2024-10-11 22:20:42 +01:00
Tilka
8679d6c334
Merge pull request #13120 from Sintendo/mtspr
...
JitArm64: Optimize mtspr
2024-10-11 21:42:12 +01:00
Tilka
d2a56b321f
Merge pull request #13095 from mitaclaw/ranges-modernization-6-n
...
Ranges Algorithms Modernization - N
2024-10-11 20:28:06 +01:00
Tilka
c1832d17f6
Merge pull request #13117 from mitaclaw/ranges-modernization-9-trivial-find
...
Ranges Algorithms Modernization - Find
2024-10-11 20:27:18 +01:00
mitaclaw
203923b267
JitArm64_RegCache: Simplify `std::find` using ranges and projections
2024-10-11 12:09:00 -07:00
mitaclaw
8b1975ab18
GraphicsMod: Simplify `std::sort` using ranges and projections
2024-10-11 12:08:22 -07:00
mitaclaw
2edf6c6419
CoreTiming: Simplify algorithms using ranges and three-way comparison
2024-10-11 12:08:22 -07:00
mitaclaw
e8d5fb89e4
C++20: Synthesize `operator!=` From `operator==`
...
The inequality operator is automatically generated by the compiler if `operator==` is defined.
2024-10-10 20:23:55 -07:00
mitaclaw
d296b2613c
Modernize `std::adjacent_find` with ranges
2024-10-10 15:28:11 -07:00
mitaclaw
e4fb837f4b
Modernize `std::find_if` with ranges
...
In BTEmu.cpp, `std::mem_fn` was not necessary for the predicate to compile.
2024-10-10 15:28:11 -07:00
mitaclaw
6ca7e2856b
Modernize `std::find` with ranges
2024-10-10 15:28:11 -07:00
Sintendo
a9a779a6b9
JitArm64_Integer: Use IsImm helper more
2024-10-10 22:21:31 +02:00
Sintendo
0d9984b299
JitArm64_SystemRegisters: Optimize mtspr
...
No need to materialize the immediate if it is zero, we can just use WZR.
Before:
mov w27, #0x0 ; =0
str w27, [x29, #0x1178]
After:
str wzr, [x29, #0x1178]
2024-10-10 22:16:28 +02:00
Sintendo
8304ae3361
JitArm64_RegCache: Add IsImm helper
...
Because checking if a register is a specific immediate is a rather
common operation.
2024-10-10 22:13:34 +02:00