Commit Graph

30120 Commits

Author SHA1 Message Date
Bonta
502def7f71 Mixer: Support GBA samples mixing 2021-07-13 16:40:07 +02:00
Bonta
1b27f22cbc SI: Allow devices to schedule events 2021-07-13 16:40:01 +02:00
Bonta
44aaf108d1 Externals: Integrate mGBA as a submodule 2021-07-13 16:39:29 +02:00
Léo Lam
b0d2df727a
Merge pull request #9686 from Dentomologist/convert_adapter_tooltip_to_balloontip
GeneralWidget: Convert Adapter tooltip to BalloonTip
2021-07-13 03:33:42 +02:00
Léo Lam
de54856fbb
Merge pull request #9846 from jordan-woyak/report-dup-setting
Config: Add an ini setting to control real Wii Remote report duplication.
2021-07-13 03:32:49 +02:00
Léo Lam
162af2a7bb
Merge pull request #9870 from OatmealDome/ui-thread
macOS: Move UI API calls to the main thread
2021-07-13 03:29:49 +02:00
Léo Lam
b09347c160
Merge pull request #9877 from JosJuice/android-early-panic
Android: Avoid crash on early panic alert
2021-07-13 03:27:12 +02:00
Tilka
8fcda4c315
Merge pull request #9889 from leoetlino/ax-symbols
DSPHLE: Prevent AX GC and AX Wii symbol mixups
2021-07-13 01:41:44 +01:00
Markus Wick
edc4396603
Merge pull request #9888 from JosJuice/jitarm64-logicalimm-everywhere
JitArm64: Stop using hand-encoded logical immediates
2021-07-12 23:03:31 +02:00
JosJuice
3af21d3d22 JitArm64: Optimize FloatCompare's CR value emitting
Setting bit 32 is only needed in the case where EQ and GT are set
but SO and LT are not, which is not a possible outcome of a compare.
2021-07-12 22:54:37 +02:00
JosJuice
8af5095ff4 JitArm64: Stop using hand-encoded logical immediates 2021-07-12 22:25:49 +02:00
Léo Lam
474adcc601
DSPHLE: Prevent AX GC and AX Wii symbol mixups
Putting AX functions from AXVoice.h in an anonymous namespace does
successfully prevent compilers from merging those functions and
allows us to avoid ODR violations.

However, tools such as gdb still mix up AX GC and AX Wii functions
and variables because those have the exact same symbol names.

This can be fixed by using inline namespaces which are transparent
at the source code level but forces AX GC and AX Wii symbols to be
different.
2021-07-12 16:30:15 +02:00
CrystalGamma
beb6ec0569 VideoCommon: fix generic build
On x86/ARM Common/Assert.h is included by way of
VideoCommon/VertexLoader{X64,ARM64}.h, on other platforms it is missing.
2021-07-12 04:30:43 +02:00
Pokechu22
b880be0aa5 Use separate fmt::formatters for each indirect matrix column
This also fixes a bug where the float version of row 1 actually showed row 0 again.
2021-07-11 15:01:42 -07:00
Pokechu22
f467c02d1a Ignore the top bit of the indirect texture matrix scale
This fixes the Zora eye coloration in Twilight Princess.
2021-07-11 15:01:37 -07:00
Tilka
20a8e9c872
Merge pull request #9876 from Pokechu22/skyward-sword-map
Fix indirect textures when format is not ITF_8
2021-07-11 22:59:23 +01:00
Tillmann Karras
bd5c604718 GameFile: don't download covers for empty game IDs 2021-07-11 17:14:43 +01:00
Markus Wick
88fd9fd577
Merge pull request #9869 from JosJuice/jitarm64-constexpr-isimmlogical
JitArm64: Encode logical immediates at compile-time where possible
2021-07-11 12:55:48 +02:00
JosJuice
f903853cf7 JitArm64: Fix ps_cmpXX
Passing a width of 64 and registers encoded as double to
DUP resulted in an invalid instruction. The registers should
be encoded as quads in this situation.

Fixes https://bugs.dolphin-emu.org/issues/12575.
2021-07-11 11:43:19 +02:00
JosJuice
0f3b9a8874 JitArm64: Minor mcrfs optimization 2021-07-10 20:44:22 +02:00
JosJuice
9e80db123f JitArm64: Encode logical immediates at compile-time where possible
Manually encoding and decoding logical immediates is error-prone.
Using ORRI2R and friends lets us avoid doing the work manually,
but in exchange, there is a runtime performance penalty. It's
probably rather small, but still, it would be nice if we could
let the compiler do the work at compile-time. And that's exactly
what this commit does, so now I have no excuse for trying to
manually write logical immediates anymore.
2021-07-10 20:43:59 +02:00
JosJuice
10861ed8ce JitArm64: Turn IsImmLogical into a constexpr constructor 2021-07-10 20:31:28 +02:00
JosJuice
ab024b218e JitArm64: Accept LogicalImm struct as bitwise inst parameter 2021-07-10 20:13:11 +02:00
Markus Wick
f6ca70d094
Merge pull request #9822 from JosJuice/jitarm64-ps-cmpxx
JitArm64: Implement ps_cmpXX
2021-07-10 19:20:48 +02:00
JosJuice
adbf6d55da JitArm64: Implement ps_cmpXX 2021-07-10 19:08:55 +02:00
Markus Wick
4ba4d7cc7d
Merge pull request #9878 from JosJuice/jitarm64-addmex
JitArm64: Implement addmex/subfmex
2021-07-10 10:11:20 +02:00
Dentomologist
59292a5c65 GeneralWidget: Convert Adapter tooltip to BalloonTip
Use a BalloonTip to inform the user when their selected backend (i.e.
OpenGL or NULL) doesn't support adapters, instead of using the default
tooltips.
2021-07-09 10:10:36 -07:00
JosJuice
afe9c6fb9a
Merge pull request #9880 from OatmealDome/windows-updater
UpdaterCommon: Use File::Copy() on non-macOS platforms
2021-07-09 19:02:42 +02:00
OatmealDome
a39b7a45c0 UpdaterCommon: Use File::Copy() on non-macOS platforms 2021-07-09 12:56:23 -04:00
JosJuice
fc60e62622 JitArm64: Implement addmex/subfmex 2021-07-09 16:44:33 +02:00
Admiral H. Curtiss
c9e4489e17 Core/MMU: Fix inverted condition in HostIsInstructionRAMAddress(). 2021-07-09 05:48:17 +02:00
Pokechu22
a379456f38 Fix indentation for alphabump 2021-07-08 15:48:14 -07:00
Pokechu22
2feced2e33 Fix indirect textures when format is not ITF_8 2021-07-08 15:48:14 -07:00
Markus Wick
cfcc994f6c
Merge pull request #9840 from JosJuice/jitarm64-mffsx
JitArm64: Implement mffsx
2021-07-08 14:15:24 +02:00
Markus Wick
a390d3f327
Merge pull request #9820 from JosJuice/jitarm64-simplify-addex
JitArm64: Simplify addex/subfex
2021-07-08 13:46:48 +02:00
Markus Wick
f67f0488d2
Merge pull request #9844 from JosJuice/jitarm64-fctiwzx-constant
JitArm64: Improve fctiwzx constant generation in double case
2021-07-08 13:43:09 +02:00
Markus Wick
9df6f65834
Merge pull request #9867 from JosJuice/jitarm64-unconditional-exception-exit
JitArm64: Add the ability to emit an unconditional exception exit
2021-07-08 13:08:05 +02:00
Markus Wick
1827cb9cd8
Merge pull request #9874 from JosJuice/jitarm64-unconditional-farcode
JitArm64: Get rid of an unconditional branch to farcode
2021-07-08 13:01:21 +02:00
JosJuice
44c99f8cc1 Android: Avoid crash on early panic alert 2021-07-08 10:37:36 +02:00
Markus Wick
98098edad7
Merge pull request #9859 from JosJuice/jitarm64-stwbrx-sthbrx
JitArm64: Implement stwbrx/sthbrx
2021-07-07 21:45:06 +02:00
blåhaj
debeb09dee PostProcessing: Fix OpenGL UBO linking with configuration options 2021-07-07 21:28:22 +02:00
JosJuice
a6700a074d JitArm64: Get rid of an unconditional branch to farcode
If a branch is unconditional, its target should not be in farcode,
since that defeats the purpose of farcode (putting seldom executed
code in farcode to keep it out of the icache when possible).
2021-07-07 14:11:07 +02:00
Léo Lam
de12890588
Merge pull request #9873 from JosJuice/jitarm64-tbz-encoding
Arm64Emitter: Fix 64-bit TBZ/TBNZ encoding
2021-07-07 12:39:07 +02:00
Léo Lam
2c66a08fd3
Merge pull request #9848 from Pokechu22/di-hw-resets
Implement resetting DI via HW_RESETS
2021-07-07 12:35:35 +02:00
Léo Lam
1450e97c28
Merge pull request #9522 from AdmiralCurtiss/host-read-optional
Core/MMU: Add HostTryRead/HostTryWrite functions to allow specifying the desired address space, and return whether it succeeded.
2021-07-07 12:32:47 +02:00
JosJuice
cbbd3d3956 Arm64Emitter: Fix 64-bit TBZ/TBNZ encoding
We haven't actually used 64-bit TBZ/TBNZ anywhere in Dolphin, so
this mistake hasn't broken anything, but let's fix it regardless.
2021-07-07 12:21:07 +02:00
Léo Lam
4b5dabff33
Merge pull request #9871 from OatmealDome/leftrightclick
Core: Use proper names for left, right, and middle click on Quartz ciface
2021-07-07 12:15:41 +02:00
Léo Lam
925379cb9f
Merge pull request #9872 from JosJuice/jitarm64-msr-ee
JitArm64: Check MSR.EE for external exceptions, not MSR.FE0
2021-07-07 12:13:16 +02:00
JosJuice
0642ff8b25 JitArm64: Check MSR.EE for external exceptions, not MSR.FE0
Fixes a 58698b8380 regression. (The EXCEPTION_EXTERNAL_INT
immediate being wrong meant that we never took the branch,
masking the problem of the MSR.EE immediate being wrong...)
2021-07-07 11:55:53 +02:00
Admiral H. Curtiss
c292351faa Core/MMU: Add HostTryWrite*() functions. 2021-07-07 04:26:28 +02:00
Admiral H. Curtiss
b59fcae70a Core/MMU: Add HostTryRead*() functions. 2021-07-07 04:26:28 +02:00
OatmealDome
f6fabec644 FreeLookManager: Use proper names for left, right, and middle click on Quartz ciface 2021-07-06 16:16:52 -04:00
OatmealDome
a0ba78ded2 WiimoteEmu: Use proper names for left, right, and middle click on Quartz ciface 2021-07-06 16:07:56 -04:00
OatmealDome
8c728945fb AGL: Silence OpenGL deprecation warnings 2021-07-06 14:31:01 -04:00
OatmealDome
4d944342fc AGL: Move more UI API calls to the main thread 2021-07-06 14:30:15 -04:00
Pokechu22
f664cf1903 Implement resetting DI via HW_RESETS 2021-07-06 11:05:08 -07:00
Léo Lam
954f27c5d7
Merge pull request #9709 from AdmiralCurtiss/upnp-error-log
UPnP: Improve error messages on initialization failure.
2021-07-06 15:36:38 +02:00
JosJuice
02309bd0ac
Merge pull request #9868 from leoetlino/constexpr-intlog2
MathUtil: Mark IntLog2 as constexpr
2021-07-06 15:29:28 +02:00
Léo Lam
21d75099fc
Merge pull request #9866 from JosJuice/jitarm64-hardcoded-exceptions
JitArm64: Don't hardcode exception constants
2021-07-06 15:21:38 +02:00
Léo Lam
b82b0683d5
MathUtil: Mark IntLog2 as constexpr
Mostly everything else was already marked as constexpr, and the only
function IntLog2 calls (CountLeadingZeros) is already constexpr.
2021-07-06 15:01:38 +02:00
Léo Lam
be0163b7ad
Merge pull request #9841 from JosJuice/revert-9835
Partially revert "Android: Clean up some hardcoded strings"
2021-07-06 13:07:50 +02:00
Léo Lam
39e14b6b5f
Merge pull request #9854 from JosJuice/wia-ice
DiscIO: Store partition key directly in ReuseID
2021-07-06 13:05:09 +02:00
Techjar
3d5cf5286b NetPlay: Refactor some functions into a common header 2021-07-06 06:41:23 -04:00
Léo Lam
56fdde5d74
Merge pull request #9595 from Dentomologist/fix_vertex_loader_test_warnings
VertexLoaderTest: Fix memset assignment warning
2021-07-06 11:50:23 +02:00
JosJuice
1a64364ae3 JitArm64: Add the ability to emit an unconditional exception exit
In cases where we already know that there is an exception,
either because we just checked for it or because we were
the ones that generated the exception to begin with,
we can skip the branch inside WriteExceptionExit.
2021-07-06 11:33:46 +02:00
OatmealDome
1bb72f00b5 QuartzKeyboardAndMouse: Ensure windowNumber is fetched on the main thread 2021-07-06 04:46:27 -04:00
Mai M
ffdc8538a1
Merge pull request #9862 from delroth/spdx-tags
Use SPDX for Dolphin licensing info
2021-07-06 01:02:57 -04:00
Léo Lam
683807abce
Merge pull request #9858 from OatmealDome/updater-fail
UpdaterCommon: Fix code signing error after updating on macOS
2021-07-06 02:33:05 +02:00
Léo Lam
27c560fdfa
Merge pull request #8915 from OatmealDome/updater-temp-dir
macOS: Untranslocate the app bundle's path for the updater
2021-07-06 02:22:28 +02:00
Léo Lam
ccc2b7bd25
Merge pull request #8416 from JosJuice/shader-compilation-names
Change the names for shader compilation settings
2021-07-06 01:41:27 +02:00
JosJuice
58698b8380 JitArm64: Don't hardcode exception constants
Unlike most constants we emit in JitArm64, these constants are
*not* inherent to the CPU we're emulating, and can have whatever
values we want. Let's handle them more robustly, in case we
decide to change their values in the future.
2021-07-05 23:05:30 +02:00
JMC47
6cc195e02f
Merge pull request #9640 from v1993/patch-1
Allow post-processing shaders to query reciprocal of window resolution
2021-07-05 16:30:54 -04:00
JMC47
4808241648
Merge pull request #9843 from JosJuice/android-fallback-region
Android: Add Fallback Region setting to GUI
2021-07-05 00:26:41 -04:00
Pierre Bourdon
eb119488ea
licensing: add missing license info to many Java files 2021-07-05 04:43:55 +02:00
Pierre Bourdon
f4e34703c0
licensing: convert "public domain" to CC0 1.0
Public domain does not have an internationally agreed upon definition,
As such it's generally preferred to use an extremely liberal license,
which can explicitly list the rights granted by the copyright holder.
The CC0 license is the usual choice here.

This "relicensing" is done without hunting down copyright holders, since
it is presumed that their release of this work into the public domain
authorizes us to redistribute this code under any other license of our
choosing.
2021-07-05 04:43:55 +02:00
Pierre Bourdon
0cf041de24
licensing: various one-off conversions to SPDX tags 2021-07-05 04:35:56 +02:00
Pierre Bourdon
90379e243e
licensing: switch GLExtensions/ to use SPDX tags 2021-07-05 04:35:56 +02:00
Pierre Bourdon
51cdc5542c
licensing: fix license info for Crypto/{bn,ec}
This code was part of Dolphin's relicensing from v2 to v2+ a while back,
we just never updated these copyright headers. I double-checked that
segher gave us permission to relicense this code to v2+ on 2015-05-16.
2021-07-05 04:35:56 +02:00
Pierre Bourdon
e149ad4f0a
treewide: convert GPLv2+ license info to SPDX tags
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
2021-07-05 04:35:56 +02:00
JosJuice
f666df72c0 JitArm64: Implement stwbrx/sthbrx 2021-07-03 12:21:45 +02:00
JosJuice
d3ef5d4ca4 JitArm64: Fix lwbrx/lhbrx with optimized MMIO access 2021-07-01 13:38:26 +02:00
JosJuice
eafa2784d6 DiscIO: Store partition key directly in ReuseID
This lets us reuse blocks in the case where different partition
entries use the same key (which probably isn't very common).
2021-06-30 09:06:20 +02:00
JosJuice
98bdf3b1ce Partially revert "Android: Clean up hardcoded platform names"
This partially reverts commit cbc4989095
due to a crash: https://bugs.dolphin-emu.org/issues/12561

I can't debug what the cause of the crash is due to not having an
Android TV device. Let's just revert this for now to fix the crash.
2021-06-30 09:02:23 +02:00
OatmealDome
dd5e0c6e15 UpdaterCommon: Move the updated file instead of copying
This prevents macOS from reading an old (cached) code signature on Mach-O executables.
2021-06-30 02:16:37 -04:00
Tilka
e6dfb08746
Merge pull request #9855 from JosJuice/wia-ice-2
DiscIO: Add workaround for MSVC ARM64 ICE
2021-06-30 06:37:01 +01:00
JMC47
6042df71d9
Merge pull request #9853 from Bonta0/sinocancel
SI: Don't cancel transfer with TSTART=0
2021-06-29 22:00:13 -04:00
JMC47
04a1c2e1b2
Merge pull request #9847 from JosJuice/dvd-pitfall
DVDInterface: Don't evict cache block i unless block i + 2 was read
2021-06-29 21:58:20 -04:00
JMC47
6a46d35c73
Merge pull request #9839 from OatmealDome/bluetooth-scanning
WiimoteScannerDarwin: fix hang on quit and clean up
2021-06-29 21:07:47 -04:00
JosJuice
e581d970d6 JitArm64: Fix MSVC warning '~': zero extending 'u32' to 'u64'
While the third parameter of ANDI2R is u64, the upper half of
it does not get read if we're emitting a 32-bit instruction
(which we are doing here).
2021-06-29 10:44:41 +02:00
Shawn Hoffman
30f9f31a69 DiscIO: Add workaround for MSVC ARM64 ICE 2021-06-29 10:24:09 +02:00
Tilka
3b3fb9d4c3
Merge pull request #9852 from Pokechu22/wii-change-disc
DVDInterface: Fix decrypting reads clearing the drive state
2021-06-29 04:09:28 +01:00
Tilka
901a4fb5f4
Merge pull request #9811 from JosJuice/fprf-denormal-singles
Fix FPRF handling of denormal singles
2021-06-29 03:18:18 +01:00
Tilka
856c82aa24
Merge pull request #9851 from JosJuice/jitarm64-mfcr
JitArm64: Handle SO and LT simultaneously in mfcr
2021-06-29 02:01:31 +01:00
Pokechu22
e440b21640 DVDInterface: Fix decrypting reads clearing the drive state
This broke ejecting Wii discs while the game is running, as the drive state was set to Ready even when no disc was present, but other code still reported the missing disc, which confused games as you can't be both ready to read and have no disc.  That would cause games to show an unrecoverable error screen, instead of a "please insert the game disc" screen.

This only affected Wii games; the GameCube games used regular disc reads which worked fine.
2021-06-28 10:38:03 -07:00
JosJuice
1df1f20c44 JitArm64: Handle SO and LT simultaneously in mfcr 2021-06-28 19:22:46 +02:00
Tilka
bb2d576ecc
Merge pull request #9849 from Tilka/x87
x64Emitter: remove unused x87 instructions
2021-06-28 17:53:54 +01:00
Bonta
aaea38be46 SI: Don't cancel transfers 2021-06-28 17:59:30 +02:00
JosJuice
2ef2eee2e0
Merge pull request #9464 from Sintendo/jit64addxreloaded
Jit64: addx revisited
2021-06-28 13:53:44 +02:00
JosJuice
4648e1a035 DVDInterface: Fix small backwards seek after non-cached seek
If we seek to a block that isn't in the cache, the block prior
to it doesn't end up getting read into the buffer.
2021-06-28 11:02:05 +02:00
JosJuice
c6ede09035 DVDInterface: Don't evict cache block i unless block i + 2 was read
Intends to fix https://bugs.dolphin-emu.org/issues/12279.
I have hardware tested the behavior, but I haven't tested the game.
2021-06-28 09:48:04 +02:00