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
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
564e640acf
Android: Add vsync setting
...
Recently we have been getting some requests to make the existing vsync
setting available in the Android GUI:
https://bugs.dolphin-emu.org/issues/13650
https://forums.dolphin-emu.org/Thread-vsync-toggle-for-android
I don't quite understand why enabling the vsync setting is helpful when
Android already enforces vsync, but I guess having the option available
doesn't hurt. I'm putting the setting under Advanced, unlike in
DolphinQt, since there's no clear reason why the typical user would want
to use this setting.
2024-10-14 12:20:15 +02:00
JMC47
8d5b6e8e86
Merge pull request #13069 from JosJuice/android-real-balance-board
...
Android: Add the "Real Balance Board" setting
2024-10-13 15:17:26 -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
35ec2e97a8
Merge pull request #13079 from JosJuice/android-16k
...
Android: Add 16 KiB page size support
2024-10-12 10:11:33 +01:00
Tilka
c5ce90b786
Merge pull request #13080 from JosJuice/androidx-edge-to-edge
...
Android: Use enableEdgeToEdge
2024-10-12 10:11:11 +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