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
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
JosJuice
d33efc37af
Android: Apply opacity setting to pressed buttons too
2021-06-19 16:28:25 +02:00
Sepalani
0a7627d74e
AudioInterface: Fix sample counter
2021-06-19 14:19:22 +04:00
JosJuice
b11b5955ae
Jit64: Optimize mcrfs when mask == 0
2021-06-18 18:26:49 +02:00
JosJuice
79a610b4b4
JitArm64: Implement mcrfs
2021-06-18 18:22:20 +02:00
JosJuice
93d2fd19e8
JitArm64: Use SBC/SBCS for emulating subfzex
...
I missed this one in fac8420
.
2021-06-17 17:30:08 +02:00
JosJuice
752c4898b1
JitArm64: Simplify addex/subfex
...
Some of the code used when the carry flag is known to be a
constant value is really not much better than just setting
the carry flag and then using the normal code, and with how
rarely this code runs, it isn't well tested either.
Might as well get rid of some of this code and simplify things.
2021-06-17 16:47:55 +02:00
Markus Wick
503c62ec00
Merge pull request #9819 from JosJuice/jitarm64-sbc
...
JitArm64: Use SBC/SBCS for emulating subfex
2021-06-17 16:15:57 +02:00
JosJuice
fac842021c
JitArm64: Use SBC/SBCS for emulating subfex
...
SBC/SBCS does the same thing as subfex, except with the source
operands in the opposite order.
2021-06-17 15:30:17 +02:00
Sintendo
18aaf488b0
Jit64: subfic - Optimize constants for d != a
...
These optimizations were already present, but only when d == a. They
also make sense when this condition does not hold.
- imm == 0
Before:
41 BB 00 00 00 00 mov r11d,0
45 2B DF sub r11d,r15d
After:
45 8B DF mov r11d,r15d
41 F7 DB neg r11d
- imm == -1
Before:
41 BD FF FF FF FF mov r13d,0FFFFFFFFh
44 2B EE sub r13d,esi
0F 93 45 68 setae byte ptr [rbp+68h]
After:
44 8B EE mov r13d,esi
41 F7 D5 not r13d
C6 45 68 01 mov byte ptr [rbp+68h],1
2021-06-16 20:33:02 +02:00
Léo Lam
4c37cc7e5e
Merge pull request #9816 from JosJuice/aarch64-fma-true
...
Common: Set bFMA to true for AArch64
2021-06-15 13:04:21 +02:00
Léo Lam
ee58f1c188
Merge pull request #9775 from dbrookman/fix-gameini-gfxbackend
...
GameINI: Fix GFXBackend crash
2021-06-15 12:47:55 +02:00
JosJuice
2b88a46b1a
Common: Set bFMA to true for AArch64
...
Without this, the code added in ac28b89
misbehaves and considers
AArch64 netplay clients to not have hardware FMA support, telling
all clients to disable FMA support, which causes a desync between
x64 and AArch64 due to JitArm64 not being able to disable FMA support.
2021-06-14 15:51:59 +02:00
Daniel Brookman
b214e0e71f
GameINI: Fix GFXBackend crash
...
Fixes a regression from 5.0-12066, where setting the GFXBackend variable
to one other than the current global backend would crash Dolphin upon
launching the game.
2021-06-13 20:42:36 -04:00
Admiral H. Curtiss
360d05fe21
AudioInterface: Initialize s_cpu_cycles_per_sample to a sane value.
2021-06-13 20:41:20 +02:00
Léo Lam
c2ac21c8d6
Merge pull request #9753 from mbc07/VolumeVerifier_TMD_severity
...
VolumeVerifier: increase problem severity for incorrectly signed TMDs
2021-06-13 16:37:38 +02:00
JosJuice
be194dfc9c
Jit64: Fix FPRF non-SSE4.1 handling of negative zero
2021-06-13 16:22:29 +02:00
Léo Lam
d536a50878
Merge pull request #9756 from Techjar/memcard-size-config
...
Replace MemoryCard251 setting with generic MemoryCardSize
2021-06-13 16:09:54 +02:00
JosJuice
891a46596d
Jits: Fix fcmpX FPRF mask
...
fcmpX only updates the FPCC bits, not the C bit.
This was already correctly implemented in the interpreter.
Not known to affect any games, but affects a hardware test.
2021-06-13 13:59:00 +02:00
Techjar
0e502062b4
Move some NetPlay-specific settings to SessionSettings
2021-06-13 06:58:05 -04:00
Léo Lam
2898cf5121
Merge pull request #9784 from PEmu2/master
...
Update buffer_storage warning message
2021-06-13 12:56:26 +02:00
Léo Lam
0cc1fc37b5
Merge pull request #9788 from sepalani/dsp-rate
...
AudioInterface: Fix AIDFR initialization
2021-06-13 12:55:31 +02:00
Léo Lam
90a994f937
Merge pull request #9802 from JosJuice/android-game-file-cache-path
...
Android: Stop using custom path for GameFileCache
2021-06-13 12:53:49 +02:00
Léo Lam
4e3e3bfd60
Merge pull request #9804 from JosJuice/revert-fma
...
NetPlay/Jit64: Avoid using software FMA
2021-06-13 12:38:09 +02:00
Léo Lam
8ef4bd682b
Merge pull request #9805 from JosJuice/rounding-mode-savestate
...
PowerPC: Set host CPU rounding mode on init and savestate
2021-06-13 11:49:29 +02:00
Léo Lam
dd26106848
Merge pull request #9807 from Techjar/fix-glsl-any
...
VideoCommon: Define scalar any() and all() functions in GLSL
2021-06-13 11:15:11 +02:00
Léo Lam
38424d0c59
Merge pull request #9808 from xvrc/msghandler-label-fix
...
MsgHandler: Correct question and warning captions
2021-06-13 11:00:45 +02:00
Léo Lam
0a1f58ad77
Merge pull request #9730 from Dentomologist/remove_audio_pane_stretching
...
AudioPane: Remove main layout vertical stretching
2021-06-13 10:57:31 +02:00
Techjar
3da0976a81
VideoCommon: Define scalar any() and all() functions in GLSL
...
This fixes bounding box shaders failing to compile under Vulkan, due to
differences between GLSL and HLSL in the return value of vector
comparisons and what types these functions accept. I included all() for
the sake of completeness.
2021-06-13 04:50:35 -04:00
xvrc
0ad13db633
MsgHandler: Correct question and warning captions
2021-06-12 17:42:27 -04:00
JosJuice
a09d9cf608
Merge pull request #9606 from Filoppi/patch-14
...
Qt: avoid queuing ConfigChanged() more than once
2021-06-11 18:59:39 +02:00