JosJuice
80171adf1e
PPCTables: Retire FL_EVIL
...
FL_EVIL is only used for blocking instructions from being reordered.
There are three types of instructions which have FL_EVIL set:
1. CR operations. The previous commits improved our CR analysis
and removed FL_EVIL from these instructions.
2. Load/store operations. These are always blocked from reordering
due to always having canCauseException set.
3. isync. I don't know if we actually need to prevent reordering
around this one, since as far as I know we only do reorderings
that are guaranteed to not change the behavior of the program.
But just in case, I've renamed FL_EVIL to FL_NO_REORDER instead of
removing it entirely, so that it can be used for this instruction.
2023-11-28 18:59:34 +01:00
JosJuice
f494a3d9e8
PPCAnalyst: Remove CanSwapAdjacentOps's OPCD check
...
Other than the CR instructions, which we now analyze properly,
all the covered instructions are not integer operations and also
have either FL_ENDBLOCK or FL_EVIL set, so there are two other
checks in CanSwapAdjacentOps that will reject them.
2023-11-28 18:59:34 +01:00
JosJuice
96d622bb61
PPCAnalyst: Run cror reordering after cmp reordering
...
We would rather have cror be close to the cmp than the branch.
2023-11-28 18:59:34 +01:00
JosJuice
40e0dd93be
PPCAnalyst: Allow more reordering of CR operations
...
This is possible with the improved CR analysis implemented
in the previous commits.
2023-11-28 18:59:34 +01:00
JosJuice
da63cee711
PPCAnalyst: More strict a_flags checks in CanSwapAdjacentOps
...
If for instance instruction a sets OE and instruction b
reads it, we shouldn't permit reordering.
2023-11-28 18:59:34 +01:00
JosJuice
8e9609df6e
JitArm64: Add flush/discard support for condition registers
...
By flushing the condition registers as soon as we no longer
need them, we reduce the register pressure.
2023-11-28 18:59:31 +01:00
JosJuice
6cc4f593e5
PPCAnalyst: Add in-register/discard analysis for CR
...
This brings the analysis done for condition registers
more in line with the analysis done for GPRs and FPRs.
This gets rid of the old wantsCR member, which wasn't actually
used anyway. In case someone wants it again in the future, they
can compute the bitwise inverse of crDiscardable.
2023-11-28 18:58:47 +01:00
JosJuice
d6987b98be
PPCAnalyst: Perform CR analysis for crXXX
2023-11-28 18:51:03 +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
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
Lioncash
6d47d6c08e
SkylandersPortalWindow: Remove unnecessary string conversions
...
Same behavior without a bit of churn.
2023-11-25 21:33:25 -05:00
Tilka
c16e98a31f
Merge pull request #12323 from lioncash/virt
...
CustomAssetLibrary: Add virtual destructor
2023-11-26 00:54:11 +00:00
Tillmann Karras
e3b1439e1b
Vulkan: use EnumMap for blend factor luts (NFC)
2023-11-26 00:36:53 +00:00
Lioncash
04011373f3
CustomAssetLibrary: Remove unnecessary qualifier in LoadInfo
...
The type is already in visible scope, so we don't need the rather length
qualifier.
2023-11-25 18:01:44 -05:00
Lioncash
b85902ccb5
CustomAssetLibrary: Add virtual destructor
...
This is used as a base pointer inside CustomPipelineAction, so this
should probably really have a virtual destructor to ensure derived
objects are torn down properly.
2023-11-25 18:01:17 -05:00
Lioncash
644f7f6e55
WC24Send: Add missing header guard
...
Prevents double inclusions from occurring in the same TU.
2023-11-25 17:53:46 -05:00