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
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