42899 Commits

Author SHA1 Message Date
JosJuice
ed83dd8773 Jit: Move mullwx, mulhwx, mulhwux to ConstantPropagation 2024-12-24 17:11:45 +01:00
JosJuice
3f12145f50 Jit: Move mulli to ConstantPropagation 2024-12-24 17:11:45 +01:00
JosJuice
4392ef174d Jit: Move addicx to ConstantPropagation
Note: Jit64 didn't support immediate handling for addic before.
2024-12-24 17:11:45 +01:00
JosJuice
42d74f83db Jit: Move srawix to ConstantPropagation 2024-12-24 17:11:45 +01:00
JosJuice
0b6b494b8b Jit: Move rlwinmx and rlwnmx to ConstantPropagation 2024-12-24 17:11:45 +01:00
JosJuice
4898fa72ab Jit: Move negx to ConstantPropagation 2024-12-24 17:11:44 +01:00
JosJuice
9949da4c58 Jit: Move cntlzwx to ConstantPropagation 2024-12-24 17:11:44 +01:00
JosJuice
b14c799100 Jit: Move extsXx to ConstantPropagation 2024-12-24 17:11:44 +01:00
JosJuice
b833ddc2b6 Jit: Move addx to ConstantPropagation 2024-12-24 17:11:44 +01:00
JosJuice
8a5cbe696f Jit: Move boolX to ConstantPropagation 2024-12-24 17:11:44 +01:00
JosJuice
0b81bd8412 Jit: Move addix to ConstantPropagation 2024-12-24 17:11:44 +01:00
JosJuice
90c89ce533 Jit: Move reg_imm to ConstantPropagation 2024-12-24 17:11:43 +01:00
JosJuice
96876044a6 Jit: Extract immediate handling to separate ConstantPropagation class
Restructuring things in this way brings two immediate benefits:

* Code is deduplicated between Jit64 and JitArm64.
* Materializing an immediate value in a register no longer results in us
  forgetting what the immediate value was.

As a more long-term benefit, this lets us also run constant propagation
as part of PPCAnalyst, which could let us do cool stuff in the future
like statically determining whether a conditional branch will be taken.
But I have nothing concrete planned for that right now.
2024-12-24 17:11:43 +01:00
JosJuice
ff965f1937 JitArm64: Add function for setting constant overflow 2024-12-24 17:11:43 +01:00
JosJuice
be8e3fc5ae Jit64: Extract handling of immediate Rc 2024-12-24 17:11:43 +01:00
JMC47
c528a70e64
Merge pull request #13211 from Sintendo/blendvpd
Jit_FloatingPoint: fselx - Prefer BLENDVPD over VBLENDVPD
2024-12-22 18:35:11 -05:00
JMC47
a1d6aa7d3e
Merge pull request #13212 from JosJuice/jitarm64-ps-sel-same-reg
JitArm64: Optimize ps_sel with d == b || d == c
2024-12-22 18:34:32 -05:00
JosJuice
5641b83d4e
Merge pull request #13063 from TryTwo/PR_GameSettings
Add ability to edit game-specific GFX settings from game properties tab.
2024-12-22 20:42:28 +01:00
Admiral H. Curtiss
bb8c0a795f
Merge pull request #13214 from JosJuice/sethardcoremode-private
AchievementManager: Make SetHardcoreMode private
2024-12-22 20:09:29 +01:00
JMC47
1ba8541da9
Merge pull request #13091 from mitaclaw/ranges-modernization-2-returns
Ranges Algorithms Modernization - Return
2024-12-20 12:50:19 -05:00
JMC47
ac0d6cbaaa
Merge pull request #13224 from Sintendo/jitarm64-subfic2
JitArm64_Integer: Optimize subfic for -1
2024-12-18 12:07:23 -05:00
OatmealDome
01f6810a9d
Merge pull request #13207 from OatmealDome/vulkan-hdr-color-space
VKSwapChain: Always use surface formats with a normal sRGB color space if not RGBA16F
2024-12-16 17:29:19 -05:00
Jordan Woyak
b4a1967310
Merge pull request #13226 from JosJuice/achievementmanager-forward-declarations
AchievementManager: Add required forward declarations
2024-12-15 14:02:56 -06:00
JosJuice
ad24ddb6bb VerifyTool: Add missing USE_RETRO_ACHIEVEMENTS ifdefs 2024-12-15 18:15:57 +01:00
JosJuice
84ab15e020 AchievementManager: Add required forward declarations
This was causing compilation errors when building without
USE_RETRO_ACHIEVEMENTS.
2024-12-15 18:00:14 +01:00
Sintendo
d81213c4a5 JitArm64_Integer: Optimize subfic for -1
Another one backported from x86. Not sure why I didn't do this in #12891
already.

- Without carry
Before:
0x2a3a03fb   mvn    w27, w26
0x6b1a037b   subs   w27, w27, w26

After:
0x1280001b   mov    w27, #-0x1                ; =-1

- With carry
Before:
0x2a3b03f7   mvn    w23, w27
0x6b1b02f7   subs   w23, w23, w27
0x1a9f37f6   cset   w22, hs
0x390bd3b6   strb   w22, [x29, #0x2f4]

After:
0x12800017   mov    w23, #-0x1                ; =-1
2024-12-15 02:24:30 +01:00
JosJuice
ada646a795
Merge pull request #12682 from JosJuice/jit-fallback-discard-assert
Jit: Skip discarded registers when flushing for interpreter fallback
2024-12-12 23:48:37 +01:00
TryTwo
9541bb6cf7 Add method to bold slider/spin labels when a user game ini setting is being used 2024-12-10 13:42:30 -07:00
TryTwo
ac129d318b EnhancementsWidget:: Move to using ConfigControls and add new control for ComboBoxes that set two settings at once. 2024-12-10 13:42:17 -07:00
TryTwo
84a937ae65 Add GFX property tabs to game properties window, allowing them to be set to the user game ini. Additionally, refactor ConfigWidgets to reduce duplication. Refactor GameConfigWidget to use config system.
Creates a layer outside the game config layer system and passes it to the created gfx widows, so as to not interfere with the global config system.

Supports multiple game properties being open at once.
Supports editing while a game is playing, but the options only save and update the active game when the window is closed.
Right-clicking will remove a property from the game ini.
2024-12-10 13:40:30 -07:00
JMC47
6ea8edd531
Merge pull request #13209 from jordan-woyak/sdl-touchpad
InputCommon/SDL: Add touchpad inputs.
2024-12-10 12:52:43 -05:00
JMC47
394db8b798
Merge pull request #13215 from Tilka/efb_access
GameSettings: set EFBAccessEnable=True for Neighbours from Hell
2024-12-09 14:23:45 -05:00
Tillmann Karras
445fe2248c GameSettings: set EFBAccessEnable=True for Neighbours from Hell
This fixes the loading screens that show a walking animation.
2024-12-08 11:29:15 +00:00
JosJuice
687fe65709
Merge pull request #13166 from Sintendo/stX-opt
JitArm64_LoadStore: Optimize zero stores in stX
2024-12-08 11:06:33 +01:00
OatmealDome
57b1234feb
Merge pull request #13113 from CelestialAmber/mwld-map
Core: Store object name separately for symbols
2024-12-07 17:13:13 -05:00
JosJuice
7a31c8f10b AchievementManager: Make SetHardcoreMode private
This is an implementation detail that doesn't need to be exposed.
2024-12-07 19:29:53 +01:00
TryTwo
08df9a66e0 DolphinQt: Refactor, add ConfigControl class
This reduces code duplication in the different ConfigControls. This is
helpful for the next commit, which will modify the now deduplicated
code.
2024-12-07 16:31:34 +01:00
JosJuice
e3bfff5cb6 JitArm64: Optimize ps_sel with d == b || d == c 2024-12-07 12:20:24 +01:00
Sintendo
065165f749 Jit_FloatingPoint: Prefer BLENDVPD over VBLENDVPD
Prefer BLENDVPD over VBLENDVPD if the latter doesn't save any
instructions.

VBLENDVPD allows separate source and destination registers, which can
eliminate a MOVAPD/MOVSD. However, on Intel since Skylake, VBLENDVPD
takes additional uops to execute compared to BLENDVPD (according to
https://uops.info). On AMD and older Intel microarchitectures there is no
difference.
2024-12-07 11:22:28 +01:00
JosJuice
0a84d93a8e
Merge pull request #13196 from jordan-woyak/expanding-numeric-settings
DolphinQt: Make mapping window spinboxes horizontally expanding.
2024-12-07 11:14:55 +01:00
OatmealDome
a5d1172d97
Merge pull request #13186 from OatmealDome/flatpak-gitignore
gitignore: Ignore flatpak-builder's cache directory
2024-12-05 15:10:18 -05:00
JosJuice
c6b0629275
Merge pull request #13200 from Dentomologist/irwidget_move_header_constants_into_class
IRWidget: Move header constants into class
2024-12-05 18:53:17 +01:00
Jordan Woyak
ad1511982a InputCommon/SDL: Add touchpad inputs. 2024-12-04 21:08:18 -06:00
JMC47
8c3b9c9cf6
Merge pull request #13174 from jordan-woyak/sdl-battery
ControllerInterface/SDL: Add Battery Input.
2024-12-04 21:46:07 -05:00
JMC47
38675eab9b
Merge pull request #13206 from mbc07/gameini/eternal-darkness-dualcore
GameINI: drop Single Core override from Eternal Darkness
2024-12-04 21:45:41 -05:00
OatmealDome
e6f335bfcf VKSwapChain: Always use surface formats with a normal sRGB color space if not RGBA16F
Co-authored-by: TellowKrinkle <tellowkrinkle@gmail.com>
2024-12-03 20:49:50 -05:00
Mateus B. Cassiano
7e4b1780e1
GameINI: drop Single Core override from Eternal Darkness 2024-12-03 16:48:54 -04:00
JMC47
26ba8f5481
Merge pull request #13197 from jordan-woyak/vrr-mapping-indicators
DolphinQt: Update mapping indicators at screen refresh rate.
2024-12-03 12:51:18 -05:00
JMC47
cf29214c03
Merge pull request #12955 from LillyJadeKatrin/retroachievements-gecko
Add Support for Gecko Codes to Achievements Whitelist
2024-12-02 14:18:53 -05:00
OatmealDome
c10809a7ff Merge branch 'release-prep-2412' 2024-12-01 20:50:13 -05:00