Lioncash
25d38c0a23
Interpreter_LoadStorePaired: Simplify type aliases in QuantizeAndStore() and LoadAndDequantize()
...
These can just use the _t variant of make_unsigned, which eliminates the
need to pull the type from the ::type member type.
2018-06-04 17:57:05 -04:00
Léo Lam
d1e2cc7b92
Merge pull request #7070 from spycrab/qt_prop_width
...
Qt/PropertiesDialog: Fix tabs being cut off due to small window size
2018-06-04 23:49:28 +02:00
Léo Lam
8fe7f8d80d
Merge pull request #7072 from lioncash/emitter
...
DSPEmitter: Make m_unresolved_jumps private
2018-06-04 22:26:24 +02:00
JosJuice
5e0da225ee
Merge pull request #7068 from lioncash/const
...
DSPAccelerator: const qualify pointer parameter for Read()
2018-06-04 22:05:26 +02:00
Lioncash
bbd2fd080e
DSPEmitter: Make m_unresolved_jumps private
...
By making the jitted function a private static function of DSPEmitter,
we can allow access to data members within the context of the function
without making them public overall.
This finally makes all data members for the x64 DSP emitter private.
2018-06-04 15:46:08 -04:00
spycrab
b3c3b58aec
Qt/PropertiesDialog: Fix tabs being cut off due to small window size
2018-06-04 21:11:55 +02:00
Léo Lam
5f29e891d3
Merge pull request #7063 from lioncash/fifr
...
Interpreter: Unset FPSCR.FI and FPSCR.FR for QNaN and infinity input operands
2018-06-04 20:53:58 +02:00
Léo Lam
6ce9c96d91
Merge pull request #7027 from leoetlino/cleanup
...
Use some C++17 features available since GCC 6
2018-06-04 20:50:50 +02:00
Lioncash
1e3e11d0f5
DSPAccelerator: const qualify pointer parameter for Read()
...
The data pointed to is only ever read, so make this explicit.
2018-06-04 14:50:42 -04:00
Léo Lam
2a89ad9c39
Merge pull request #7066 from spycrab/qt_fs_exit
...
Qt: Always return to windowed when confirming exit
2018-06-04 20:48:22 +02:00
spycrab
53ed455d76
Qt: Always return to windowed when confirming exit
...
If we don't do this the prompt *may* appear behind the fullscreened window
and thus cause confusion. This happens both with exclusive fullscreen and
borderless fullscreen (e.g. for OpenGL).
2018-06-04 20:32:36 +02:00
Léo Lam
9b43180731
Merge pull request #7040 from JMC47/enableadouble2single
...
[JIT] Enable Accurate Double to Single Conversion
2018-06-04 20:29:15 +02:00
spycrab
afc2c51e34
Merge pull request #7065 from spycrab/qt_pause_exit
...
Qt: Fix emulation still not being paused when confirming exit
2018-06-04 19:16:16 +02:00
spycrab
b13cf2e16e
Qt: Fix emulation still not being paused when confirming exit
2018-06-04 18:13:05 +02:00
Michael M
932ca644aa
Add hotplug support to SDL2 controller backend
2018-06-04 17:50:08 +02:00
Michael M
7062967b5b
SDLJoystick: store name on creation
...
Otherwise, Dolphin will crash when the joystick is removed.
2018-06-04 17:49:21 +02:00
Michael M
0eb47e1071
CMake: make SDL a private dep of InputCommon
2018-06-04 17:49:21 +02:00
JMC47
2795376b61
Enable Accurate Double to Single Conversion
2018-06-04 11:49:12 -04:00
Léo Lam
8e0ea92ec3
Merge pull request #7058 from JosJuice/move-titledatabase-usage
...
Don't store custom names from TitleDatabase in GameFileCache
2018-06-04 14:59:05 +02:00
Léo Lam
8074192a85
Merge pull request #7057 from leoetlino/string
...
Config/StringUtil/IniFile: Get rid of some duplicated code
2018-06-04 12:44:57 +02:00
JosJuice
85e94cc510
Don't store custom names from TitleDatabase in GameFileCache
...
This saves us from having to update the GameFileCache when the
TitleDatabase changes (for instance when the user changes language).
2018-06-04 07:45:22 +02:00
Lioncash
9068109b3e
Interpreter: Unset FPSCR.FI and FPSCR.FR for QNaN and infinity input operands
...
This hardware behavior makes sense, as the FI bit is used to signify an
inexact result. An inexact result is a form of value that results during
the rounding phase of denormalization. If any bits of the significand
are lost during said rounding, then the result is considered to be
inexact.
However NaN and infinity are not classed as subnormals and therefore
don't undergo the denormalization step, making loss of precision not
possible (in NaN's case, numerically rounding something that is
literally Not a Number doesn't even make sense).
FR is set to indicate whether or not the last arithmetic or rounding and
conversion instruction that rounded the intermediate result incremented
the fractional portion of the result. Given neither input types would be
affected by this, this should also be unset.
This corrects more of the exceptional case handling for these values to
match hardware.
2018-06-03 18:15:47 -04:00
Léo Lam
0ecec33567
WiiRoot: Use a namespace alias for FS to reduce noise
2018-06-03 21:37:28 +02:00
Léo Lam
c1428b6da0
WiiRoot: Use new filesystem interface
...
This gets rid of remaining direct accesses to the Wii filesystem
in WiiRoot by using WiiSave to copy saves and the FS interface
2018-06-03 21:21:32 +02:00
Léo Lam
8fce18e4ff
Merge pull request #7059 from leoetlino/fs-wiisave
...
WiiSave: Use new filesystem interface
2018-06-03 21:05:22 +02:00
Léo Lam
6b9aef7042
FS: Add a struct for modes
...
As suggested here: https://dolp.in/pr7059#pullrequestreview-125401778
More descriptive than having a std::tuple of FS::Mode, and lets us
give names to known triplets of modes (like in ES). Functions that
only forward mode arguments are slightly less verbose now too.
2018-06-03 20:45:35 +02:00
Lioncash
06056d4f45
Gekko: Make register constructors explicit where applicable
...
Prevents implicit conversions to types and requires explicitly
specifying them in order to construct instances of them. Given these are
used within emulation code directly, being explicit is always better
than implicit.
2018-06-03 12:37:17 -04:00
Léo Lam
d1a8661709
WiiSave: Save and restore files and banner with correct mode
2018-06-03 17:23:40 +02:00
Léo Lam
fd3472442d
WiiSave: Use new filesystem interface
...
Converts WiiSave to the new filesystem interface.
2018-06-03 17:01:14 +02:00
Léo Lam
c22205cd7e
Merge pull request #7053 from lioncash/frfi
...
Interpreter_FPUtils/FloatingPoint/Paired: Amend cases where FPSCR.FR and FPSCR.FI should be unset
2018-06-03 15:36:12 +02:00
Léo Lam
83324fe77d
StringUtil: Remove ValueToString(std::string)
...
Doesn't make a lot of sense to have a function that gives the string
representation for a string.
2018-06-03 15:11:59 +02:00
Léo Lam
7e79bf97ab
IniFile: Use templates for Get()
...
Gets rid of duplicated code.
2018-06-03 14:53:56 +02:00
Léo Lam
cba32b12e7
IniFile: Use templates for Set()
2018-06-03 14:53:56 +02:00
Lioncash
3e63d71046
Gekko: Add helper function for clearing both FPSCR.FI and FPSCR.FR
2018-06-03 08:27:18 -04:00
Léo Lam
fc0193c4b1
Move Config ValueToString to StringUtil
...
An identical implementation is used by IniFile, so move those functions
to StringUtil. A future commit will modify IniFile to use them.
2018-06-03 14:10:52 +02:00
spycrab
0cc20e95fe
Qt/HotkeyWindow: Always show debugging tab
2018-06-03 13:40:57 +02:00
spycrab
9c26a1a458
Qt/Hotkeys: Implement missing "Other State Management" tab
2018-06-03 12:44:02 +02:00
Léo Lam
1e51e263e0
Merge pull request #6988 from leoetlino/wii-save-refactor
...
WiiSave: Refactor the import/export code
2018-06-03 12:05:43 +02:00
Léo Lam
86368fcd4d
Merge pull request #6499 from Ebola16/SettingsGroup
...
Android: Initial implementation of Interface submenu
2018-06-03 12:02:56 +02:00
Lioncash
d6bafbfaaf
Interpreter_Paired: Handle signaling NaNs within ps_res and ps_rsqrte
...
Like regular fres and frsqrte, these also signal whether or not either
of the inputs are signaling NaNs.
2018-06-02 20:47:18 -04:00
Lioncash
d05c2ef90d
Interpreter_Paired: Unset FPSCR.FI and FR in ps_res and ps_frsqrte in exceptional cases
...
If invalid operation exceptions or zero divide exceptions occur in
either of these instructions, FI and FR are supposed to be unset.
2018-06-02 20:42:47 -04:00
Lioncash
83774f72ad
Interpreter_FloatingPoint: Unset FPSCR.FI and FPSCR.FR if a division by zero exception occurs in fres and frsqrte
...
Within the programming environments manual, part of the behavior of a
zero divide exception condition is that FI and FR be cleared.
2018-06-02 20:26:20 -04:00
Lioncash
468efb7243
Interpreter_FPUtils: Unset FPSCR.FI and FPSCR.FR if an invalid operation occurs in NI_* functions
...
If an invalid operation occurs, FI and FR bits are defined to be cleared
to zero for arithmetic operations.
2018-06-02 20:18:51 -04:00
Anthony
0f7370a22c
Merge pull request #7051 from lioncash/frsqrte
...
Interpreter_FloatingPoint: Don't store to destination in frsqrte if VE or ZE is set and a relevant exception occurs
2018-06-02 13:49:09 -07:00
spycrab
ba471c3214
Merge pull request #7048 from spycrab/qt_fs_size
...
Qt/FilesystemWidget: Add size column
2018-06-02 21:45:02 +02:00
Léo Lam
396810c450
Merge pull request #7050 from lioncash/ptr
...
WiimoteDevice: Get rid of pointer casting in CBigEndianBuffer
2018-06-02 21:35:43 +02:00
Lioncash
21add26b71
Interpreter_FloatingPoint: Clear FPSCR.FI and FPSCR.FR in invalid operation cases
...
As explained within 179d73ac0d
, the table
within the Programming Environments Manual for PowerPC lists the FI and
FR bits as cleared for invalid operation cases. So, we amend the
relevant cases here in order to be accurate to hardware.
2018-06-02 15:30:56 -04:00
Lioncash
b71a9e658f
Interpreter_FloatingPoint: Don't store to destination in frsqrte if VE or ZE is set and a relevant exception occurs
...
As explained within commit a08ad82ace
, if
an invalid exception occurs and VE is set, then the destination register
should remain unchanged. Ditto for when ZE is set and a zero divide
exception occurs.
2018-06-02 15:27:14 -04:00
Lioncash
f6c4c05d93
WiimoteDevice: Make CBigEndianBuffer's constructor explicit
...
Prevents implicit construction of buffers.
2018-06-02 15:10:51 -04:00
Lioncash
4601136b08
WiimoteDevice: Get rid of pointer casting in CBigEndianBuffer
...
Gets rid of more places where we can violate alignment requirements and
aliasing rules.
2018-06-02 15:02:03 -04:00