43137 Commits

Author SHA1 Message Date
Admiral H. Curtiss
77056ba7b7
Merge pull request #13208 from Dentomologist/wiitasinputwindow_update_on_attachment_change
WiiTASInputWindow: Update controls when attachment changes
2025-02-02 18:02:58 +01:00
Ryan Gabel
acf03a641a
GameSettings: Set EFBAccessEnable=True for "I SPY: Spooky Mansion"
This is necessary so you can select an option in the color selection menu
2025-02-02 17:58:38 +01:00
Admiral H. Curtiss
017e0b5658
Merge pull request #13306 from OatmealDome/cubeb-optional
CMakeLists: Add flag to disable Cubeb
2025-02-02 17:50:20 +01:00
Admiral H. Curtiss
6a3a74508d
Merge pull request #13317 from cristian64/spurious_config_file
DolphinQt: Use global settings object also for debugger settings.
2025-02-02 17:25:24 +01:00
Admiral H. Curtiss
9ff833e2f4
Merge pull request #13315 from jordan-woyak/func-exp-cleanup
InputCommon/ExpressionParser: Function argument parsing minor cleanup.
2025-02-02 17:23:13 +01:00
Admiral H. Curtiss
04775b6ef8
Merge pull request #13314 from jordan-woyak/input-expressions-assignment-op-fix
InputCommon: Fix input expression assignment operator behavior.
2025-02-02 17:22:25 +01:00
Sintendo
755c003265 JitArm64_RegCache: Const correctness
Forgot this when I added it in #13120.
2025-02-02 12:57:59 +01:00
Sintendo
7ce7da629e JitArm64_Integer: cmpl - Subtract shifted 12-bit constant
You can encode a shifted 12-bit immediate in a SUB instruction on ARM64.
We exploit this to avoid materializing the immediate.

This approach saves an instruction if it does not need to be
materialized in a register afterwards. Otherwise, we just materialize
it later and the total number of instructions stays the same.

Before:
0x52a00218   mov    w24, #0x100000            ; =1048576
0xcb180379   sub    x25, x27, x24

After:
0xd1440379   sub    x25, x27, #0x100, lsl #12 ; =0x100000
2025-02-02 12:57:59 +01:00
Sintendo
b7c3f91643 JitArm64_Integer: cmpl - Subtract 12-bit constant
You can encode a 12-bit immediate in a SUB instruction on ARM64. We can
exploit this to avoid materializing the immediate.

This approach saves an instruction if it does not need to be
materialized in a register afterwards. Otherwise, we just materialize
it later and the total number of instructions stays the same.

Before:
0x5280003a   mov    w26, #0x1                 ; =1
0xcb1a033b   sub    x27, x25, x26

After:
0xd100073b   sub    x27, x25, #0x1
2025-02-02 12:57:59 +01:00
Sintendo
c5870ed0c7 JitArm64_Integer: cmp - Skip sign extension if possible
While we cannot always avoid materializing immediates, we can still
inspect the most significant bit and potentially skip sign extension.
This can sometimes save an instruction.

Before:
0x5280003a   mov    w26, #0x1                 ; =1
0x93407f5b   sxtw   x27, w26
0xcb38c37b   sub    x27, x27, w24, sxtw

After:
0x5280003a   mov    w26, #0x1                 ; =1
0xcb38c35b   sub    x27, x26, w24, sxtw

Before:
0x52a20018   mov    w24, #0x10000000          ; =268435456
0x93407f79   sxtw   x25, w27
0xcb38c339   sub    x25, x25, w24, sxtw

After:
0x52a20018   mov    w24, #0x10000000          ; =268435456
0x93407f79   sxtw   x25, w27
0xcb180339   sub    x25, x25, x24
2025-02-02 12:57:49 +01:00
Sintendo
075c35602f JitArm64_Integer: cmp - Add shifted 12-bit constant
You can encode a shifted 12-bit immediate in an ADD instruction on
ARM64. If the negated constant fits in this range, we can exploit this
to avoid materializing the immediate.

This approach saves an instruction if it does not need to be
materialized in a register afterwards. Otherwise, we just materialize
it later and the total number of instructions stays the same.

Before:
0x52bff01a   mov    w26, #-0x800000           ; =-8388608
0x93407f1b   sxtw   x27, w24
0xcb3ac37b   sub    x27, x27, w26, sxtw

After:
0x93407f1b   sxtw   x27, w24
0x9160037b   add    x27, x27, #0x800, lsl #12 ; =0x800000
2025-02-02 12:01:08 +01:00
Sintendo
01eed0a758 JitArm64_Integer: cmp - Add 12-bit constant
You can encode a 12-bit immediate in an ADD instruction on ARM64. If the
negated constant fits in this range, we can exploit this to avoid
materializing the immediate.

This approach saves an instruction if it does not need to be
materialized in a register afterwards. Otherwise, we just materialize
it later and the total number of instructions stays the same.

Before:
0x12800019   mov    w25, #-0x1                ; =-1
0x93407f5b   sxtw   x27, w26
0xcb39c37b   sub    x27, x27, w25, sxtw

After:
0x93407f5b   sxtw   x27, w26
0x9100077b   add    x27, x27, #0x1
2025-02-02 12:01:05 +01:00
Sintendo
352cbc4772 JitArm64_Integer: cmp - Subtract shifted 12-bit constant
You can encode a shifted 12-bit immediate in a SUB instruction on ARM64.
Constants in this range do not need to be sign extended, so we can
exploit this to avoid materializing the immediate.

This approach saves an instruction if it does not need to be
materialized in a register afterwards. Otherwise, we just materialize
it later and the total number of instructions stays the same.

Before:
0x52a00099   mov    w25, #0x40000             ; =262144
0x93407f7a   sxtw   x26, w27
0xcb39c35a   sub    x26, x26, w25, sxtw

After:
0x93407f7a   sxtw   x26, w27
0xd141035a   sub    x26, x26, #0x40, lsl #12  ; =0x40000
2025-02-02 12:00:44 +01:00
Sintendo
4a29e0e4f4 JitArm64_Integer: cmp - Subtract 12-bit constant
You can encode a 12-bit immediate in a SUB instruction on ARM64.
Constants in this range do not need to be sign extended, so we can
exploit this to avoid materializing the immediate.

This approach saves an instruction if it does not need to be
materialized in a register afterwards. Otherwise, we just materialize
it later and the total number of instructions stays the same.

Before:
0x52800416   mov    w22, #0x20                ; =32
0x93407f78   sxtw   x24, w27
0xcb36c318   sub    x24, x24, w22, sxtw

After:
0x93407f78   sxtw   x24, w27
0xd1008318   sub    x24, x24, #0x20
2025-02-02 12:00:12 +01:00
Xphalnos
c9bd6a13a9 VideoBackends: Use DXGI 1.6 and D3D11_4 2025-02-02 09:02:35 +01:00
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
Xphalnos
698cc7aeb5 Externals: Vulkan 1.4 Support, xxHash 0.8.3 and VMA 3.2.0 2025-02-01 12:11:37 +01: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
JMC47
cd3993708f
Merge pull request #13316 from hoogmin/minor-first
Refactor: infinite loop based on Dolphin's style guidelines
2025-01-30 16:27:21 -05: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
Toni
08f83bbd6b Added Gecko codes to GOME01.ini
Included multiple netcode related and unrelated Gecko Codes
2025-01-27 15:25:51 -08: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
JMC47
d0b7c96fdb
Merge pull request #13285 from SameUpstreamMultipleForks/fix-waverace-blue-storm
GameSettings: Set CPUThread to False in GWRE01.ini.
2025-01-23 22:47:49 -05:00