Jordan Woyak
a7d1cac8ad
Core: Call PerformanceMetrics::CountFrame regardless of PresentReason.
2025-03-17 17:24:08 -05:00
JosJuice
0299540209
Merge pull request #13397 from jordan-woyak/perf-metrics
...
PerformanceMetrics: Eliminated a mutex. Code cleanups.
2025-03-17 23:20:41 +01:00
Tillmann Karras
6a90affa38
Fix -Wunused-lambda-capture warning
2025-03-17 20:08:19 +00:00
Joshua Vandaële
42fb43dacf
Implement multiple saves import
...
https://bugs.dolphin-emu.org/issues/12887
2025-03-17 10:43:09 +01:00
OatmealDome
0afbeae70c
Merge pull request #13430 from jordan-woyak/tatacon-desired-state
...
WiimoteEmu: Make TaTaCon DesiredState use only one byte of space.
2025-03-16 15:04:21 -04:00
OatmealDome
49bee36e6a
Merge pull request #13435 from iwubcode/uninitialized_directx
...
VideoCommon: initialize uninitialized state value in pixel ubershader
2025-03-16 14:56:44 -04:00
OatmealDome
9720b1f5f5
Merge pull request #13411 from jordan-woyak/gui-vconfig
...
DolphinQt/GeneralWidget: Eliminate unnecessary g_Config usage.
2025-03-16 14:54:24 -04:00
OatmealDome
9e513d93e1
Merge pull request #13414 from jordan-woyak/vconfig-framedump
...
VideoConfig: Eliminate frame dumping members.
2025-03-16 14:53:47 -04:00
OatmealDome
07cec796f4
Merge pull request #13417 from luzpaz/typo-source-core-common
...
Core/Common: Fix typos
2025-03-16 14:53:02 -04:00
iwubcode
c5f89f2de9
VideoCommon: initialize uninitialized state value in pixel ubershader to prevent error on directx in some games
2025-03-16 11:35:56 -05:00
Jordan Woyak
48b2f7d200
VideoConfig: Eliminate frame dumping members.
2025-03-16 04:30:06 -05:00
iwubcode
c1dea828ab
Common: use std::chrono for GetLocalTimeSinceJan1970 on Windows
...
Co-authored-by: Shawn Hoffman <godisgovernment@gmail.com>
2025-03-16 00:59:45 -05:00
iwubcode
452cd1c261
Core: use more recent api in ComputeDefaultCountryCode on Windows
...
Co-authored-by: Shawn Hoffman <godisgovernment@gmail.com>
2025-03-16 00:59:45 -05:00
iwubcode
373a1a5dc0
Update min win10 version from 1703/15063 to 1903/18362
...
Co-authored-by: Shawn Hoffman <godisgovernment@gmail.com>
2025-03-16 00:59:45 -05:00
JMC47
f4c37aeb14
Merge pull request #13423 from jordan-woyak/async-request-cleanup-1
...
AsyncRequests Cleanups.
2025-03-15 18:17:29 -04:00
Tillmann Karras
90b6f0d16d
Config: make SP2 configurable
2025-03-15 22:03:17 +00:00
Tillmann Karras
951a84833a
EXI: fix AD16
...
The GameCube IPL is now able to detect this device. However, this
triggers some memory clearing code that trips up Dolphin's I$.
2025-03-15 22:03:16 +00:00
Jordan Woyak
6aff82eda3
WiimoteEmu: Make TaTaCon DesiredState use only one byte of space.
2025-03-15 16:48:05 -05:00
JMC47
99cde4e269
Merge pull request #13395 from jordan-woyak/vi-HORIZONTAL_BEAM_POSITION-ticks
...
VideoInterface: Update m_ticks_last_line_start from the event's ticks value.
2025-03-15 17:27:07 -04:00
JMC47
1bd3e79fda
Merge pull request #13378 from jordan-woyak/desired-ext-state
...
WiimoteEmu: Clean up variant handling in DesiredExtensionState.
2025-03-15 17:26:49 -04:00
JMC47
e3deb14156
Merge pull request #13347 from iwubcode/custom_shader_overhaul_lighting
...
VideoCommon: move lighting shader logic to callable functions
2025-03-15 17:26:32 -04:00
Jordan Woyak
46e0952e97
PerformanceTracker: Use SPSCQueue and atomic to eliminate need for a mutex. Clean up some math.
2025-03-15 14:40:00 -05:00
Jordan Woyak
c763961112
PerformanceTracker: Use std::deque instead of hand-rolled circular
...
queue.
2025-03-15 14:40:00 -05:00
Jordan Woyak
b2ce3fbefc
PerformanceTracker: Pass chrono values instead of us s64.
2025-03-15 14:40:00 -05:00
Jordan Woyak
ddb82a5e8c
InputCommon/ControllerEmu: Break out functionality of EmulatedController
...
to eliminate redundant unused members in Wii Remote extension objects.
2025-03-15 14:30:43 -05:00
JMC47
225039f742
Merge pull request #13427 from LillyJadeKatrin/retroachievements-code-approval-fix
...
Fixed Multi Config Code Approvals
2025-03-15 13:57:48 -04:00
JosJuice
f2d1918714
Fix broken merge of PR #13181
...
This undoes one of the changes of PR #13181 . I'm guessing the relevant
code changed between when the PR was last pushed to and when it was
merged.
2025-03-15 17:23:39 +01:00
JosJuice
e637a05707
Merge pull request #12866 from JosJuice/android-log-types-sorting
...
Android: Replace log type names map with array
2025-03-15 16:01:33 +01:00
JosJuice
1f087473aa
Merge pull request #12809 from JosJuice/jitarm64-cmp-sp
...
JitArm64: Replace a comparison to SP
2025-03-15 16:00:15 +01:00
JosJuice
b2f8dac739
Merge pull request #13271 from dreamsyntax/gradle-wrapper
...
Android: Upgrade AGP & Gradle
2025-03-15 15:59:21 +01:00
JosJuice
541344ef9b
Merge pull request #13240 from thalesmg/20241225-m-known-bt-addresses-config-only
...
feat(linux): allow configuring real wiimotes with known bluetooth addresses
2025-03-15 15:34:49 +01:00
JosJuice
8c7ab286f5
Merge pull request #13181 from tygyh/Replace-'reinterpret_cast'
...
Replace 'reinterpret_cast' with 'static_cast'
2025-03-15 15:31:38 +01:00
JosJuice
3fb4084e25
Merge pull request #13345 from Tilka/unswap_depth
...
Fix depth texture being incorrectly affected by swap table
2025-03-15 14:30:19 +01:00
JosJuice
fd2c6918fa
Merge pull request #13388 from jordan-woyak/vsync-not-recommended
...
DolphinQt: Don't recommend v-sync for optimal frame pacing in tool-tip.
2025-03-15 14:24:29 +01:00
LillyJadeKatrin
0615ade725
Fixed Multi Config Code Approvals
...
Refactors the AR/Gecko/Patch code approval process to verify from every possible game ini, not just the base game ID. This fixes codes on specific revisions or codes general to any region.
2025-03-15 07:57:16 -04:00
Jordan Woyak
2690a62949
Core: Remove unused GetActualEmulationSpeed function and related variables/functions.
2025-03-14 03:10:13 -05:00
Jordan Woyak
e1745f682f
PerformanceMetrics: Eliminated a mutex. Code cleanups.
2025-03-14 03:10:13 -05:00
Sam Belliveau
f09ba10daa
AudioCommon: Added Granular Synthesis
2025-03-14 01:22:35 -05:00
Jordan Woyak
6c158ed590
VideoCommon: Create AsyncRequests directly in MMU code to eliminate EFB-related functions in VideoBackendBase.
2025-03-14 01:14:51 -05:00
Jordan Woyak
63b848ca93
VideoCommon: Eliminate EFBAccessType enum. Eliminate union and switch statement handler in AsyncRequests.
2025-03-14 00:59:41 -05:00
iwubcode
15372dc835
VideoCommon: move lighting shader logic to callable functions
2025-03-13 23:56:04 -05:00
JMC47
ca9b34a6d1
Merge pull request #13394 from jordan-woyak/odd-even-pacing
...
VideoInterface: Adjust even-field to match odd-field pacing when PSB values differ.
2025-03-13 21:56:36 -04:00
JMC47
0e2785a562
Merge pull request #13387 from jordan-woyak/frame-pacing
...
CoreTiming: Improve frame pacing
2025-03-13 14:23:18 -04:00
Jordan Woyak
fdf00050a6
DolphinQt: Use tooltips on Advanced tab.
2025-03-13 05:32:16 -05:00
Jordan Woyak
5b36c13bfb
VideoCommon: Rename Renderer to EFBInterface.
2025-03-12 21:09:16 -05:00
Luz Paz
1b47dbf519
Core/Common: Fix typos
...
Found via `codespell -q 3 -S "./Externals,./Data/Sys/wiitdb-??.txt,*.po,*.pot" -L andf,asnd,bootup,brocken,bufferin,clen,collet,datas,delt,diety,extint,fpr,inout,inport,interm,nd,nin,ontop,pixelx,re-use,re-used,sav,stateman,strat,transer,wil`
2025-03-11 19:48:45 -04:00
JMC47
de997d616f
Merge pull request #13416 from jordan-woyak/unused-viewport-correction
...
VertexShaderManager: Eliminate unnecessary m_viewport_correction member.
2025-03-11 19:00:55 -04:00
JMC47
b7bd0a0836
Merge pull request #13413 from jordan-woyak/vconfig-progressive
...
VideoConfig: Eliminate bForceProgressive.
2025-03-11 18:59:28 -04:00
JMC47
67c8d5640f
Merge pull request #13412 from jordan-woyak/netplay-vconfig
...
VideoConfig: Eliminate NetPlay related members.
2025-03-11 18:59:02 -04:00
JMC47
1698daef66
Merge pull request #13410 from jordan-woyak/movie-vconfig
...
Movie: Eliminate MovieManager::SetGraphicsConfig.
2025-03-11 18:58:45 -04:00
Jordan Woyak
c191ed5321
VertexShaderManager: Eliminate unnecessary m_viewport_correction member.
2025-03-11 03:55:57 -05:00
Jordan Woyak
5b88c0b90e
DolphinQt/GeneralWidget: Eliminate unnecessary g_Config usage.
2025-03-10 20:19:45 -05:00
Jordan Woyak
de01a790e1
VideoConfig: Eliminate bForceProgressive.
2025-03-10 19:02:43 -05:00
Jordan Woyak
7f3d8a1ad4
VideoConfig: Eliminate NetPlay related members.
2025-03-10 18:53:44 -05:00
Jordan Woyak
44423a3656
Movie: Eliminate MovieManager::SetGraphicsConfig.
2025-03-10 18:16:49 -05:00
Jordan Woyak
7222188cde
Core/VideoCommon: Push presentation time calculated from CPU thread to GPU thread.
2025-03-10 16:40:46 -05:00
Jordan Woyak
c4bd98c626
VideoInterface: Throttle before VBlank statistics counting.
2025-03-10 16:40:46 -05:00
Jordan Woyak
9ac9813492
SystemTimers: Throttle prior to performance marker.
2025-03-10 16:40:46 -05:00
Jordan Woyak
aa624d8ba8
BTEmu: Throttle prior to wii remote input update.
2025-03-10 16:40:46 -05:00
Jordan Woyak
9675c90890
VideoInterface: Throttle prior to SI poll.
2025-03-10 16:40:46 -05:00
Jordan Woyak
81e842e2aa
CoreTiming: Don't Throttle in event queue processing.
2025-03-10 16:39:13 -05:00
Jordan Woyak
fe2d247acb
VideoCommon: Don't merge EFBPoke AsyncRequests.
2025-03-10 16:37:24 -05:00
mitaclaw
433c6ce0f2
GCC: Remedy NRVO Fails
...
Using the `-Wnrvo` flag introduced by GCC 14, I identified a few places where NRVO was clearly intended, but is fumbled.
2025-03-10 12:38:03 -07:00
JMC47
5ed8b7bc9d
Merge pull request #13403 from jordan-woyak/backend_info
...
VideoCommon: Move backend_info out of VideoConfig struct.
2025-03-10 15:06:19 -04:00
JMC47
d45e6c6729
Merge pull request #13401 from jordan-woyak/exit-gpu-loop
...
Core/VideoBackendBase: Call ExitGpuLoop from Core to eliminate Video_ExitLoop.
2025-03-10 15:05:30 -04:00
JMC47
203454a97a
Merge pull request #13396 from jordan-woyak/vi-odd-even
...
VideoInterface: Cleanup and minor fix in Update.
2025-03-10 15:05:12 -04:00
JMC47
ff4486ee23
Merge pull request #13340 from Dentomologist/state_show_decompressing_osd_longer
...
State: Show "Decompressing State..." OnScreenDisplay message for longer
2025-03-10 15:04:50 -04:00
JMC47
189d09011b
Merge pull request #13363 from JoshuaVandaele/nowarnings
...
Fix multiple minor warnings
2025-03-10 15:04:14 -04:00
JMC47
3f73a39dbd
Merge pull request #13286 from JoshuaVandaele/xcb
...
Enforce XCB within code
2025-03-10 15:03:54 -04:00
JMC47
9f43f59c9b
Merge pull request #13276 from JoshuaVandaele/sfml-3.0.0
...
Migrate to SFML 3.0.0
2025-03-10 15:03:36 -04:00
mitaclaw
e4efe011d7
Modernize std::max_element
with ranges and projections
2025-03-09 13:26:39 -07:00
mitaclaw
258ec4f9cd
Modernize std::lower_bound
/upper_bound
with ranges and projections
2025-03-09 13:26:38 -07:00
mitaclaw
c9f589faa5
Modernize std::stable_sort
with ranges and projections
2025-03-09 13:26:38 -07:00
mitaclaw
8b9f92a0af
Modernize std::sort
with ranges and projections
...
In PPCTables.cpp, the code is currently unused so I was unable to test it.
In CustomPipeline.cpp, a pointer to member function cannot be used due to 16.4.5.2.1 of the C++ Standard regarding "addressable functions". https://eel.is/c++draft/namespace.std#6
In Fs.cpp and DirectoryBlob.cpp, these examples used projections in a previous iteration of this commit, but no longer do. Still, they remain in this commit because the PR they would actually belong to is already merged.
2025-03-09 13:26:38 -07:00
mitaclaw
9f972db4b8
Modernize std::none_of
with ranges and projections
2025-03-09 13:26:37 -07:00
mitaclaw
00e147c722
Simplify std::count_if
with std::ranges::count
and projections
2025-03-09 13:26:37 -07:00
mitaclaw
62b2b939b5
Simplify std::find_if
with std::ranges::find
and projections
...
In LabelMap.cpp, the code is currently unused so I was unable to test it.
In WiiUtils.cpp, the magic value `1u` was replaced by the constant value `DiscIO::PARTITION_UPDATE`.
2025-03-09 13:26:35 -07:00
mitaclaw
1e5e9219cd
Common: Create Range Projections For std::pair
2025-03-09 13:19:41 -07:00
JosJuice
87496205aa
Merge pull request #13404 from luzpaz/typo-source-core-windupdater
...
Core/WinUpdater: fix typo
2025-03-09 12:03:56 +01:00
Jordan Woyak
c18c039089
VideoCommon: Move backend_info out of VideoConfig struct.
2025-03-09 01:42:45 -06:00
Luz Paz
fb6c625fed
Core/Core: fix typos
...
Found via `codespell -q 3 -S "./Externals,./Data/Sys/wiitdb-??.txt,*.po,*.pot" -L andf,asnd,bootup,bufferin,clen,collet,datas,delt,fpr,inout,inport,interm,pixelx,re-use,re-used,sav,stateman,strat,wil`
2025-03-08 15:41:53 -05:00
Luz Paz
9b7d494bd4
Core/WinUpdater: fix typo
2025-03-08 09:58:50 -05:00
Jordan Woyak
7925240107
Core/VideoBackendBase: Call ExitGpuLoop from Core to eliminate Video_ExitLoop.
2025-03-07 17:30:33 -06:00
Jordan Woyak
5ff2af9b6a
VideoInterface: Cleanup and minor fix in Update.
2025-03-04 20:39:14 -06:00
dreamsyntax
5beb136992
Android: Upgrade AGP & Gradle
...
AGP 8.2.0 -> 8.9.0
Gradle and wrapper to 8.11.1
Baseline Profile plugin to 1.3.3
2025-03-04 18:28:01 -07:00
Jordan Woyak
16d75eadb5
VideoInterface: Update m_ticks_last_line_start from the event's ticks
...
value rather than the potentially "cycles late" value.
2025-03-04 15:33:51 -06:00
Jordan Woyak
b28dcf3687
VideoInterface: Adjust even-field to match odd-field pacing when PSB values differ.
2025-03-04 04:52:24 -06:00
Admiral H. Curtiss
3c5da38177
Merge pull request #13390 from jordan-woyak/ciface-clock
...
InputCommon: Use Clock from CommonTypes.
2025-03-03 22:29:25 +01:00
Jordan Woyak
e217d6c939
InputCommon: Use Clock from CommonTypes.
2025-03-02 15:42:26 -06:00
iwubcode
6dedf11c96
VideoCommon: mark 'WriteTexCoordTransforms' as 'static'
2025-03-02 11:27:54 -06:00
Jordan Woyak
5d16c51963
DolphinQt: Don't recommend v-sync for optimal frame pacing in tool-tip.
2025-03-02 05:43:00 -06:00
JMC47
65726b7b5f
Merge pull request #13374 from Dentomologist/performancemetrics_clamping_resetting_and_add_setting
...
PerformanceMetrics: Add clamping, resetting on resize, and setting
2025-02-26 19:44:13 -05:00
Jordan Woyak
3f92f86de1
WiimoteEmu: Add a static_assert in DesiredExtensionState to keep variant alternative order consistent.
2025-02-25 17:22:59 -06:00
Jordan Woyak
0d0734e083
WiimoteEmu: Clean up variant handling in DesiredExtensionState.
2025-02-25 17:22:59 -06:00
Jordan Woyak
1d481a395a
VariantUtil: Introduce WithVariantAlternative to dynamically construct and visit a variant alternative.
2025-02-25 17:22:59 -06:00
Tillmann Karras
4e460a7968
UberShaderPixel: use unswapped texture samples for depth
2025-02-25 18:45:01 +00:00
Tillmann Karras
359fb51d64
PixelShaderGen: use unswapped texture samples for depth
2025-02-25 18:45:01 +00:00
Tillmann Karras
7abb9e7974
Sofware/Tev: use unswapped texture samples for depth
2025-02-25 18:45:01 +00:00
Tilka
030892abd9
Merge pull request #13369 from Tilka/qt_warnings
...
CMake: disable Qt deprecation warnings we can't fix
2025-02-25 18:32:28 +00:00
JosJuice
89277ee52e
Merge pull request #13376 from jordan-woyak/serialized-wm-irext
...
WiimoteEmu: Make SerializedWiimoteState store camera points as IRExtended instead of custom layout.
2025-02-25 17:49:51 +01:00
Joshua Vandaële
0a83783fae
Migrate to SFML>=3.0.0
2025-02-25 06:42:13 +01:00
Jordan Woyak
104a25fe0d
DolphinQt: Fix MappingButton not updating text on middle-click clear.
2025-02-24 21:17:41 -06:00
Jordan Woyak
e5b55bfc06
WiimoteEmu: Make SerializedWiimoteState store camera points as IRExtended instead of custom layout.
2025-02-24 16:29:07 -06:00
Dentomologist
0645a267d9
PerformanceMetrics: Add clamping, resetting on resize, and setting
...
Clamp overlays to the render window (with some padding), reset their
positions when the render window changes sizes, and add a setting to
enable moving the overlays (off by default, .ini only for now).
2025-02-24 13:17:57 -08:00
JosJuice
7679b0e955
Merge pull request #13370 from JosJuice/i18n-pack-sd
...
Common: Make SD pack/unpack strings translatable
2025-02-24 18:57:55 +01:00
Tilka
4d1737e423
Merge pull request #13371 from Florin9doi/prusb1
...
USB: Remove unused parameters
2025-02-24 05:20:30 +00:00
JosJuice
0f83598493
Common: Make SD pack/unpack strings translatable
...
Regression from adc5b81
.
2025-02-23 23:09:24 +01:00
Florin9doi
7afc3df76f
USB: Infinity window icon
2025-02-24 00:08:42 +02:00
Florin9doi
51dc3ff466
USB: Remove unused params
2025-02-24 00:07:28 +02:00
Thales MG
97bc28aac4
feat(linux): allow configuring real wiimotes with known bluetooth addresses
...
This adds the option to configure real Wiimotes by specifying their Bluetooth addresses in
the configuration file. This allows off-brand Wiimotes to work without using the
Bluetooth Passthrough option, if you know their Bluetooth addresses beforehand.
Despite correctly setting the LAP to `0x9e8b00` in `WiimoteScannerLinux::FindWiimotes`
while scanning, which is indeed enough to make off-brand / knock-off Wiimotes respond to a
Bluetooth Inquiry, some (several? all?) bluetooth adapters seem to override and ignore
this given LAP value when performing the Inquiry, and actually use the `0x9e8b33` value as
if a null pointer have been given to `hci_inquiry`, as inspection of USB/Bluetooth packets
by Wireshark indicate. Off-brand Wiimotes don't respond to inquiries with this LAP.
If one happens to know the Bluetooth address of their Wiimote (for example, by checking
`BluetoothPassthrough.LinkKeys` after using Bluetooth Passthrough, or other means such as
directly using `libusb` to force the adapter to use the correct LAP in the Inquiry), then
it's enough to add those addresses to the vector of found Wiimotes.
Since this a niche use case and I only happen to know and have tested in Linux, this
change only affects the `WiimoteScannerLinux` backend. It's likely that it could be added
to other backends, but I'm unfamiliar with these.
If no addresses are given or this config section does not exist, behavior is completely
unchanged.
2025-02-23 18:27:48 -03:00
Tillmann Karras
a8363854ee
CMake: disable Qt deprecation warnings we can't fix
2025-02-23 14:18:05 +00:00
JMC47
6d9c887a21
Merge pull request #13365 from jordan-woyak/si-disco
...
SI: Set NOREP, ERRSTAT, and ERRLATCH when GetData returns false.
2025-02-23 01:23:39 -05:00
JMC47
aabde71484
Merge pull request #13348 from jordan-woyak/movie-SerializedWiimoteState
...
Core/Movie: Make DTM Wii Remote data use SerializedWiimoteState.
2025-02-22 14:08:41 -05:00
Jordan Woyak
8431c23cbc
SI: Set NOREP, ERRSTAT, and ERRLATCH when GetData returns false.
2025-02-22 09:25:57 -06:00
JMC47
43a6ec5bbd
Merge pull request #13353 from iwubcode/custom_shader_overhaul_vertex_texcoord
...
VideoCommon: move texcoord calculations to accessible functions in VertexShaderGen
2025-02-22 02:32:47 -05:00
Joshua Vandaële
5b4d4ca5eb
Fix multiple minor warnings
...
- ExpressionParser.cpp: `-Wmissing-declarations`
- AchievementManager.cpp: `-Wsign-compare`
- SI.cpp: `-Warray-bounds=`
- NetPlayClient.cpp: `-Wdangling-reference`
2025-02-21 19:17:29 +01:00
Admiral H. Curtiss
dd07f6a59a
Merge pull request #13364 from Tilka/shadow
...
CMake: don't enable -Wshadow-uncaptured-local
2025-02-21 18:32:20 +01:00
Jordan Woyak
01099d67cb
Merge pull request #13326 from nlebeck/taskviewmodel-mustrestartapp
...
Eliminate TaskViewModel's `mustRestartApp` field
2025-02-20 21:58:18 -06:00
Tillmann Karras
262e6f9c17
CMake: don't enable -Wshadow-uncaptured-local
...
This warning unhelpfully triggers for the `[x = std::move(x)]` pattern
which is used quite a few times in Dolphin.
2025-02-21 02:51:32 +00:00
JosJuice
af064c57de
Merge pull request #13219 from Tilka/cp_cleanup
...
VideoCommon: drop CP MMIO registers that were probably added in the wrong place
2025-02-17 21:27:19 +01:00
Aneesh Maganti
fffb499da2
Core/HW: Add time tracking thread in CPU manager
...
Introduce method to track the time played for a game via time differences and TimePlayed methods. Threads are synchronized via Common::Event.
2025-02-16 23:15:12 +01:00
Aneesh Maganti
3c44fe592b
DolphinQt: Add "Time Played" column to game list view
...
Shows minutes/hours in the list view and handles column visibility.
2025-02-16 23:15:11 +01:00
Aneesh Maganti
276f043db8
DolphinQt: Create toggle for enabling/disabling time tracking
...
Introduce a new "Enable Time Tracking" checkbox in the InterfacePane UI. The checkbox is dynamically enabled or disabled based on the emulation state, preventing changes while emulation is active.
2025-02-16 23:15:11 +01:00
Aneesh Maganti
a9ebedbf7d
Core/Config: Add settings for time tracking
2025-02-16 23:15:11 +01:00
Aneesh Maganti
892d6e30df
Core/ConfigManager: Add locks for metadata methods
...
All metadata access methods now acquire a lock on `m_metadata_lock` to prevent race conditions.
2025-02-16 23:15:11 +01:00
Aneesh Maganti
803241c64b
Core: Add TimePlayed class to track game playtime
...
Creates TimePlayed class and implemented constructors, AddTime, GetTimePlayed, and Reload methods. Updates CMakeLists.txt and DolphinLib.props as appropriate.
2025-02-16 23:15:11 +01:00
Admiral H. Curtiss
aced90de97
Merge pull request #13329 from noahpistilli/guard-startup-patches
...
Core: Check if msr.DR and msr.IR are valid at ApplyStartupPatches
2025-02-16 16:14:35 +01:00
JMC47
343007fa9e
Merge pull request #13343 from jordan-woyak/dark-theme-indicator-gate-colors
...
DolphinQt/Mapping: Adjust dark theme indicator gate color calculation.
2025-02-15 16:34:30 -05:00
Jordan Woyak
66624abb12
DolphinQt/Mapping: Clear and skip "Modifier" iterative input mappings when using
...
analog inputs.
2025-02-15 14:15:51 -06:00
Jordan Woyak
3189de6c7a
DolphinQt: Add setting to enable iterative input mappings.
2025-02-15 14:15:51 -06:00
JMC47
a8fae9b826
Merge pull request #13320 from jordan-woyak/detect-alternations
...
DolphinQt/Mapping: Add setting to enable waiting for alternate mappings.
2025-02-15 12:59:23 -05:00
JMC47
c360ea0d9d
Merge pull request #13344 from Tilka/dither
...
VideoCommon: simplify dither calculation
2025-02-15 00:32:14 -05:00
JMC47
0fc36bbfa9
Merge pull request #13341 from jordan-woyak/sd-convert-buttons-rename
...
DolphinQt: Rename the pack/unpack SD Card buttons.
2025-02-15 00:31:40 -05:00
JMC47
f9accfd4d6
Merge pull request #13324 from Sintendo/jitarm64-cmp-imm
...
JitArm64_Integer: cmp/cmpl optimizations
2025-02-15 00:30:34 -05:00
JMC47
ac2026dd6e
Merge pull request #13322 from Xphalnos/D3D_Update
...
VideoBackends: Use DXGI 1.6 and D3D11_4
2025-02-15 00:30:13 -05:00
iwubcode
1ce78dd9b4
VideoCommon: move texcoord calculations to accessible functions in VertexShaderGen
2025-02-14 22:44:49 -06:00
Jordan Woyak
7a37d015b7
DolphinAnalytics/WiimoteEmu: Remove now-irrelevant game quirk check.
2025-02-13 17:39:54 -06:00
Jordan Woyak
59d25aceb6
WiimoteEmu: Removed unused Extension encryption key getter.
2025-02-12 23:42:44 -06:00
Jordan Woyak
83d4249838
Core/Movie: Make DTM Wii Remote data use SerializedWiimoteState.
2025-02-12 23:42:43 -06:00
Jordan Woyak
adc5b81c31
DolphinQt: Rename the pack/unpack SD Card buttons.
2025-02-12 13:30:48 -06:00
Tillmann Karras
5db6bd6054
VideoCommon: simplify dither calculation
...
This saves three instructions on AMD GPUs. Dunno about Nvidia.
2025-02-11 19:23:37 +00:00
Jordan Woyak
165e35ed5d
DolphinQt/Mapping: Adjust dark theme indicator gate color calculation.
2025-02-10 01:15:58 -06:00
Tillmann Karras
19d954eaea
VideoCommon: remove CP readonly field, it's now always false
2025-02-08 11:46:49 +00:00
Tillmann Karras
84e72c185a
VideoCommon: drop CP MMIO registers that were probably added in the wrong place
...
I think someone confused these with the actual token and bounding box
registers in PE, which were added later. In CP they never did anything
and it's suspicious that they have the same addresses as their PE
counterparts. On real hardware they always read as zero.
2025-02-08 11:46:49 +00:00
OatmealDome
c770e7c276
Merge pull request #13318 from sanjay900/dont-detach-macos
...
LibusbDevice: Don't detach kernel drivers on macOS
2025-02-08 01:01:58 -05:00
Dentomologist
363155b597
State: Increase Decompressing OSD message duration
...
Show the "Decompressing State..." message for 2 seconds, instead of the
half-second duration that caused it to be halfway faded out immediately.
2025-02-06 17:17:18 -08:00
Admiral H. Curtiss
c6be362a8c
Merge pull request #13334 from jordan-woyak/mplus-lround
...
WiimoteEmu/MotionPlus: Gyro data calculation cleanup.
2025-02-06 22:20:24 +01:00
Admiral H. Curtiss
b1f1d7d6a7
Merge pull request #13327 from jordan-woyak/input-expressions-compound-assignment
...
InputCommon/ExpressionParser: Add compound assignment operators.
2025-02-06 22:15:51 +01:00
Admiral H. Curtiss
05f217bd0b
Merge pull request #13330 from Dentomologist/performancemetrics_allow_moving_overlays
...
PerformanceMetrics: Allow users to move overlays
2025-02-06 21:56:57 +01:00
Admiral H. Curtiss
dcfb1361d2
Merge pull request #13223 from mitaclaw/branch-watch-tool-fixes-5
...
Branch Watch Tool: Refresh Context Menus OnEmulationStateChanged
2025-02-06 21:52:50 +01:00
JosJuice
db285b7c87
Merge pull request #13319 from hoogmin/infinite-style-fix
...
Refactor: Infinite loop in AsyncShaderCompiler according to style guidelines
2025-02-06 18:31:28 +01:00
Javier Martinez
7dec083af5
Refactor: Make loop non-infinite instead in AsyncShaderCompiler.
2025-02-05 20:06:59 -05:00
Admiral H. Curtiss
6ee08fb9db
Merge pull request #13302 from TryTwo/Breakpoints_Fix_Lag
...
Breakpoints: Fix lag when loading multiple memory breakpoints
2025-02-05 18:27:22 +01:00
TryTwo
bbf72e79f9
Breakpoints: Fix lag when adding or removing multiple memory breakpoints by only calling DBATUpdated() once.
2025-02-04 00:21:13 -07:00
Jordan Woyak
c857a7dd82
WiimoteEmu: Use a named constant instead of a magic number for speaker
...
data writes.
2025-02-03 19:52:38 -06:00
Jordan Woyak
857c93c529
WiimoteEmu/MotionPlus: Gyro data calculation cleanup.
2025-02-03 02:05:47 -06:00
Dentomologist
4b8e36cba9
PerformanceMetrics: Allow users to move overlays
...
Allow users to move the FPS, VPS, Speed, and Performance Graph overlays.
2025-02-02 19:40:01 -08:00
Sketch
4499718368
Core: Check if msr.DR or msr.IR are valid at ApplyStartupPatches
2025-02-02 17:27:16 -05:00
Dentomologist
f94e6cb73e
PerformanceMetrics: Call ImGui::End() unconditionally
...
Move ImGui::End() calls out of if(ImGui::Begin()) blocks.
Quoting from ImGui::Begin's function comment in imgui.cpp:
"You always need to call ImGui::End() even if false is returned."
In practice this didn't cause problems because the windows don't have
title bars and thus can't be collapsed, and so the block containing
::End would always run, but let's do it the right way.
2025-02-02 14:14:56 -08:00
Jordan Woyak
cdabd651aa
InputCommon/ExpressionParser: Add compound assignment operators.
2025-02-02 14:37:11 -06:00
Niel Lebeck
56fd1f39d8
Eliminate TaskViewModel's mustRestartApp field
...
Instead of having UserDataImportWarningDialog set an
`onResultDismiss` callback that examines `mustRestartApp`, and having
UserDataActivity set `mustRestartApp`, just have UserDataActivity set
the callback directly.
This approach is no more data-race-y than the previous approach, and it
simplifies the code. (The behavior of restarting the app when the task
finishes is specific to the user data import flow, and there is no
reason for TaskViewModel to be directly aware of it.)
2025-02-02 12:24:51 -08:00
Admiral H. Curtiss
5a4cde62b6
Merge pull request #13246 from nlebeck/stringutil-tests
...
Add a `SplitPath` unit test exercising Windows paths with drive letters
2025-02-02 18:16:13 +01:00
Admiral H. Curtiss
f1fe32c93b
Merge pull request #13254 from brad0/openbsd_aarch64
...
ArmCPUDetect: Add OpenBSD support for elf_aux_info
2025-02-02 18:12:03 +01:00
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
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
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
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
48a7afa448
JitArm64: Use AArch64 imm masks in rlwimix slow case
...
All valid PPC imm masks (except for all zeroes and all ones) are also
valid AArch64 imm masks. This lets us optimize things a little.
Note that because I'm now ANDing rS before rotating it, its AND mask
is rotated left. All AArch64 imm masks can be rotated by any amount and
still be valid AArch64 imm masks.
2024-12-25 16:12:21 +01: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