OatmealDome
e5a80995dc
Bump minimum macOS to 10.13 High Sierra
2021-08-17 16:27:22 -04:00
JosJuice
b24b79e373
JitArm64: Implement indexed paired loadstore instructions
...
After writing 23b81ef
without realizing that we hadn't actually
implemented the indexed paired loadstore instructions yet,
I am now implementing them.
2021-08-17 11:29:38 +02:00
JMC47
a36855c983
Merge pull request #9818 from JosJuice/jits-cdts-double
...
Jits: Don't use fast double-to-single when input is double precision
2021-08-17 05:21:08 -04:00
JosJuice
62e7b34c88
JitArm64: Don't lock W30 in dcbx
...
If W30 is in use and we don't lock it, it will be pushed to the
stack before the BLR, so there isn't really any reason to lock W30.
2021-08-17 10:30:18 +02:00
JosJuice
856ff296ae
JitArm64: Optimize dcbx being called in a loop over a large memory region
...
JitArm64 port of 8b2f5d5
.
2021-08-17 10:30:17 +02:00
JMC47
d162015112
Merge pull request #10007 from AdmiralCurtiss/x64-dcbx-in-loop
...
Jit64: dcbx loop detection for improved performance when invalidating large memory regions.
2021-08-16 21:27:16 -04:00
Admiral H. Curtiss
8b2f5d5006
Jit64: Optimize dcbx being called in a loop over a large memory region.
2021-08-17 02:38:00 +02:00
Pokechu22
439bf1597b
DSPJitUtil: Remove redundant handling of ac0.h and ac1.h
...
m_gpr.WriteReg calls PutReg which already handles the sign extension.
2021-08-16 15:09:20 -07:00
Pokechu22
3b4bc9852f
DSPInterpreter: Fix sign extension of accumulators
...
The extension needs to happen in SetLongAcc, not GetLongAcc, as the extension needs to always be reflected in acS.h.
There is no functional difference with the write handler for acS.h, but it is more readable than 4 casts in a row.
2021-08-16 15:09:20 -07:00
Pokechu22
858d0675b9
DSPLLE: Handle cr, sr, and prod.h masking
2021-08-16 15:09:20 -07:00
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