Commit Graph

26391 Commits

Author SHA1 Message Date
Mai M
62c3c1a23b
Merge pull request #10034 from JosJuice/jitarm64-w
JitArm64: Fix paired loadstore instruction decoding
2021-08-16 17:08:43 -04:00
Mai M
d48d6f280a
Merge pull request #10033 from Pokechu22/dsp-jit-table-masking
DSP/Jit: simplify opcode table by masking
2021-08-16 17:08:18 -04:00
JosJuice
23b81ef495 JitArm64: Fix paired loadstore instruction decoding
One of those fun "how did this ever work" bugs.
2021-08-16 22:08:30 +02:00
Pokechu22
6772d26935 DSP/Jit: simplify opcode table by masking
This was done for the interpreter in aaa19acbd0.
2021-08-16 12:47:31 -07:00
Tilka
0f628ff882
Merge pull request #10028 from GerbilSoft/bugfix/RVT-firmware-filenames
VolumeVerifier: Use correct IOS filename for development discs.
2021-08-16 20:47:07 +01:00
Pokechu22
14119c86a4 DSPInterpreter: Fix IsLess
`IsLess` would incorrectly return true if both `SR_OVERFLOW` and `SR_SIGN` are set, as `(sr & SR_OVERFLOW) != (sr & SR_SIGN)` becomes `SR_OVERFLOW != SR_SIGN` which is true as the two masks are different.  This broke in e651592ef5.

This issue only affected the DSP LLE Interpreter, and not the DSP LLE JIT.

I've also included a simple test case for this.  `ax0.l` (on the top left) is set to 0 if the instruction following `IFL` does not execute and to 1 if it is executed.
2021-08-15 19:45:44 -07:00
David Korth
95d3416305 VolumeVerifier: Use correct IOS filename for development discs.
Retail-signed discs use the format: IOS56-64-v5661.wad
Debug-signed discs use the format:  firmware.64.56.22.29.wad

Debug-signed discs usually have a 128 version of the firmware as well,
since some devkits have 128 MB MEM2. (Retail has 64 MB.)
2021-08-15 12:41:35 -04:00
Tillmann Karras
f9d2d42a4c VideoCommon: report games that set bits in XFMEM_CLIPDISABLE
The SDK only exposes the lowest bit. The Nintendo Channel intro is currently
broken because we don't implement this (see issue 12562).
2021-08-15 04:41:49 +01:00
Shawn Hoffman
4ef87194a4 revert workaround for msvc arm64 ICE in WIABlob 2021-08-14 03:57:53 -07:00
Admiral H. Curtiss
df1e59409b PowerPC: Handle translation if range given to InvalidateICache spans multiple BAT or Page Table pages. 2021-08-13 21:23:12 +02:00
Mai M
891726e924
Merge pull request #10013 from OatmealDome/wsd-thanos-snap
WiimoteReal: Remove WiimoteScannerDarwin
2021-08-13 13:24:38 -04:00
Mai M
82969db7de
Merge pull request #10018 from JosJuice/code-allow-name-line
DolphinQt: Allow $ line when entering AR/Gecko code
2021-08-13 13:22:25 -04:00
Mai M
e2ccad7f95
Merge pull request #10017 from JosJuice/qt-gecko-notes-lf
DolphinQt: Don't add trailing newline to Gecko notes
2021-08-13 13:21:07 -04:00
Mai M
c43f451da8
Merge pull request #10022 from MerryMage/codesign-debug
DolphinQt: Add entitlement to allow debugger to attach in Debug builds
2021-08-13 13:19:59 -04:00
Mai M
7cc8437050
Merge pull request #10023 from JosJuice/qt-breakpoint-focus
DolphinQt: Set default focus for NewBreakpointDialog
2021-08-13 13:18:58 -04:00
JosJuice
6c908f8ddb DolphinQt: Set default focus for NewBreakpointDialog
I found it a little bit annoying that you can't start typing
the desired address immediately after opening the window.

Also getting rid of the window's ? button while I'm at it.
2021-08-13 10:56:11 +02:00
Admiral H. Curtiss
57037a69f9 PowerPC: Call InvalidateICacheLine() in InstructionCache::Invalidate() for clarity. 2021-08-12 19:27:25 +02:00
Admiral H. Curtiss
4afbd87188 PowerPC: Fast path in InvalidateICache is only valid if the address is 32-byte aligned. 2021-08-12 19:27:25 +02:00
Merry
ec2c10887f DolphinQt: Add entitlement to allow debugger to attach in Debug builds 2021-08-12 15:08:17 +01:00
Tilka
a27dbe58a6
Merge pull request #10020 from K0bin/d3d12-state-fix
D3D12: Transition compute textures to UAV state
2021-08-12 00:04:25 +01:00
Léo Lam
bfbbed8308
Merge pull request #10019 from JosJuice/port-enable-cheats
Port Enable Cheats to the new config system
2021-08-11 21:20:10 +02:00
JosJuice
fa0525f826 Port Enable Cheats to the new config system 2021-08-11 18:07:43 +02:00
Robin Kertels
40dcf1c2e2
D3D12: Transition compute textures to UAV state 2021-08-11 00:17:04 +02:00
JosJuice
cda442d2d8 DolphinQt: Allow $ line when entering AR/Gecko code
When you come across a cheat code in a place like the Dolphin
wiki, it's often posted like this:

$16:9 Widescreen
0441187C 3FE38E39

Sometimes users try to paste this in its entirety into the Code
field, which leads to Dolphin reporting an error on the first line.
I think it would be nice to make this a little smoother by having
Dolphin accept having a first line that starts with $.
2021-08-10 19:19:34 +02:00
JosJuice
7eabd9e830 DolphinQt: Don't add trailing newline to Gecko notes
Also fixing a string mistake where the text for AR codes
was copypasted for Gecko codes.
2021-08-10 18:29:54 +02:00
OatmealDome
e9a11cdbfd WiimoteReal: Remove WiimoteScannerDarwin
For several reasons:
- It pegs the CPU at 95% for scanning even when Dolphin is idle
- WiimoteScannerHidapi works fine on macOS
- Less macOS code to maintain
2021-08-09 18:48:58 -04:00
Tilka
128e1029dd
Merge pull request #10010 from AdmiralCurtiss/jit-cache-translate-address-cleanup
PowerPC: Minor cleanup around JitCache_TranslateAddress().
2021-08-09 17:33:46 +01:00
Admiral H. Curtiss
116d1361d5 PowerPC: Let callers of JitCache_TranslateAddress determine whether the address was translated. 2021-08-09 18:25:35 +02:00
Admiral H. Curtiss
95fbd09691 PowerPC: Update variable name conventions and const-ness around calls to JitCache_TranslateAddress(). 2021-08-09 01:25:04 +02:00
Admiral H. Curtiss
3296d2fc1f PowerPC: Reorder members of TranslateAddressResult to reduce struct size. 2021-08-09 01:25:04 +02:00
Tillmann Karras
eda2035874 AudioCommon: rename isValid() to IsValid() 2021-08-08 03:05:03 +01:00
Tillmann Karras
b6d8c111bc AudioCommon: make SoundLoop() non-virtual and private 2021-08-08 00:15:05 +01:00
Tillmann Karras
d14b9a73b2 AudioCommon: get rid of Update(), it never does anything 2021-08-08 00:14:49 +01:00
Tillmann Karras
c2d396526b AudioCommon: fix "Error stopping stream" when emulation is paused 2021-08-08 00:14:24 +01:00
JosJuice
c79757618d
Merge pull request #9993 from Techjar/late-vi-output
VI: Implement post-scanout XFB output
2021-08-07 12:41:59 +02:00
Tilka
f2a77069b7
Merge pull request #10004 from Pokechu22/dff-read-error-handling
FifoDataFile: Improve error handling when reading
2021-08-07 02:15:01 +01:00
Pokechu22
59a1a603ff FifoDataFile: Improve error handling when reading 2021-08-06 15:55:50 -07:00
Admiral H. Curtiss
e3a784ffba PowerPC: Convert enum in TranslateAddressResult to enum class. 2021-08-07 00:07:46 +02:00
Tilka
ac6d008008
Merge pull request #10002 from OatmealDome/macos-nunchuk-shake
Nunchuk: Use correct middle click expression on macOS
2021-08-06 22:05:43 +01:00
Tilka
5cd2160d43
Merge pull request #9996 from OatmealDome/spirv-opsource
ShaderCompiler: Attach shader source code to SPIR-V
2021-08-06 21:48:31 +01:00
OatmealDome
fc4f6bb9b0 Nunchuk: Use correct middle click expression on macOS 2021-08-06 16:47:29 -04:00
JosJuice
37b218b344 PowerPC: Fix bad copypaste in LookupTLBPageAddress
Fixes https://bugs.dolphin-emu.org/issues/12611.
2021-08-06 18:03:54 +02:00
JosJuice
125af42e4b Jit: Re-add dcbx masking
When making 92d1d60, I checked whether the ~0x1f masking in dcbx
actually was necessary. I came to the conclusion that it wasn't,
so I removed it. However, I hadn't checked the second half of
InvalidateICache closely enough - the masking is actually needed.

This commit re-adds the masking, but this time in C++ code instead
of in jitted code in order to save icache. Though I suppose the
difference doesn't matter all that much, since this is in farcode
and all...

Hopefully fixes https://bugs.dolphin-emu.org/issues/12612.
2021-08-06 14:55:07 +02:00
JosJuice
e753455abb JitArm64: Fix W8 slowmem store
Regression from 12629be.
2021-08-05 10:57:41 +02:00
OatmealDome
d453390c48 ShaderCompiler: Attach source text to SPIR-V for debuggers like RenderDoc 2021-08-05 03:04:18 -04:00
Tilka
942545b7fc
Merge pull request #9964 from JosJuice/uncached-unaligned-writes
PowerPC: Implement broken masking for uncached unaligned writes
2021-08-04 22:23:07 +01:00
JosJuice
f333c0949f PowerPC: Implement PI interrupt for uncached unaligned writes 2021-08-04 23:09:43 +02:00
JosJuice
543ed8a97c PowerPC: Implement broken masking for uncached unaligned writes
This implements the behavior described in
https://bugs.dolphin-emu.org/issues/12565.

Thank you to eigenform, delroth, phire, marcan, segher, and Extrems
for all helping in one way or another with the efforts to reverse
engineer this behavior, and to Rylie for reporting the issue.
2021-08-04 23:04:02 +02:00
JosJuice
12629beff8 JitArm64: Call swap variants of memory write functions
Write_U16_Swap leaves the upper 32 bits alone. Reimplementing this
correctly in the JIT would require more than one instruction,
so let's just call Write_U16_Swap instead, like Jit64 does.
2021-08-04 23:04:02 +02:00
JosJuice
ecbce0a204 PowerPC: Pass on full 32-bit register contents for 8/16-bit writes 2021-08-04 23:04:02 +02:00
JosJuice
c56526d5f8 PowerPC: Keep track of write-through/cache-inhibited
One of the following commits will add emulation of a quirk
that only happens when writing to memory which is mapped as
write-through or cache-inhibited, so let's keep track of
which memory is mapped in this way.
2021-08-04 23:04:02 +02:00
Tilka
9c65519e79
Merge pull request #9986 from Pokechu22/partition-info
FilesystemWidget: Show more information about partitions
2021-08-04 21:54:07 +01:00
Léo Lam
28b7e2ef30
Merge pull request #9995 from AdmiralCurtiss/dcbx-virtual-address
Jit64: Always pass effective address to InvalidateICache() in dcbx.
2021-08-04 22:24:41 +02:00
Admiral H. Curtiss
0e76dabbbb Jit64: Always pass effective address to InvalidateICache() in dcbx. 2021-08-04 22:17:42 +02:00
Sepalani
0553aeb0e0 IOS/Network: Make name resolution asynchronous 2021-08-04 20:08:42 +04:00
Techjar
797d0b7b1b VI: Implement post-scanout XFB output
This adds about a frame of latency, and since most games don't change
VI registers during scanout, we can get away with outputting the XFB at
the start of scanout. WWE Crush Hour is the (only currently known)
exception, which has flickering problems when doing it this way.

This adds a path to perform the output at the end of scanout, and gates
it behind an option which defaults to using the latency-reducing
pre-scanout path.
2021-08-03 23:37:50 -04:00
Léo Lam
c68bd518c3
Merge pull request #9987 from Filoppi/patch-15
Preserve spaces in mapping preview of control names
2021-08-04 03:29:12 +02:00
Léo Lam
c9c5f7a89c
Merge pull request #9928 from Pokechu22/shadow-the-hedgehog-eyelids-NaN
Convert NaN to 1 when generating texture coordinates
2021-08-04 03:08:34 +02:00
JosJuice
5bd188d40d Jit64: Fix BATAddressLookup bit test
BT sets the carry flag, not the zero flag.
2021-08-03 17:32:04 +02:00
Filippo Tarpini
a99932da12
Preserve spaces in mapping preview of control names
PR https://github.com/dolphin-emu/dolphin/pull/9700 removed spaces from within control names, which some user complained about, and their point of view is kind of understandable:
https://bugs.dolphin-emu.org/issues/12605
with this change, only spaces outside (between) control names are trimmed, which are the ones we wanted to trim in the first place.
This will still retain the major advantages from 9700.

Basically, "`Button 1`   +  `Button 2`" was showing as "`Button1`+`Button2`", while it will now show as "`Button 1`+`Button 2`".
2021-08-03 00:04:22 +03:00
Pokechu22
0b86a03438 FilesystemWidget: Show more information about partitions 2021-08-02 12:20:48 -07:00
Tilka
4b022a4bb1
Merge pull request #9948 from Dentomologist/fix_wiimotescanner_shutdown_crash
WiimoteReal: Fix Dolphin shutdown crash
2021-08-02 17:44:17 +01:00
Léo Lam
35bf5e3839
Merge pull request #9962 from OatmealDome/macos-vulkan-default
VideoBackendBase: Prefer Vulkan over OGL on macOS Mojave and newer
2021-08-02 03:39:12 +02:00
Pokechu22
f46fe77264 GeometryShaderGen: Rename ApiType to api_type 2021-08-01 15:17:21 -07:00
Pokechu22
3b752c4d5d UberShaderPixel: Rename ApiType to api_type 2021-08-01 15:09:20 -07:00
Tillmann Karras
f45bb89e97 DSPHLE: report games that use unimplemented AX features
Not including GC DPL2 mixing here since it's easy to find games that use it.
2021-08-01 03:46:27 +01:00
Mai M
627832355e
Merge pull request #9973 from JosJuice/jit-fma-negation-order
Jit: Use accurate negation order for FMA instructions
2021-07-31 20:18:49 -04:00
Mai M
7c365349ee
Merge pull request #9977 from JosJuice/jitarm64-mtfsfx
JitArm64: Implement mtfsfx
2021-07-31 17:54:48 -04:00
JosJuice
a90b0a1c93 JitArm64: Implement mtfsfx
The sixth and final part of implementing the FPSCR system register
instructions.
2021-07-31 23:50:20 +02:00
Pokechu22
f3f466ae82 DSPDisassembler: Fix LSR/ASR formatting
Originally, 1479 (for example) would disassemble as `lsr $ACC0, #-7`.  At some point (likely the conversion to fmt), this regressed to `lsr $ACC0, #4294967289`.  Now, it disassembles as `lsr $ACC0, #7`.
2021-07-31 13:18:07 -07:00
Léo Lam
3b88ffbe60
Merge pull request #9978 from JosJuice/jit-ibat-table
Jit: Use ibat_table for dcbf/dcbi/dcbst address check
2021-07-31 18:59:17 +02:00
JosJuice
5c5de35568 Jit: Use ibat_table for dcbf/dcbi/dcbst address check
Minor mistake in 92d1d60. We should be using ibat_table instead
of dbat_table, since we're dealing with invalidating icache.
2021-07-31 14:30:03 +02:00
Tilka
0470be5884
Merge pull request #9972 from Pokechu22/validation-layer
Recompile shaders when 'Enable API Validation Layers' is toggled
2021-07-31 10:16:47 +01:00
Mai M
bef1fdb4cb
Merge pull request #9974 from JosJuice/jitarm64-mtfsfix
JitArm64: Implement mtfsfix
2021-07-31 03:56:51 -04:00
Tillmann Karras
655bff5d44 DSPHLE: include compressor state in save states 2021-07-31 04:16:26 +01:00
Pokechu22
d36282ae61 Qt: Un-maximize GBA widget before resizing it 2021-07-30 18:50:45 -07:00
Léo Lam
a208ff5aab
Merge pull request #9957 from JosJuice/dcbx-faster
Jit: Perform BAT lookup in dcbf/dcbi/dcbst
2021-07-31 03:27:24 +02:00
Tilka
48af29f4ce
Merge pull request #9968 from Tilka/ax2
DSPHLE: add support for dynamic range compression
2021-07-31 00:43:17 +01:00
Tillmann Karras
09faf0987d DSPHLE: add support for dynamic range compression
The CPU-side AX library enables it by default and uses hardcoded parameters.
CMD_COMPRESSOR_TABLE_ADDR (0x0A) was incorrect. It's always a nop on the
GameCube and was probably confused with the Wii version.
2021-07-31 00:05:49 +01:00
JosJuice
0e62dac4bb JitArm64: Implement mtfsfix
Part 5 of 6 of implementing the FPSCR system register instructions.
2021-07-30 10:24:41 +02:00
JosJuice
08b358a829 Jit64: Fix minor fmaddXX inefficiencies 2021-07-29 23:34:20 +02:00
JosJuice
93e636abc3 Jit: Use accurate negation order for FMA instructions
It was believed that this only mattered when the rounding mode was
set to round to infinity, which games generally don't do, but it
can also affect the sign of the output when the inputs are all zero.
2021-07-29 23:33:35 +02:00
Pokechu22
087ddfca83 Mention 'Enable API Validation Layers' also enabling symbols for D3D 2021-07-28 21:35:36 -07:00
Pokechu22
6db519793a AdvancedWidget: Fix strange text wrapping 2021-07-28 21:35:36 -07:00
Pokechu22
b6d2938731 Recompile shaders when 'Enable API Validation Layers' is toggled 2021-07-28 21:35:36 -07:00
Pokechu22
eb81968fe6 Convert ShaderHostConfig to BitField 2021-07-28 21:35:36 -07:00
Mai M
c86c02e46b
Merge pull request #9960 from JosJuice/jitarm64-mtfsb1x
JitArm64: Implement mtfsb1x
2021-07-28 20:46:09 -04:00
Mai M
28ee0af9a3
Merge pull request #9970 from JosJuice/jit64-fmaddxx-accurate-nan
Jit64: Fix fmaddXX with accurate NaNs
2021-07-28 20:45:00 -04:00
Léo Lam
11d126965a
Merge pull request #9967 from Pokechu22/max-aniso-note
Remove note about anisotropic filtering requiring edge LOD
2021-07-29 02:02:30 +02:00
Léo Lam
0553b4a241
Merge pull request #9954 from Tilka/ax
DSPHLE: fix problems with older ucodes
2021-07-29 01:42:24 +02:00
JosJuice
3bb4a4e344 Jit64: Fix fmaddXX with accurate NaNs
So it turns out you have to pass XMM0 as the clobber register
to HandleNaNs, because HandleNaNs uses BLENDVPD and BLENDVPD
implicitly uses XMM0, and nobody noticed when I broke this in
2c38d64 because nobody plays the one game that needs accurate NaNs.
2021-07-28 23:03:03 +02:00
Pokechu22
1640fa9096 Remove note about anisotropic filtering requiring edge LOD
This was added because YAGCD's info on MAXANISO (near TX_SETMODE0 in Section 5.11.1) claims it's the case, but Extrems says it does work.  I haven't tested anything myself, and dolphin still does not actually implement anisotropic filtering based on this field.
2021-07-27 19:33:31 -07:00
JosJuice
ca55d599e8 Jit: Mark ValidBlockBitSet::Test as const 2021-07-27 11:11:30 +02:00
OatmealDome
46e331d000 VideoBackendBase: Prefer Vulkan over OGL on macOS Mojave and newer 2021-07-25 19:21:06 -04:00
JosJuice
c9a4021537 JitArm64: Implement mtfsb1x
Part 4 of implementing the FPSCR system register instructions.
2021-07-25 19:18:43 +02:00
Tilka
3e04cb6e6b
Merge pull request #9959 from Bonta0/gba-qol
Qt: GBA QoL improvements
2021-07-25 17:23:57 +01:00
Tillmann Karras
14da138ed9 DSPHLE: fix and re-enable polyphase resampling
This fixes the title screen music of Snowpack Park.
2021-07-25 15:45:06 +01:00
JosJuice
92d1d60ff1 Jit: Perform BAT lookup in dcbf/dcbi/dcbst
When 66b992c fixed https://bugs.dolphin-emu.org/issues/12133,
it did so by removing the broken address calculation entirely and
always using the slow path. This caused a performance regression,
https://bugs.dolphin-emu.org/issues/12477.

This commit instead replaces the broken address calculation with
a BAT lookup. If the BAT lookup succeeds, we can use the old fast
path. Otherwise we use the slow path.

Intends to improve https://bugs.dolphin-emu.org/issues/12477.
2021-07-25 15:15:15 +02:00
JosJuice
b84a0704cd Revert "Jit: Fix correctness issue in dcbf/dcbi/dcbst"
This reverts commit 66b992cfe4.

A new (additional) correctness issue was revealed in the old
AArch64 code when applying it on top of modern JitArm64:
LSR was being used when LSRV was intended. This commit uses LSRV.
2021-07-25 15:13:57 +02:00
Pokechu22
3a4d8379bf Convert NaN to 1 when generating texture coordinates
This fixes eyelids in Shadow the Hedgehog during cutscenes (https://bugs.dolphin-emu.org/issues/11458)
2021-07-24 22:20:35 -07:00
Tilka
55a465c6e6
Merge pull request #9949 from JosJuice/wia-ice-3
DiscIO: Fix broken workaround for MSVC ARM64 ICE
2021-07-25 05:14:10 +01:00
Tilka
c42b1c1b9f
Merge pull request #9921 from Pokechu22/non-power-of-2-wrap
Software: Handle texture wrapping more accurately
2021-07-25 05:08:11 +01:00
Bonta
cfd0f4661f Qt: Implement GBA Interframe Blending 2021-07-24 20:34:26 +02:00
Tillmann Karras
f7948ce7c9 DSPHLE: fix Wii System Menu 1.0 ucode 2021-07-24 19:04:39 +01:00
Bonta
6fc060bdca Qt: AlwaysOnTop GBA widget option 2021-07-24 20:00:16 +02:00
Bonta
501868ace0 Qt: Make GBA widgets movable with left click in borderless mode 2021-07-24 19:37:39 +02:00
Bonta
63ff86adff Qt: Borderless GBA windows 2021-07-24 19:12:17 +02:00
Tillmann Karras
b1185fb239 DSPHLE: handle Wii Startup Menu ucode correctly 2021-07-24 16:57:12 +01:00
Sepalani
0b0bab11d8 PPCSymbolDB: Improve symbol map column detection 2021-07-24 17:50:01 +04:00
Bonta
ee64e217f4 Qt/Core: Refactor GBA Core accessors 2021-07-24 14:54:57 +02:00
JosJuice
5fe23ccc3e DiscIO: Fix broken workaround for MSVC ARM64 ICE
The workaround added in 30f9f31 caused a regression where Dolphin
incorrectly replaced runs of one byte with runs of another byte
when writing WIA and RVZ files. ReuseID::operator< was always
returning false unless the ReuseIDs being compared had different
partition keys, which caused std::map<ReuseID, GroupEntry>
to treat all ReuseIDs with the same partition key as equal.
2021-07-24 13:29:03 +02:00
Dentomologist
cb127509e1 WiimoteReal: Fix Dolphin shutdown crash
Clear m_scan_thread_running later to avoid accessing m_backends after it
has been cleared.
2021-07-23 17:17:11 -07:00
Mai M
f380c23fda
Merge pull request #9890 from JosJuice/jitarm64-mtfsb0x
JitArm64: Implement mtfsb0x
2021-07-22 21:41:01 -04:00
Mai M
971f110b99
Merge pull request #9937 from Techjar/netplay-split-save-sd-write
NetPlay: Split save and SD card write settings
2021-07-22 21:40:31 -04:00
Mai M
4f87821f21
Merge pull request #9938 from Pokechu22/e-reader-context-menu-item
GBA: Add "Scan e-Reader Card(s)" context menu item
2021-07-22 21:39:10 -04:00
Mai M
885a4646f8
Merge pull request #9941 from JMC47/dsprecommendations
AudioPane: Adjust DSP selection names
2021-07-22 21:37:49 -04:00
JMC47
59e6048200 AudioPane: Adjust DSP selection names 2021-07-22 20:59:35 -04:00
Pokechu22
bcf2c6b9b9 MemoryViewWidget: Remove unnecessary column
This column would end up containing junk data after changing the data type.
2021-07-22 17:39:35 -07:00
Markus Wick
5af5656383
Merge pull request #9932 from JosJuice/jitarm64-dcbz-backpatch
JitArm64: Fix dcbz backpatch
2021-07-23 01:58:59 +02:00
Markus Wick
8ad7508620
Merge pull request #9767 from JosJuice/jitarm64-fpr-callee-saved
JitArm64: Improve Arm64FPRCache::GetCallerSavedUsed
2021-07-23 01:53:44 +02:00
Pokechu22
50109d70b6 GBA: Add "Scan e-Reader Card(s)" context menu item 2021-07-22 12:18:07 -07:00
JosJuice
db5a78781f
Merge pull request #9929 from Tilka/ax
DSPHLE: re-enable low-pass filter
2021-07-22 19:05:29 +02:00
JosJuice
484279f013
Merge pull request #9933 from Dentomologist/remove_stringutil_buildcompletefilename
StringUtil: Remove unused function BuildCompleteFilename
2021-07-22 19:05:07 +02:00
JosJuice
fdcea8566d JitArm64: Improve Arm64FPRCache::GetCallerSavedUsed
If we're only using the lower 64 bits of a callee-saved
register, GetCallerSavedUsed can return false for it.
2021-07-22 10:42:44 +02:00
Techjar
3ce5caf887 NetPlay: Split save and SD card write settings
This actually eliminates any setting pertaining to SD cards from the
NetPlay dialog, as it would effectively just be a duplicate of the
setting in the Wii pane, potentially causing confusion.

This also enables save data writing by default, as this is probably
what most players want, and should avoid them losing hours of progress
because they forgot to tick a checkbox.
2021-07-22 01:16:20 -04:00
Dentomologist
f5e5e8553c StringUtil: Remove unused function BuildCompleteFilename 2021-07-21 12:39:00 -07:00
JosJuice
1df3456267 JitArm64: Remove a comment in dcbz implementation
This implementation is pretty efficient in my opinion. And "As
long as we aren't falling back to interpreter we're winning a lot"
applies to basically every instruction to some degree anyway.
2021-07-21 19:24:41 +02:00
JosJuice
d91d6fcdc5 JitArm64: Fix dcbz backpatch
The dcbz instruction needs to lock W30 so that the slowmem code will
push and pop it when calling into C++. Also, the slowmem code expects
that the address is present in W0, so replace the use of W0 as a scratch
register in the fastmem code with the now locked W30.
2021-07-21 19:19:52 +02:00
JosJuice
302b47f5e6 JitArm64: Add temp reg parameter to Arm64RegCache::Flush
We currently have a bug when calling Arm64GPRCache::Flush with
FlushMode::MaintainState, zero free host registers, and at least
one guest register containing an immediate. We end up grabbing
a temporary register from the register cache in order to be
able to write the immediate to memory, but grabbing a temporary
register when there are zero free registers causes the least
recently used register to be flushed in a way which does not
maintain the state of the register cache.

To get around this, require callers to pass in a temporary
register in the GPR MaintainState case. In other cases,
passing in a temporary register is not required but can help
avoid spilling a register (if the caller already had a
temporary register at hand anyway, which in particular will
be the case in my upcoming memcheck pull request).
2021-07-21 16:28:19 +02:00
CrystalGamma
c991904e04 PowerPC: Add reservation monitor to save state 2021-07-21 12:14:07 +02:00
CrystalGamma
d763d693e8 PowerPC: Move lwarx/stwcxd. reservation into PowerPCState 2021-07-21 12:12:19 +02:00
Léo Lam
9a91b867ab
Merge pull request #9912 from Pokechu22/memory-viewer-physical-mem2
Fix MEM2 in the memory viewer in physical mode
2021-07-21 11:37:15 +02:00
JosJuice
a3c8fb06c5 NetPlayClient: Remove a designated initializer
release-ubu-x64 currently fails with "sorry, unimplemented: non-trivial
designated initializers not supported". pr-ubu-x64 doesn't for some
reason, but we might as well remove the designated initializer.
2021-07-21 09:36:52 +02:00
JosJuice
b2d87c49b6 JitArm64: Implement mtfsb0x
Part 3 of implementing the FPSCR system register instructions.
2021-07-21 09:22:13 +02:00
JMC47
a1e806ed76
Merge pull request #9600 from Bonta0/mgba-pr
Full GBA Controllers Integration with mGBA
2021-07-21 02:36:43 -04:00
Tillmann Karras
4a5c723114 DSPHLE: re-enable low-pass filter
Maybe this got fixed? Sonic Colors probably needs it for underwater audio.
2021-07-21 03:59:25 +01:00
Pokechu22
fa9c43cfaa Software: Handle texture wrapping more accurately
This fixes various texture offsetting issues with negative texture coordinates (bringing the software renderer in line with the hardware renderers).  It also handles the invalid wrap mode accurately (as was done for the hardware renderers in the previous commit).  Lastly, it handles wrapping with non-power-of-2 texture sizes in a hardware-accurate way (which is somewhat broken looking, as games aren't supposed to use wrapping with non-power-of-2 sizes); this has not been done for the hardware renderers.
2021-07-20 19:23:23 -07:00
Pokechu22
19332575aa WrapMode=3 behaves the same as Clamp 2021-07-20 19:23:23 -07:00
JMC47
b515786c8d
Merge pull request #9927 from OatmealDome/double-usbgecko
GeckoSockServer: Only join connectionThread if it is joinable
2021-07-20 22:18:33 -04:00
OatmealDome
48bcd96526 GeckoSockServer: Only join connectionThread if it is joinable 2021-07-20 14:56:09 -04:00
JosJuice
92fc4f1eca PixelShaderGen: Fix OpenGL ES bounding box compilation error 2021-07-20 11:39:32 +02:00
Techjar
5e0520b6e0 VideoCommon: Expand vector comparisons instead of overloading any()
For whatever stupid reason, Mali drivers do not allow overloading
built-in functions.
2021-07-20 05:24:47 -04:00
Dentomologist
fe670a3e68 FileUtil: Remove duplication in FileInfo constructor 2021-07-19 11:50:17 -07:00
Pokechu22
2d460b8e31 Fix MEM2 in the memory viewer in physical mode 2021-07-18 13:09:42 -07:00
Tillmann Karras
c948d7f436 PostProcessing: fix link error when switching shaders
Switching to a post-processing shader with different configuration options will
change the UBO, so we need to recompile the vertex shader as well.
2021-07-18 04:08:48 +01:00
Shawn Hoffman
8bddd8c675 remove SetRoundMode
we only care about SSE rounding mode, and set
that manually in SetSIMDMode
2021-07-17 19:29:22 -07:00
Tilka
3c90b657f3
Merge pull request #9907 from shuffle2/roundmode-bitfield
make FPSCR.RN an enum
2021-07-18 03:12:28 +01:00
Shawn Hoffman
197075293d make FPSCR.RN an enum 2021-07-17 18:55:06 -07:00
Shawn Hoffman
e1bddd4c18 remove DSP::Profiler*
this is not used anywhere and seems trivial to
ressurect if it's ever needed again.
2021-07-17 18:26:32 -07:00
Shawn Hoffman
c89ae53677 msvc: remove warning disables which no longer fire 2021-07-17 18:24:36 -07:00