0805b58302
DolphinQt: Remove some useless includes
...
[committer note: fixed commit message style]
2021-01-05 15:24:13 +01:00
3acd1726b9
Core: Fix variable naming conventions
...
[committer note: squashed two commits]
2021-01-05 15:23:40 +01:00
ee25f03ff9
Merge pull request #9418 from Filoppi/patch-10
...
Fix DualShockUDP not adding/removing devices correctly
2021-01-05 15:15:53 +01:00
9069ad6cce
Merge pull request #9420 from MerryMage/ext
...
Externals: Link against required libraries
2021-01-05 15:15:15 +01:00
bd89523e63
Merge pull request #9392 from smurf3tte/audio_wmask
...
DSP: Fix write masks on AUDIO_*/AR_* MMIO registers
2021-01-05 15:08:06 +01:00
c0be34aa81
Jit64: subfx - Special case a == b
...
Soul Calibur II does this.
Before:
2B F6 sub esi,esi
After:
Nothing!
2021-01-05 00:26:26 +01:00
b0be20560f
Jit64: subfx - Special case b == 0
...
Happens in Super Mario Sunshine. You could probably do something similar
for b == -1 (like we do for subfic), but I couldn't find any titles that
do this.
- Case 1: d == a
Before:
41 8B C7 mov eax,r15d
41 BF 00 00 00 00 mov r15d,0
44 2B F8 sub r15d,eax
After:
41 F7 DF neg r15d
- Case 2: d != a
Before:
BF 00 00 00 00 mov edi,0
41 2B FD sub edi,r13d
After:
41 8B FD mov edi,r13d
F7 DF neg edi
2021-01-05 00:11:16 +01:00
57548b456b
Jit64: subfx - Special case a == 0
...
Occurs a bunch of times in Super Mario Sunshine.
Before:
41 83 EE 00 sub r14d,0
After:
Nothing!
2021-01-04 23:54:15 +01:00
b805223108
Jit64: subfx - Optimize more constant a cases
...
Consider the case where d and a refer to the same PowerPC register,
which is known to hold an immediate value by the RegCache. We place a
ReadWrite constraint on this register and bind it to an x86 register.
The RegCache then allocates a new register, initializes it with the
immediate, and returns a RCX64Reg for both d and a.
At this point information about the immediate value becomes unreachable.
In the case of subfx, this generates suboptimal code:
Before 1:
BF 1E 00 00 00 mov edi,1Eh <- done by RegCache
8B C7 mov eax,edi
8B FE mov edi,esi
2B F8 sub edi,eax
Before 2:
BE 00 AC 3F 80 mov esi,803FAC00h <- done by RegCache
8B C6 mov eax,esi
8B 75 EC mov esi,dword ptr [rbp-14h]
2B F0 sub esi,eax
The solution is to explicitly handle the constant a case before having
the RegCache allocate registers for us.
After 1:
8D 7E E2 lea edi,[rsi-1Eh]
After 2:
8B 75 EC mov esi,dword ptr [rbp-14h]
81 EE 00 AC 3F 80 sub esi,803FAC00h
2021-01-04 23:02:22 +01:00
1e4a1bee43
Fix DualShockUDP not adding/removing devices correctly
...
-If adding 2 devices with the same name, they their unique id wouldn't be increased, causing a conflict.
-Removing a device wouldn't actually remove it from the internal devices list because the list of devices had already been updated when going through it.
-It was possible to remove devices belonging to other sources by adding a device with the same name and then removing it.
2021-01-03 21:06:06 +02:00
e957ed0809
Merge pull request #9422 from MerryMage/__builtin_clz
...
BitUtils: __builtin_clz is undefined when value == 0
2021-01-03 18:53:25 +01:00
6106d6481f
BitUtils: __builtin_clz is undefined when value == 0
2021-01-03 17:35:15 +00:00
4b9259d691
Merge pull request #9415 from Filoppi/patch-8
...
Fix cursor going to +infinite if the window size was 0
2021-01-03 11:26:11 -05:00
f477a10e65
Merge pull request #9421 from MerryMage/JitBlockData
...
JitArm64: Do not use offsetof on non-standard-layout types
2021-01-03 11:25:04 -05:00
8ae0bf93e7
JitArm64: Do not use offsetof on non-standard-layout types
...
Applying PR #8687 to Arm64 JIT.
2021-01-03 15:26:01 +00:00
14c03388b3
Externals: Link against required libraries
...
* curl requires zlib
* hidapi when not using libudev requires libusb
2021-01-03 14:26:38 +00:00
2df11d3911
Rehabilitate Haiku support.
2021-01-02 16:54:24 -05:00
8813ba69f5
Fix Quartz cursor going to +infinite if the window size was 0
2021-01-02 19:55:19 +02:00
2932b5f8cd
Qt: Give better error messages when Wii save importing fails.
2021-01-02 17:46:12 +01:00
d9c686db30
WiiSave: Delete existing save, if any, before importing one.
2021-01-02 17:46:12 +01:00
700d53e00f
WiiSave: In Import(), make sure the TMD exists or can be reinstalled before allowing save to be imported.
2021-01-02 17:46:11 +01:00
46e4c17db3
WiiUtils: Add utility functions to handle prep-work for importing 'SD-card export' style Wii saves.
2021-01-02 17:46:11 +01:00
5a5c815ff0
Fix DInput cursor going to +infinite if the window size was 0
2021-01-02 18:33:13 +02:00
75f35393c3
Fix XInput2 cursor going to +infinite if the window size was 0
2021-01-02 18:30:14 +02:00
f06e9c55c8
Merge pull request #9411 from lioncash/enum3
...
Arm64Emitter: Remove unused OpType enum
2021-01-01 19:11:06 +01:00
36af39853d
Arm64Emitter: Remove unused OpType enum
...
This isn't used anywhere, so we can remove it.
2021-01-01 11:06:05 -05:00
fcdcdd7beb
Merge pull request #9410 from lioncash/enum2
...
Arm64Emitter: Convert ArithOption enums into enum classes
2021-01-01 13:25:35 +01:00
95cc53edec
Arm64Emitter: Convert ArithOption enums into enum classes
...
Makes the enums strongly typed. While we're at it, we can also make
these enums private.
2021-01-01 07:10:41 -05:00
71a996e33b
Jit_Integer: srawx: Handle a != b case with SARX
...
Suggested by @Sintendo
Co-authored-by: Sintendo <bram.speeckaert@gmail.com >
2021-01-01 10:32:01 +00:00
452aad29f1
Merge pull request #9401 from lioncash/jittable
...
JitArm64_Tables: Construct tables at compile-time
2021-01-01 01:22:49 +01:00
344a74aa11
Merge pull request #9396 from lioncash/arm
...
JitArm64_RegCache: Interface cleanup
2021-01-01 01:03:55 +01:00
f59ee87031
Merge pull request #9402 from lioncash/emitter
...
Arm64Emitter: Interface cleanup
2021-01-01 00:52:40 +01:00
871d1d5953
Translation resources sync with Transifex
2020-12-31 20:16:11 +01:00
7abe1085e3
IOS/ES: Pass relevant caller title information to ImportTmd() and ExportTitleInit().
2020-12-31 17:13:46 +01:00
57c59c18d4
Rename "Use Fullscreen" setting to "Start in Fullscreen"
...
The name was confusing as changing it at runtime would not change the window to fullscreen, as it effectively only affects the start of the emulation.
Also blocked the ability to change it when the emulation is running, to be more inline with other similar settings, like "Render to main Window".
2020-12-31 13:39:45 +02:00
7bf590ee5a
Merge pull request #9403 from lioncash/guard
...
ArmCommon: Add missing header guard
2020-12-31 12:17:28 +01:00
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
c9711a5eca
ArmCommon: Add missing header guard
...
Prevents any multiple inclusion errors from occurring.
2020-12-30 20:53:31 -05:00
cca0dffebd
Arm64Emitter: Add shorthand member functions for hint instructions
...
Allows for more concise code.
2020-12-30 20:49:20 -05:00
6046a15267
Arm64Emitter: Make ShiftAmount enum an enum class
...
Reduces namespace pollution and makes the enum strongly typed.
2020-12-30 20:49:20 -05:00
fab2053439
Arm64Emitter: Make RoundingMode enum an enum class
...
Prevents namespace pollution and makes the enum members strongly typed.
2020-12-30 20:49:20 -05:00
d87ec71615
Arm64Emitter: Make PStateField enum an enum class
...
Prevents namespace pollution and makes the enum members strongly typed.
2020-12-30 20:49:20 -05:00
5c3f2fde22
Arm64Emitter: Make BarrierType enum an enum class
...
Prevents namespace pollution and enforces strong typing.
2020-12-30 20:49:20 -05:00
f21c740919
Arm64Emitter: Make SystemHint enum an enum class
...
Avoids polluting the namespace and makes the members strongly typed.
2020-12-30 20:49:20 -05:00
5011c155ec
Arm64Emitter: Make type member of FixupBranch an enum class
...
Eliminates some magic numbers and makes the type member strongly typed.
2020-12-30 20:49:20 -05:00
2fa4729815
Arm64Emitter: Annotate switch fallthrough
...
Silences warnings and makes intent explicit.
2020-12-30 20:49:20 -05:00
d780ad1102
Arm64Emitter: Make use of std::optional
...
Allows eliminating some out variables in favor of optional, which allows
narrowing visible scope of variables.
2020-12-30 20:49:16 -05:00
5b5b3a9979
JitArm64_Tables: Move Instruction alias to the JIT class
...
Does what the comment says I should do :p
2020-12-30 19:28:37 -05:00
c9c874d7fb
JitArm64_Tables: Construct tables at compile-time
...
Migrates the Aarch64 JIT over to the same tabling mechanism as the x64
JIT.
2020-12-30 19:26:29 -05:00
31780a6059
Merge pull request #9399 from lioncash/fallthrough
...
JitArm64_LoadStore: Explicitly annotate switch fallthrough cases
2020-12-30 20:59:38 +01:00