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
Mai M
df32a43e8f
Merge pull request #10062 from krnlyng/twi_flags
...
Interpreter_Tables: specify FL_IN_A for twi.
2021-08-27 10:13:05 -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
JosJuice
feefc17b02
JitArm64: divwx - Optimize comparisons to 0x80000000
2021-08-26 15:04:56 +02:00
JosJuice
91b112b984
JitArm64: divwx - Optimize division by 2
...
...and let's optimize a divisor of 2 ever so slightly for
good measure. Most GameCube games seem to hit this on launch.
2021-08-26 15:04:56 +02:00
JosJuice
9889e7eb33
JitArm64: divwx - Optimize power-of-two divisors
...
Power-of-two divisors can be done more elegantly, so handle them
separately.
2021-08-26 15:04:55 +02:00
JosJuice
eb8581c26d
JitArm64: divwx - Optimize constant divisor
...
Optimize division by a constant into multiplication. This method is
also used by GCC and LLVM.
We also add optimized paths for divisors 0, 1, and -1, because they
don't work using this method. They don't occur very often, but are
necessary for correctness.
2021-08-26 15:04:51 +02:00
JosJuice
f8e97f5a8a
JitArm64: divwx - Special case dividend == 0
...
Zero divided by any number is still zero. For whatever reason,
this case shows up frequently too.
2021-08-26 14:50:01 +02:00
JosJuice
09cdb076a3
JitArm64: divwx - Optimize constant dividend
...
When the dividend is known at compile time, we can eliminate some
of the branching and precompute the result for the overflow case.
2021-08-26 14:50:01 +02:00
Tilka
559de262a1
Merge pull request #10059 from JosJuice/wia-segment-t
...
docs: Fix incorrect reference to wia_exception_t
2021-08-26 10:31:33 +01:00
JosJuice
b3d57eb25f
docs: Fix incorrect reference to wia_exception_t
2021-08-26 11:24:56 +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
Markus Wick
757985d4c2
Merge pull request #10052 from JosJuice/jitarm64-sbtm-attempt-2
...
JitArm64: Indexed paired loadstores workaround, attempt 2
2021-08-23 19:09:29 +02: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