Commit Graph

35252 Commits

Author SHA1 Message Date
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
Admiral H. Curtiss
e3a784ffba PowerPC: Convert enum in TranslateAddressResult to enum class. 2021-08-07 00:07:46 +02:00
Mai M
67c06cfc55
Merge pull request #10001 from JosJuice/pte-1
PowerPC: Fix bad copypaste in LookupTLBPageAddress
2021-08-06 12:53:49 -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
Mai M
857d1c399d
Merge pull request #9999 from JosJuice/jit-dcbx-masking
Jit: Re-add dcbx masking
2021-08-06 09:35:17 -04: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
Mai M
37115f04ac
Merge pull request #9997 from JosJuice/jitarm64-store-w8
JitArm64: Fix W8 slowmem store
2021-08-05 12:37:08 -04:00
JosJuice
e753455abb JitArm64: Fix W8 slowmem store
Regression from 12629be.
2021-08-05 10:57:41 +02: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
Léo Lam
234859e2f3
Merge pull request #9994 from JMC47/spongebobmovie
GameINI: SpongeBob SquarePants Movie QoL Settings
2021-08-04 11:52:53 +02:00
JMC47
f27203a2e1 GameINI: SpongeBob SquarePants Movie QoL Settings
SpongeBob SquarePants: The Movie suffers from all of the same issues as
Battle for Bikini Bottom.  These patches are not based on any existing
cheats or codes.
2021-08-04 01:51: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
893b648d8d
Merge pull request #9992 from JMC47/gladiusregions
GameINI: Add Gladius Patch to Other Regions
2021-08-04 03:10:16 +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
Léo Lam
45cddda3bc
Merge pull request #9989 from JMC47/sbbfbbpatch
GameINI: SpongeBob SquarePants: Battle For Bikini Bottom Quality of Life settings
2021-08-04 00:41:12 +02:00
JMC47
ecf092d7f8 GameINI: Add Gladius Patch to Other Regions
Only the NTSC version of Gladius got a patch with smurf3tte's reverse
engineering work.  Since most of the work was done, I ported over the
fix to the PAL, French, and German releases.  Leoetlino helped figure
out a consistent way to find the correct address.
2021-08-03 16:09:53 -04: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
JMC47
7b07037723 GameINI: SpongeBob SquarePants: BFBB QoL
This enables Vertex Rounding Hack and has a game patch for two bugs
resulting from game choices.  The game draws an efb copy at
coordinate 0.00195313 to 1.00195 repeating which only works due to how the
numbers work out at low resolution.

The Vertex Rounding Hack is a null operation on 1x IR, so there should
be no concern enabling it by default since higher resolutions are
completely broken without it.
2021-08-03 11:28:58 -04: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
JMC47
20c7edff8a
Merge pull request #9985 from JMC47/spongetruthini
GameINI: Add Safe Texture Cache to SpongeBob's Truth or Square
2021-08-01 23:36:24 -04:00
JMC47
5bf1a8af8e GameINI: Add Safe Texture Cache to SpongebobToS
Text in SpongeBob's Truth of Square needs Safe Texture Cache in order to
render properly.
2021-08-01 23:28:51 -04: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
Tilka
8a078ea43a
Merge pull request #9984 from Pokechu22/ApiType-to-api_type
VideoCommon: Rename ApiType to api_type
2021-08-01 23:26:12 +01: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
JosJuice
56057c3dea
Merge pull request #9961 from Simonx22/update-dependencies
Android: update dependencies
2021-08-01 13:10:59 +02:00
Tilka
dba1e1e9f7
Merge pull request #9982 from Tilka/ax
DSPHLE: report games that use unimplemented AX features
2021-08-01 12:08:03 +01: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
JosJuice
3cc274880f Translation resources sync with Transifex 2021-07-31 23:47:38 +02:00
Tilka
71bf9d622a
Merge pull request #9980 from Pokechu22/dsp-disassembly-lsr-asr
DSPDisassembler: Fix LSR/ASR formatting
2021-07-31 21:30:17 +01: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
d4cd289297
Merge pull request #9979 from JMC47/genrexini
GameINI: Enable Medium Tex Cache for Generator Rex
2021-07-31 19:00:26 +02: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
JMC47
167358e953 GameINI: Enable Medium Tex Cache for Generator Rex
Generator Rex: Agent of Providence needs medium texture cache in order
to render text without problems.
2021-07-31 08:26:59 -04:00