Commit graph

29017 commits

Author SHA1 Message Date
Pierre Bourdon
ae0748ab07
Merge pull request #7290 from degasus/branch_following
Jit: Fix branch following.
2018-07-28 16:45:27 +02:00
degasus
5333c17cca Jit: Fix branch following.
The idea of this code was to not unroll loops, but it was completely broken.
So we've unrolled all loops, but only up to the second iteration.
Honestly, a better check would test if we branch to code which is already in the compiling block. But this is out of scope for now.

But testing shows that this unrolling actually improve the performance. So instead of fixing this bug, this check can be dropped.
2018-07-28 16:35:42 +02:00
Pierre Bourdon
17c1345b30
Merge pull request #7289 from dolphin-emu/revert-7285-qt_cover
Revert "Qt/GameList: Add option to show covers in grid mode"
2018-07-28 03:03:39 +02:00
Pierre Bourdon
9b94c76f81
Revert "Qt/GameList: Add option to show covers in grid mode" 2018-07-28 03:03:21 +02:00
spycrab
64b19b7830
Merge pull request #7285 from spycrab/qt_cover
Qt/GameList: Add option to show covers in grid mode
2018-07-28 01:44:05 +02:00
spycrab
5ade5f4fe7 Qt/GameList: Add option to show covers in grid mode 2018-07-27 11:14:24 +02:00
Techjar
7036299a92 NetPlay: Improve settings synchronization and UI
Most settings which affect determinism will now be synced on NetPlay.
Additionally, there's a strict sync mode which will sync various
enhancements to prevent desync in games that use EFB reads.

This also adds a check for all players having the IPL.bin file, and
doesn't load it for anyone if someone is missing it. This prevents
desyncs caused by mismatched system fonts.

Additionally, the NetPlay window was getting too wide with checkboxes,
so FlowLayout has been introduced to make the checkboxes take up
multiple rows dynamically. However, there's some minor vertical
centering issues I haven't been able to solve, but it's better than a
ridiculously wide window.
2018-07-26 17:23:04 -04:00
JosJuice
7c2d2548a8
Merge pull request #7284 from Techjar/netplay-fix-unknown-region-crash
Fix segfault on NetPlay start with unknown region
2018-07-22 22:27:34 +02:00
Markus Wick
be9437450e
Merge pull request #7234 from zackhow/master
Android: Support for AndroidTV Oreo Homescreen channels
2018-07-22 15:02:49 +02:00
Techjar
dee64a89e0 Fix segfault on NetPlay start with unknown region
This is accomplished by having SConfig::GetDirectoryForRegion no longer
return nullptr, as doing that was kind silly, considering we never
check for nullptr.
2018-07-21 13:13:08 -04:00
JosJuice
448547c38f
Merge pull request #7250 from JosJuice/android-nonzero-axis
Android controller mapping: Ignore axes with constant values
2018-07-21 14:23:49 +02:00
Techjar
cfeffdcf42 Fix more segfaults on NetPlay quit
Basically everything here was race conditions in Qt callbacks, so I changed the client/server instances to std::shared_ptr and added null checks. It checks that the object exists in the callback, and the shared_ptr ensures it doesn't get destroyed until we're done with it.

MD5 check would also cause a segfault if you quit without cancelling it first, which was pretty silly.
2018-07-21 00:04:14 -04:00
Mat M
a21d536f99
Merge pull request #7282 from booto/no-more-global-dcbz-disable
Config: Remove Core::DCBZ [bDCBZOFF] - obsolete
2018-07-20 23:05:38 -04:00
spycrab
d6833cb217
Merge pull request #7279 from Techjar/qt-macos-iowindow
Qt/IOWindow: Don't set QSizePolicy::Expanding on macOS
2018-07-21 02:16:46 +02:00
spycrab
c141511c87
Merge pull request #7222 from Techjar/netplay-sync-saves
NetPlay save data synchronization
2018-07-21 02:09:02 +02:00
zackhow
0488fe1d30 Android: Support for AndroidTV Oreo Homescreen channels 2018-07-20 17:56:45 -04:00
Mat M
bcd2a76f2b
Merge pull request #7281 from JMC47/rubiks
Update INI for Rubik's Rush
2018-07-20 13:36:14 -04:00
booto
f88c46b4da Config: Remove Core::DCBZ [bDCBZOFF] - obsolete
This option completely disabled the DCBZ instruction. Users are toggling
this option in dolphin forks and using that same problematic config when
launching dolphin. Removing the option from dolphin will let the config be
ignored.
2018-07-20 03:25:12 -04:00
JMC47
4e2b6e66e0 Update INI for Rubik's Rush
Skip DCBZ was breaking a lot of 2D graphics for no reason and
Immediately Present XFB copies causes output issues.
2018-07-20 03:14:53 -04:00
Techjar
4407854e9c NetPlay save data synchronization
This adds the functionality of sending the host's save data (raw memory
cards, as well as GCI files and Wii saves with a matching GameID) to
all other clients. The data is compressed using LZO1X to greatly reduce
its size while keeping compression/decompression fast. Save
synchronization is enabled by default, and toggleable with a checkbox
in the NetPlay dialog.

On clicking start, if the option is enabled, game boot will be delayed
until all players have received the save data sent by the host. If any
player fails to receive it properly, boot will be cancelled to prevent
desyncs.
2018-07-19 18:09:20 -04:00
Stenzek
67872cd2d1
Merge pull request #7275 from stenzek/d24s8
FramebufferManager: Use D24S8 on Adreno when using Vulkan
2018-07-19 23:36:16 +10:00
Stenzek
dae161e138 FramebufferManager: Use D24S8 on Adreno when using Vulkan
D32F clears are broken on Adreno, which resulted in smeared geometry
across the screen.
2018-07-19 23:30:25 +10:00
Stenzek
3323265d91 FramebufferManager: Dynamic selection of EFB depth format 2018-07-19 21:47:42 +10:00
Stenzek
b30342d38f VideoBackends: Support D24S8 abstract texture format 2018-07-19 21:47:42 +10:00
Markus Wick
f5e8af7b6c
Merge pull request #7276 from stenzek/disable-shared-context-nouveau
DriverDetails: Disable shared context shader compilation on nouveau
2018-07-19 09:15:27 +02:00
Mat M
bcdffdfe63
Merge pull request #7280 from Techjar/qt-cheats-manager-crash
Qt/CheatsManager: Fix segfault in GenerateARCode
2018-07-18 18:05:45 -04:00
Techjar
3cee7d599b Qt/CheatsManager: Fix segfault in GenerateARCode 2018-07-18 17:56:31 -04:00
Techjar
44aa3cdc0f Qt/IOWindow: Don't set QSizePolicy::Expanding on macOS 2018-07-17 14:35:56 -04:00
JosJuice
8d8707da2e
Merge pull request #7277 from cremno/fix-compilation-without-discord-presence
fix compilation w/o Discord Rich Presence
2018-07-17 13:21:38 +02:00
cremno
4ad2153378 fix compilation w/o Discord Rich Presence 2018-07-17 12:03:41 +02:00
Anthony
98c7b232c4
Merge pull request #7266 from spycrab/qt_discord_fix
Qt/GeneralPane: Disable Rich Presence checkbox while emulation is run…
2018-07-16 22:10:32 -07:00
Mat M
bd29548f2a
Merge pull request #7270 from JMC47/NeedForSpeedMWFollowBranch
Disable JITFollowBranch for Need For Speed:MW
2018-07-16 23:45:24 -04:00
Mat M
944b5fade6
Merge pull request #7264 from ligfx/ffmpeg_deprecations
Fix deprecation warnings with recent FFmpeg versions
2018-07-16 23:44:18 -04:00
Stenzek
602fe0f457 DriverDetails: Disable shared context shader compilation on nouveau
Our usage of glFinish() can cause driver crashes and/or lockups.

Please note that this disables the background shader compilation (i.e.
all shaders will be compiled on boot). There is no way around this.
2018-07-17 13:34:18 +10:00
Techjar
f37813d8b6 Qt/IOWindow: Fix detection of button names containing non-alphabetical characters
The button wouldn't be highlighted in the list, as it would look for something like `Click 1` instead of Click 1.
2018-07-16 18:59:23 -04:00
Mat M
5516731a72
Merge pull request #7271 from JosJuice/remove-wx-settings
Remove settings that only were used by DolphinWX
2018-07-16 15:53:21 -04:00
JosJuice
c663dc9e00 Remove settings that only were used by DolphinWX 2018-07-16 21:21:42 +02:00
JosJuice
325f3c6ee5
Merge pull request #7254 from Techjar/dont-set-jitfollowbranch
Core/ConfigManager: Don't set JITFollowBranch
2018-07-16 21:06:31 +02:00
JMC47
99180eaae3 Disable JITFollowBranch for Need For Speed: MW
Need For Speed: Most Wanted crashes with JITFollowBranch enabled when
entering the garage, shop or other buildings from freeroam.
2018-07-15 21:18:11 -04:00
Lioncash
a9003aadc6
DolphinQt/MainWindow: Replace includes with forward declarations
Reduces the amount of dependencies dragged in by the main window's
header. This also removes MainWindow.h includes elsewhere where they
aren't necessary, reducing the amount of UI files that need to be
recompiled if the main window's header changes.
2018-07-15 18:46:26 -04:00
Techjar
d49b415e75 Core/ConfigManager: Don't set JITFollowBranch
We don't want to write this setting to disk, as SConfig has problems
with leaking settings changed by GameINI into the base configs. The
result of this is that if someone plays an N64 VC game (or other game
where we disable this setting) the branch following option can get
unintentionally disabled globally, which will reduce performance in
many games and cause NetPlay to desync with users who still have it
enabled.
2018-07-15 17:38:10 -04:00
Lioncash
71de1abd88 Core/BootManager: Remove unnecessary includes
Lessens the amount of files that have to be recompiled if
ConfigManager.h is modified. This also removes an indirect inclusion
within DolphinQt/Main.cpp.
2018-07-14 23:16:23 -04:00
spycrab
6044165f9d
Merge pull request #7237 from lioncash/netsettings
NetPlayClient: Make global NetSettings instance part of the NetPlayClient class
2018-07-15 00:02:58 +02:00
spycrab
d438e80bfd Qt/GeneralPane: Disable Rich Presence checkbox while emulation is running
Works around core hanging when Discord Rich Presence is toggled
while emulation is running.
2018-07-14 23:39:06 +02:00
spycrab
f184718d1b
Merge pull request #7265 from spycrab/qt_fix_html_log
Qt/LogWidget: Fix messages not being escaped properly
2018-07-14 23:09:39 +02:00
spycrab
e9158bae6f Qt/LogWidget: Fix messages not being escaped properly 2018-07-14 23:06:18 +02:00
Michael M
857138a0ba AVIDump: use dump_path rather than deprecated AVFormatContext::filename
AVFormatContext::filename was deprecated in lavf 58.7.100 in favor
of AVFormatContext::url. Instead of adding version-checking logic,
just use the passed-in dump path instead.
2018-07-14 12:46:04 -07:00
Michael M
e45698aaa0 AVIDump: av_register_all is deprecated/unneeded since 58.9.100 2018-07-14 12:46:00 -07:00
Mat M
865d737efd
Merge pull request #6641 from BhaaLseN/dsp-update
docs: Update the GameCube DSP User's Manual
2018-07-13 17:18:26 -04:00
spycrab
4826acd931
Merge pull request #7260 from spycrab/qt_fix_lazy
Qt/GraphicsWindow: Fix lazy initialisation bugs
2018-07-13 13:07:30 +02:00