| Age | Commit message (Collapse) | Author |
|
|
|
|
|
MainWindow: Fix sscanf type/width specifiers for DWORD
|
|
ControllerInterface: Turn off SDL's GameCube controller adapter handling when Dolphin is configured to use the adapter.
|
|
StringUtils: Drop TabsToSpaces
|
|
GameSettings: Enable MMU for Vexx (PAL)
|
|
Without it, the game crashes after completing the tutorial level.
|
|
This function is unused.
|
|
mingw: fix usage of std::invocable with EnumerateRadios
|
|
|
|
|
|
Jit64: Explicitly get imm for clobbered stores
|
|
when Dolphin is configured to use the adapter.
|
|
If we're on an x64 CPU that doesn't have the MOVBE extension, trying to
SwapAndStore a host register results in that register's value getting
clobbered with the swapped value. Jit64::stX and Jit64::stXx detect this
case, and if necessary, emit a MOV to a register that's fine to clobber.
This logic was broken by the merge of PR 12134. Jit64::stX and
Jit64::stXx were assuming that if RegCache::IsImm returns true for a
guest register, calling RegCache::Use or RegCache::BindOrImm for that
guest register would result in an immediate. However, PR 12134 made it
possible for a guest register to have both a host register and an
immediate in the register cache at the same time. When this happens,
RegCache::IsImm returns true, yet RegCache::Use and RegCache::BindForImm
return an RCOpArg whose Location returns a host register. (To make it
extra confusing, RCOpArg::IsImm calls RegCache::IsImm if the RCOpArg
came from RegCache, so RCOpArg::IsImm returns true!)
To fix this, in cases where Jit64::stX and Jit64::stXx explicitly need
an immediate to avoid having to emit an extra MOV, let's call
RegCache::Imm32 so that we're certain that we're getting an immediate.
This fixes an issue on older x64 CPUs that manifested as e.g. completely
broken graphics in Spyro: Enter the Dragonfly.
|
|
Dentomologist/jit64_avoid_passing_immediate_to_non_immediate_parameter
Jit64: Avoid passing immediate to non-immediate parameter
|
|
DITConfiguration: Prevent a crash if images fail to load
|
|
Jit64: Flush carry flag in FallBackToInterpreter
|
|
DolphinQt: Use QtUtils::CreateIconWarning to make the RetroAchievements warning size consistent with other warnings.
|
|
GBACore: Fix Pokemon GBA link.
|
|
Recently came across a strange issue where Dolphin would hard crash in most games with this error:
```sh
/usr/include/c++/15.2.1/optional:1165: constexpr const _Tp* std::optional<_Tp>::operator->() const [with _Tp = InputCommon::ImagePixelData]: Assertion 'this->_M_is_engaged()' failed.
```
The culprit turned out to be accessing `host_key_image` which is an `std::optional` thay may return `std::nullopt`. I'm not sure why this issue started occuring for me since I've had no issue with my Dynamic Input Textures in the past? But this fixes a crash if the image fails to load.
|
|
GameSettings: Enable VertexRounding in Frogger: Ancient Shadow.
|
|
Dentomologist/directiofile_dont_request_delete_access_for_read_only_open
Windows/DirectIOFile: Don't request DELETE access for read-only Open
|
|
Aside from being unnecessary, on Windows the flag prevents two instances
of Dolphin (one instance from before 2509-371 when the flag was
introduced and the other after) from running the same ROM
simultaneously.
Attempting to do so generated the false error `"[Rom]" is an invalid
GCM/ISO file, or is not a GC/Wii ISO.` followed by `Failed to init core`
and emulation shutdown on the second instance to start the game. Fixing
the incorrect error message is a task I'm deferring to another PR.
The problem didn't happen when both instances were 2509-371 or later,
but I ran into it while bisecting an issue and it'd be nice to avoid
that problem in the future.
|
|
We have an optimization where the guest carry flag is kept in the host
carry flag between certain back-to-back pairs of integer instructions.
If the second instruction falls back to the interpreter, then
FallBackToInterpreter should flush the carry flag to m_ppc_state,
otherwise the interpreter reads a stale carry flag and at some later
point Jit64 trips the "Attempt to modify flags while flags locked!"
assertion.
An alternative solution would be to not store the guest carry flag in
the host carry flag to begin with if we know the next instruction is
going to fall back to the interpreter, but knowing that in advance is
non-trivial. Since interpreter fallbacks aren't exactly intended to be
super optimized, I went for the flushing solution instead, which is how
JitArm64 already works. In most cases, the emitted code shouldn't even
differ between these two solutions.
Note that the problematic situation only happens if the first integer
instruction doesn't fall back to the interpreter but the second one
does. This used to be impossible because there's no "JIT disable"
setting that's granular enough to disable some integer instructions but
not all, but with the constant propagation PR, it's possible if constant
propagation is able to entirely evaluate the first instruction but not
the second.
|
|
graphical artifacts.
|
|
LillyJadeKatrin/retroachievements-eternal-darkness-testing-my-sanity
RetroAchievements - Remove Hardcore Check from ApplyMemoryPatch
|
|
Disable PatchAllowlistTest if USE_RETRO_ACHIEVEMENTS is OFF
|
|
AX: fix low-pass filter edge case
|
|
This was blocking all memory patches from executing properly in hardcore mode even when contained in the Allowlist.
|
|
"hardcore mode" warning size consistent with the other warnings.
|
|
|
|
Call `UseNoImm` instead of `Use` on parameter `a` of `MultiplyImmediate`
since `Ra` gets passed to `IMUL` which asserts that parameter is not an
immediate.
|
|
This fixes a build error when `-DENABLE_TESTS=ON` and `-DUSE_RETRO_ACHIEVEMENTS=OFF` are both set together, since AchievementManager is also behind an ifdef.
|
|
sounding audio."
This reverts commit b7f3d96df41f0a9c8f9294b45dbedc448bb4c922.
|
|
This fixes NFL Blitz Pro.
|
|
GameSettings: Force DSP LLE in NFL Blitz Pro to avoid terrible sounding audio.
|
|
|
|
|
|
GameSettings: Force ImmediateXFBEnable off in X-Men Legends.
|
|
GameSettings: Use three-character INIs for newly added settings
|
|
DolphinQt: Adjust capitalization of "Select A Bluetooth Device"
|
|
IOS: Logitech USB Microphone Basic Support
|
|
|
|
Android: Tweak dialog_login.xml layout
|
|
Android: Add LeaderboardTrackerEnabled and ChallengeIndicatorsEnabled
|
|
Co-authored by: supermilkdude67 <w.f.s.jazzfyre@gmail.com>
|
|
This is a follow-up to 0f1ecf41f9. Our policy is to use three-character
game INIs for settings unless a game has multiple releases and the
setting shouldn't be applied to all of them.
SAHE69.ini was simply renamed to SAH.ini. RL6E69.ini was deleted
entirely, because RL6.ini already exists and contains the same setting.
|
|
Fix build for non-Linux with Qt 6.10+
|
|
There was a LINUX check added in b3bdad4, but this should be removed as this change applies to all Qt supported platforms. Simply put, GuiPrivate CMake files were introduced in Qt 6.9 and are now enforced in Qt 6.10 and are not platform-dependent.
|
|
causes constant black frame flickering in this game.
|