JosJuice
23f6fdebcb
Revert "JitArm64: Indexed paired loadstores workaround, attempt 2"
...
This reverts commit 3071a1d13b
.
2021-09-05 11:45:40 +02:00
JosJuice
743de44f03
JitArm64: Move psq_stXX GetCallerSavedUsed calls later
...
This is a proper fix for the issue that 3071a1d
was a workaround for.
It wasn't some kind of bug in the register cache that had laid dormant,
it was a simple mistake made in b24b79e
.
2021-09-05 11:42:07 +02:00
Mai M
282fda1530
Merge pull request #10086 from JosJuice/jitarm64-w0
...
JitArm64: Fix W0 being present twice in register cache
2021-09-04 21:14:40 -04:00
JosJuice
ea1210773c
JitArm64: Fix W0 being present twice in register cache
...
Fixes a regression from ecf86bb
.
The GPR allocation_order is initialized with only 28 elements,
so the 29th element ends up getting zero initialized.
Very sneaky bug...
2021-09-04 12:48:45 +02:00
JosJuice
156ccdb805
Merge pull request #10082 from lioncash/texenum
...
BPMemory: Make ZTexOp enum an enum class
2021-09-02 08:14:05 +02:00
Lioncash
f36fd5fa39
BPMemory: Make ZTexOp enum an enum class
...
Avoids placing generic names in the surrounding namespace.
2021-09-01 18:23:22 -04:00
Pokechu22
e9c6c13886
msbuild: Move DivUtils to DolphinLib.props
...
It was accidentally put into the main DolphinLib.vcxproj in #9566 .
2021-08-31 22:48:07 -07:00
Lioncash
15566048f0
DVDInterface: Migrate bitfields over to Common::BitField
2021-08-31 17:27:43 -04:00
Lioncash
e68b9de62c
SI: Migrate bitfields to Common::BitField
2021-08-31 16:26:07 -04:00
Léo Lam
32c7524f4d
Merge pull request #10021 from Dentomologist/make_windows_tabbar_scroll_buttons_opaque
...
DolphinQt: Make Windows tab bar scroll buttons opaque
2021-08-31 19:18:03 +02:00
Léo Lam
c3dadd140b
Merge pull request #10074 from lioncash/pte
...
MMU: Tidy up PTE-related code
2021-08-31 19:17:08 +02:00
Léo Lam
ef358a122a
Merge pull request #10075 from lioncash/memcheck
...
MMU: Don't truncate 64-bit values when calling Memcheck()
2021-08-31 19:06:33 +02:00
Lioncash
ed0aa5928f
Gekko: Remove unused UReg_PTE
...
PTEs are only ever operated on in terms of their halves in our code
currently, so this can be removed.
2021-08-31 12:18:31 -04:00
Lioncash
029aff0741
MMU: Remove now-unused defines
...
Now that we're using register unions where applicable, we can remove
these defines, since they're now unused.
2021-08-31 12:18:28 -04:00
Lioncash
7a6b63b309
MMU: Don't truncate 64-bit values when calling Memcheck()
...
Previously in Read_U64 and Write_U64 the value that was read or written
would be truncated to a 32-bit value before being passed off to the
memcheck handler, which can result in incorrect values being logged out.
2021-08-31 11:39:13 -04:00
Dentomologist
1fa1e7135c
DolphinQt: Make Windows tab bar scroll buttons opaque
2021-08-31 08:33:00 -07:00
Lioncash
a8ebca4fc6
MMU: Invert conditionals in Memcheck()
...
Lets us unindent code a little bit.
2021-08-31 11:30:57 -04:00
Lioncash
ee40b640d3
MMU: Make use of UPTE_Lo and UReg_SR in TranslatePageAddress()
...
Allows us to get rid of a bit of masking in exchange for stating the
bits being accessed or written to directly.
2021-08-31 10:52:52 -04:00
Lioncash
e687569e02
Gekko: Add union for segment registers
...
Will be used in the following commit.
2021-08-31 10:45:12 -04:00
Lioncash
75840f62ff
MMU: Make use of UReg_SDR1 in SDRUpdated()
...
Lets us simplify SDRUpdated() a little bit.
This also fixes the layout of UReg_SDR1. Turns out this struct has been
incorrect (from a little-endian perspective) the entire time and went
unnoticed, since the union was never used.
2021-08-31 10:20:56 -04:00
Lioncash
1c776d8c1a
MMU: Move invalidation logic into the TLBEntry struct
...
Puts the invalidation logic in one place and lets us tidy up
InvalidateTLBEntry a little.
2021-08-31 10:04:44 -04:00
Lioncash
3216040bfe
MMU: Remove implicit sign conversions and truncation in UpdateTLBEntry
...
These are trivial to resolve.
Converting the structure member into a u32 results in no increase in
structure size, as it's making use of the three extra padding bits in
the structure.
2021-08-31 10:00:18 -04:00
Lioncash
c008b1c335
MMU: Move UPTE1/UPTE2 unions into Gekko.h
...
Keeps the register definitions in one spot and lets us remove a comment
about them.
2021-08-31 09:45:28 -04:00
Lioncash
65e131ef5f
MMU: Convert PTE unions over to Common::BitField
2021-08-31 09:36:13 -04:00
Léo Lam
c5becb4a7e
Merge pull request #10040 from JosJuice/simplify-mcrfs
...
Interpreter: Simplify mcrfs implementation
2021-08-31 15:31:54 +02:00
JosJuice
e376a985e4
Revert "DolphinQt: Minor consistency fixes for the Settings window"
...
This reverts commit 9d45bac175
.
2021-08-31 09:15:03 +02:00
Tillmann Karras
72ca41b9bf
DSPInterpreter: fix off-by-one errors in cycle counting
2021-08-31 01:51:42 +01:00
Léo Lam
8ecb0447b6
Merge pull request #10025 from mbc07/gui-fixes-settings
...
DolphinQt: Minor consistency fixes for the Settings window
2021-08-31 01:43:02 +02:00
Léo Lam
48339afb98
Merge pull request #10041 from lioncash/conv
...
Interpreter: Make signedness and narrowing conversions explicit
2021-08-31 01:07:27 +02:00
Léo Lam
95fcedeef3
Merge pull request #10053 from lioncash/kdreq
...
IOS/Network/KD: Minor tidy-up changes
2021-08-31 00:45:17 +02:00
Léo Lam
1fa74ab824
Merge pull request #10058 from AdmiralCurtiss/dsp-cleanup
...
DSPHLE: Minor cleanup & savestate fix for AX coefficients.
2021-08-31 00:16:54 +02:00
Admiral H. Curtiss
f592565532
DSPHLE/AX: Reload resampling coefficients on savestate load if necessary.
2021-08-30 23:36:09 +02:00
Léo Lam
271612f328
Merge pull request #10064 from lioncash/regs
...
Gekko: Migrate register structs over to Common::BitField
2021-08-30 23:19:17 +02:00
Léo Lam
d7109b149b
Merge pull request #10066 from leoetlino/abort-on-panic-alert-option
...
Add an option to abort when a panic alert occurs
2021-08-30 22:43:21 +02:00
Léo Lam
6659f8019e
Merge pull request #10035 from JosJuice/jitarm64-dcbx-in-loop
...
JitArm64: dcbx loop detection for improved performance when invalidating large memory regions
2021-08-30 22:39:20 +02:00
iwubcode
1f2f505373
VideoBackends / VideoCommon: allow the ability to set debug names for shaders / textures. These names are visible in applications like RenderDoc
2021-08-30 13:47:48 -05:00
JosJuice
9b83cf3e7f
Merge pull request #10069 from leoetlino/clang-format-12
...
Update clang-format to version 12
2021-08-30 09:13:15 +02:00
Léo Lam
815b590dfe
Update clang-format to version 12
...
12 is the latest release and various editors (VS, VSCode and CLion)
ship with clang-format 12 by default.
2021-08-30 00:20:18 +02:00
Léo Lam
86f2c7889d
Merge pull request #8932 from sepalani/cw-map
...
PPCSymbolDB: Improve symbol map column detection
2021-08-29 23:28:09 +02:00
Lioncash
dbf8e27d7f
Gekko: Convert UReg_PTE over to using Common::BitField
2021-08-29 06:16:55 -04:00
Lioncash
e4e1b6064d
Gekko: Convert UReg_THRM3 over to using Common::BitField
2021-08-29 06:16:55 -04:00
Lioncash
11e76e1f67
Gekko: Convert UReg_THRM12 over to using Common::BitField
2021-08-29 06:16:55 -04:00
Lioncash
12b87922fb
Gekko: Convert UReg_BAT_Lo over to using Common::BitField
2021-08-29 06:16:54 -04:00
Lioncash
b4496e6653
Gekko: Convert UReg_BAT_Up over to using Common::BitField
2021-08-29 06:16:51 -04:00
JMC47
006fc99e8e
Merge pull request #8901 from sepalani/dns-async
...
IOS/Network: Make name resolution asynchronous
2021-08-29 05:12:13 -04:00
Léo Lam
e091c2e817
Add an option to abort when a panic alert occurs
...
Prompted by https://dolphin.ci/#/builders/24/builds/985
A 1-character typo in a recent PR caused FifoCI builds to break
horribly and spew millions of panic alerts until buildbot crashed.
This PR adds a new config option -- defaulting to off -- that allows
Dolphin to abort early on when a panic alert occurs instead of
continuing forever.
2021-08-29 02:02:07 +02:00
Mateus B. Cassiano
9d45bac175
DolphinQt: Minor consistency fixes for the Settings window
2021-08-28 16:45:22 -04:00
JosJuice
b90008aadb
Split out code for serializing/deserializing cheat lines
2021-08-28 19:31:27 +02:00
JosJuice
fb96ecb7da
Move patch saving code to PatchEngine
2021-08-28 17:34:28 +02:00
Lioncash
1e4ecfe3d4
Gekko: Convert UReg_DMAL over to using Common::BitField
2021-08-27 11:20:37 -04:00
Lioncash
474e09c239
Gekko: Convert UReg_DMAU over to using Common::BitField
2021-08-27 11:19:21 -04:00
Lioncash
a126821d5e
Gekko: Convert UReg_WPAR over to using Common::BitField
2021-08-27 11:18:03 -04:00
Lioncash
8ac079a647
Gekko: Convert UReg_MMCR1 over to using Common::BitField
2021-08-27 11:16:41 -04:00
Lioncash
300f7c10bd
Gekko: Convert UReg_MMCR0 over to using Common::BitField
2021-08-27 11:15:15 -04:00
Lioncash
1ec3768b84
Gekko: Convert UReg_SDR1 over to using Common::BitField
...
Also fixes a typo in the struct name, since it was referring to SPR1
instead of SDR1. Given this isn't used anywhere yet, it's a painless
change.
2021-08-27 11:12:30 -04:00
Lioncash
9e183e63f1
Gekko: Convert UReg_HID4 over to using Common::BitField
2021-08-27 11:10:22 -04:00
Lioncash
6ab2e5ab16
Gekko: Convert UReg_HID2 over to using Common::BitField
2021-08-27 11:08:14 -04:00
Lioncash
02ec9c3b50
Gekko: Convert UReg_HID0 over to using Common::BitField
2021-08-27 11:05:51 -04:00
Lioncash
4591246608
Gekko: Convert UReg_FPSCR over to using Common::BitField
2021-08-27 11:01:32 -04:00
Lioncash
4ecdcc9d78
Gekko: Convert UReg_MSR over to using Common::BitField
2021-08-27 10:54:49 -04:00
Lioncash
1863212d94
Gekko: Convert UReg_XER over to using Common::BitField
2021-08-27 10:46:38 -04:00
Mai M
4816195366
Merge pull request #10054 from JosJuice/android-game-cache-lock
...
Android: Reduce gameFileCache lock contention
2021-08-27 10:15:25 -04:00
Mai M
7d88354659
Merge pull request #10061 from JosJuice/jitwidget-div-zero
...
DolphinQt: Fix divide by zero in JITWidget::Update
2021-08-27 10:13:52 -04:00
Franz-Josef Haider
9cd878218c
Interpreter_Tables: specify FL_IN_A for twi.
...
rGPR[inst.RA] is an input to twi.
2021-08-27 16:59:02 +03:00
JosJuice
f17584fc06
DolphinQt: Fix divide by zero in JITWidget::Update
...
I ran into this while fiddling with the debugger.
2021-08-27 10:30:18 +02:00
Admiral H. Curtiss
a4d4dc82d4
DSPHLE/AX: Use in-class initialization.
2021-08-27 03:00:13 +02:00
Admiral H. Curtiss
83ba17fc25
DSPHLE: Set m_dsp_control to a consistent value in Initialize().
2021-08-25 23:10:16 +02:00
Admiral H. Curtiss
54125516bb
DSPHLE: Remove unused members.
2021-08-25 23:02:04 +02:00
Lioncash
3c0d4b7d8f
NetKDTime: Eliminate implicit sign conversions
...
Silences compiler warnings and also makes the conversions here explicit
to the reader.
2021-08-24 12:04:04 -04:00
Lioncash
caba81ad3b
NetKDTime: Move internal IOCtl values into IOCtl function
...
These are only ever used here, so they can be turned into an internal
implementation detail.
2021-08-24 12:04:04 -04:00
Lioncash
6268ee44a1
NWC24Config: Provide name for unk_04 config member
...
According to WiiBrew this is a version number (thanks to Awesomebing1
for documenting this!)
2021-08-24 12:04:04 -04:00
Lioncash
a60af199d8
NWC24Config: Move array length constants into the private part of the class
...
These are only used internally and not intended to be used outside of
the class itself.
2021-08-24 12:04:04 -04:00
Lioncash
bc939df69c
NWC24Config: Make creation stage an enum class
...
Makes the enum strongly typed instead of interacting with a raw u32
value. While we're at it, we can add helpers to the NWC24Config to make
using code poke at the internals of the class a little bit less and also
make the querying a little nicer to read.
2021-08-24 12:04:04 -04:00
Lioncash
82371b89fc
NetKDRequest: Remove unused include
2021-08-24 12:04:04 -04:00
Lioncash
e65363f05f
NetKDRequest: Make use of constexpr arrays containing pairs instead of maps
...
Currently we were using heap allocating maps that last for the entire
duration of the emulator running.
Given the size N of both of these maps are very small (< 20 elements),
we can just make use of an array of pairs and perform linear scans. This
is also fine, given this code isn't particularly "hot" either, so this
won't be run often.
2021-08-24 12:04:01 -04:00
Lioncash
8c67f13256
ResourcePackManager: Translate unknown author string
...
This is text that should be translated, since it'll show up as English
for non-English speakers.
2021-08-24 11:31:47 -04:00
Lioncash
89ceef2a8a
MainWindow: Use MainWindow variant of tr()
...
MainWindow derives from QMainWindow, so we can use tr() directly without
the qualification.
2021-08-24 11:13:55 -04:00
Lioncash
47b40698bb
MainWindow: Fix typo in resource pack initialization error message
...
occured -> occurred
2021-08-24 11:10:49 -04:00
Lioncash
75b68c9e96
GBAWidget: Add ellipses for option selections that require more input
...
Makes the context menu selections consistent with the rest of the
application.
2021-08-24 10:43:34 -04:00
Lioncash
a65fcb5e5b
ConvertDialog: Provide complete translation string for conversion
...
Gives the translator full control over the string's localization instead
of only one part of it.
2021-08-24 10:21:53 -04:00
Lioncash
70399955a0
CheatsManager: Make use of plural variant of tr()
...
Allows translators to specify different translations if the target
languages have pluralization rules that differ from English.
2021-08-24 10:14:59 -04:00
JosJuice
719930bb39
Android: Add fast path to addOrGet
...
This path isn't really any faster in the normal case,
but it does let us skip waiting for the lock to be available,
which makes a huge difference if the lock is already taken.
2021-08-24 15:35:40 +02:00
JosJuice
fb265b610d
Android: Don't hold gameFileCache lock during updateAdditionalMetadata
...
It seems like we spend a lot of the game list scanning time in
updateAdditionalMetadata, which I suppose makes sense considering
how many different files that function attempts to open.
With the addition of just one little atomic operation, we can make
it safe to call updateAdditionalMetadata without holding a lock.
2021-08-24 15:35:39 +02:00
JosJuice
bba33c7ced
Android: Don't hold gameFileCache lock while finding games
...
FindAllGamePaths may take a little while, and holding the
gameFileCache lock isn't actually necessary until it's time to
put the results returned by FindAllGamePaths into gameFileCache.
The downside of this change is that we have to do an extra
round of JNI in between FindAllGamePaths and Update,
but I don't think that's much of a problem.
2021-08-24 14:56:33 +02:00
Mai M
7688db3cd3
Merge pull request #10047 from Dentomologist/remove_windows_help_buttons
...
DolphinQt: Remove Windows dialog help buttons
2021-08-24 08:34:31 -04:00
Mai M
922f53e16e
Merge pull request #10049 from JosJuice/jitarm64-fault-to-handler
...
JitArm64: Make HandleFastmemFault less unsafe
2021-08-24 08:33:58 -04:00
Mai M
19f8e39929
Merge pull request #10051 from Pokechu22/dsp-jit-revert-acs-extension
...
Revert "DSPJit: Sign-extend acS.h to 32 bits"
2021-08-24 08:33:32 -04:00
Lioncash
b49bd76d91
NetKDRequest: Fix typo in IOCtl enum names (schedular -> scheduler)
2021-08-24 08:28:14 -04:00
Lioncash
3a38e99001
NetKDRequest: Make hardware model enum strongly typed
...
Makes it a distinct type instead of decaying to an ambiguous u8.
2021-08-24 07:46:53 -04:00
Lioncash
1e27880014
NetKDRequest: Make private member functions completely internal
...
These functions don't touch any class state, so they can be turned into
internal helper functions.
While we're at it, we can move the enumerations as well.
2021-08-24 07:45:56 -04:00
Lioncash
ff3947a1b9
NetKDRequest: Minor adjustments to NWC24MakeUserID
...
- Make use of std::array
- Move helper functions inside it as lambdas
- Eliminate sign-conversions that were occurring (promotion of u8 to int)
2021-08-24 07:13:08 -04:00
JosJuice
6b8d17ce57
Revert "JitArm64: Disable indexed paired loadstore instructions"
...
This reverts commit f70ddebb40
.
2021-08-23 11:01:07 +02:00
JosJuice
3071a1d13b
JitArm64: Indexed paired loadstores workaround, attempt 2
...
f70ddeb
did not make the issue go away.
2021-08-23 10:46:28 +02:00
Pokechu22
1abaff758a
Revert "DSPJit: Sign-extend acS.h to 32 bits"
...
This reverts commit dc2eab1778
.
2021-08-22 18:44:24 -07:00
Pokechu22
779cd479bc
DSPLLE: NEG can set the carry and overflow flags
2021-08-22 17:07:44 -07:00
Pokechu22
3ee605d699
DSPJit: Rework overflow and carry handling
2021-08-22 17:07:44 -07:00
Pokechu22
4508ca6734
DSPInterpreter: Rework overflow and carry handling
2021-08-22 17:07:44 -07:00
Pokechu22
7cd1b2c4d1
DSPJit: Fix xA and xB
2021-08-22 17:07:44 -07:00
Pokechu22
a30a186d30
DSPInterpreter: Replace IsConditionA with IsConditionB
...
Although it's not clear what the xA and xB conditions are intended to do, the pattern indicates that xB is the regular version and xA is the inverted version, so for consistency, IsConditionB should be the main function.
2021-08-22 17:07:44 -07:00
Pokechu22
e5d130c4b3
DSPLLE: O is the mnemonic for overflow, not 0
2021-08-22 17:07:44 -07:00