JMC47
8291cff46d
Merge pull request #13280 from jordan-woyak/input-expressions-highlighting
...
InputCommon/DolphinQt: Fix sometimes broken syntax highlighting in IOWindow.
2025-02-02 02:01:34 -05:00
Jordan Woyak
6e7e808b66
DolphinQt/Mapping: Add setting to enable waiting for alternate mappings
...
using the OR-operator.
2025-02-01 01:54:10 -06:00
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
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
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
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
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
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
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
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
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
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