Commit Graph

24190 Commits

Author SHA1 Message Date
1c25e6352a Jit64: addx - Emit nothing when possible
When the destination register matches a source register, the other
source register contains zero, and overflow isn't needed, the
instruction becomes a nop and we don't need to emit anything.

We could add specialized handling for the case where overflow is needed,
but none of the titles I tried would hit this path.

Before:
83 C7 00             add         edi,0

After:
2020-04-21 22:35:17 +02:00
f1c3ab359d Jit64: addx - Deduplicate branches part 2
No functional change, just simplify some repeated logic in the case
where we're dealing with exactly one immediate and one simple register
when overflow isn't needed.
2020-04-21 22:06:46 +02:00
72fbdf1a6b Jit64: addx - Deduplicate branches part 1
No functional change, just simplify some repeated logic for the cases
where the destination register matches one of the sources.
2020-04-21 22:06:39 +02:00
c33565295d Merge pull request #8713 from sepalani/dbg-printf
HLE: Add more debug functions
2020-04-21 12:58:34 -04:00
d845b31579 Merge pull request #8717 from stenzek/mismatched-xf-bp
VertexManagerBase: Skip drawing objects with mismatched xf/bp stages
2020-04-21 10:07:36 -04:00
b2cf106ae9 IOS/FS: Fix FST write failure on some platforms
On some platforms (like Windows), the temporary file must be closed
before it can be renamed.

I guess nobody noticed this for so long because (1) the FS code has a
failsafe for missing FST entries (because existing users do not have
a FST), and most games do not care about file metadata;
(2) the write failures can only be seen in the logs.

Because we don't want this to break, I have turned the ERROR_LOGs into
PanicAlerts.
2020-04-18 12:42:12 +02:00
9de3717c50 Merge pull request #8340 from stenzek/max-res
DolphinQt: Don't overwrite >8x IR scale in ini, add maximum internal res option
2020-04-16 21:01:14 -04:00
935b12d785 Merge pull request #8730 from JosJuice/frame-advance-duplicate-frame
Core: Skip duplicate frames when using frame advance
2020-04-16 18:29:16 -04:00
85a8325701 Merge pull request #8733 from JosJuice/di-baten-kaitos
Adjust s_DIMAR/s_DILENGTH behavior (fixes Baten Kaitos music)
2020-04-16 18:28:09 -04:00
19fc43f190 Merge pull request #8708 from Ebola16/Wii
Android: Add Insert SD Card and update the description
2020-04-16 18:27:51 -04:00
55ed980620 Merge pull request #8711 from Ebola16/SDDE
Set Insert SD Card default value to true
2020-04-16 18:25:47 -04:00
3629e75dd2 Merge pull request #8716 from Pokechu22/properties-leak
Delete properties dialog on close
2020-04-16 13:53:37 +02:00
744abab478 Merge pull request #8741 from cristian64/add_checkbox_to_filter_ingame_netplay_sessions
DolphinQt: Added checkbox to filter out NetPlay sessions that are already in-game.
2020-04-13 08:52:23 -04:00
c0ae9cbc45 Merge pull request #8584 from jordan-woyak/widescreen-heuristic-fix
VideoCommon: Tweak widescreen heuristic.
2020-04-13 05:57:19 -04:00
bb99062f18 IOS/USBHost: Skip starting threads when determinism is enabled
The threads can't actually be started when determinism is enabled, as
the behavior would not be deterministic, but Open() still tries to
start the threads and wait, resulting in a deadlock when booting
certain games and homebrew in NetPlay.
2020-04-12 23:44:53 -04:00
dab4f8b36e DolphinQt: Added checkbox to filter out NetPlay sessions that are already in-game. 2020-04-13 00:42:03 +02:00
d3dc81ba74 Fix bug 11920
DSP LLE Interpreter does not have a DSP thread, so trying to wait would hang. (DSP LLE recompiler also has no thread when in determinism mode).
2020-04-10 12:15:06 -07:00
b2c9149cf8 Remove outdated comment from Movie::FrameUpdate
9c5c3c0 made this function be called on the CPU thread.
2020-04-10 00:18:53 +02:00
94f83db2b5 Adjust s_DIMAR/s_DILENGTH behavior (fixes Baten Kaitos music)
https://bugs.dolphin-emu.org/issues/11997

The problem seemed to be that s_DILENGTH would get set to 0
at times when it shouldn't. Simply not changing it in case
of NoReply or DTK seems to fix the problem. However, we can
actually go one step further in accuracy and use data.size()
to change s_DIMAR and s_DILENGTH as partial reads (NoReply
commands) complete, instead of jumping directly to 0 when
the whole read completes.
2020-04-09 22:13:45 +02:00
812ad4257c Core: Skip duplicate frames when using frame advance
It used to be the case that frame advance skipped duplicate frames
(i.e. it would take 30 frame advances to get through one second
of emulated time in a 30 fps game), but this broke in 9c5c3c0.
Skipping duplicate frames making TASing less annoying.
2020-04-09 11:39:29 +02:00
1a42355f96 Core: Clarify Callback_VideoCopiedToXFB and FrameUpdate 2020-04-09 00:21:04 +02:00
9a2d8a9623 Merge pull request #8715 from JosJuice/panic-alert-deadlock
DolphinQt: Fix the panic alert deadlock (a.k.a. "Question" issue)
2020-04-08 17:20:32 -04:00
a2f4fafe86 Vulkan: Switch from vkCreateMacOSSurfaceMVK() to vkCreateMetalSurfaceEXT()
Since we are calling this off the UI thread, we can't use anything which
accesses the underlying NSView object. We create and set the Metal layer
on the UI thread before the video backend is initialized. This extension
is both compatible with MoltenVK and gfx-portability for accepting a
layer at surface creation.
2020-04-07 18:56:55 +10:00
e11a2bda56 Delete properties dialog on close
Fixes the game file being locked until Dolphin closes.
2020-04-02 16:14:37 -07:00
ff7180cac4 Analytics: Add quirk for mismatched xf/bp texgens/colors 2020-04-02 12:52:16 +10:00
a9c1dcf656 VertexManagerBase: Skip drawing objects with mismatched xf/bp stages
Hardware tests have shown that if the number of texgens/channels do not
match, you get garbage rendering. Presumably because the output
registers from the XF stage are fed into the incorrect input registers
for TEV/BP.

Currently, this causes Dolphin to crash/generate invalid shaders with an
assertion failure in the hardware backends. Instead, we log an error.

Perhaps in the future we should just spit out all texgens/colors anyway
from both stages, and let cross-stage optimization take care of DCE'ing
it away. But doing so would require changing the UIDs and invalidating
everyone's shader caches.
2020-04-02 12:51:41 +10:00
ef778723a2 DolphinQt: Fix the panic alert deadlock (a.k.a. "Question" issue) 2020-03-31 21:00:32 +02:00
a3ff20a5f9 Android: Add Insert SD Card and update description 2020-03-31 14:58:00 -04:00
85cd59c585 HLE: Add more debug functions 2020-03-30 17:46:50 +04:00
fdc9ea6ca0 Set Insert SD Card default value to true 2020-03-30 06:15:17 -04:00
5988d20917 Merge pull request #8698 from howard0su/warning_capture
Cleanup warnings of -Wunused-lambda-capture
2020-03-26 10:37:33 +01:00
651595c521 Merge pull request #8701 from howard0su/static_wiimote
Wiimote: Cleanup warnings of -Wmissing-variable-declarations
2020-03-24 23:14:46 +10:00
da223a2271 Cleanup warnings of -Wunused-lambda-capture
Remove unused lambda captures.
2020-03-24 20:14:10 +08:00
9dec1e9998 use s_ prefix for local variables 2020-03-24 20:13:20 +08:00
5b10f4b71e Merge pull request #8673 from JosJuice/preserve-setting-txt
Boot: Do a better job of preserving certain parts of settings.txt
2020-03-24 10:16:17 +01:00
b3ad3c3b07 Merge pull request #8683 from AlexApps99/cmdl
Parse arguments before Qt
2020-03-24 10:02:24 +01:00
323bffed01 Merge pull request #8700 from howard0su/add_override
NoGUI: missing override in PlatformX11
2020-03-24 18:34:48 +10:00
76b97a4183 Merge pull request #8680 from Leseratte10/master
SettingsHandler: Always decode the whole settings.txt file
2020-03-24 00:21:29 +01:00
aee9c7390d Merge pull request #8699 from howard0su/cleanup_move
Cleanup warnings of -Wpessimizing-move
2020-03-23 19:58:13 +01:00
a6d1fe59a3 Merge pull request #8693 from howard0su/warning_xinpu
InputCommon: cleanup warnings of -Wclass-memaccess
2020-03-23 19:18:08 +01:00
6fab09951b Merge pull request #8692 from howard0su/warning_unused
Cleanup warnings of -Wunused-[const]-variable
2020-03-23 19:10:52 +01:00
623a50786d Merge pull request #8702 from sl1pkn07/Qt5.15
Fix build with Qt 5.15+
2020-03-23 18:35:09 +01:00
4f7ea79ae4 Fix build with Qt 5.15+ 2020-03-23 17:58:39 +01:00
0bd6016ad0 Wiimote: Cleanup warnings of -Wmissing-variable-declarations
While I am here, make g_wiimote_scanner as static as well.
2020-03-23 16:43:21 +08:00
fb7fbb4a7b NoGUI: missing override keyword GetWindowSystemInfo 2020-03-23 16:35:45 +08:00
964a2e1e70 Cleanup warnings of -Wpessimizing-move
moving a temporary object prevents copy elision. Remove std::move.
2020-03-23 16:31:15 +08:00
500820b352 Cleanup warnings of -Wunused-const-variable 2020-03-23 16:28:25 +08:00
997cfa49fc InputCommon: cleanup warnings of -Wclass-memaccess
Initialize m_state with the default constructor.
2020-03-23 14:26:36 +08:00
7c7a41ecd8 Cleanup warnings of -Wunused-variable
remove unused variables.
2020-03-23 14:24:27 +08:00
d44c51b30c DiscIO: cleanup warnings of -Wmaybe-uninitialized
replace {} with std::nullopt.
2020-03-23 14:14:00 +08:00