Commit Graph
34426 Commits
Author SHA1 Message Date
Léo LamandGitHub e7f68cf850 Merge pull request #9634 from skylersaleh/xcode_strict_aliasing
Build: Fix -fno-strict-aliasing on Xcode builds
2021-04-17 22:24:52 +02:00
JMC47andGitHub d26d179484 Merge pull request #9647 from leoetlino/fix-pch-fmt
Fix PCH when building with CMake + Ninja + MSVC on Windows
2021-04-17 13:18:44 -04:00
Léo Lam a12d365d60 Fix PCH when building with CMake + Ninja + MSVC on Windows
fmt/format.h is included in the PCH, so we need to make sure fmt is
actually in the include path.

Not sure how Visual Studio + CMake manages to build without this.
2021-04-17 17:48:47 +02:00
Connor McLaughlinandGitHub edeb6bcdb7 Merge pull request #9635 from stenzek/amd-exclusive-fullscreen
Vulkan: Work around AMD exclusive fullscreen bug (21.3+)
2021-04-17 16:09:09 +10:00
JMC47andGitHub 14959a1087 Merge pull request #9636 from sspacelynx/mali-broken-and
DriverDetails: Fix broken vector bitwise AND on Mali drivers
2021-04-14 07:04:16 -04:00
JosJuiceandGitHub e8ac63d159 Merge pull request #9638 from leoetlino/btemu-is-not-wiimoteemu
WiiUtils: Add helper functions to get emulated/real Bluetooth device
2021-04-13 19:45:25 +02:00
Léo Lam 336518049d WiiUtils: Add helper functions to get emulated/real Bluetooth device
This adds a function to get the emulated or real Bluetooth device for
an active emulation instance. This lets us deduplicate all the
`ios->GetDeviceByName("/dev/usb/oh1/57e/305")` calls that are currently
scattered in the codebase and ensures Bluetooth passthrough is being
handled correctly.

This also fixes the broken check in WiimoteCommon::UpdateSource.
There was a confusion between "emulated Bluetooth" (as opposed to
"real Bluetooth" aka Bluetooth passthrough) and "emulated Wiimote".
2021-04-12 18:16:56 +02:00
Léo Lam 136f59b434 DolphinQt: Fix latent build error on Windows 2021-04-12 18:16:56 +02:00
Connor McLaughlin b24e3f2f1a Vulkan: Work around AMD exclusive fullscreen bug (21.3+) 2021-04-12 12:41:17 +10:00
sspacelynx aba9cae5ab DriverDetails: Fix broken vector bitwise AND on Mali drivers 2021-04-11 15:15:02 +02:00
Skyler Saleh b2d5eea20c Build: Fix -fno-strict-aliasing on Xcode builds
Xcode is configured by default to turn on the strict aliasing optimization
through a separate project setting. This would cause the compiler to be called
with both -fno-strict-aliasing and -fstrict-aliasing. This change turns off
that project setting causing only the -fno-strict-aliasing flag to be provided
to the compiler.
2021-04-10 21:28:10 -07:00
JMC47andGitHub 5322256065 Merge pull request #9625 from leoetlino/mmu-sdr-update
MMU: Fix SDR updates being silently dropped in some cases
2021-04-06 20:23:13 -04:00
Léo LamandGitHub 3b6fdb74f6 Merge pull request #9628 from Dentomologist/wiiutils_fix_reference_to_temporary_subobject
WiiUtils: Remove reference qualifier
2021-04-07 01:46:45 +02:00
Léo LamandGitHub f18743ab89 Merge pull request #9576 from Pokechu22/invalid-gfx-reg-quirk
Add game quirks for unknown BP/CP/XF commands
2021-04-07 01:46:21 +02:00
Léo LamandGitHub c1617460a1 Merge pull request #9480 from leoetlino/saturating-cast
MathUtil: Add SaturatingCast to cast floats more safely
2021-04-07 01:43:39 +02:00
Léo LamandGitHub 2c537e341f Merge pull request #8937 from Pokechu22/icache-disable
Disable ICache emulation for some games
2021-04-07 01:41:12 +02:00
Léo Lam 1a9e72c9bb DiscIO: Use MathUtil::SaturatingCast 2021-04-06 23:27:23 +02:00
Léo Lam 8d21fa56a1 UnitTests: Use MathUtil::SaturatingCast to avoid UB
[conv.fpint]/1:

> A prvalue of a floating-point type can be converted to a prvalue of
> an integer type. The conversion truncates; that is, the fractional
> part is discarded. The behavior is undefined if the truncated value
> cannot be represented in the destination type.
2021-04-06 23:27:23 +02:00
Léo Lam 48712168b8 MathUtil: Add SaturatingCast to cast floats more safely 2021-04-06 23:27:23 +02:00
Pokechu22 dad309d365 Disable ICache emulation for some games
Specifically, 'Scooby-Doo! Mystery Mayhem', 'Scooby-Doo! Unmasked', 'Ed, Edd n Eddy: The Mis-Edventures', and the Wii version of 'Happy Feet'.

The JIT cache causes problems with emulated icache invalidation in these games, resulting in areas failing to load.
2021-04-06 12:44:10 -07:00
Pokechu22 f32b771f7a Skip loading unknown XF registers in the FIFO player
This avoids some warnings, which were originally fixed by ignoring loads with a value of zero (see 636bedb207 / #3242).

Note that FifoCI will report some changes, but only on the first frame; these seem to be timing related as they don't happen if a different write is used to replace skipped ones.
2021-04-06 11:54:49 -07:00
Pokechu22 cde6cf2ab5 Track and log CP commands 0x00/0x10/0x20 differently from other unknown commands
They appear to relate to perf queries, and combining them with truely unknown commands would probably hide useful information.  Furthermore, 0x20 is issued by every title, so without this every title would be recorded as using an unknown command, which is very unhelpful.
2021-04-06 11:54:49 -07:00
Pokechu22 193f6a67a7 Log a warning for inexact uses of MATINDEX or VCD commands 2021-04-06 11:54:48 -07:00
Pokechu22 7fe1292c62 Add game quirks for unknown BP/CP/XF commands 2021-04-06 11:44:31 -07:00
Léo Lam 49edd5f482 MMU: Remove a bunch of useless swaps
The swaps are confusing and don't accomplish much.

It was originally written like this:

u32 pte = bswap(*(u32*)&base_mem[pteg_addr]);

then bswap was changed to Common::swap32, and then the array access
was replaced with Memory::Read_U32, leading to the useless swaps.
2021-04-06 18:25:29 +02:00