Lioncash
78a934bb12
Interpreter_FloatingPoint: Handle cases when FPSCR.VE is set and exceptions occur in fctiw and fctiwz
...
If invalid operation exceptions are enabled and an invalid operation
occurs, then the destination value remains untouched. This fixes issues
that may arise when using these two instructions where the destination
gets steamrolled by an infinity or NaN value.
2018-05-28 14:05:12 -04:00
Lioncash
8c4aa133ca
Interpreter_FloatingPoint: Handle NaN flag setting within fctiw and fctiwz
...
If a NaN of any type is passed as the operand to either of these
instructions, we shouldn't go down the regular code path, as we end up
potentially setting the wrong flags. For example, we wouldn't set the
FPSCR.VXCVI bit properly. We'd also set FPSCR.FI, when in actuality it
should be unset.
If an SNaN is passed as an operand, we also need to set the FPSCR.VXSNAN
bit as well.
The flag setting behavior for these can be found in Appendix C.4.2 in
PowerPC Microprocessor Family: The Programming Environments Manual for
32 and 64-bit Microprocessors.
2018-05-28 14:05:08 -04:00
Lioncash
0125d9b099
Interpreter_FloatingPoint: Factor out common code from fctiw and fctiwz
...
fctiwz functions in the same manner as fctiw, with the difference being
that fctiwz always assumes the rounding mode being towards zero. Because
of this, we can implement fctiwz in terms of fctiw's code, but modify it
to accept a rounding mode, allowing us to preserve proper behavior for
both instructions.
We also move Helper_UpdateCR1 to a temporary home in
Interpreter_FPUtils.h for the time being. It would be more desirable to
move it to a new common header for all the helpers, so that even JITs
can use them if they so wish, however, this and the following changes
are intended to only touch the interpreter to keep changes minimal for
fixing instruction behavior.
JitCommon already duplicates the Helper_Mask function within
JitBase.cpp/.h, and the ARM JIT includes the Interpreter header in order
to call Helper_Carry. So a follow up is best suited here, as this
touches two other CPU backends.
2018-05-28 13:28:44 -04:00
Léo Lam
bda668925a
Merge pull request #6989 from lcsondes/fix-vector-assert
...
UICommon: fix m_cached_files pruning.
2018-05-28 12:41:22 +02:00
Léo Lam
0cba9bb218
Merge pull request #7000 from lioncash/wii-extension
...
WiimoteEmu: Get rid of pointer casting in extension GetState() functions
2018-05-28 12:39:01 +02:00
Markus Wick
cddc2d52c2
Merge pull request #6965 from stenzek/d3d-feature-level-10
...
D3D: Don't emit uint outputs when logic op is unsupported
2018-05-28 09:52:07 +02:00
Markus Wick
9e102e1584
Merge pull request #6943 from lioncash/overflow
...
Interpreter/Jit64/JitArm64: Correct negative overflow handling for divw
2018-05-28 09:49:19 +02:00
Markus Wick
a4d25537a1
Merge pull request #6990 from leoetlino/save
...
Config: Fix path settings not being saved
2018-05-28 09:46:27 +02:00
Markus Wick
40d3163b12
Merge pull request #6998 from lioncash/log
...
Common: Remove unnecessary ~9 year old LOGGING preprocessor define
2018-05-28 09:33:21 +02:00
JosJuice
212d415c4b
Merge pull request #6996 from lioncash/color
...
ColorUtil: Namespace code under the Common namespace
2018-05-28 07:26:29 +02:00
Lioncash
6ad6781bd3
WiimoteEmu: Get rid of pointer casting in extension GetState() functions
...
We can just memcpy the data instead of pointer-casting data, which is
alignment-safe and doesn't run afoul of aliasing rules.
Previously it also made it seem as if data itself pointed to valid
usable data, but it doesn't, it simply functions as an out parameter
where we push data built up from the GetState() functions into it.
2018-05-27 22:33:26 -04:00
spycrab
6268c7b3d5
Qt: Sort includes properly
2018-05-28 04:31:38 +02:00
Lioncash
ee434d4f01
Common: Remove unnecessary ~9 year old LOGGING preprocessor define
...
This was added in 4bdb4aa0d1
back in
2009-02-27. The only usage spot of this macro involves the same checks
that were used to define that preprocessor macro, so we can simply
remove the macro
2018-05-27 21:33:25 -04:00
spycrab
d0e2c353a0
Qt: Fix using GC Adapter requiring restart
2018-05-28 03:15:45 +02:00
Lioncash
a745666a60
ColorUtil: Amend function name casing
...
Makes the function names conform to our coding style.
2018-05-27 21:04:48 -04:00
Lioncash
ac474ff1da
ColorUtil: Namespace code under the Common namespace
...
Given this is within Common, it should be in the Common namespace
itself.
2018-05-27 21:00:54 -04:00
spycrab
18a31e12fd
Merge pull request #6987 from spycrab/qt_info_unknown
...
Qt/InfoWidget: Don't display unavailable information
2018-05-28 02:36:40 +02:00
Lioncash
c056708dc8
CDUtils: Remove unused parameter in IsCDROM()
...
It was only ever passed nullptr, and even then, nothing was actually
done with the parameter.
2018-05-27 18:48:23 -04:00
Lioncash
470b09fe9d
CDUtils: Amend function names
...
Amends the function names to follow our coding style.
2018-05-27 18:48:09 -04:00
Lioncash
1f75fa0aff
CDUtils: Namespace code under the Common namespace
2018-05-27 18:30:58 -04:00
Lioncash
f4ec419929
SymbolDB: Namespace code under the Common namespace
...
Moves more common code into the Common namespace where it belongs.
2018-05-27 18:01:40 -04:00
Lioncash
72e8058fb8
SymbolDB: Default constructor and destructor within the cpp file
...
Given this is a class with non-trivial data-members, it's preferable to
default the constructor and destructor in the cpp file.
2018-05-27 17:25:22 -04:00
Lioncash
a1a81c7bc9
SymbolDB: Convert typedefs into using aliases
2018-05-27 17:23:55 -04:00
Lioncash
e9b9797a86
SymbolDB: Normalize variable names
...
Normalizes variable naming so that it adheres to our coding style
While we're at it do minor cleanup relating to modified lines
2018-05-27 17:23:10 -04:00
lcsondes
7a13bdbdfb
UICommon: fix m_cached_files pruning (partial revert of 68152faf43
)
...
vector::pop_back invalidates all iterators
2018-05-27 22:15:16 +01:00
Léo Lam
44879f163e
Config: Fix path settings not being saved
...
Forgot to add a few lines while cherry-picking the config changes
for https://dolp.in/pr6950
Fixes https://bugs.dolphin-emu.org/issues/11171
2018-05-27 21:03:01 +02:00
spycrab
4665a927ba
Qt/InfoWidget: Don't display unavailable information
2018-05-27 16:27:29 +02:00
JosJuice
512c6fee51
Merge pull request #6986 from leoetlino/warnings
...
Debug: Add missing override specifiers
2018-05-27 16:16:13 +02:00
spycrab
ed0cefec78
Merge pull request #6976 from JosJuice/qt-addgame
...
GameListModel: Don't do a linear scan for each newly added game
2018-05-27 15:42:17 +02:00
spycrab
48961aa677
Merge pull request #6984 from Techjar/patch-2
...
Qt/GameConfigWidget: Fix Deterministic dual core not saving if changed to "Not Set"
2018-05-27 15:35:03 +02:00
Léo Lam
145258ad27
Debug: Add missing override specifiers
2018-05-27 14:39:01 +02:00
spycrab
febc1f8139
Merge pull request #6980 from spycrab/qt_fix_gamelist
...
Qt/GameTracker: Register missing metatype
2018-05-27 14:28:21 +02:00
spycrab
0cf59adeb5
Qt/GameTracker: Register missing metatype
2018-05-27 14:21:07 +02:00
Léo Lam
bea1e38c67
Move ECCSignature to Common::ec and give it a less confusing name
2018-05-27 14:01:38 +02:00
Léo Lam
44827ba369
Use CertECC struct instead of hardcoded offsets
2018-05-27 14:01:38 +02:00
Markus Wick
5de2f960a1
Merge pull request #6985 from degasus/arm_vertex_loader_fix
...
VertexLoaderArm: Fix 565 color format.
2018-05-27 12:11:40 +02:00
degasus
3307946e2a
VertexLoaderArm: Fix 565 color format.
...
Copy & paste error for enforcing A=255.
It was copied from the 888X format, which stores the output data in another register.
2018-05-27 11:27:15 +02:00
JosJuice
a81a0d8c3e
GameListModel: Don't do a linear scan for each newly added game
2018-05-27 11:27:06 +02:00
Léo Lam
e9ce75ccc4
Merge pull request #6977 from lioncash/add
...
Interpreter_FPUtils: Set FPSCR.VXSNAN if either operand to NI_add() is a signaling NaN
2018-05-27 10:21:20 +02:00
Léo Lam
8f003f995b
Merge pull request #6981 from lioncash/const
...
CodeWidget/CodeViewWidget: Make symbol pointers const where applicable
2018-05-27 10:20:38 +02:00
Techjar
694f0842ce
Qt/GameConfigWidget: Fix Deterministic dual core not saving if changed to "Not Set"
2018-05-27 04:20:04 -04:00
JosJuice
c0553afff1
DolphinQt2: Fix a race condition in GameTracker
...
We need to make sure that LoadCache finishes before Start begins
accessing m_cache. The old solution with mutexes didn't do this.
2018-05-27 07:38:33 +02:00
Lioncash
880f7871d9
CodeWidget/CodeViewWidget: Make symbol pointers const where applicable
...
These aren't used to modify the data they point to, so make that
explicit. Also while we're at it, add const to any nearby variables that
can be made so.
2018-05-26 23:43:28 -04:00
spycrab
7b07424885
Merge pull request #6975 from JosJuice/qt-fast-gamelist
...
DolphinQt2: Show cached games before checking whether they exist on disk
2018-05-27 04:31:32 +02:00
spycrab
0c2538f17f
Merge pull request #6960 from spycrab/update_manually
...
Qt: Add option to invoke the updater manually
2018-05-27 04:29:02 +02:00
spycrab
ec322271ee
Qt: Add option to invoke the updater manually
2018-05-27 04:12:21 +02:00
spycrab
6b71217268
Qt/SettingsWindow: Fix SelectGeneralPane opening the Audio pane
2018-05-27 03:36:25 +02:00
Lioncash
054c1b32eb
Interpreter_FPUtils: Set FPSCR.VXSNAN if either operand to NI_add() is a signaling NaN
...
This corrects VXSNAN flag setting for fadd, fadds, ps_add, ps_sum0, and ps_sum1
2018-05-26 16:05:33 -04:00
JosJuice
fd651cf5e6
GameFileCache: Fix a comment mistake
2018-05-26 20:21:22 +02:00
JosJuice
f2103c1b51
DolphinQt2: Avoid an unnecessary string conversion
2018-05-26 20:21:21 +02:00