Commit Graph

42775 Commits

Author SHA1 Message Date
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
Tilka
d374284d92
Merge pull request #13119 from SuperSamus/skylanders-tt-gp-remove
Remove Bloom Definitions for Skylanders Trap Team
2024-10-11 19:35:14 +01:00
Tilka
696ff5baea
Merge pull request #13121 from mitaclaw/synthesize-operator!=
C++20: Synthesize `operator!=` From `operator==`
2024-10-11 18:31:56 +01: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
Martino Fontana
cb8b235a48 Remove Bloom Definitions for Skylanders Trap Team 2024-10-10 22:03:34 +02:00
Tilka
b5f7a50874
Merge pull request #13118 from BobConanDev/master
Update Contributing.md
2024-10-10 20:35:13 +01:00
Bob Conan
f5bc6f8bdb
Update Contributing.md
fix typos
2024-10-10 14:03:49 -05: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
Tilka
3466f803b5
Merge pull request #13110 from Pokechu22/fifo-analyzer-xf-index-words
Fifo analyzer: Fix indexed XF loads showing "bytes" instead of "words"
2024-10-07 17:38:24 +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
Mrlinkwii
f5a0b34718 Readme: specify which windows 10 version is minimum 2024-10-07 00:25:10 +01: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
JMC47
3cb4c21d0b
Merge pull request #13103 from TellowKrinkle/VMAVulkanVersion
VideoBackends:Vulkan: Increase VMA Vulkan Version to 1.2
2024-10-06 01:57:51 -04:00