JosJuice
7bf590ee5a
Merge pull request #9403 from lioncash/guard
...
ArmCommon: Add missing header guard
2020-12-31 12:17:28 +01:00
Lioncash
e45aa019ec
ArmCommon: Mark NO_COND as constexpr
...
Allows it to be used in compile-time expressions if ever necessary.
2020-12-30 20:54:05 -05:00
Lioncash
c9711a5eca
ArmCommon: Add missing header guard
...
Prevents any multiple inclusion errors from occurring.
2020-12-30 20:53:31 -05:00
JosJuice
31780a6059
Merge pull request #9399 from lioncash/fallthrough
...
JitArm64_LoadStore: Explicitly annotate switch fallthrough cases
2020-12-30 20:59:38 +01:00
Lioncash
fa63367738
JitArm64_LoadStore: Explicitly annotate switch fallthrough cases
...
Makes it explicit that these are intentional. Also prevents compiler
warnings.
2020-12-30 14:41:37 -05:00
JosJuice
c1d041b888
Merge pull request #9318 from JosJuice/android-saf-games
...
Android: Use storage access framework for game list
2020-12-30 11:10:35 +01:00
Léo Lam
8a3b14d7dc
Merge pull request #9391 from lioncash/find-str
...
IOS: Allow for heterogenous name lookup
2020-12-30 01:47:01 +01:00
Lioncash
0e91470828
IOS: Make use of insert_or_assign with AddDevice()
...
operator[] performs a default construction if an object at the given key
doesn't exist before overwriting it with the one we provide in operator=
insert_or_assign performs optimal insertion by avoiding the default
construction if an entry doesn't exist.
Not a game changer, but it is essentially a "free" change.
2020-12-29 19:32:18 -05:00
Lioncash
ba0540b9c5
IOS: Allow for heterogenous name lookup
...
Allows lookups to be done with std::string_view or any other string
type. This allows for non-allocating strings to be used with the name
lookup without needing to construct a std::string.
2020-12-29 19:32:14 -05:00
Léo Lam
806a4f3a9a
Merge pull request #9393 from lioncash/sysconf
...
SysConf: Make use of std::string_view
2020-12-30 01:22:39 +01:00
Lioncash
1bbfde62d1
SysConf: std::move name in Entry constructor
...
Allows code to move into the constructor, avoiding copies entirely.
2020-12-29 19:09:57 -05:00
Lioncash
05094ab51f
SysConf: Return emplaced reference from AddEntry()
...
Allows GetOrAddEntry() to be implemented in a manner that doesn't result
in a redundant lookup in the event an addition needs to be made.
2020-12-29 19:08:30 -05:00
Lioncash
74224c94a7
SysConf: Make use of std::string_view
...
We can allow strings to be used with the SysConf interface in
potentially non-allocating manners.
2020-12-29 19:08:25 -05:00
Lioncash
e527b69d54
Core: Use C++17 deduction guides with locked recursive mutexes
...
Cleans up some locks that explicitly specify the recursive mutex type in
it. Meant to be included with the previous commit that cleaned out
regular mutexes, but I forgot.
2020-12-29 18:31:31 -05:00
Léo Lam
3b2e31230f
Merge pull request #9386 from leoetlino/config-cache-invalidate
...
Config: Fix cache not being invalidated when callbacks are suppressed
2020-12-29 22:22:15 +01:00
Jordan Woyak
92de0431a2
Merge pull request #9389 from lioncash/deduction
...
Core: Make use of C++17 deduction guides with locks
2020-12-29 15:18:45 -06:00
Léo Lam
9ffd345df0
Config: Fix cache not being invalidated when callbacks are suppressed
...
The config version should always be incremented whenever config is
changed, regardless of callbacks being suppressed or not.
Otherwise, getters can return stale data until another config change
(with callbacks enabled) happens.
2020-12-29 22:07:47 +01:00
Lioncash
a8b0661fb0
Core: Make use of C++17 deduction guides with locks
...
C++17 allows omitting the mutex type, which makes for both less reading
and more flexibility (e.g. The mutex type can change and all occurrences
don't need to be updated).
2020-12-29 16:06:17 -05:00
Lioncash
f4e1f48b4f
DSPCore: Make IRAM CRC and step counter private
...
We can construct an API around these two members to allow them to be
private.
2020-12-29 14:32:11 -05:00
Lioncash
5fb1f0bfd3
DSPCore: Make ifx registers private
...
These aren't used externally, so they can be made private.
2020-12-29 14:22:39 -05:00
Lioncash
e3de37e47b
DSPCore: Make the accelerator private
...
This is only used internally.
2020-12-29 14:15:04 -05:00
Lioncash
e1f41bab1c
DSP: Make mailboxes use std::array
...
Makes the array strongly typed and prevents pointer decay. This also
allows for tuning bounds checks with various implementations.
2020-12-29 12:27:56 -05:00
Lioncash
f9d8d06037
DSP: Make mailboxes private
...
These aren't used externally anywhere and can be made private.
2020-12-29 12:27:40 -05:00
Lioncash
024e983c3a
DSP: Make Mailbox enum strongly typed
...
Avoids implicit conversions and also prevents dumping identifiers into
the current namespace.
2020-12-29 12:20:00 -05:00
Léo Lam
ee048ad83c
Merge pull request #9377 from lioncash/analyzer
...
DSPAnalyzer: Migrate off file-scope state
2020-12-29 18:04:54 +01:00
Léo Lam
5ff2cb9a74
Merge pull request #9383 from lioncash/cr-fn
...
DSP: Eliminate some magic values related to the CR register
2020-12-29 17:37:24 +01:00
Léo Lam
15d4ddf5da
Merge pull request #9379 from Pokechu22/audio-latency-disable
...
Fix latency field being initially enabled on audio backends not supporting it
2020-12-29 17:28:10 +01:00
Léo Lam
5e186f4830
Merge pull request #9382 from lioncash/precise
...
DSPCore: Move PRECISE_BACKLOG define to the interpreter code
2020-12-29 17:17:59 +01:00
Léo Lam
f21e1d1859
Merge pull request #9381 from JosJuice/fix-core-filters
...
Fix Core.vcxproj.filters
2020-12-29 17:16:56 +01:00
Lioncash
359fe0d8c3
DSPCore: Move PRECISE_BACKLOG define to the interpreter code
...
The only usages of this define are within this source file.
2020-12-29 09:50:40 -05:00
Lioncash
64f93610ee
DSP: Eliminate some magic values related to the CR register
...
Makes some values more immediately readable.
2020-12-29 09:43:04 -05:00
JosJuice
732887ec85
Fix Core.vcxproj.filters
...
Without this, Visual Studio will try to fix the problem on
its own any time the file is changed.
2020-12-29 13:50:37 +01:00
Pokechu22
147636986d
Fix latency field being initially enabled on audio backends not supporting it
2020-12-28 17:06:02 -08:00
JosJuice
d78277c063
Android: Add specialized content provider implementation of DoFileSearch
2020-12-28 21:00:10 +01:00
Lioncash
8aecaf784c
DSPAnalyzer: Separate instruction searching and idle skip finding
...
Places them into their own function to keep their functionality isolated
and self-documenting.
2020-12-28 13:15:48 -05:00
Lioncash
cc512a7524
DSPAnalyzer: Break tight coupling to SDSP
...
Allows the analyzer to exist independently of the DSP structure. This
allows for unit-tests to be created in a nicer manner.
SDSP is only necessary during the analysis phase, so we only need to
keep a reference around to it then as opposed to the entire lifecycle of
the analyzer.
This also allows the copy/move assignment operators to be defaulted, as
a reference member variable prevents that.
2020-12-28 13:15:48 -05:00
Lioncash
f9c488f0d9
DSPAnalyzer: Merge Analyzer namespace into DSP namespace
...
Now that the Analyzer class fully encapsulates all analyzer state, the
namespace is no longer necessary.
2020-12-28 13:15:48 -05:00
Lioncash
9d1c8fe492
DSPAnalyzer: Make CodeFlags private to the analyzer
...
Now that we have the convenience functions around the flag
bit manipulations, there's no external usages of the flags, so we can
make these private to the analyzer implementation.
Now the Analyzer namespace is largely unnecessary and can be merged with
the DSP namespace in the next commit.
2020-12-28 13:15:48 -05:00
Lioncash
2ff4d04785
DSPAnalyzer: Add convenience functions over bit tests
...
Makes it harder to accidentally misuse and increases readability.
2020-12-28 13:15:45 -05:00
JosJuice
01b964b01a
Android: Don't consider .dff files valid for game list
2020-12-28 18:53:20 +01:00
JosJuice
73855168f3
Android: Show a message when adding a folder with no games
...
To catch people who try to use unsupported formats.
2020-12-28 18:53:18 +01:00
Lioncash
5756ece7ce
DSPAnalyzer: Implement DSP analyzer skeleton and use it
...
Attempts to simply make use of the interface. Cleanup will follow in
subsequent commits to make for nicer review.
2020-12-28 11:37:29 -05:00
Lioncash
8f4c6ad7b1
DSPAnalyzer: Add basic class skeleton
...
Adds the non-functional skeleton for the to-be Analyzer interface with
deglobalized components.
2020-12-28 10:47:12 -05:00
Léo Lam
3f68aceaca
Merge pull request #9348 from lioncash/dsp-deglobal
...
DSP: Eliminate most global state
2020-12-28 15:48:11 +01:00
iWeaker4you
a636fcf230
BitUtils: Fix uint64_t gcc compile (Linux)
2020-12-28 11:50:57 +01:00
LC
28a666a35f
Merge pull request #9363 from MerryMage/rorx
...
Jit_Integer: Use RORX where possible
2020-12-27 22:25:03 -05:00
LC
4b24215efb
Merge pull request #9371 from MerryMage/rlwinmx-BEXTR
...
Jit_Integer: rlwinmx: Use BEXTR where possible
2020-12-27 22:24:17 -05:00
LC
fcd86e9b21
Merge pull request #9370 from MerryMage/rlwinmx
...
Jit_Integer: rlwinmx: Generalize byte/word extract plus shift case
2020-12-27 22:23:18 -05:00
LC
d06d59e9c2
Merge pull request #9262 from Sintendo/jit64imm
...
Jit64: More constant propagation optimizations
2020-12-27 22:21:25 -05:00
MerryMage
e415580f54
Jit_Integer: Use Common::CountLeadingZeros in cntlzwx
2020-12-28 01:08:50 +00:00