Sanjay Govind
10e044872d
LibusbDevice: Don't detach kernel drivers on macOS
2025-02-01 10:32:20 +13:00
cristian64
a153c7cb7c
DolphinQt: Use global settings object also for debugger settings.
...
A number of settings in the `debugger` group were wrongly using a newly
constructed `QSettings` object instead of the singleton object that
`GetQSettings()` provides.
This made the application create a spurious, extra configuration file in
the user directory:
```
~/.config/Dolphin Emulator/dolphin-emu.conf
```
Notice that, by default, the application configuration files are stored
in `~/.config/dolphin-emu`; not in `~/.config/Dolphin Emulator`.
2025-01-30 22:02:03 +00:00
Javier Martinez
391dae718d
Refactor: infinite loop based on Dolphin's style guidelines
2025-01-30 14:36:22 -05:00
Niel Lebeck
e5e3944d55
Add a SplitPath unit test exercising Windows paths with drive letters
2025-01-29 22:07:19 -08:00
OatmealDome
b5a0d293ae
Merge pull request #13305 from OatmealDome/vertexloader-config
...
VertexLoaderBase: Allow the vertex loader type to be set via config
2025-01-29 17:14:05 -05:00
Jordan Woyak
67b8100cd2
InputCommon/ExpressionParser: Make ValidateArguments access existing
...
members instead of passing arguments.
2025-01-28 20:15:45 -06:00
Jordan Woyak
e4b464e727
InputCommon/ExpressionParser: Make function argument parsing error
...
message more clear.
2025-01-28 20:13:06 -06:00
JMC47
897978e955
Merge pull request #13310 from jordan-woyak/small-vec-placement-new
...
Common: Make SmallVector work with non-standard-layout types.
2025-01-28 20:59:14 -05:00
JMC47
e16e3f9a61
Merge pull request #13291 from iwubcode/imgui_1_91_7
...
Externals / VideoCommon: update imgui to 1.91.7 and implot to v0.16
2025-01-28 20:57:28 -05:00
Jordan Woyak
c9ad5430d0
InputCommon: Fix input expression assignment operator behavior.
2025-01-28 14:32:39 -06:00
Admiral H. Curtiss
3f79aa23b4
Merge pull request #13267 from Sintendo/arm64-fix-gt-micro
...
JitArm64_SystemRegisters: Small FixGTBeforeSettingCRFieldBit optimization
2025-01-28 19:43:53 +01:00
Admiral H. Curtiss
0b7f9541d0
Merge pull request #13304 from JoshuaVandaele/argsegfault
...
Fix segfault when passing invalid arguments
2025-01-28 19:27:23 +01:00
JMC47
f92f174450
Merge pull request #13297 from jordan-woyak/config-ext-btn
...
DolphinQt: Add a "Configure Extension" button under the extension selection combo box.
2025-01-27 21:17:41 -05:00
JMC47
e18a4d04b4
Merge pull request #13178 from jordan-woyak/input-expressions-conditional-op
...
InputCommon: Add ternary conditional operator to input expressions.
2025-01-27 21:16:29 -05:00
JMC47
2b5cd96cb1
Merge pull request #11261 from TryTwo/PR_MemoryView_Auto_Update
...
MemoryView auto-update while running and color recently changed cells.
2025-01-27 21:15:57 -05:00
JosJuice
d117614c00
Merge pull request #13213 from JosJuice/remove-filter-patches-lock
...
Core: Remove redundant lock for FilterApprovedPatches call
2025-01-27 20:15:00 +01:00
Jordan Woyak
9777e8e76b
Common: Make SmallVector work with non-standard-layout types.
2025-01-26 13:03:39 -06:00
JosJuice
e29e0cd150
Merge pull request #13296 from jordan-woyak/sdl-motor-lr
...
InputCommon: Make SDL Motor L/R Outputs not fight each other and support trigger rumble.
2025-01-26 19:45:44 +01:00
JosJuice
c9e5975545
Merge pull request #13290 from iwubcode/formatter_abstract_texture_type
...
VideoCommon: add formatter for AbstractTextureType
2025-01-26 19:40:12 +01:00
JosJuice
ca15b4a7d9
Merge pull request #13229 from sanjay900/wii-drum-velocity-fixes
...
WiimoteEmu: Fix Drum Extension Velocity
2025-01-26 14:15:53 +01:00
JosJuice
01358c79a6
Merge pull request #13298 from jordan-woyak/less-bt-spam
...
Core/WiimoteReal: Make Wii Remote scan logging less spammy on Linux.
2025-01-26 14:13:44 +01:00
OatmealDome
d89e7c84fb
CMakeLists: Add flag to disable Cubeb
2025-01-25 14:06:55 -05:00
JosJuice
56b7b0a804
Merge pull request #13303 from JoshuaVandaele/aboutresize
...
AboutDialog: Disable resizing the About window
2025-01-25 10:37:37 +01:00
JosJuice
911742358c
Merge pull request #13307 from OatmealDome/steam-vsprops
...
VSProps: Remove unused Steam preprocessor definition
2025-01-25 10:23:30 +01:00
OatmealDome
be8073593c
VSProps: Remove unused Steam preprocessor definition
2025-01-25 02:42:26 -05:00
OatmealDome
bffaec9c5e
VertexLoaderBase: Allow the vertex loader type to be set via config
2025-01-24 18:31:42 -05:00
Jordan Woyak
799b9d4092
Merge pull request #13192 from jordan-woyak/netplay-win32-interface-list
...
NetPlay: Implement GetInterfaceListInternal for Windows.
2025-01-24 14:40:25 -06:00
Joshua Vandaële
f1f147965b
Fix segfault when passing invalid arguments
2025-01-24 20:52:33 +01:00
Joshua Vandaële
a76ed94120
AboutDialog: Disable resizing the About window
2025-01-24 10:45:54 +01:00
Sanjay Govind
ef97185854
WiimoteEmu: Fix Drum Extension Velocity
2025-01-24 10:06:09 +13:00
Brad Smith
a20f96b78c
ArmCPUDetect: Add OpenBSD support for elf_aux_info
2025-01-22 22:58:00 -05:00
Jordan Woyak
01abfafa4e
Core/WiimoteReal: Make Wii Remote scan logging less spammy on Linux.
2025-01-22 14:43:20 -06:00
Jordan Woyak
a33368b102
DolphinQt: Add a "Configure Extension" button under the extension
...
selection combo box.
2025-01-22 02:58:32 -06:00
Jordan Woyak
8354279aae
InputCommon: Add support for SDL gamecontroller rumble triggers.
2025-01-21 21:09:39 -06:00
Jordan Woyak
fb512adc5f
InputCommon: Make SDL Motor L/R Outputs not fight each other.
2025-01-21 19:19:01 -06:00
Jordan Woyak
ae72a781d4
DolphinQt: Remove MappingButton bold/italic text indication.
2025-01-20 17:55:10 -06:00
Jordan Woyak
d8cf835f07
MappingWidget: Fix shadowed variable warning.
2025-01-20 17:55:10 -06:00
Jordan Woyak
d19304dc15
MappingIndicator: Add graphical indicators on the left of MappingButton
...
that don't have a large indicator.
2025-01-20 17:55:10 -06:00
Tilka
510a688a2a
Merge pull request #13279 from jordan-woyak/delimited-token
...
InputCommon/ExpressionParser: Require delimited tokens actually have their terminating delimiter.
2025-01-20 23:14:22 +00:00
Pokechu22
761e65ed26
Merge pull request #13275 from Pokechu22/d3d12-custom-root-param-index
...
D3D12: Fix out of bounds root parameter index when per-pixel lighting is disabled
2025-01-20 14:53:40 -08:00
JosJuice
a9a720faa7
Merge pull request #13204 from LillyJadeKatrin/retroachievements-allow-batch
...
Gecko/AR Batch Approval
2025-01-20 23:35:17 +01:00
iwubcode
75425ced05
Common: add 'clear' function to SmallVector
2025-01-20 15:13:56 -06:00
iwubcode
25c805be99
Externals / VideoCommon: update imgui to 1.91.7 and implot to v0.16; imgui changed types for ImTextureId, which was addressed by using an implicit cast
2025-01-20 14:47:14 -06:00
iwubcode
ee906ae6e8
VideoCommon: add formatter for AbstractTextureType
2025-01-20 14:24:54 -06:00
OatmealDome
7ba56bc738
Merge pull request #13269 from OatmealDome/memarena-darwin
...
MemArena: Add Darwin implementation
2025-01-20 14:11:37 -05:00
Joshua Vandaële
a3b06b0572
Enforce XCB within code
2025-01-20 11:57:21 +01:00
TryTwo
0b8301ff97
MemoryViewWidget: Add auto update toggle.
2025-01-19 23:24:59 -07:00
TryTwo
7b19192134
MemoryViewWidget: Color recently changed memory when auto updating.
2025-01-19 23:24:08 -07:00
TryTwo
6d8f40c245
MemoryViewWidget: Reduce amount of unnecessary update calls.
2025-01-19 23:19:40 -07:00
TryTwo
32e135e6a9
MemoryViewWidget: Add OnFrameEnd callback to auto-update memory while a game is running.
2025-01-19 23:18:38 -07:00
LillyJadeKatrin
cbe44efe5f
Gecko/AR Batch Approval
...
Adding a community-requested list of Gecko and Action Replay codes to the allowlist. Many of these codes were from the wiki and are being added to Dolphin's repo for the first time.
2025-01-19 22:20:31 -05:00
Jordan Woyak
78bb30d44c
InputCommon/ExpressionParser: Require delimited tokens actually have their terminating delimiter.
2025-01-19 17:20:07 -06:00
Admiral H. Curtiss
90eba2b1a0
Merge pull request #13273 from JoshuaVandaele/master
...
Fix build with minizip-ng>=4.0.8
2025-01-19 23:59:14 +01:00
Admiral H. Curtiss
d87ee2daa5
Merge pull request #13281 from jordan-woyak/iowindow-signal-proper-fix
...
DolphinQt: Fix QObject::connect: signal not found in IOWindow error.
2025-01-19 23:52:58 +01:00
JosJuice
af87d60b6c
Merge pull request #13266 from JosJuice/jitarm64-cr-bits-1-to-31
...
JitArm64: Fix creqv/crorc setting eq bit
2025-01-19 13:00:30 +01:00
JosJuice
dabb4350bd
Merge pull request #13282 from jordan-woyak/onion-tweaks
...
Core/Config: Replace some std::pair with struct to make code more readable.
2025-01-19 12:20:48 +01:00
Joshua Vandaële
fa442dc90b
Fix build with minizip-ng 4.0.8
2025-01-19 10:30:41 +01:00
JMC47
8e9596e221
Merge pull request #13259 from TryTwo/PR_Config_signals
...
Qt: Fix some options not changing enabled status on game start.
2025-01-18 18:11:04 -05:00
Dentomologist
fb3a727fcc
WiiTASInputWindow: Update controls when attachment changes
...
Change the displayed controls in the TAS Input window when the
controller's extension (including MotionPlus) is changed.
This previously required restarting Dolphin after the attachment was
changed, as the controls were never updated after the WiiTASInputWindow
was created at Dolphin startup.
2025-01-18 14:15:20 -08:00
Jordan Woyak
28ce81f09b
Core/Config: Use structured bindings for cleaner std::map/pair usage.
2025-01-17 22:21:39 -06:00
Jordan Woyak
b44aaf8a86
Core/Config: Replace some std::pair with struct to make code more readable.
2025-01-17 22:06:02 -06:00
Jordan Woyak
205a85b991
DolphinQt: Fix QObject::connect: signal not found in IOWindow error.
2025-01-17 20:17:01 -06:00
Jordan Woyak
e91b83d166
DolphinQt: Make input expression syntax highlighting less hacky.
2025-01-17 02:44:31 -06:00
Jordan Woyak
a618854413
ExpressionParser: Remove RemoveInertTokens.
2025-01-17 02:31:33 -06:00
Jordan Woyak
c94ec85460
InputCommon: Make input expression multiline-comment tokenizing less hacky.
2025-01-17 02:29:23 -06:00
Jordan Woyak
c3f66e83e6
DolphinQt: Fix ASSERT failure in IOWindow in debug build.
2025-01-15 16:39:45 -06:00
JosJuice
85cd0ca51b
JitArm64: Optimize creqv setting eq/gt bit
...
For the eq and gt bits specifically, setting negate_result is one
instruction shorter than not setting it.
2025-01-15 21:22:31 +01:00
OatmealDome
c344514ba2
Merge pull request #13270 from OatmealDome/vk-metal-layer
...
Vulkan: Only attempt to create a CAMetalLayer on macOS
2025-01-15 15:08:03 -05:00
JosJuice
aa9696e1c1
JitArm64: creqv/crorc setting eq bit
...
When I wrote 71e9766519
, there was an interaction I didn't take into
account: When setting eq, SetCRFieldBit assumes that all bits in the
passed-in host register except the least significant bit are 0. But if
we use EON or ORN, all bits except the least significant bit get set to
1. This can cause eq to end up unset when it should be set.
This commit fixes the issue.
crandc is unaffected by the issue because the "1" bits get ANDed with
"0" bits from the first operand.
Note that in practice, we never have both bits_1_to_31_are_set and
negate at once, so while it looks like this commit adds an extra AND
instruction in some cases, those cases don't happen in practice, meaning
this fix shouldn't affect performance.
2025-01-15 18:35:05 +01:00
Pokechu22
64514bd8d4
D3D12: Fix out of bounds root parameter index when per-pixel lighting is disabled
2025-01-14 22:30:31 -08:00
Admiral H. Curtiss
3ea870ef8c
Merge pull request #13244 from dreamsyntax/bugfix-double-osd-texture-messages
...
Core/VideoCommon: Fix duplicate OSD Custom Textures messages
2025-01-12 16:16:09 +01:00
Admiral H. Curtiss
ede963d4db
Merge pull request #13272 from dreamsyntax/ppc-crlf
...
PPCSymbolDB: Fix loading maps with CRLF endings
2025-01-12 14:26:27 +01:00
Admiral H. Curtiss
b0e5ebc80d
Merge pull request #13247 from sepalani/debug-map-ranges
...
PPCSymbolDB: Refactor SymbolMap Save/Load
2025-01-12 14:26:04 +01:00
Daniel Peukert
f28e134c88
Clean up CRLF line endings
2025-01-12 11:06:04 +01:00
dreamsyntax
b9a2d89035
PPCSymbolDB: Fix loading maps with CRLF endings
...
Symbol maps ending in CRLF were not properly loading on non-windows
systems.
2025-01-10 14:37:58 -07:00
Admiral H. Curtiss
98a80239f1
Merge pull request #13030 from JosJuice/android-wait-for-surface-in-run
...
Android: Wait for surface in Run
2025-01-10 04:50:34 +01:00
Admiral H. Curtiss
75abda6a3a
Merge pull request #12864 from JosJuice/android-window-compat
...
Android: Replace deprecated setSystemUiVisibility
2025-01-10 04:45:11 +01:00
Admiral H. Curtiss
d10cb9dfc4
Merge pull request #13238 from JosJuice/jitarm64-rlwinmx-imm-mask
...
JitArm64: Handle rlwinmx with zero mask
2025-01-10 04:44:22 +01:00
Tilka
e24e107b3c
Merge pull request #13265 from Sintendo/warnings
...
Fix several minor warnings
2025-01-08 21:44:24 +00:00
Tilka
ffa312f8e8
Merge pull request #13158 from jordan-woyak/wiiu-rename
...
DolphinQt: Rename "GameCube Adapter for Wii U".
2025-01-08 21:39:08 +00:00
Admiral H. Curtiss
0e5d7d0f2d
Merge pull request #13268 from AdmiralCurtiss/ini-delete-case-sensitive
...
Common/IniFile: Fix case sensitivity mismatch in IniFile::Section::Delete()
2025-01-08 21:42:32 +01:00
TryTwo
3edb5accca
MemoryViewWidget: Refactor updates using a dispatch function. Isolate memory reads from table updates.
...
Preparations for auto update while a game is running.
2025-01-08 13:40:46 -07:00
OatmealDome
2633b84b98
Vulkan: Only attempt to create a CAMetalLayer on macOS
2025-01-08 13:51:53 -05:00
OatmealDome
d5dbb0b285
MemArena: Add Darwin implementation
2025-01-08 12:46:31 -05:00
Admiral H. Curtiss
8f9e3ffd83
Merge pull request #13228 from OatmealDome/fix-curl-2
...
curl: Update to 8.11.1 and use CMake to configure
2025-01-08 18:14:10 +01:00
Admiral H. Curtiss
22dc21cca4
Merge pull request #13262 from Ferdi265/feature/fix-fmt11
...
Fix compiling with libfmt>=11.0
2025-01-08 18:12:19 +01:00
Admiral H. Curtiss
c567248b73
Common/IniFile: Fix case sensitivity mismatch in IniFile::Section::Delete()
...
values uses a case insensitive comparison, so erasing the equivalent key in keys_order also must do so.
2025-01-08 05:30:39 +01:00
Admiral H. Curtiss
7133bfbb0e
Merge pull request #13180 from jordan-woyak/eof-logic
...
Core/VideoCommon: Fix some weird (!eof) logic.
2025-01-08 05:27:42 +01:00
OatmealDome
d525776ae6
GeckoCodeConfig: Remove HTTPS workaround for Android
2025-01-07 23:02:13 -05:00
OatmealDome
4dc368d8df
WiiUtils: Remove HTTPS workaround for Android
2025-01-07 23:02:13 -05:00
TryTwo
2e006d9787
MemoryViewWidget: Refactor. Remove OnItemChanged signal and QSignalBlocker - replace with a signal that is only sent at the correct time.
2025-01-07 15:57:53 -07:00
OatmealDome
696b363f47
Merge pull request #13162 from jordan-woyak/non-blocking-input-detection
...
DolphinQt/InputCommon: Make input mapping and output testing non-blocking.
2025-01-07 16:55:55 -05:00
TryTwo
5395f21ae5
Qt, Config controls system: Remove signal block so signals can refresh the enabled status of certain options when a new config is loaded (such as on starting a game). Blocks previously unwanted behavior with a new safety check.
...
QCheckBox::toggled and other similar signals are used to save changes and to update widget status (such as enabled).. OnConfigChanged needs to load new values and trigger widget updates, but the new value shouldn't trigger a save. A save is unnecessary (the config has the correct values and the UI is being updated to those values) and it'd trigger another ConfigChanged signal. This commit blocks the save without blocking the signal entirely.
2025-01-07 03:02:39 -07:00
Sintendo
24f2981e54
JitArm64_SystemRegisters: Small FixGTBeforeSettingCRFieldBit optimization
...
The computed value is only used when the register is equal to zero, so
we can fully precompute it and materialize the constant instead. In
other words, we change from
```
return reg == 0 ? (reg | 1ULL << 63) : reg;
```
to
```
return reg == 0 ? 1ULL << 63 : reg;
```
The number of instructions remains the same, but we eliminate an
unnecessary dependency on the register value.
Before:
0xb241037a orr x26, x27, #0x8000000000000000
0xeb1f037f cmp x27, xzr
0x9a9a137b csel x27, x27, x26, ne
After:
0xd2f0001a mov x26, #-0x8000000000000000 ; =-9223372036854775808
0xeb1f037f cmp x27, xzr
0x9a9a137b csel x27, x27, x26, ne
2025-01-06 12:09:12 +01:00
Sintendo
532e25be12
Fix several minor warnings
2025-01-06 11:31:39 +01:00
JosJuice
b35f7af355
Merge pull request #13257 from CasualPokePlayer/dtm_country_code
...
Add SYSCONF country code to DTM
2025-01-06 10:39:53 +01:00
JosJuice
eec2e2f07a
Merge pull request #13251 from Sintendo/carry-opts
...
JitArm64_Integer: Carry flag optimizations
2025-01-06 10:39:43 +01:00
JosJuice
43d5f61a60
Merge pull request #13149 from Sintendo/dcbx-msub
...
JitArm64_LoadStore: Small dcbx optimization
2025-01-06 09:29:08 +01:00
OatmealDome
8d9ec2fde9
Merge pull request #13210 from OatmealDome/fix-scmrevgen
...
ScmRevGen: Don't generate Info.plist files directly
2025-01-06 01:18:20 -05:00
JMC47
6b686be5f1
Merge pull request #13233 from TryTwo/PR_Codec
...
AdvancedWidget: Replace FFV1 codec with Ut Video
2025-01-04 22:26:36 -05:00
Ferdinand Bachmann
b79bdb13c0
Common: Fix compile failure with fmt>=11
2025-01-04 19:13:05 +01:00
Ferdinand Bachmann
825092ad33
BBA/HLE: Fix incorrect fmt format string
2025-01-04 18:45:32 +01:00
Sepalani
bbf835b30b
PPCSymbolDB: Check SplitString result
2025-01-04 17:02:13 +04:00
Sepalani
77e77863dc
PPCSymbolDB: Add alignment detection heuristic
...
Update parse_entry_of in accordance to the sscanf change
2025-01-04 15:32:52 +04:00
Sepalani
5778cb42db
PPCSymbolDB: Deduplicate parsing of the 'entry of' string
2025-01-04 15:32:52 +04:00
Sepalani
5c151c11ac
PPCSymbolDB: Use ranges in SaveSymbolMap
2025-01-04 15:32:52 +04:00
Jordan Woyak
3b85653003
NetPlay: Implement GetInterfaceListInternal for Windows.
2025-01-04 00:29:34 -06:00
JMC47
9b3b6bea9d
Merge pull request #12801 from JosJuice/jitarm64-crxxx-opt
...
JitArm64: Optimize crXXX
2025-01-03 16:32:49 -05:00
Jordan Woyak
f12846a0e9
DolphinQt: Make input mapping and output testing non-blocking.
2025-01-01 16:48:32 -06:00
Jordan Woyak
bc95c001c8
InputCommon: Move input mapping function into a class for non-blocking usage.
2025-01-01 16:48:32 -06:00
mitaclaw
527841f1df
Simplify `std::search` with `Common::ContainsSubrange`
2025-01-01 09:52:03 -08:00
mitaclaw
d92c68e1de
Simplify `std::find_if` with `Common::Contains`
2025-01-01 09:52:03 -08:00
mitaclaw
110d32729e
Simplify `std::find` with `Common::Contains`
...
In NandPaths.cpp, the `std::initializer_list<char>` of illegal characters has been turned into a `char[]` (similar to the one in GameList.cpp).
The reverse iteration in ResourcePack.cpp seemed to provide no benefits, and doing without it it seemed to have no ill effects.
2025-01-01 09:52:03 -08:00
mitaclaw
6f10acea3f
Common: Create "Contains.h" Algorithm Header
...
The new `Common::Contains` and `Common::ContainsSubrange` function objects mirror C++23's `std::ranges::contains` and `std::ranges::contains_subrange`, respectively.
2025-01-01 09:52:01 -08:00
Admiral H. Curtiss
b8921b1338
Merge pull request #13237 from AdmiralCurtiss/slider-mappings
...
DolphinQt/HacksWidget: Convert accuracy slider to ConfigSlider
2024-12-31 15:22:04 +01:00
Admiral H. Curtiss
c1c80adf1a
Merge pull request #13235 from Gamer64ytb/vsync-fix
...
Android: Fix VSync option not working
2024-12-31 15:20:49 +01:00
Jordan Woyak
0938fca6e3
Core/VideoCommon: Fix some weird (!eof) logic.
2024-12-30 20:13:59 -06:00
TryTwo
3d248d000f
Frame Dumping: Change lossless codec from FFV1 to Ut Video.
...
Ut Video is faster and more compatible with editing programs, but produces larger files.
2024-12-30 14:07:43 -07:00
CasualPokePlayer
c1698c93e2
Add SYSCONF country code to DTM
...
Recently there was some issues in TASVideos trying to sync a Donkey Kong Country Returns TAS. It eventually was synced by directly using the config from the TAS author. The exact setting which caused the desync was narrowed down to being in SYSCONF, with the country code. The TAS author lives in the US, so the country code matched the US country code, while the person attempting to sync the TAS did not live in the US.
Adding SYSCONF country code to the DTM should avoid this being an issue for future Dolphin versions.
2024-12-30 07:50:22 -08:00
Sintendo
d81bfe94eb
JitArm64_Integer: addzex - Optimize InHostCarry case for 0
...
Before:
0x5280000d mov w13, #0x0 ; =0
0x1a1f01ae adc w14, w13, wzr
After:
0x1a9f37ee cset w14, hs
2024-12-29 12:21:34 +01:00
Sintendo
c817b4779d
JitArm64_Integer: addzex - Optimize InPPCState case for 0
...
Before:
0x52800019 mov w25, #0x0 ; =0
0x394bd3b8 ldrb w24, [x29, #0x2f4]
0x2b180339 adds w25, w25, w24
After:
0x394bd3b9 ldrb w25, [x29, #0x2f4]
2024-12-28 23:20:22 +01:00
Sintendo
14641b06fc
JitArm64_Integer: addzex - Optimize ConstantFalse and ConstantTrue
...
When the input register and carry flags are known, we can always
precompute the result.
We still materialize the immediate when the condition register
needs to be updated, but this seems to be a general problem. I might
look into that one day, but for now this'll do.
- ConstantFalse
Before:
0x52800119 mov w25, #0x8 ; =8
0x2a1903fa mov w26, w25
After:
N/A
- ConstantTrue
Before:
0x52800119 mov w25, #0x8 ; =8
0x1100073a add w26, w25, #0x1
After:
N/A
2024-12-28 23:07:38 +01:00
Sintendo
a4ba13b4c9
JitArm64_Integer: addex - Optimize InHostCarry for -1
...
Same thing we did for subfex.
Before:
0x1280001a mov w26, #-0x1 ; =-1
0x1a1f035a adc w26, w26, wzr
After:
0x5a9f23fa csetm w26, lo
2024-12-28 22:12:50 +01:00
Sintendo
d2bfa157dc
JitArm64_Integer: addex - Optimize InHostCarry for 0
...
Similar to what we did for subfex, but for 0.
Before:
0x5280001b mov w27, #0x0 ; =0
0x1a1f037b adc w27, w27, wzr
After:
0x1a9f37fb cset w27, hs
2024-12-28 21:55:57 +01:00
Sintendo
ad7dba5413
JitArm64_Integer: addex - Optimize InPPCState case for 0
...
Same optimization we did for subfex. Skip loading the carry flag into a
temporary register first when we're dealing with zero.
Before:
0x394bd3b8 ldrb w24, [x29, #0x2f4]
0x2a1803f9 mov w25, w24
After:
0x394bd3b9 ldrb w25, [x29, #0x2f4]
2024-12-28 21:41:51 +01:00
Sintendo
7410bc2025
JitArm64_Integer: subfzex - Constant folding
...
When both the input register and the carry flag are constants, the
result can be precomputed.
Before:
0x52800016 mov w22, #0x0 ; =0
0x2a3603f6 mvn w22, w22
After:
2024-12-28 20:58:24 +01:00
Sintendo
fa13457abb
JitArm64_Integer: subfex - Optimize InHostCarry case for -1
...
The result is either -1 or 0 depending on the state of the carry flag.
This can be done with a csetm instruction.
Before:
0x1280001a mov w26, #-0x1 ; =-1
0x1a1f035a adc w26, w26, wzr
After:
0x5a9f23fa csetm w26, lo
2024-12-28 20:18:14 +01:00
Sintendo
18dd3f69f1
JitArm64_Integer: subfex - Optimize InPPCState case for 0
...
When the immediate is zero, we can load the carry flag from memory
directly to the destination register.
Before:
0x394bd3b8 ldrb w24, [x29, #0x2f4]
0x2a1803f9 mov w25, w24
After:
0x394bd3b9 ldrb w25, [x29, #0x2f4]
2024-12-28 18:15:48 +01:00
Sintendo
e54bfd6605
JitArm64_Integer: Refactor subfex
2024-12-28 18:12:13 +01:00
Sintendo
5cc9bde1c1
JitBase: Improve const-correctness
2024-12-28 16:44:58 +01:00
Sintendo
50d991780f
JitBase: Add HasConstantCarry helper
2024-12-28 16:44:52 +01:00
dreamsyntax
07f712f8a0
Core/VideoCommon: Fix duplicate OSD Custom Textures messages
...
Resolves duplicate OSD messages for Loading and Found custom textures.
VideoBackend initialization results in HiresTexture::Init being called.
We already call HiresTexture::Update when OnNewTitleLoad is called.
Thus we can remove HiresTextures::Init completely as it is redundant.
2024-12-28 01:09:50 -07:00
Tilka
05cad38abc
Merge pull request #13243 from nlebeck/stringutil-tests
...
Add some unit test coverage of the `SplitPath` function
2024-12-27 18:10:47 +01:00
Admiral H. Curtiss
4fc50226c6
DolphinQt/HacksWidget: Convert accuracy slider to ConfigSlider
2024-12-27 05:40:24 +01:00
Admiral H. Curtiss
98ee3836e5
DolphinQt: Add option for value mappings to ConfigSlider
2024-12-27 05:40:13 +01:00
JMC47
532a8621da
Merge pull request #13116 from mitaclaw/ranges-modernization-8-trivial-of
...
Ranges Algorithms Modernization - Of
2024-12-26 16:51:53 -05:00
Niel Lebeck
bae4616dd1
Add some unit test coverage of the SplitPath function
2024-12-26 11:42:01 -08:00
JosJuice
6384ea97f1
JitArm64: Handle rlwinmx with zero mask
...
No games seem to use this, so this isn't useful as a performance
optimization, but it's required for correctness because the (sh == 0)
case of our implementation doesn't handle zero masks.
2024-12-25 15:15:24 +01:00
Gamer64
764bf314e1
Android: Fix VSync option not working
...
It happened due to a typo from SECTION_GFX_HARDWARE
2024-12-24 10:41:45 +01:00
TryTwo
27ac5fa777
Qt crash fix. Don't store Config::Info variable as a reference.
2024-12-23 15:40:07 -07:00
JMC47
c528a70e64
Merge pull request #13211 from Sintendo/blendvpd
...
Jit_FloatingPoint: fselx - Prefer BLENDVPD over VBLENDVPD
2024-12-22 18:35:11 -05:00
JMC47
a1d6aa7d3e
Merge pull request #13212 from JosJuice/jitarm64-ps-sel-same-reg
...
JitArm64: Optimize ps_sel with d == b || d == c
2024-12-22 18:34:32 -05:00
JosJuice
5641b83d4e
Merge pull request #13063 from TryTwo/PR_GameSettings
...
Add ability to edit game-specific GFX settings from game properties tab.
2024-12-22 20:42:28 +01:00
Admiral H. Curtiss
bb8c0a795f
Merge pull request #13214 from JosJuice/sethardcoremode-private
...
AchievementManager: Make SetHardcoreMode private
2024-12-22 20:09:29 +01:00
JMC47
1ba8541da9
Merge pull request #13091 from mitaclaw/ranges-modernization-2-returns
...
Ranges Algorithms Modernization - Return
2024-12-20 12:50:19 -05:00
JMC47
ac0d6cbaaa
Merge pull request #13224 from Sintendo/jitarm64-subfic2
...
JitArm64_Integer: Optimize subfic for -1
2024-12-18 12:07:23 -05:00
OatmealDome
01f6810a9d
Merge pull request #13207 from OatmealDome/vulkan-hdr-color-space
...
VKSwapChain: Always use surface formats with a normal sRGB color space if not RGBA16F
2024-12-16 17:29:19 -05:00
mitaclaw
2b0cd16c8c
Modernize `std::none_of` with ranges
...
In JitRegCache.cpp, the lambda predicate were replaced by a pointer to member function because ranges algorithms are able to invoke those.
In ConvertDialog.cpp, the `std::mem_fn` helper was removed because ranges algorithms are able to handle pointers to member functions as predicates.
In BoundingBox.cpp, the lambda predicate was returning the bool element unchanged, so `std::identity` was a better fit.
2024-12-15 19:54:17 -08:00
mitaclaw
140252ffc0
Modernize `std::any_of` with ranges
...
In WiimoteReal.cpp, JitRegCache.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those.
In ConvertDialog.cpp, the `std::mem_fn` helper was removed because ranges algorithms are able to handle pointers to member functions as predicates.
2024-12-15 19:54:16 -08:00
mitaclaw
860e6cf5cb
Modernize `std::all_of` with ranges
...
In DITSpecification.cpp, MaterialAsset.cpp, and ShaderAsset.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those.
In NetPlayClient.cpp, the non-trivial `NetPlay::Player` elements were being passed by value in `NetPlayClient::DoAllPlayersHaveGame()`. This has been fixed.
In WIABlob.cpp, the second example's predicate was returning the `std::optional` by value instead of implicitly converting it to a bool. This has been fixed.
2024-12-15 19:50:34 -08:00
mitaclaw
826e2bbf98
StringUtil: More Wrappers For <cctype>
...
`Common::IsLower(char)` was omitted as nothing needed it.
2024-12-15 19:50:34 -08:00
JosJuice
ad24ddb6bb
VerifyTool: Add missing USE_RETRO_ACHIEVEMENTS ifdefs
2024-12-15 18:15:57 +01:00
JosJuice
84ab15e020
AchievementManager: Add required forward declarations
...
This was causing compilation errors when building without
USE_RETRO_ACHIEVEMENTS.
2024-12-15 18:00:14 +01:00
Sintendo
d81213c4a5
JitArm64_Integer: Optimize subfic for -1
...
Another one backported from x86. Not sure why I didn't do this in #12891
already.
- Without carry
Before:
0x2a3a03fb mvn w27, w26
0x6b1a037b subs w27, w27, w26
After:
0x1280001b mov w27, #-0x1 ; =-1
- With carry
Before:
0x2a3b03f7 mvn w23, w27
0x6b1b02f7 subs w23, w23, w27
0x1a9f37f6 cset w22, hs
0x390bd3b6 strb w22, [x29, #0x2f4]
After:
0x12800017 mov w23, #-0x1 ; =-1
2024-12-15 02:24:30 +01:00
mitaclaw
97e2a43eac
Branch Watch Tool: Refresh Context Menus OnEmulationStateChanged
2024-12-14 14:47:47 -08:00
JosJuice
ada646a795
Merge pull request #12682 from JosJuice/jit-fallback-discard-assert
...
Jit: Skip discarded registers when flushing for interpreter fallback
2024-12-12 23:48:37 +01:00
TryTwo
9541bb6cf7
Add method to bold slider/spin labels when a user game ini setting is being used
2024-12-10 13:42:30 -07:00
TryTwo
ac129d318b
EnhancementsWidget:: Move to using ConfigControls and add new control for ComboBoxes that set two settings at once.
2024-12-10 13:42:17 -07:00
TryTwo
84a937ae65
Add GFX property tabs to game properties window, allowing them to be set to the user game ini. Additionally, refactor ConfigWidgets to reduce duplication. Refactor GameConfigWidget to use config system.
...
Creates a layer outside the game config layer system and passes it to the created gfx widows, so as to not interfere with the global config system.
Supports multiple game properties being open at once.
Supports editing while a game is playing, but the options only save and update the active game when the window is closed.
Right-clicking will remove a property from the game ini.
2024-12-10 13:40:30 -07:00
JMC47
6ea8edd531
Merge pull request #13209 from jordan-woyak/sdl-touchpad
...
InputCommon/SDL: Add touchpad inputs.
2024-12-10 12:52:43 -05:00
LillyJadeKatrin
81fd763601
Add ReadVerified testing to PatchAllowlistTest
...
New code adds a test failure if there's a Patches/Gecko/AR_Retroachievements_Verified code that doesn't appear to actually exist in the file. This will catch if the allowed patch is formatted wrong, which I found happening several times already due to not realizing that the patch author's name would need to be omitted.
2024-12-10 00:15:13 -05:00
JosJuice
687fe65709
Merge pull request #13166 from Sintendo/stX-opt
...
JitArm64_LoadStore: Optimize zero stores in stX
2024-12-08 11:06:33 +01:00
OatmealDome
57b1234feb
Merge pull request #13113 from CelestialAmber/mwld-map
...
Core: Store object name separately for symbols
2024-12-07 17:13:13 -05:00
JosJuice
7a31c8f10b
AchievementManager: Make SetHardcoreMode private
...
This is an implementation detail that doesn't need to be exposed.
2024-12-07 19:29:53 +01:00
JosJuice
0c46205ba7
Core: Remove redundant lock for FilterApprovedPatches call
...
This was necessary before we added locking inside FilterApprovedPatches,
but not anymore.
2024-12-07 19:06:23 +01:00
TryTwo
08df9a66e0
DolphinQt: Refactor, add ConfigControl class
...
This reduces code duplication in the different ConfigControls. This is
helpful for the next commit, which will modify the now deduplicated
code.
2024-12-07 16:31:34 +01:00
JosJuice
e3bfff5cb6
JitArm64: Optimize ps_sel with d == b || d == c
2024-12-07 12:20:24 +01:00
Sintendo
065165f749
Jit_FloatingPoint: Prefer BLENDVPD over VBLENDVPD
...
Prefer BLENDVPD over VBLENDVPD if the latter doesn't save any
instructions.
VBLENDVPD allows separate source and destination registers, which can
eliminate a MOVAPD/MOVSD. However, on Intel since Skylake, VBLENDVPD
takes additional uops to execute compared to BLENDVPD (according to
https://uops.info ). On AMD and older Intel microarchitectures there is no
difference.
2024-12-07 11:22:28 +01:00
JosJuice
0a84d93a8e
Merge pull request #13196 from jordan-woyak/expanding-numeric-settings
...
DolphinQt: Make mapping window spinboxes horizontally expanding.
2024-12-07 11:14:55 +01:00
OatmealDome
e05b033dd2
ScmRevGen: Don't generate Info.plist files directly
...
Some generators (like Unix Makefiles and Xcode) copy an app's Info.plist at configure time.
This causes a problem when we need to generate the Info.plist at build time, like how we
currently do it with ScmRevGen. Instead of generating the Info.plist directly in ScmRevGen,
provide an Info.plist without any version information to CMake at configure time, have
ScmRevGen generate a separate plist file with the version information at build time, and
then merge the two together to create the final Info.plist.
2024-12-05 14:56:08 -05:00
JosJuice
c6b0629275
Merge pull request #13200 from Dentomologist/irwidget_move_header_constants_into_class
...
IRWidget: Move header constants into class
2024-12-05 18:53:17 +01:00
OatmealDome
3c27c38e71
DolphinQt: Use TARGET_BUNDLE_DIR generator expression instead of specifying the bundle path ourselves
2024-12-04 22:53:39 -05:00
Jordan Woyak
ad1511982a
InputCommon/SDL: Add touchpad inputs.
2024-12-04 21:08:18 -06:00
JMC47
8c3b9c9cf6
Merge pull request #13174 from jordan-woyak/sdl-battery
...
ControllerInterface/SDL: Add Battery Input.
2024-12-04 21:46:07 -05:00
OatmealDome
e6f335bfcf
VKSwapChain: Always use surface formats with a normal sRGB color space if not RGBA16F
...
Co-authored-by: TellowKrinkle <tellowkrinkle@gmail.com>
2024-12-03 20:49:50 -05:00
JMC47
26ba8f5481
Merge pull request #13197 from jordan-woyak/vrr-mapping-indicators
...
DolphinQt: Update mapping indicators at screen refresh rate.
2024-12-03 12:51:18 -05:00
JMC47
cf29214c03
Merge pull request #12955 from LillyJadeKatrin/retroachievements-gecko
...
Add Support for Gecko Codes to Achievements Whitelist
2024-12-02 14:18:53 -05:00
JosJuice
74ed5e5532
Android/GCAdapter: Don't join current thread
...
The read thread could call Reset, which in turn tried to join the read
thread, leading to a SIGABRT. This manifested as Dolphin consistently
crashing when disconnecting a GC adapter and having a chance of crashing
a few seconds after connecting a GC adapter.
2024-12-01 12:59:25 +01:00
LillyJadeKatrin
51435b6ef8
Approve Super Mario Sunshine Widescreen Gecko Code
2024-11-29 21:56:45 -05:00
LillyJadeKatrin
81098433c8
Add Gecko and AR codes to the Patch Allowlist Test
2024-11-29 21:56:44 -05:00
LillyJadeKatrin
8447ce99f4
Scale back hardcore code block
...
Now that patches and codes are enabled on a case by case basis, remove patcher code blocking codes entirely in hardcore mode, and reword the warning to be more accurate.
2024-11-27 21:21:26 -05:00
LillyJadeKatrin
3c255b55e8
Add AR Code Whitelist Approval
2024-11-27 21:21:26 -05:00
LillyJadeKatrin
13a1956cfa
Add Gecko Code Whitelist Approval
2024-11-27 21:21:25 -05:00
LillyJadeKatrin
78f3448e27
Convert FilterApprovedPatches to Template
2024-11-27 21:21:25 -05:00
Dentomologist
a9b1c1f5f8
IRWidget: Move header constants into class
...
This apparently didn't compile on macOS six years ago before c++20, but
it should be fine by now.
While I'm at it, make the constants upper case per convention.
2024-11-26 13:50:13 -08:00
Jordan Woyak
e7a8e2fca1
DolphinQt: Update mapping indicators at screen refresh rate.
2024-11-25 14:58:48 -06:00
Jordan Woyak
26f2e5f022
DolphinQt: Make mapping indicators compatible with a variable update frequency.
2024-11-25 14:43:03 -06:00
Jordan Woyak
ea93b65d21
DolphinQt: Make mapping window spinboxes horizontally expanding.
2024-11-24 18:59:18 -06:00
JMC47
e0c387416d
Merge pull request #13153 from LillyJadeKatrin/retroachievements-netplay-hardcore
...
Force NetPlay Clients to Host Hardcore Status
2024-11-22 22:01:00 -05:00
JosJuice
0f2c2c7ae0
Merge pull request #13156 from jordan-woyak/sdl-no-wgi
...
ControllerInterface/SDL: Disable SDL's Windows.Gaming.Input controller handling.
2024-11-17 21:51:56 +01:00
mitaclaw
62d7166e6a
GDBStub: Signal Breakpoint Changes To Host
2024-11-15 15:12:11 -08:00
Amber Brault
1c4bfc35d9
Core: Store object name separately for symbols
2024-11-11 12:36:53 -05:00
JMC47
80ea68b13c
Merge pull request #13183 from Tilka/sync_on_fifo_reset
...
ProcessorInterface: sync GPU just before PI_FIFO_RESET
2024-11-11 00:38:26 -05:00
LillyJadeKatrin
9b6555c49c
Force NetPlay Clients to Host Hardcore Status
...
If the host is in hardcore mode, all joining players will be set to hardcore mode; if not, all joining players will be set to softcore. This ensures all players have the same settings and remain synchroized.
2024-11-10 09:40:47 -05:00
LillyJadeKatrin
ef71c75458
Add Config Changed Callback for Hardcore Mode
2024-11-10 08:38:00 -05:00
OatmealDome
deee3ee410
Merge pull request #13184 from LillyJadeKatrin/retroachievements-forever-dim
...
Add Approved Patches - Eternal Darkness, Monster Hunter Tri
2024-11-09 00:29:52 -05:00
LillyJadeKatrin
60a0efc69c
Add Approved Patches - Eternal Darkness, Monster Hunter Tri
...
The primary focus of this PR is the Eternal Darkness patch which fixes hanging at startup, which prior to this fix makes Eternal Darkness unplayable in hardcore. The MHTri patch was added as well simply because it could be.
2024-11-08 23:07:06 -05:00
Tillmann Karras
fbce737415
ProcessorInterface: sync GPU just before PI_FIFO_RESET
...
GXAbortFrame() is problematic for Dolphin because it first writes
PI_FIFO_RESET (for which we discard our internal fifo), then disables CP
reads (for which we execute pending commands in the GP fifo in emulated
memory). I don't know whether there is a race condition on hardware, but
there is one for us. Avoid this by also doing a GPU sync here.
2024-11-09 03:29:05 +00:00
Tilka
4b0b9799a9
Merge pull request #13000 from tygyh/Simplify-type-specifiers
...
Remove redundant elaborated type specifiers
2024-11-08 23:59:08 +00:00
Jordan Woyak
edb947df4f
WiimoteEmu: Remove disabled and no-longer-compiling wav dumping code.
2024-11-08 15:38:05 -06:00
Dr. Dystopia
6d44afc7dd
Replace 'reinterpret_cast' with 'static_cast'
2024-11-08 07:26:47 +01:00
Jordan Woyak
5078a63084
InputCommon: Add ternary conditional operator to input expressions.
2024-11-07 08:31:25 -06:00
JMC47
7e1074b140
Merge pull request #13172 from deReeperJosh/superchargersfix
...
IOS/USB: Reconnect HIDv4 Devices after shutdown
2024-11-05 15:02:22 -05:00
Jordan Woyak
83ed817ad2
ControllerInterface/SDL: Add Battery Input.
2024-11-04 22:24:42 -06:00
Tillmann Karras
0488ade1dc
DSPHLE/AXWii: fix Elebits sound
...
Regressed in 37ebb13ece
.
2024-11-04 20:47:55 +00:00
Joshua de Reeper
6dbffd1fee
IOS/USB: Reconnect HIDv4 Devices after shutdown
2024-11-04 20:12:38 +00:00
Admiral H. Curtiss
59530966f9
Merge pull request #13164 from jordan-woyak/saveable-deduction
...
Config/IsSettingSaveable: Use class template argument deduction.
2024-11-04 11:05:28 +01:00
Admiral H. Curtiss
b8823457c1
Merge pull request #13165 from jordan-woyak/FullAnalogSurface-rename
...
InputCommon: Rename AddAnalogInputs to AddFullAnalogSurfaceInputs.
2024-11-04 11:04:50 +01:00
Jordan Woyak
346a9e0f97
InputCommon: Move FullAnalogSurface class definition out of header file.
2024-11-03 15:06:50 -06:00
Jordan Woyak
2f1390e9f9
InputCommon: Rename AddAnalogInputs to AddFullAnalogSurfaceInputs.
2024-11-03 15:06:50 -06:00
Dentomologist
47a86d920f
GeneralWidget: Recommend default video backend in tooltip
...
Recommend the platform's default video backend in the Backend tooltip
instead of always recommending OpenGL.
2024-11-03 12:28:30 -08:00
Dentomologist
7b8610f4ea
VideoBackendBase: Clarify function name
...
Rename GetDefaultBackendName to GetDefaultBackendConfigName to
distinguish it from the display name.
2024-11-03 12:26:57 -08:00
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
bffc26da27
DolphinQt: Rename "GameCube Adapter for Wii U" to "GameCube Controller Adapter".
2024-10-31 01:25:36 -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
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