Commit graph

43554 commits

Author SHA1 Message Date
Sintendo
34c85e4865 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]
2025-01-06 13:54:08 +00:00
Sintendo
033bb1a593 JitArm64_Integer: Refactor subfex 2025-01-06 13:54:08 +00:00
Sintendo
ce503e69c0 JitBase: Improve const-correctness 2025-01-06 13:54:08 +00:00
Sintendo
671fe29ebe JitBase: Add HasConstantCarry helper 2025-01-06 13:54:08 +00:00
Sintendo
4572b075cd 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
2025-01-06 13:54:08 +00:00
OatmealDome
24fc34fd83 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.
2025-01-06 07:54:07 +00:00
OatmealDome
0355d4fd46 DolphinQt: Use TARGET_BUNDLE_DIR generator expression instead of specifying the bundle path ourselves 2025-01-06 07:54:07 +00:00
Tabitha
ec4316c265
Update GP7E01.ini 2025-01-05 16:33:07 -05:00
Tabitha
4d0e93de74
Update GP6E01.ini 2025-01-05 16:31:29 -05:00
Tabitha
485a84e047
fix shop mod 2025-01-05 08:35:55 -05:00
TryTwo
d048e6a373 Frame Dumping: Change lossless codec from FFV1 to Ut Video.
Ut Video is faster and more compatible with editing programs, but produces larger files.
2025-01-05 07:54:07 +00:00
pull[bot]
ac5b253d8c
Merge pull request #70 from dolphin-emu/master
[pull] master from dolphin-emu:master
2025-01-04 07:54:07 +00:00
Tabitha
3eaa3f546b
Update RM8E01.ini 2025-01-03 21:51:43 -05:00
JosJuice
30bcb2b8dd JitArm64: Drop GetCRFieldBit's negate parameter
No caller is using it anymore.
2025-01-04 01:54:07 +00:00
JosJuice
6ecd292db4 JitArm64: Use BIC/EON/ORN in crXXX
This lets us save an instruction in certain scenarios.
2025-01-04 01:54:07 +00:00
JosJuice
123aa3b9ec 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.
2025-01-04 01:54:07 +00:00
JosJuice
77a5739333 JitArm64: Port some crXXX optimizations from Jit64 2025-01-04 01:54:07 +00:00
JosJuice
120a28e9d4 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.
2025-01-04 01:54:07 +00:00
Nayla Hanegan
df2bbe1ee3 Merge branch 'master' of https://github.com/MarioPartyNetplay/Dolphin-MPN 2025-01-03 17:52:43 -05:00
Nayla Hanegan
f87c489ee9 derp 2025-01-03 17:52:26 -05:00
Tabitha
085035ba46
Update GP5E01.ini 2025-01-03 17:26:40 -05:00
Tabitha
6eee9a646e
Update GP5E01.ini 2025-01-03 17:26:24 -05:00
Tabitha
87f41be32a
Update GP6E01.ini 2025-01-03 17:04:02 -05:00
Nayla Hanegan
a50aaccaad more fixes 2025-01-03 16:56:40 -05:00
Nayla Hanegan
813d535002 change registry flag 2025-01-03 16:54:19 -05:00
Nayla Hanegan
b7b9fe5369 old codehandler remove 2025-01-03 16:41:38 -05:00
Nayla Hanegan
558c49042d rename 2025-01-03 16:41:17 -05:00
Nayla Hanegan
1242123537 Remove MPN Extended rename super extended to MPN Extended 2025-01-03 16:38:57 -05:00
Nayla Hanegan
f53b88a474 Super extended for mp7 2025-01-03 16:33:47 -05:00
JMC47
9b3b6bea9d
Merge pull request #12801 from JosJuice/jitarm64-crxxx-opt
JitArm64: Optimize crXXX
2025-01-03 16:32:49 -05:00
Nayla Hanegan
2573b127d0 comment out this code again 2025-01-01 18:07:16 -05:00
Tabitha
d402a29479
Merge pull request #68 from dolphin-emu/master
mpn
2025-01-01 17:59:21 -05:00
Nayla Hanegan
89d176fd8b Merge branch 'master' of https://github.com/MarioPartyNetplay/Dolphin-MPN 2025-01-01 17:56:43 -05:00
Nayla Hanegan
24f5d5e76b Super Extended codehandler fix 2025-01-01 17:55:16 -05:00
mitaclaw
216890ab5f Simplify std::search with Common::ContainsSubrange 2025-01-01 19:54:07 +00:00
mitaclaw
4da2338ab5 Simplify std::find_if with Common::Contains 2025-01-01 19:54:07 +00:00
mitaclaw
cc16346d8f 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 19:54:07 +00:00
mitaclaw
202f169138 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 19:54:07 +00:00
JMC47
f15a78ed38
Merge pull request #13094 from mitaclaw/ranges-modernization-5-contains
Ranges Algorithms Modernization - Contains
2025-01-01 14:42:44 -05: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
eeffb3ba4d DolphinQt/HacksWidget: Convert accuracy slider to ConfigSlider 2024-12-31 19:54:07 +00:00
Admiral H. Curtiss
39ab975a30 DolphinQt: Add option for value mappings to ConfigSlider 2024-12-31 19:54:07 +00:00
Gamer64
245f539c82 Android: Fix VSync option not working
It happened due to a typo from SECTION_GFX_HARDWARE
2024-12-31 19:54:07 +00: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
Tabitha
c05f75b325
Update GP7E01.ini 2024-12-30 19:39:01 -05:00
Niel Lebeck
ed117050d0 Add some unit test coverage of the SplitPath function 2024-12-27 19:54:07 +00:00