Commit Graph

34826 Commits

Author SHA1 Message Date
Mai
d095bddbe7
Merge pull request #12141 from JosJuice/jit-blr-msr
Jit: Check MSR state in BLR optimization
2023-11-28 22:35:35 +01:00
JosJuice
fc95d59805 JitArm64: Further optimize NaN handling in ps_sumX
So short that using farcode is pointless!
2023-11-28 21:45:44 +01:00
JosJuice
8274dcbfe4 JitArm64: Skip checking last input for NaN for non-SIMD operations
AArch64's handling of NaNs in arithmetic instructions matches PowerPC's
as long as no more than one of the operands is NaN. If we know that all
inputs except the last input are non-NaN, we can therefore skip checking
the last input. This is an optimization that in principle only works for
non-SIMD operations, but ps_sumX effectively is non-SIMD as far as the
arithmetic part of it is concerned, so we can use it there too.
2023-11-28 21:45:40 +01:00
Mai
95f06ef231
Merge pull request #12122 from JosJuice/jit-imm-msr
Jit: Handle imm msr in EmitStoreMembase
2023-11-28 21:34:23 +01:00
Mai
8cf0597d5f
Merge pull request #12091 from JosJuice/jitarm64-skip-quiet-bit
JitArm64: Use one instruction for making NaNs quiet
2023-11-28 21:33:25 +01:00
Mai
e99ead0a68
Merge pull request #12124 from JosJuice/jitarm64-mfsrin-mtsrin-addr
JitArm64: Optimize mfsrin/mtsrin address calculations
2023-11-28 21:30:30 +01:00
Mai
b53ecd73fb
Merge pull request #12143 from JosJuice/jitarm64-loadstore-pc
JitArm64: Write PC when calling MMU.cpp
2023-11-28 21:29:37 +01:00
Mai
1df685b2d7
Merge pull request #12123 from JosJuice/jit-mcrxr
Jit: Some mcrxr optimizations
2023-11-28 19:32:47 +01:00
Mai
20b13df507
Merge pull request #12179 from JosJuice/jitarm64-gp-deduplicate
JitArm64: Deduplicate the gather pipe exception check
2023-11-28 19:21:58 +01:00
Mai
ac53766058
Merge pull request #12215 from JosJuice/android-si-devices
Android: Add more GameCube controller types
2023-11-28 19:21:29 +01:00
JosJuice
4ecdb9e57e JitArm64: Use one instruction for making NaNs quiet
Instead of materializing the quiet bit in a register and ORing the NaN
with it, we can perform an arithmetic operation on the NaN. This is a
cycle or two slower on some CPUs in cases where generating the quiet bit
pipelined well, but this is farcode that rarely runs, so instruction
fetch latency is the bigger concern. And for non-SIMD cases, we also
save a register.
2023-11-28 18:49:30 +01:00
JosJuice
d5ec5c005a JitArm64: Some more FPRF optimization
By using MOVI2R+MOVI2R+CSEL in the zero case instead of doing bitwise
operations on the output of the other MOVI2R+MOVI2R+CSEL, we avoid using
BFI, an instruction that takes two cycles on most CPUs. The instruction
count is the same and the pipelining should be at least equally good.
2023-11-28 18:30:55 +01:00
JosJuice
255ee3fdce JitArm64: Use LSL+CLS for classifying floats
This is a little trick I came up with that lets us restructure our float
classification code so we can exit earlier when the float is normal,
which is the case more often than not.

First we shift left by 1 to get rid of the sign bit, and then we count
the number of leading sign bits. If the result is less than 10 (for
doubles) or 7 (for floats), the float is normal. This is because, if the
float isn't normal, the exponent is either all zeroes or all ones.
2023-11-28 18:30:45 +01:00
Zopolis4
481bc76d8e
Remove redundant 32-bit code 2023-11-28 23:03:26 +11:00
Zopolis4
f0d2ce4683
Remove _M_X86 in favour of _M_X86_64 2023-11-28 23:03:20 +11:00
Tilka
ac4da97159
Merge pull request #12075 from JosJuice/gpr-block-inputs
PPCAnalyst: Fix gprBlockInputs calculation
2023-11-28 09:23:23 +00:00
Lexi Larkin
71dfa66d8b Tool/Header: Add JSON output mode; game data 2023-11-28 08:49:28 +00:00
Dentomologist
becbaf50c4 OGLConfig: Only use Warn Log if OGL extensions are missing 2023-11-27 20:52:04 -08:00
Mai
9d415c1dbc
Merge pull request #12192 from JosJuice/jitarm64-nan-check
JitArm64: Check packed NaNs without using extra register
2023-11-28 04:22:27 +01:00
Mai
99cf862596
Merge pull request #12317 from JosJuice/setting-saveable-cleanup
Config: Clean up IsSettingSaveable
2023-11-28 04:20:21 +01:00
Mai
7e9c19fdb1
Merge pull request #12231 from JosJuice/jitarm64-frsqrte-optimization
JitArm64: Optimize frsqrte routine
2023-11-28 04:19:27 +01:00
Mai
731013c316
Merge pull request #12263 from Dentomologist/realtime_cheatsearch_update
CheatSearch: Automatically update Current Values
2023-11-28 04:17:06 +01:00
Mai
2869a4c168
Merge pull request #12278 from JosJuice/jitarm64-gpr-loop
JitArm64: Optimize Arm64GPRCache::FlushRegisters/FlushCRRegisters
2023-11-28 04:14:34 +01:00
Mai
6be8e63b23
Merge pull request #12306 from JosJuice/hle-discard
PPCAnalyst: Don't discard registers across HLE'd functions
2023-11-28 04:05:31 +01:00
Tilka
b8a897fda7
Merge pull request #12328 from iwubcode/xf_state_manager
VideoCommon: move xf state management to its own class
2023-11-28 02:04:26 +00:00
TryTwo
e5f5722497 Callstack: Bugfix. Remove double counting in loop to allow for more callstack items to be reported. 2023-11-27 14:18:25 -07:00
JosJuice
3a00ff625e PPCAnalyst: Don't discard registers across HLE'd functions
Not sure if this was causing correctness issues – it depends on whether
the HLE code was actually reading the discarded registers – but it was
at least causing annoying assert messages in one piece of homebrew.
2023-11-27 21:40:42 +01:00
JosJuice
ba6fea1c81 HLE: Refactor ReplaceFunctionIfPossible 2023-11-27 21:40:42 +01:00
JosJuice
be1e103435 Remove references to Debugger.ini
This file was only used by DolphinWX. DolphinQt uses Qt.ini instead.
2023-11-27 21:38:43 +01:00
JosJuice
b18519320c Config: Flip the IsSettingSaveable system check
Nowadays, basically everything except for controller config is handled
by the new config system. Instead of enumerating the systems that are,
let's enumerate the systems that aren't.

I've intentionally not included Config::System::Session in the new list.
While it isn't intended to be saved, it is a setting that's fully
handled by the new config system. See
https://github.com/dolphin-emu/dolphin/pull/9804#discussion_r648949686.
2023-11-27 21:38:25 +01:00
JosJuice
5c3517c31d Config: Remove RA settings from s_setting_saveable
We can cover them using Config::System::Achievements.
2023-11-27 21:36:19 +01:00
JosJuice
51bc86fc25 Config: Remove MAIN_USE_DISCORD_PRESENCE from s_setting_saveable
It's already covered by Config::System::Main.
2023-11-27 21:36:19 +01:00
Mai
d28155a7bb
Merge pull request #12265 from TryTwo/FuncFinder_bkup
CodeDiffDialog: Add saving/loading results to a file.
2023-11-27 19:00:27 +01:00
Tilka
c53e29c3c8
Merge pull request #11093 from Pokechu22/disable-graphics-settings
Disable graphics settings fields when incompatible settings are enabled
2023-11-27 12:54:02 +00:00
Tilka
ff6ea89036
Merge pull request #10818 from Pokechu22/icache-always-invalidate
PPCCache: Always invalidate on icbi, even if icache is disabled
2023-11-27 10:15:05 +00:00
TryTwo
0826586f96 CodeDiffDialog: Add saving/loading function finder results. 2023-11-26 21:26:58 -07:00
Mai
eba2b9ab9c
Merge pull request #12279 from Dentomologist/opengl_single_core_fix_start_movie_recording_crash
Movie: Fix crash when starting input recording on OpenGL single core
2023-11-27 03:19:54 +01:00
iwubcode
fb86c6342e VideoCommon: move texture dump function out of texture cache to its own free function so it can be used elsewhere. Doing this change may also slightly improve performance of this operation 2023-11-26 16:35:03 -06:00
iwubcode
095f946b66 Core: update State version due to adding XFStateManager 2023-11-26 16:30:54 -06:00
iwubcode
849a0c13b5 VideoCommon: move xf state management to its own class, so changes can be detected in places other than VertexShaderManager 2023-11-26 16:27:26 -06:00
Mai
1a2d0882d0
Merge pull request #12319 from JosJuice/jitarm64-branch-not-farcode
JitArm64: Don't use farcode for conditional branch instructions
2023-11-26 23:09:25 +01:00
Mai
c8a493964a
Merge pull request #12307 from iwubcode/xxhash
Externals: update xxhash to 0.8.2 as submodule
2023-11-26 23:00:24 +01:00
Mai
10e2ad305d
Merge pull request #12316 from JosJuice/android-less-host-thread-lock
Android: Remove HostThreadLocks that are no longer needed
2023-11-26 22:56:55 +01:00
Mai
8a19be6052
Merge pull request #12321 from Dentomologist/netplay_setup_dialog_connect_tab_fix_spacing
NetPlaySetupDialog: Fix spacing in Connect tab
2023-11-26 22:51:42 +01:00
JosJuice
3d5f95b298
Merge pull request #12297 from Filoppi/improve_paper_white
Change HDR paper white default to 203 to match the ITU recommendations
2023-11-26 18:03:39 +01:00
Tilka
719f1dca29
Merge pull request #12325 from Tilka/vulkan
Vulkan: use EnumMap for blend factor luts (NFC)
2023-11-26 07:12:23 +00:00
Lioncash
05015531a8 SkylanderModifyDialog: Remove unnecessary string conversions 2023-11-25 22:29:44 -05:00
Lioncash
8dfbc45df7 SkylanderModifyDialog: Mark label string as translatable
This is a user-facing string. Also fixes a nearby typo in an error
message string.
2023-11-25 22:29:41 -05:00
Lioncash
cdfabb4524 SkylandersPortalWindow: Directly connect slot in CreateSlotLayout
The interface corresponds with what QCheckBox::toggled wants, so we can
use the member function directly.
2023-11-25 22:16:39 -05:00
Lioncash
24c009f7ce SkylandersPortalWindow: Mark helpers as const/static where applicable
These helpers don't directly modify class state.
2023-11-25 21:44:07 -05:00