Commit Graph

30075 Commits

Author SHA1 Message Date
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
Tillmann Karras a68c1bf648 PowerPC: add enum values for emulator SO and LT shifts 2021-06-28 03:30:07 +01:00
Tillmann Karras 25a701aa1b PowerPC: move SO bit to a more convenient location
Spacing the LT and SO bits like in the native PowerPC format makes it easier to
convert to that format (see mfcr).
2021-06-28 03:06:45 +01:00
Tillmann Karras afb9398059 x64Emitter: remove unused x87 instructions 2021-06-28 02:56:37 +01:00
JosJuice ccd8233ea3 Jit64: Fix FPRF handling of denormal singles 2021-06-27 20:37:18 +02:00
JosJuice 8d2c069c34 Interpreter: Return float from ForceSingle
Performance optimization, along with making the code a little
neater. Saves us from performing a single -> double -> single
conversion when calling UpdateFPRFSingle.
2021-06-27 20:34:49 +02:00
JosJuice d56721ebb9 Interpreter: Fix FPRF handling of denormal singles 2021-06-27 20:34:49 +02:00
JosJuice def5666419 JitArm64: Fix FPRF handling of denormal singles
The interpreter was wrong after all. Hardware verified.
2021-06-27 20:34:49 +02:00
Tilka aff39af5fb
Merge pull request #9810 from JosJuice/fprf-cmp-mask
Jits: Fix fcmpX FPRF mask
2021-06-27 19:32:19 +01:00
Tilka 4166567f92
Merge pull request #9812 from JosJuice/fprf-x64-neg-zero
Jit64: Fix FPRF non-SSE4.1 handling of negative zero
2021-06-27 19:21:51 +01:00
Jordan Woyak a2acd0b92e Config: Add an ini setting to control real Wii Remote report duplication and decouple it from the speaker data setting.
It is enabled by default.
2021-06-26 17:45:50 -05:00
Sintendo 7de4623d48 Jit64: mtfsfx - Optimized masking
The masking logic can be eliminated when the mask is known to be all
ones. This case is very common.

Before:
66 48 0F 7E F0       movq        rax,xmm6
8B 55 5C             mov         edx,dword ptr [rbp+5Ch]
83 E0 FF             and         eax,0FFFFFFFFh
83 E2 00             and         edx,0
0B C2                or          eax,edx
89 45 5C             mov         dword ptr [rbp+5Ch],eax
48 8D 15 C3 3C FE 01 lea         rdx,[19520020h]
83 E0 07             and         eax,7
0F AE 14 82          ldmxcsr     dword ptr [rdx+rax*4]

After:
66 48 0F 7E F0       movq        rax,xmm6
89 45 5C             mov         dword ptr [rbp+5Ch],eax
48 8D 15 2A D1 FD 01 lea         rdx,[19440000h]
83 E0 07             and         eax,7
0F AE 14 82          ldmxcsr     dword ptr [rdx+rax*4]
2021-06-26 17:31:31 +02:00
JosJuice 36798b18e8 JitArm64: Improve fctiwzx constant generation in double case
If we already have to use a GPR, we might as well take advantage
of the nice immediate encodings provided by GPR ORR. This is
faster, smaller, and saves a register.
2021-06-26 15:41:23 +02:00
JosJuice 515d02fe26 Android: Add Fallback Region setting to GUI 2021-06-26 11:45:22 +02:00
OatmealDome 156ffef98c WiimoteScannerDarwin: Fix lint 2021-06-24 17:59:58 -04:00
JosJuice 8cd37e040a JitArm64: Implement mffsx
Part 2 of implementing the FPSCR system register instructions.
2021-06-24 12:00:58 +02:00
OatmealDome b494d109d4 WiimoteScannerBackend: Allow StopThreads to request that any Wiimote searching stops
Used by WiimoteScannerDarwin to know when to exit its runloop.
2021-06-23 23:09:01 -04:00
OatmealDome 0de30fa0bb WiimoteScannerDarwin: Initialize IOBluetoothHostController in constructor 2021-06-23 22:55:15 -04:00
Léo Lam c77a5f7e32
Merge pull request #9825 from JosJuice/jitarm64-mcrfs
JitArm64: Implement mcrfs
2021-06-24 03:05:15 +02:00
Léo Lam 0087eed235
Merge pull request #9793 from sepalani/template-mmio
MMIOHandlers: Move method definitions to MMIO.cpp
2021-06-24 02:42:52 +02:00
thyrc 7a1922fd8f
Fix includes for musl libc 2021-06-24 02:01:07 +02:00
Léo Lam 4979974a57
Merge pull request #9828 from JosJuice/android-pressed-opacity
Android: Apply opacity setting to pressed buttons too
2021-06-24 01:36:02 +02:00
Léo Lam 9476733a80
Merge pull request #9829 from sepalani/ai-samples
AudioInterface: Fix sample counter
2021-06-24 01:35:29 +02:00
Léo Lam cf26846225
Merge pull request #9830 from skylersaleh/m1-unit-tests
Apple M1: Add support for running unit tests on universal builds
2021-06-24 01:15:02 +02:00
Léo Lam a632a6a404
Merge pull request #9833 from Pokechu22/ubershaders-tevcoord
UberShaderPixel: always set tevcoord, even if the stage has no texture
2021-06-24 01:05:17 +02:00
Léo Lam b66e88e4b9
Merge pull request #9837 from AdmiralCurtiss/mysterious-voodoo-performance-fix
VideoCommon/Fifo: Move SConfig::GetInstance() outside the GPU loop.
2021-06-24 00:41:43 +02:00
JMC47 46120a6108
Merge pull request #9742 from Pokechu22/sw-resolution
Software: Fix bad backbuffer size
2021-06-23 18:36:04 -04:00
JMC47 63c028c5df
Merge pull request #9832 from Pokechu22/software-color-asserts
Software: Remove texinfo.sourcerow == SourceRow::Colors assert
2021-06-23 18:34:19 -04:00
JMC47 95ecb73b11
Merge pull request #9826 from Techjar/fix-tmem-mips
VideoCommon/TextureInfo: Fix mipmap loading from tmem
2021-06-23 18:21:55 -04:00
Admiral H. Curtiss 1183fb3d2d VideoCommon/Fifo: Move SConfig::GetInstance() outside the GPU loop. 2021-06-23 23:52:26 +02:00
OatmealDome eb7b70b48d WiimoteScannerDarwin: Don't attempt to scan if inquiry doesn't start 2021-06-23 14:31:16 -04:00
OatmealDome 6794532abe IOdarwin_private: Remove hack for bug fixed in newer macOS SDKs 2021-06-23 04:03:28 -04:00
OatmealDome 74755e5939 WiimoteScannerDarwin: Rename stopScanning for code style compliance 2021-06-23 04:01:42 -04:00
Mai M be2ec728e4
Merge pull request #9836 from JosJuice/android-getemulationactivity
Android: Don't use getEmulationActivity in GCAdapter/Wiimote code
2021-06-22 11:59:25 -04:00
Mai M a904cb846a
Merge pull request #9835 from JosJuice/android-hardcoded-strings
Android: Clean up some hardcoded strings
2021-06-22 11:57:41 -04:00
JosJuice 1a47780ab4 Android: Don't use getEmulationActivity in GCAdapter/Wiimote code
The app context should work just as well as an activity context.

Also moving a hardcoded string to strings.xml.
2021-06-22 15:25:51 +02:00
JosJuice 0cfd36495b Android: Store HomeScreenChannel's appLinkIntentUri as Uri
Cleanup of some code touched by the previous commit.
2021-06-22 15:12:03 +02:00
JosJuice cbc4989095 Android: Clean up hardcoded platform names
The same kind of change as the changes made in the previous
commit, but this change is more involved, in particular because
of how SyncProgramsJobService was using display names as keys.
2021-06-22 15:12:03 +02:00
JosJuice 5b8fe1e748 Android: Clean up some hardcoded strings
These would lead to problems if we ever add translation support.
2021-06-22 15:12:03 +02:00
JosJuice 1b3f05628b Android: Remove check for missing game ID
Now that DOL and ELF files are assigned game IDs, all games have
game IDs. (Unless you intentionally craft an ISO file that has
the first bytes set to null, but if you do that I think you can
live with Dolphin creating a file in GameSettings called ".ini")
2021-06-22 14:01:06 +02:00
Pokechu22 2f1726e3f3 UberShaderPixel: always set tevcoord, even if the stage has no texture
This fixes NES game graphics when UberShaders are in use.
2021-06-21 13:01:25 -07:00
Pokechu22 51862135d6 Software: Remove texinfo.sourcerow == SourceRow::Colors assert
These asserts were removed for the hardware renderer in #3684.
2021-06-20 18:05:57 -07:00
Techjar 2d59dcb95d VideoCommon/TextureInfo: Fix mipmap loading from tmem
Even address needs to be offset to the first mipmap entry.
2021-06-20 16:49:39 -04:00
iwubcode df53a5f880 VideoCommon: enhance hi res texture support by having exact matches be picked before wildcard matches. Additionally, add the ability to ignore the texture hash portion of the texture name when loading a hi res texture 2021-06-19 21:15:38 -05:00
iwubcode 8fb0f91331 VideoCommon: split the texture hash from the base name when generating the texture name 2021-06-19 21:15:38 -05:00
Skyler Saleh 655ed37983 Unit Tests: Added W^X Support for PowerPC test 2021-06-19 10:40:51 -07:00