Tilka
fed8220c39
Merge pull request #12712 from Dentomologist/remove_defined_out_code
...
Remove defined-out code
2024-10-19 19:36:19 +01:00
JMC47
88cf25e915
Merge pull request #13114 from TryTwo/PR_Turbo_Mutes_Audio
...
Audio: Add option to temporarily mute audio when using turbo
2024-10-19 13:11:05 -04:00
JMC47
e10821a847
Merge pull request #13104 from TellowKrinkle/MTLLogging
...
VideoBackends:Metal: Log file on failed pipeline compile
2024-10-19 13:03:52 -04:00
mitaclaw
a035bd95e4
JITs: Revamp LogGeneratedX86
...
Debug logging of recompiled code is now a feature of all three JITs.
2024-10-19 02:30:45 -07:00
mitaclaw
9afd09598c
DolphinQt: JIT Widget Refresh
...
Fulfilling a certain six-year-old todo.
2024-10-19 02:30:44 -07:00
mitaclaw
ca9222a16b
Move UICommon/Disassembler to Common/HostDisassembler
...
A preliminary commit for a cleaner diff and an easier review
2024-10-19 00:14:54 -07:00
mitaclaw
a0987829e5
JITs: Add GetMemoryStats Function
...
Using the updated rangeset library
2024-10-19 00:14:54 -07:00
mitaclaw
46f8fe0eaf
JITs: Add EraseSingleBlock Function
2024-10-19 00:14:54 -07:00
mitaclaw
d26dc1ba32
JITs: Outline FreeRanges Function
...
As I have done for Cached Interpreter 2.0
2024-10-19 00:14:54 -07:00
mitaclaw
c431cd2e1e
CachedInterpreter: Callback Disassembler
2024-10-19 00:14:53 -07:00
mitaclaw
ff9be97ea1
JitCache: Add WipeBlockProfilingData Function
...
Accessible from DolphinQt and Android.
2024-10-18 23:50:26 -07:00
JMC47
21f4319302
Merge pull request #13092 from mitaclaw/ranges-modernization-3-spaceship
...
Ranges Algorithms Modernization - Compare
2024-10-17 13:37:16 -04:00
JMC47
3d7ae07dbf
Merge pull request #13112 from Tilka/ioslog
...
IOS: log cIOS device checks as warnings, not errors
2024-10-17 12:17:47 -04:00
Tillmann Karras
0e41adb7b7
VideoCommon: fix -Wshadow-uncaptured-local warning and simplify
2024-10-16 18:36:00 +01:00
Tillmann Karras
fd95607700
Core: apply Dolphin OnFrame patches right after boot
2024-10-16 02:58:03 +01:00
Tillmann Karras
37ebb13ece
DSPHLE/AXWii: fix wiimote audio in multiple games
...
Three bugs specific to older Wii games:
- The size difference between high-pass and biquad filter was not
accounted for, causing wiimote related fields to be corrupted.
- Wiimote sample buffer pointers were advanced by 32 samples per
millisecond instead of 6 samples. Usually hidden by the first bug.
- PB updates on Wii were being byte-swapped twice, but I've not actually
found any Wii games that make use of PB updates.
This fixes wiimote audio in at least the following games:
- Excite Truck
- Ice Age 2: The Meltdown
- Kororinpa: Marble Mania
- Rapala Tournament Fishing
- Shrek the Third
- Super Monkey Ball: Banana Blitz
- Tiger Woods PGA Tour 07
- WarioWare: Smooth Moves (issue 11725)
- Wing Island
2024-10-15 18:54:41 +01:00
DacoTaco
386c2faa30
IOS/Net: implement ioctlv that retrieves the network routing table that libogc now uses on network init
2024-10-15 17:29:17 +02:00
JosJuice
07605bf67c
Merge pull request #13090 from mitaclaw/ranges-modernization-1-trivial
...
Ranges Algorithms Modernization - Trivial
2024-10-15 17:08:55 +02:00
TryTwo
a56a27a219
Audio: Add option to AudioPane to temporarily mute audio when emulation speed limit is disabled.
2024-10-15 03:05:19 -07:00
JMC47
ef8b753cd7
Merge pull request #13115 from Tilka/syncfifo
...
VideoCommon: fix common opcode decoding errors
2024-10-14 21:26:08 -04:00
JosJuice
8e619b7302
Merge pull request #13127 from Tilka/dol001
...
Boot: don't error for NTSC IPL v1.2 of DOL-001 consoles
2024-10-12 22:05:21 +02:00
Pokechu22
937bb2aa2e
Cache normals in addition to binormals and tangents
...
Fixes LIT (https://bugs.dolphin-emu.org/issues/13635 ). The text does not include normals, but has lighting enabled. With the previous default of (0, 0, 0), lighting was always black (as dot(X, (0, 0, 0)) is always 0). It seems like the normal from the map in the background (0, 0, 1) is re-used.
LIT also has the vertex color enabled while vertex color is not specified, the same as SMS's debug cubes; the default MissingColorValue GameINI value of solid white seems to work correctly in this case.
2024-10-12 10:32:41 -07:00
Tillmann Karras
09b163d814
Boot: don't error for NTSC IPL v1.2 of DOL-001 consoles
...
Checksum and descriptions from Redump.
2024-10-12 16:11:42 +01:00
Tilka
2024d9f8ff
Merge pull request #13126 from jordan-woyak/no-big-banner
...
DolphinQt: Restrict size of banner image in game properties info tab.
2024-10-12 09:40:20 +01:00
Tilka
f635c71f28
Merge pull request #13125 from jordan-woyak/mapping-tab-bar-auto-hide
...
DolphinQt: Auto hide the mapping window tab bar.
2024-10-12 09:36:19 +01:00
Tilka
9eb0429c2e
Merge pull request #13124 from jordan-woyak/trigger-threshold-99
...
ControllerEmu: Change trigger threshold check to prevent user error.
2024-10-12 09:34:53 +01:00
Jordan Woyak
23ba1c9133
DolphinQt: Restrict size of banner image in game properties info tab.
2024-10-11 22:56:33 -05:00
Jordan Woyak
3d762c20ee
DolphinQt: Auto hide the mapping window tab bar.
2024-10-11 22:03:05 -05:00
Jordan Woyak
ccdce615ec
ControllerEmu: Change trigger threshold check to >= instead of > and set minimum threshold in UI to 1% to prevent user error.
2024-10-11 19:38:38 -05:00
Jordan Woyak
863889a34e
DolphinQt/MappingIndicator: Use Settings::IsThemeDark instead of reimplementing it.
2024-10-11 18:50:32 -05:00
Tilka
d6e10e586a
Merge pull request #13076 from robxnano/dbus-inhibit
...
Linux: Use D-Bus to inhibit screensaver
2024-10-12 00:31:58 +01:00
Tilka
f4e0a42cfc
Merge pull request #13075 from robxnano/qt-color-scheme
...
Remove unneeded Win32 code for color scheme
2024-10-11 22:20:42 +01:00
Tilka
8679d6c334
Merge pull request #13120 from Sintendo/mtspr
...
JitArm64: Optimize mtspr
2024-10-11 21:42:12 +01:00
Tilka
d2a56b321f
Merge pull request #13095 from mitaclaw/ranges-modernization-6-n
...
Ranges Algorithms Modernization - N
2024-10-11 20:28:06 +01:00
Tilka
c1832d17f6
Merge pull request #13117 from mitaclaw/ranges-modernization-9-trivial-find
...
Ranges Algorithms Modernization - Find
2024-10-11 20:27:18 +01:00
mitaclaw
203923b267
JitArm64_RegCache: Simplify `std::find` using ranges and projections
2024-10-11 12:09:00 -07:00
mitaclaw
8b1975ab18
GraphicsMod: Simplify `std::sort` using ranges and projections
2024-10-11 12:08:22 -07:00
mitaclaw
2edf6c6419
CoreTiming: Simplify algorithms using ranges and three-way comparison
2024-10-11 12:08:22 -07:00
mitaclaw
e8d5fb89e4
C++20: Synthesize `operator!=` From `operator==`
...
The inequality operator is automatically generated by the compiler if `operator==` is defined.
2024-10-10 20:23:55 -07:00
mitaclaw
d296b2613c
Modernize `std::adjacent_find` with ranges
2024-10-10 15:28:11 -07:00
mitaclaw
e4fb837f4b
Modernize `std::find_if` with ranges
...
In BTEmu.cpp, `std::mem_fn` was not necessary for the predicate to compile.
2024-10-10 15:28:11 -07:00
mitaclaw
6ca7e2856b
Modernize `std::find` with ranges
2024-10-10 15:28:11 -07:00
Sintendo
a9a779a6b9
JitArm64_Integer: Use IsImm helper more
2024-10-10 22:21:31 +02:00
Sintendo
0d9984b299
JitArm64_SystemRegisters: Optimize mtspr
...
No need to materialize the immediate if it is zero, we can just use WZR.
Before:
mov w27, #0x0 ; =0
str w27, [x29, #0x1178]
After:
str wzr, [x29, #0x1178]
2024-10-10 22:16:28 +02:00
Sintendo
8304ae3361
JitArm64_RegCache: Add IsImm helper
...
Because checking if a register is a specific immediate is a rather
common operation.
2024-10-10 22:13:34 +02:00
mitaclaw
e572081ac3
Modernize `std::min_element` with ranges
2024-10-10 00:53:48 -07:00
mitaclaw
c99a0c25e0
Modernize `std::max_element` with ranges
2024-10-10 00:53:48 -07:00
mitaclaw
88a1a5b4f2
Modernize `std::set_intersection` with ranges
2024-10-10 00:53:48 -07:00
mitaclaw
728663bdc0
Modernize `std::binary_search` with ranges
...
In VolumeVerifier.cpp, constructing a `std::string_view` of the volume's GameID is unnecessary, as `std::`(`ranges::`)`binary_search` supports heterogeneous lookup. The usage in GameFile.cpp is a perfect example.
2024-10-10 00:53:48 -07:00
mitaclaw
01d0bdf1bb
Modernize `std::is_sorted` with ranges
...
In OGLConfig.cpp, `std::views::reverse` is used rather than sorting using `std::ranges::greater` in order to parallel other instances of reverse iteration in the function.
2024-10-10 00:53:48 -07:00
mitaclaw
ebf7cebc32
Modernize `std::sort` with ranges
2024-10-10 00:53:48 -07:00
mitaclaw
bcaf665d14
Modernize `std::reverse_copy` with ranges
2024-10-10 00:53:48 -07:00
mitaclaw
78440ca335
Modernize `std::reverse` with ranges
2024-10-10 00:53:48 -07:00
mitaclaw
9bd1dae41d
Modernize `std::fill` with ranges
...
In DSPCore.cpp, there were two `std::fill` uses that could be simplified using `std::fill_n`. Due to their proximity with other `std::fill` algorithms being modernized with ranges, I chose to make these examples into the rare `std::ranges::fill_n`.
2024-10-10 00:53:48 -07:00
mitaclaw
a7160c7b38
Modernize `std::replace_if` with ranges
2024-10-10 00:53:48 -07:00
mitaclaw
0a80243a92
Modernize `std::replace` with ranges
2024-10-10 00:53:48 -07:00
mitaclaw
72436a0d1f
Modernize `std::transform` with ranges
...
In StringUtil.h, the lambdas wrapping `Common::ToLower(char)` and `Common::ToUpper(char)` were only necessary due to the function names being overloaded.
2024-10-10 00:53:48 -07:00
mitaclaw
7ce170f138
Modernize `std::copy` with ranges
2024-10-10 00:53:48 -07:00
mitaclaw
249defa72b
Modernize `std::equal` with ranges
2024-10-10 00:53:48 -07:00
mitaclaw
4cc5e1972a
Modernize `std::count_if` with ranges
2024-10-10 00:53:48 -07:00
mitaclaw
c46060e298
Modernize `std::count` with ranges
2024-10-10 00:53:48 -07:00
mitaclaw
ed5eb49d47
Modernize `std::for_each` with ranges
2024-10-10 00:53:48 -07:00
Tillmann Karras
e96960e2a6
VideoCommon: fix common opcode decoding errors
...
Many games call GXSetGPFifo() without first waiting for the GP to finish
consuming outstanding commands in the previous GP fifo. Normally,
Dolphin runs OpcodeDecoding in 1000-cycle time slices. In that time
frame, GXSetGPFifo() has probably completed and the GP read pointer now
points to entirely new memory. If the last GP fifo copy ended in an
incomplete command, the new GP fifo would most likely desync for a
while. To avoid all this, give the GP a time slice right now to copy the
remaining data from the previous GP fifo.
2024-10-10 04:07:44 +01:00
mitaclaw
519da8297c
Simplify `std::stable_sort` with `std::ranges::stable_partition`
2024-10-09 17:26:10 -07:00
mitaclaw
e6f93efac4
Simplify `std::transform` with `std::ranges::transform_view`
2024-10-09 17:26:10 -07:00
mitaclaw
809766a439
Simplify `std::fill` with `std::array::fill`
2024-10-09 17:26:10 -07:00
Tillmann Karras
3c11360335
IOS: log cIOS device checks as warnings, not errors
...
Some games do this to detect piracy.
2024-10-09 21:18:36 +01:00
Jules Blok
7db13d23c9
Merge pull request #13086 from Tilka/gameini
...
GameSettings: safe texture cache for "Winter Sports 3: The Great Tournament"
2024-10-09 02:06:51 +02:00
mitaclaw
b6ec8ddc20
Simplify `std::fill` with `std::fill_n`
2024-10-07 15:34:56 -07:00
mitaclaw
7c96762f5f
Simplify `std::copy` with `std::copy_n`
...
+ a surprise `std::memcpy` in VolumeVerifier.cpp.
2024-10-07 15:34:56 -07:00
Tilka
2b22e6ffc9
Merge pull request #13109 from Pokechu22/fifo-player-wii-bats
...
FifoPlayer: Set up additional BATs in Wii mode
2024-10-07 17:42:54 +01:00
Pokechu22
929bcbdde9
Fifo analyzer: Fix indexed XF loads showing "bytes" instead of "words"
...
Indexed XF loads specify the number of 32-bit words (generally floats, but light data has some integers) to load, not the number of bytes. This was only a mistake in the fifo analyzer text; the actual implementation already loaded words.
2024-10-06 21:56:48 -07:00
Pokechu22
de61430dae
FifoPlayer: Set up additional BATs in Wii mode
...
The light LIT fifolog from https://bugs.dolphin-emu.org/issues/13635 has position data at physical address 11ae3180. This works fine when using the memory viewer in physical mode, but the corresponding virtual address (91ae3180) previously didn't show anything in effective mode. It works fine now though.
This shouldn't affect playback of fifologs as everything in there uses physical addresses; this only impacts the memory viewer.
This logic was copied from CBoot::SetupBAT.
2024-10-06 21:48:34 -07:00
JMC47
339f9311fb
Merge pull request #12918 from JosJuice/revert-revert-audit-get-state
...
Partially revert "Revert "Audit uses of IsRunning and GetState""
2024-10-06 11:26:06 -04:00
JMC47
d78b76790d
Merge pull request #13105 from lycheefox/skylanders
...
Skylanders: Fix Head Rush (Nitro)
2024-10-06 11:21:32 -04:00
TellowKrinkle
1454934a07
VideoBackends:Metal: Use standardized C++ features over clang builtins
2024-10-06 02:13:48 -05:00
TellowKrinkle
32fd10bd08
VideoBackends:Metal: Log file on failed pipeline compile
2024-10-06 02:13:48 -05:00
lycheefox
ad1109e191
Skylanders: Fix Head Rush (Nitro)
2024-10-05 22:14:17 -04:00
TellowKrinkle
9244cded9f
VideoBackends:Vulkan: Increase VMA Vulkan Version to 1.2
...
We now use Vulkan 1.2 if available
2024-10-05 16:51:14 -05:00
Tilka
d1ac40a72b
Merge pull request #13101 from JosJuice/gametdbid-partition
...
Core: Include partition when calling GetGameTDBID for non-game partition
2024-10-05 22:31:58 +01:00
Jules Blok
b191c0f7d8
Merge pull request #12208 from PatrickFerry/add-vertex-depth-range-case
...
Use Vertex Depth Range when zRange Exceeds farZ
2024-10-05 14:14:11 +02:00
JosJuice
6798f63a2e
Core: Include partition when calling GetGameTDBID for non-game partition
...
This problem was introduced in 8842a0f402
and is likely a copy-paste error.
Fixes the problem mentioned in the issue comment
https://bugs.dolphin-emu.org/issues/13640#note-2 .
2024-10-05 13:04:50 +02:00
JMC47
2d9f789940
Merge pull request #13050 from TellowKrinkle/HKIsNotMVK
...
Vulkan: Don't do MoltenVK things on Asahi Linux
2024-10-05 00:51:27 -04:00
OatmealDome
ae14abb2fa
Merge pull request #13088 from TellowKrinkle/iOSFixes
...
VideoBackends:Metal: Fix bbox on newer iOS devices
2024-10-04 17:32:44 -04:00
JosJuice
6ca2da53e8
Partially revert "Revert "Audit uses of IsRunning and GetState""
...
This reverts the revert commit bc67fc97c3
,
except for the changes in BaseConfigLoader.cpp, which caused the bug
that made us revert 72cf2bdb87
. PR 12917
contains an improved change to BaseConfigLoader.cpp, which can be merged
(or rejected) independently.
A few changes have also been made based on review comments.
2024-10-04 18:35:41 +02:00
JosJuice
2da3e49b1e
Merge pull request #13078 from Dentomologist/videobackendbase_only_populate_backend_info_when_uninitialized
...
VideoBackendBase: Only populate backend info when uninitialized
2024-10-04 18:31:06 +02:00
JosJuice
76287f3810
Merge pull request #13097 from Tilka/vidpid
...
Bluetooth: show vid:pid in error message
2024-10-03 19:05:56 +02:00
LillyJadeKatrin
a36746a79a
Turn off debug mode if hardcore is active on emulator start
...
Found this bug while testing; if I manually edit the config files while Dolphin is closed I was able to get debug and hardcore on at the same time, this resolves that.
2024-10-03 09:01:00 -04:00
LillyJadeKatrin
72f682ab13
Add Confirm Popups for Achievements Logout and Hardcore Off
2024-10-03 08:59:54 -04:00
LillyJadeKatrin
415fa3c6a5
Migrate Hardcore Toggle Code to Achievement Manager
...
AchievementManager::SetHardcoreMode now handles the (non-Qt) settings disabled by hardcore mode, instead of doing this on the Qt layer. Also ensured Init/Enable Achievements paths run this code, fixing the bug wherein the player can manipulate things when achievements are disabled that persist when turned back on.
2024-10-03 07:52:07 -04:00
JMC47
e259831bcf
Merge pull request #13087 from TellowKrinkle/PresentSkip
...
VideoBackends:Vulkan: Prevent freezes during window resize on Linux
2024-10-02 21:09:25 -04:00
TellowKrinkle
a267c56412
VideoBackends:Vulkan: Wait until we've confirmed a successful AcquireNextImage before marking semaphores used
2024-10-02 19:22:16 -05:00
TellowKrinkle
7e1a9490c0
VideoBackends:Vulkan: Don't try to present if swapchain acquire failed
2024-10-02 19:22:16 -05:00
Tillmann Karras
e455833ea4
Bluetooth: show vid:pid in error message
2024-10-02 21:50:25 +01:00
JMC47
122bce08de
Merge pull request #12953 from LillyJadeKatrin/retroachievements-fail-messaging
...
Achievements Fail Messaging
2024-10-02 14:50:21 -04:00
LillyJadeKatrin
2f40bc25ae
Properly Notify when Achievements Login Fails
2024-10-01 18:03:46 -04:00
TellowKrinkle
70f69c3213
VideoBackends:Metal: subgroup_ops requires Apple7, not Apple6
...
SIMD-scoped permute operations are Apple6, but reduction operations are Apple7
2024-09-30 23:38:23 -05:00
Tillmann Karras
a02cbc9b78
WII_IPC: rewrite multiply as 100_tbticks literal (NFC)
2024-10-01 01:42:16 +01:00
TellowKrinkle
fd94ff252d
VideoCommon: Dirty pixel shader manager on efb scale changes
2024-09-30 01:12:55 -05:00
TellowKrinkle
14feaf4ba8
VideoBackends:Metal: Use ios_use_simdgroup_functions with SPIRV-Cross
...
It defaults to trying to emulate simdgroup functions on iOS
2024-09-29 23:58:54 -05:00