Léo Lam
a6f6211dde
Merge pull request #9633 from Pokechu22/BitfieldExtract-pointer-to-member
...
Change BitfieldExtract to use a pointer to the bitfield member
2021-05-08 00:21:15 +02:00
Léo Lam
049b92b7ef
Merge pull request #9417 from Filoppi/input-1
...
Fix FPS counter and Game Window speed % breaking on pause/unpause
2021-05-07 15:08:01 +02:00
Léo Lam
8547de2593
Merge pull request #9615 from Dentomologist/updater_documentation
...
Updater: Add code documentation
2021-05-07 15:05:14 +02:00
Léo Lam
2b632f6d5d
Merge pull request #9641 from lynlevenick/ash/texture-cache-opt
...
Remove spurious memory allocations in TextureCacheBase::SerializeTexture and DeserializeTexture
2021-05-07 15:01:23 +02:00
Léo Lam
70d8a78edc
Merge pull request #9683 from JosJuice/ppc-test-values
...
UnitTests: Put PowerPC test values in a separate file
2021-05-07 14:44:27 +02:00
Léo Lam
aa8ddcfc92
Merge pull request #9684 from JosJuice/move-unit-tests
...
UnitTests: Move some unit tests to where they should be
2021-05-07 14:31:09 +02:00
Léo Lam
19580c3841
Merge pull request #9692 from JosJuice/android-not-debuggable
...
Android: Don't set android:debuggable="true"
2021-05-06 22:16:59 +02:00
Léo Lam
ade9d6c954
Merge pull request #9679 from JosJuice/disable-verify
...
DolphinQt: Disable verify button when emulation is running
2021-05-02 10:52:46 +02:00
Léo Lam
20301592ad
Merge pull request #9677 from iwubcode/profile-drop-down
...
DolphinQt: fix input profile drop down not resizing
2021-04-27 14:01:12 +02:00
Léo Lam
219f66c6e9
Merge pull request #9672 from JosJuice/jit-naming-scheme
...
DolphinQt/Android: Unify the JIT naming scheme
2021-04-27 12:00:23 +02:00
Léo Lam
08215cc975
DolphinQt: Get rid of an extraneous colon in About dialog
2021-04-27 00:24:24 +02:00
Léo Lam
51bf2dca21
Merge pull request #9675 from JosJuice/jit64-div-80000000
...
Jit64: Fix UB/infinite loop when compiling division by 0x80000000
2021-04-26 23:50:27 +02:00
Léo Lam
aa3a96f048
Merge pull request #9644 from JosJuice/jit-fallback-discard
...
Jits: Fix interpreter fallback handling of discarded registers
2021-04-25 13:20:41 +02:00
Léo Lam
1c6232e95f
Merge pull request #9646 from PatrickFerry/sw-textureencoder-alignedwidth
...
SW: Fix alignedWidth in TextureEncoder
2021-04-24 20:13:10 +02:00
Léo Lam
18174d3ed6
Merge pull request #9649 from leoetlino/cmake-auto-update-track
...
Make it possible to enable auto-updates by default with CMake builds
2021-04-24 19:44:51 +02:00
Léo Lam
302e8136a3
Merge pull request #5624 from Orphis/cmake_windows
...
cmake: Windows fixes
2021-04-24 18:11:23 +02:00
Léo Lam
c812ab6a63
Jit: Optimize block link queries by using hash tables
...
Repeated erase() + iteration on a std::multimap is extremely slow.
Slow enough that it causes a 7 second long stutter during some
transitions in F-Zero X (a N64 VC game that triggers many, many icache
invalidations).
And slow enough that JitBaseBlockCache::DestroyBlock shows up on a
flame graph as taking >50% of total CPU time on the CPU-GPU thread:
https://i.imgur.com/vvqiFL6.png
This commit optimises those block link queries by replacing the
std::multimap (which is typically implemented with red-black trees)
with hash tables.
Master: https://i.imgur.com/vvqiFL6.png / 7s stutters
(starting from 5.0-2021 and with branch following disabled)
This commit: https://i.imgur.com/hAO74fy.png / ~0.7s stutters, which
is pretty close to 5.0 stable. (5.0-2021 introduced the performance
regression and it is especially noticeable when branch following
is disabled, which is the case for all N64 VC games since 5.0-8377.)
2021-04-24 17:20:59 +02:00
Léo Lam
1686b637df
MIOS: Fix SConfig::OnNewTitleLoad not being called
...
Oversight from #9545 , which moved the "new game has been loaded" logic
to a separate OnNewTitleLoad function that has to be called explicitly
*after* a title has loaded.
Coupled with the commit that makes Dolphin not clobber 0x1800-0x3000
when using MIOS, this fixes Wind Waker and other MIOS-patched games
when they are launched from the System Menu.
2021-04-22 21:55:07 +02:00
Léo Lam
568428ca67
HLE: Do not clobber 0x1800-0x3000 when using MIOS to fix IPL crash
...
MIOS puts patch data in low MEM1 (0x1800-0x3000) for its own use.
Overwriting data in this range can cause the IPL to crash when
launching games that get patched by MIOS.
See https://bugs.dolphin-emu.org/issues/11952 for more info.
Not applying the Gecko HLE patches means that Gecko codes will not work
under MIOS, but this is better than the alternative of having specific
games crash.
2021-04-22 21:50:05 +02:00
Léo Lam
bfaed2b0b1
GameINI: Fix file path for RZDK01 INI
2021-04-20 01:43:02 +02:00
Léo Lam
34348fad1d
Merge pull request #9658 from lioncash/fallthrough
...
BlockingLoop/Jit64: Indicate explicit fallthrough where applicable
2021-04-20 00:28:13 +02:00
Léo Lam
cf80ed7f2d
Merge pull request #9653 from JosJuice/android-import-nand
...
Android: Add "Import BootMii NAND Backup"
2021-04-19 21:57:40 +02:00
Léo Lam
ec5fbeb0d6
Merge pull request #9654 from JosJuice/android-12-early
...
Android: Early changes to adapt for Android 12
2021-04-19 21:25:18 +02:00
Léo Lam
045c5a1fdc
Merge pull request #9655 from PPLToast/ztp-korea-ini
...
GameINI: Add speed hack for Korean TP
2021-04-19 19:58:22 +02:00
Léo Lam
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
Léo Lam
a7a69ecd2e
Put x86_64 Windows binaries in Binary/x64 for consistency with ARM64
...
...and with our existing Visual Studio project files and
buildbot config.
2021-04-17 21:33:07 +02:00
Léo Lam
5f355690e0
Make it possible to enable auto-updates by default with CMake builds
...
This adds a CMake option (DOLPHIN_DEFAULT_UPDATE_TRACK) to allow
configuring SCM_UPDATE_TRACK_STR. This is needed to enable auto-updates
in Windows CMake builds by default.
2021-04-17 19:45:43 +02: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
Léo Lam
cc32fa91af
FifoPlayer: Copy data with memcpy instead of one byte at a time
...
Copying with memcpy/std::copy is a lot faster than writing one byte
at a time. And the behavior should be fully equivalent.
2021-04-17 16:02:43 +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
Léo Lam
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 Lam
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 Lam
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 Lam
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
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
Léo Lam
960d957f4f
MMU: Fix SDR updates being silently dropped in some cases
...
While 6xx_pem.pdf §7.6.1.1 mentions that the number of trailing
zeros in HTABORG must be equal to the number of trailing ones
in the mask (i.e. HTABORG must be properly aligned), this is actually
not a hard requirement. Real hardware will just OR the base address
anyway. Ignoring SDR changes would lead to incorrect emulation.
Logging a warning instead of dropping the SDR update silently is a
saner behaviour.
2021-04-06 18:25:09 +02:00
Léo Lam
ac250f7c20
Merge pull request #9623 from Techjar/pauseandlock-fix
...
Core: Fix PauseAndLock segfaulting under certain circumstances
2021-04-06 12:45:35 +02:00
Léo Lam
d96874a4db
Merge pull request #9622 from skylersaleh/fix_zstd_headers
...
Check that zstd headers can be found before using a shared zstd library
2021-04-06 12:42:44 +02:00
Léo Lam
e89ae71cec
Merge pull request #9388 from JosJuice/default-locale
...
Set console's default language/country/region based on computer settings
2021-04-06 12:34:58 +02:00
Léo Lam
a1ee6ace71
Merge pull request #9620 from Dentomologist/convert_gamelist_col_to_enum_class
...
Convert GameList col enum to enum class
2021-04-06 12:08:15 +02:00
Léo Lam
ccc99ebfe3
Merge pull request #9517 from NoraTheGamer/master
...
Mario Party Cheats Update
2021-04-04 22:37:33 +02:00
Léo Lam
6d1eb6ae5a
Merge pull request #9621 from Pokechu22/cassert
...
Replace uses of cassert with Common/Assert.h
2021-04-03 12:46:21 +02:00
Léo Lam
391644dbb5
IOS/FS: Add a scoped FD class to make it harder to leak FDs
...
This changes FileSystemProxy::Open to return a file descriptor wrapper
that will ensure the FD is closed when it goes out of scope.
By using such a wrapper we make it more difficult to forget to close
file descriptors.
This fixes a leak in ReadBootContent. I should have added such a class
from the beginning... In practice, I don't think this would have caused
any obvious issue because ReadBootContent is only called after an IOS
relaunch -- which clears all FDs -- and most titles do not get close
to the FD limit.
2021-04-01 21:34:58 +02:00
Léo Lam
06439a2d40
Merge pull request #9610 from CookiePLMonster/fix-shortcut-creation
...
Fix shortcut creation
2021-03-30 17:30:37 +02:00
Léo Lam
8d2b0fff8a
Merge pull request #9545 from leoetlino/es-launch-timings
...
IOS: Improve timing accuracy for title launches (both ARM and PPC)
2021-03-27 01:47:28 +01:00
Léo Lam
8fab253212
Merge pull request #9609 from Pokechu22/fix-WriteVertexArray
...
Fix PanicAlert when recording FIFOs
2021-03-27 01:39:53 +01:00
Léo Lam
da534c7d75
Merge pull request #9571 from JosJuice/netplay-sync-more-settings
...
NetPlay: Sync more settings
2021-03-27 01:38:33 +01:00
Léo Lam
cd0db58dc5
Merge pull request #9589 from Dentomologist/fix_no_objc_exceptions_warning
...
CMake: Fix unused compiler flag warning
2021-03-27 01:36:58 +01:00
Léo Lam
c915b780cf
Merge pull request #9596 from Minty-Meeo/apply-moar-RunAsCPUThread
...
Apply More Core::RunAsCPUThread
2021-03-27 01:11:34 +01:00
Léo Lam
cd6ee13320
Merge pull request #9608 from Bonta0/swapucode
...
DSPHLE: Don't restore the last UCode when the crc doesn't match
2021-03-27 01:02:47 +01:00
Léo Lam
f29c8b83c0
Merge pull request #9597 from Pokechu22/alt-enter
...
Open the properties window when alt+enter is used on the game list
2021-03-27 00:39:42 +01:00
Léo Lam
f44f20560d
Merge pull request #9573 from JosJuice/volumeverifier-cancel-crash
...
VolumeVerifier: Fix potential crash when cancelling
2021-03-16 11:10:47 +01:00
Léo Lam
b7f931fc6b
Merge pull request #9570 from JosJuice/wia-partial-exception-list
...
DiscIO: Fix reading certain WIA chunks with many exceptions
2021-03-16 11:10:12 +01:00
Léo Lam
c8d8f9ef85
Merge pull request #9577 from JosJuice/di-unknown-size-hack
...
DVDInterface: Make the WBFS/CISO hack only affect WBFS/CISO
2021-03-16 11:03:36 +01:00
Léo Lam
3fcc018fa7
Merge pull request #9588 from JosJuice/jitarm64-srawx-a-s
...
JitArm64: Improve srawx special case carry calculation
2021-03-16 10:40:10 +01:00
Léo Lam
f36b1cbb2a
Merge pull request #9541 from InusualZ/detecting-rso
...
Symbols: Fix RSO Modules detection algorithm
2021-03-16 10:33:58 +01:00
Léo Lam
b980dd1385
Merge pull request #9580 from MetroidPrimeModding/redundant-update-trigger-check
...
[Updater] Check whether we've already had an update triggered
2021-03-16 10:19:54 +01:00
Léo Lam
646bdc9459
Merge pull request #9583 from michaelszubartowicz/master
...
Fix loading save states with bluetooth passthrough
2021-03-16 10:12:49 +01:00
Léo Lam
9a3e752021
Merge pull request #9558 from iwubcode/dsu-multi-server-avoid-blocking
...
InputCommon: block on DSU servers collectively instead of individually
2021-03-16 10:12:32 +01:00
Léo Lam
5cea85f008
Merge pull request #9579 from Dentomologist/fix_open_containing_folder
...
Gamelist: Fix 'Open Containing Folder'
2021-03-16 09:52:46 +01:00
Léo Lam
e6d8af3188
Merge pull request #9553 from sepalani/ghidra-tools
...
Tools: Dolphin symbol map ghidra scripts added
2021-03-16 09:47:03 +01:00
Léo Lam
064a00634e
Merge pull request #9590 from JosJuice/android-recreate-main
...
Android: Fix recreating main activity
2021-03-16 09:42:31 +01:00
Léo Lam
13f79321f7
Merge pull request #9574 from Pokechu22/enumformatter-warnings
...
EnumFormatter: fix signed/unsigned comparison warnings
2021-03-16 09:39:42 +01:00
Léo Lam
3b0b221fcf
Merge pull request #9567 from Dentomologist/fix_various_warnings
...
Fix various build warnings
2021-03-16 09:33:01 +01:00
Léo Lam
61198541a0
Merge pull request #9562 from sepalani/dis-icons
...
Breakpoints: Change icon when disabled
2021-03-07 12:14:12 +01:00
Léo Lam
ac687bc364
Merge pull request #9568 from JosJuice/android-delay-save-tab
...
Android: Don't save settings immediately after switching platform tab
2021-03-07 12:03:46 +01:00
Léo Lam
a5555c6300
Merge pull request #9569 from JosJuice/android-mainpresenter-skip-scan
...
Android: Move "skip scanning" logic to MainPresenter
2021-03-07 11:51:03 +01:00
Léo Lam
5f7d935b0a
Merge pull request #9533 from sepalani/mmu-is-ram
...
MMU: Fix IsRAMAddress not working
2021-03-05 11:49:55 +01:00
Léo Lam
adcdeda372
Merge pull request #9565 from sepalani/qt-blocker
...
BreakpointWidget: Use QSignalBlocker
2021-03-05 10:44:44 +01:00
Léo Lam
a4de2502c5
Merge pull request #9550 from endrift/gba-flush
...
SI/DeviceGBA: Ensure data socket isn't backed up
2021-03-05 10:38:55 +01:00
Léo Lam
de30559862
Merge pull request #9564 from sepalani/bp-del
...
BreakpointWidget: Fix delete deleting both MBP and BP at address
2021-03-05 10:28:48 +01:00
Léo Lam
1e3e5680db
Merge pull request #9561 from sepalani/fix-watches
...
Watches: Fix Save and Load from strings
2021-03-05 00:57:40 +01:00
Léo Lam
19c5a19629
Merge pull request #9529 from JosJuice/android-broadcast-before-metadata
...
Android: Broadcast update before updating additional metadata
2021-03-05 00:48:04 +01:00
Léo Lam
5efd563b03
Merge pull request #9555 from JosJuice/android-jni-cleanup
...
Android: Some JNI cleanup
2021-03-05 00:47:36 +01:00
Léo Lam
6c23e163e1
Merge pull request #9563 from sepalani/bp-changed
...
BreakpointWidget: Emit BreakpointsChanged to update views
2021-03-04 20:49:54 +01:00
Léo Lam
aef0760efe
IOS/ES: Emulate /sys/launch.sys for more accurate timings
...
Also gets rid of one static variable
2021-03-04 18:41:13 +01:00
Léo Lam
bdaac718ac
IOS/FS: Expose some more ioctls for internal Dolphin use
2021-03-04 18:41:13 +01:00
Léo Lam
93f0d122c0
IOS: Hang PPC when reloading IOS for a PPC title launch
...
The PPC is supposed to be held in reset when another version of IOS is
in the process of being launched for a PPC title launch.
Probably doesn't matter in practice, though the inaccuracy was
definitely observable from the PPC.
2021-03-04 18:41:13 +01:00
Léo Lam
19667cb801
Fix symbol map being loaded too early during title changes
...
We should only try to load a symbol map for the new title *after* it
has been loaded into memory, not before. Likewise for applying HLE
patches and loading new custom textures.
In practice, loading/repatching too early was only a problem for
titles that are launched via ES_Launch. This commit fixes that.
2021-03-04 18:41:13 +01:00
Léo Lam
a658cbce16
IOS: Emulate IOS boot timings
2021-03-04 18:41:13 +01:00
Léo Lam
820c4836d7
IOS: Simplify IPC initialisation
...
The extra IPC ack is triggered by a syscall that is invoked in ES's
main function; the syscall literally just sets Y2, IX1 and IX2 in
HW_IPC_ARMCTRL -- there is no complicated ack queue or anything.
2021-03-04 18:41:13 +01:00
Léo Lam
0da5ea86a3
IOS: Emulate ES boot timings
2021-03-04 18:41:13 +01:00
Léo Lam
688bd6141a
IOS: Emulate BootstrapPPC syscall delays
...
Reading the boot content from the NAND takes a non-negligible amount of
time and the PPC should be held in reset while the DOL is being read.
2021-03-04 18:41:12 +01:00
Léo Lam
011f7789e0
IOS: Clear 0-0x3fff when setting up low MEM1 constants
...
Low MEM1 is cleared by IOS before all the other constants are written.
This will overwrite the Gecko code handler but it should be fine
because HLE::Reload (which will set up the code handler hook again)
will be called after a title change is detected.
2021-03-04 18:41:12 +01:00
Léo Lam
be500a98e2
Merge pull request #8779 from sepalani/open-dump
...
NetworkWidget: Reorganise SSL options group box
2021-03-04 13:37:10 +01:00
Léo Lam
2aa1ff51bd
Merge pull request #9493 from nolange/stricter_compiler_flag_check
...
Stricter test for compiler flags
2021-03-04 12:47:33 +01:00
Léo Lam
794e093223
Merge pull request #9530 from JosJuice/android-loading-indicator
...
Android: Use SwipeRefreshLayout in MainActivity
2021-03-04 12:42:20 +01:00
Léo Lam
511e9dcd2f
Merge pull request #9542 from InusualZ/toggle-bp
...
BreakpointWidget: Allow breakpoints to be toggled between enable/disable
2021-03-04 12:34:03 +01:00
Léo Lam
48a5846aee
Merge pull request #9548 from AdmiralCurtiss/fastmem-active-regions
...
Core/Memmap: Memory mapping logic fixes.
2021-03-04 12:18:59 +01:00
Léo Lam
06a77493a4
Merge pull request #9547 from PatrickFerry/ini-fixes-1
...
Some Gameini Changes
2021-03-04 12:16:09 +01:00
Léo Lam
9c6c77351f
Merge pull request #9556 from JosJuice/cmake-msvc-latest
...
CMake: Build with -std:c++latest for MSVC
2021-03-04 12:12:06 +01:00
Léo Lam
00db622d50
Merge pull request #9560 from JosJuice/cmake-msvc-wil
...
CMake: Include WIL headers
2021-03-04 12:08:05 +01:00
Léo Lam
6bcef87f82
Merge pull request #9554 from Dentomologist/remove_unused_lambda_capture
...
DolphinQt: Removed unused this capture in lambda
2021-03-03 23:03:08 +01:00
Léo Lam
7712f0831f
Merge pull request #9535 from sepalani/threads-freeze
...
DebugInterface: Check visited addresses in GetThreads
2021-03-02 16:38:02 +01:00
Léo Lam
59f4164411
Merge pull request #9539 from iwubcode/dynamic_input_tex_more_optimizations
...
InputCommon: dynamic input textures more optimizations
2021-03-02 02:53:22 +01:00
Léo Lam
0c9f11af47
Merge pull request #9537 from AdmiralCurtiss/fastmem-error-messages
...
Core/Memmap: Give more detailed error messages if memory mapping fails.
2021-03-02 02:47:12 +01:00