Commit Graph

28024 Commits

Author SHA1 Message Date
Lioncash
dbe550f7ef Interpreter_LoadStorePaired: Use Common::BitCast where applicable
Gets rid of more memcpy boilerplate code to reinterpret bits. This also
allows us to make variables const where applicable as well.
2018-05-17 15:27:07 -04:00
spycrab
f25213139d Qt/HotkeyScheduler: Fix state loading 2018-05-17 20:27:14 +02:00
spycrab
f51eba9e79
Merge pull request #6879 from aldelaro5/qt-no-screensaver-pause-play
Qt: do not toggle the screensaver when pausing or playing
2018-05-17 13:22:46 +02:00
aldelaro5
0a2357f044
Qt/hotkeys: do not show the debugging tab if the debugger is disabled 2018-05-17 07:22:34 -04:00
aldelaro5
3d9d516bd3
Qt: do not toggle the screensaver when pausing or playing
This fixes 2 crashes with the pause function.  One is when spamming the pause hotkey and the other is to press pause and step hotkeys at the same time.  It does disable the screensaver getting disabled when the emulator is running, but paused, though, a better solution would have to be done without introducing these crashes.
2018-05-17 07:14:44 -04:00
Markus Wick
87a29eb602
Merge pull request #6881 from lioncash/build
Interpreter_FloatingPoint: Fix build in frspx()
2018-05-17 11:05:18 +02:00
Lioncash
abefbf032e Interpreter_FloatingPoint: Fix build in frspx()
Github didn't detect conflicts here, however, since the float handling
functions were moved into the Common namespace, this would cause a build
failure.
2018-05-17 04:55:48 -04:00
Markus Wick
bc8d87bbfd
Merge pull request #6880 from lioncash/macro
PowerPC: Parenthesize GQR macro argument
2018-05-17 10:55:19 +02:00
Lioncash
ddbe292d54 PowerPC: Parenthesize GQR macro argument
Ideally none of these macros would exist (long-term goal), however in
the meantime at least make sure expressions always evaluate correctly
(thankfully no current usages rely on this).
2018-05-17 04:48:29 -04:00
Markus Wick
c485efdfe1
Merge pull request #6743 from stenzek/faster-disabled-copy-filter
TextureConversionShader: Don't sample from adjacent rows when not needed
2018-05-17 10:45:50 +02:00
Markus Wick
6ed3f8b474
Merge pull request #6634 from lioncash/frsp
Interpreter_FloatingPoint: Handle SNaNs and QNaNs properly in frsp
2018-05-17 10:43:14 +02:00
Markus Wick
3e6a706858
Merge pull request #6878 from lioncash/type
PowerPC/Interpreter: Avoid sign conversion with utility functions
2018-05-17 10:04:26 +02:00
Markus Wick
1424964678
Merge pull request #6856 from lioncash/cached-hook
PowerPC: Factor common part of function hooking code out of the interpreter and JITs
2018-05-17 09:45:17 +02:00
Lioncash
3f19aa6469 PowerPC/Interpreter: Avoid sign conversion with utility functions
Given we're operating with flags and bit representations, lets avoid
signed values here. It lessens the amount of sign conversion warnings
and lessens the amount of things to think about screwing you over when
making changes to the interpreter among other things.
2018-05-16 22:21:26 -04:00
Tilka
5b96abf7aa
Merge pull request #6872 from lioncash/exi
EXI_DeviceEthernet: Minor cleanup
2018-05-17 02:17:22 +01:00
Tilka
82d9dea245
Merge pull request #6873 from lioncash/bit
Interpreter_FPUtils: Use Common::BitCast where applicable
2018-05-17 02:12:07 +01:00
Tilka
975a10b3bd
Merge pull request #6876 from lioncash/var
Interpreter_SystemRegisters: Clean up variable naming
2018-05-17 02:09:25 +01:00
Lioncash
d80552b34a Interpreter_SystemRegisters: Clean up variable naming
Cleans up remnant instances of Hungarian notation being used in variable
names along with other spotted deviations.
2018-05-16 20:41:34 -04:00
Tilka
b20c7360ae
Merge pull request #6874 from lioncash/mul
Interpreter_Integer: Clean up casting in mulhwx() and mulhwux()
2018-05-17 01:09:53 +01:00
Lioncash
b29b56c61a Interpreter_Integer: Clean up casting in mulhwx() and mulhwux()
These can be expressed in a slightly cleaner manner without so many
casts. While we're at it, also get rid of unnecessary indexing (we
already have the result nearby).
2018-05-16 19:45:17 -04:00
Lioncash
3400165171 Jit64: Factor function hooking out of DoJit() 2018-05-16 19:00:39 -04:00
Lioncash
f3c13402e8 Interpreter: Factor function hooking code out of SingleStepInner() 2018-05-16 18:56:40 -04:00
Lioncash
4b25538f2f CachedInterpreter: Factor function hooking code out of Jit()
Extracts the self-contained code into its own function to clean up the
flow of Jit() a little more.

This also introduces a helper function to HLE.h that will be used to
reduce the boilerplate here and in the interpreter and Jit64 in the
following commits.

This function performs all of the preliminary checks required prior to
attempting to hook/replace a function at a given address. The function then
calls a provided object that satisfies the FunctionObject concept in the
C++ standard library. This can be a lambda, a regular function pointer,
an object with an overloaded function call operator, etc. The only
requirement is that the function return a bool, indicating whether or
not the function was replaced, and that it can take parameters in the
form: fn(u32 function, HLE::HookType type)
2018-05-16 18:55:49 -04:00
Lioncash
c7cd1424f4 Interpreter_FPUtils: Use Common::BitCast where applicable
Gets rid of now-unnecessary memcpy boilerplating for different bit
representations between integral and fp types.
2018-05-16 17:48:30 -04:00
Lioncash
e7403e121e EXI_DeviceEthernet: In-class initialize members
Gets rid of a second pair of ifdefs in the constructor. This also makes
sure the fd on Unix/BSD platforms is uniformly initialized. Previously
fd would be in an inconsistent state on FreeBSD or OpenBSD due to the
BSD OS checks not being present in the #elif within the constructor.
2018-05-16 16:55:07 -04:00
Lioncash
fc78a4c993 EXI_DeviceEthernet: Make internal members and functions private
Previously, the entirety of CEXIETHERNET was exposed publically, which
wasn't necessary. We simply make the thread function part of the
internal interface, which gives it access to internal data members,
while keeping everything else outside of it.
2018-05-16 16:55:02 -04:00
Markus Wick
b547f72878
Merge pull request #6871 from lioncash/virtual
DSPHLE/UCodes: Replace unnecessary virtual keywords with override
2018-05-16 22:16:26 +02:00
Markus Wick
8fa8aa3e1b
Merge pull request #6870 from lioncash/hash
Common/Hash: Namespace code under the Common namespace
2018-05-16 22:04:20 +02:00
Lioncash
a7b8b15e7f DSPHLE/UCodes: Replace unnecessary virtual keywords with override
Given these HLE classes inherit from a common base with a virtual
destructor, override is more appropriate here, as virtual propagates to
these destructors anyway.

This is also safer. If the base class' destructor is ever made
non-virtual, then these classes will cause a compilation error if they
aren't taken into account, as they'd be overriding a non-virtual
function (the destructor).
2018-05-16 15:57:55 -04:00
spycrab
8ca1bf52c9
Merge pull request #6869 from master0fdisaster/master0fdisaster-patch-1
Fix "Show Input Display"
2018-05-16 21:55:02 +02:00
Lioncash
011ee110bc Common/Hash: Namespace code under the Common namespace
Brings more common code under the Common namespace.
2018-05-16 15:39:23 -04:00
master0fdisaster
2a9283ee3d
Fix "Show Input Display" 2018-05-16 21:07:15 +02:00
spycrab
b203024a26
Merge pull request #6868 from aldelaro5/qt-debugger-fix-updatediasm
Qt/Debugger: Use QApplication::instance() as the connection context in Host_UpdateDisasmDialog()
2018-05-16 18:54:21 +02:00
Léo Lam
47fd8c6eff
Merge pull request #6855 from aldelaro5/qt-render-min-width
Qt: allow to resize the render widget however wanted on render to main
2018-05-16 14:11:51 +02:00
Léo Lam
4de2c5040d
Merge pull request #6867 from jackoalan/code-view-bg
Qt/CodeViewWidget: Dynamic background dimming for dark themes
2018-05-16 14:08:02 +02:00
Léo Lam
9335400f65
Merge pull request #6862 from aldelaro5/qt-unify-pause-play
Qt: make the pause play button only one button
2018-05-16 14:07:35 +02:00
Markus Wick
b4572233c4
Merge pull request #6865 from lioncash/namespace
Common: Add MemArena.h/cpp to the Common namespace
2018-05-16 07:56:29 +02:00
Jack Andersen
d14f6e9ee6 Qt/CodeViewWidget: Dynamic background dimming for dark themes 2018-05-15 18:59:40 -10:00
aldelaro5
33ed5b2e99
Qt/Debugger: Use QApplication::instance() as the connection context in Host_UpdateDisasmDialog()
Because running on the host instance doesn't actually allow to fire the event.  This fix a regression where stepping would not udpate the GUI at all.
2018-05-16 00:42:35 -04:00
aldelaro5
bc43f45119
Qt: make the pause play button only one button
This is to avoid several issue with using 2 actions and switching between them.  This commit will instead have one action get his property changed on pause and play.
2018-05-15 23:37:50 -04:00
Lioncash
947fa271be Common: Add MemArena.h/cpp to the Common namespace
Brings more common code under the Common namespace.
2018-05-15 18:27:32 -04:00
spycrab
51ce30e09d
Merge pull request #6834 from spycrab/qt_settings_fixes
Qt/SettingsWindow: Multiple improvements
2018-05-15 20:18:22 +02:00
spycrab
6c09ce3d95 Qt: Use proper signals 2018-05-15 20:13:12 +02:00
spycrab
79533ef789 Qt/PathPane: Disable "Remove" button when not applicable 2018-05-15 20:13:12 +02:00
spycrab
40e6abad09 Qt/AudioPane: Improve layout 2018-05-15 20:13:12 +02:00
spycrab
54d81ed13a Qt/SettingsWindow: Wrap tabs in scrollareas 2018-05-15 20:13:12 +02:00
Anthony
1d027c6049
Merge pull request #6864 from spycrab/qt_fix_fs_crash
Qt/Host: Fix random crashes when exiting fullscreen
2018-05-15 09:40:25 -07:00
spycrab
b9bd4ecbcb Qt/Host: Fix random crashes when exiting fullscreen 2018-05-15 18:22:26 +02:00
spycrab
71f5fafb3b
Merge pull request #6861 from spycrab/qt_adapter_save
Qt/GeneralWidget: Restore the adapter properly
2018-05-15 11:10:12 +02:00
Markus Wick
b4324847fb
Merge pull request #6863 from booto/jit-ps-dsi
Prevent paired singles routines clobbering PC,SRR0
2018-05-15 11:07:21 +02:00