Commit Graph

28149 Commits

Author SHA1 Message Date
Lioncash
3da751f054 Interpreter_FPUtils: Set FPSCR.VXSNAN if either operand to NI_mul() is a signaling NaN
If either of the operands are signaling NaNs, then an invalid operation
exception needs to be indicated within the FPSCR.

This corrects SNaN flag setting for fmul, fmuls, ps_mul, ps_muls0, and
ps_muls1.
2018-05-25 12:15:02 -04:00
Léo Lam
3d44dc3981
Merge pull request #6958 from lioncash/rsqrte
Interpreter_FloatingPoint: Handle SNaN flag setting in frsqrte
2018-05-25 15:11:28 +02:00
Léo Lam
56217fd42f
Merge pull request #6956 from lioncash/flag
Interpreter_FPUtils: Set the FPSCR.VX bit if any invalid operation exception bits are set
2018-05-25 15:10:05 +02:00
Léo Lam
9d1785718f
Merge pull request #6955 from lioncash/nan
Interpreter_FloatingPoint: Set FPSCR.VXSNAN if input to fres is a signaling NaN
2018-05-25 15:09:04 +02:00
Léo Lam
647309a650
Merge pull request #6959 from leoetlino/gcc
ES/Formats: Work around a GCC bug
2018-05-25 13:08:57 +02:00
spycrab
89ec040b1a
Merge pull request #6962 from spycrab/qt_renderwidget_fixes
Qt: Fix stop emulation confirmation prompt bugs
2018-05-25 10:09:44 +02:00
spycrab
0aba87bbde
Merge pull request #6963 from spycrab/qt_panicalerts
Qt/InterfacePane: Toggle panic handlers instantly
2018-05-25 10:08:20 +02:00
spycrab
39706748e7 Qt/InterfacePane: Toggle panic handlers instantly 2018-05-25 04:17:04 +02:00
spycrab
fc928ddfc8 Qt: Show exit confirmation prompt on main window 2018-05-25 03:53:40 +02:00
spycrab
7931d2d00d Qt: Fix game not getting paused when exit prompt is open 2018-05-25 03:53:05 +02:00
Léo Lam
7c6844e895 ES/Formats: Work around a GCC bug
In old GCC versions, capturing 'this' does not work for some lambdas.
The workaround is to not use auto for the parameter (even though the
type is obvious). This can be dropped once we require GCC 7.
2018-05-24 21:27:40 +02:00
Lioncash
155bcb1649 Interpreter_FloatingPoint: Set FPSCR.VXSNAN if the input to frsqrte is a signaling NaN
If the input is a signaling NaN, then we need to signal that via setting
the FPSCR.VXSNAN bit. We also shouldn't update the FPRF flags if
FPSCR.VE is set.
2018-05-24 14:37:09 -04:00
Lioncash
31504f85a7 Interpreter_FloatingPoint: Don't update FPRF in frsqrte in certain exceptional cases
If the FPSCR.VE bit is set and an invalid operand is passed in, then the FPRF
shouldn't be updated. Similarly this is also the case when the FPSCR.ZE bit
is set and negative or positive zero is passed in as the operand.
2018-05-24 14:32:40 -04:00
spycrab
a68b8202e1
Merge pull request #6957 from spycrab/qt_bold_header
Qt/GameList: Fix bold header when selecting a game
2018-05-24 17:55:55 +02:00
spycrab
a0b2cdbffc Qt/GameList: Fix bold header when selecting a game 2018-05-24 13:48:14 +02:00
Lioncash
34adc529a7 Interpreter_FloatingPoint: Don't update the FPRF in fres in certain exceptional cases
If FPSCR.ZE is set and a divide by zero exception is signaled, then the
FPRF shouldn't be updated with a result. Similarly, if the input is an
SNaN and FPSCR.VE is set, then the FPRF shouldn't be updated.
2018-05-23 23:31:58 -04:00
Lioncash
dfea5cb00d Interpreter_FPUtils: Set the FPSCR.VX bit if any invalid operation exception bits are set
The VX bit is intended to be a summary bit indicating the occurrence of
any kind of invalid operation. Therefore, whenever an invalid operation
exception is set, also set VX.

This corrects our CR flag setting for multiple instructions in certain
scenarios. This corrects flag setting cases in fadd, fadds, fctiw, fctiwz, fdiv,
frsp, frsqrte, fsub, and fsubs (and technically every floating-point
instruction that we make more accurate in the future with regards to
flag setting).
2018-05-23 21:53:37 -04:00
Lioncash
8a79f9099c Interpreter_FloatingPoint: Set FPSCR.VXSNAN if input to fres is a signaling NaN
fres is defined as having the VXSNAN bit set if an input to the
instruction is a signaling NaN
2018-05-23 21:13:02 -04:00
spycrab
a60bba37cd
Merge pull request #6953 from spycrab/qt_map_unresponsive
Qt/MappingButton: Fix window becoming unresponsive after mapping
2018-05-24 01:21:53 +02:00
spycrab
4c1425b419
Merge pull request #6952 from spycrab/qt_map_all
Qt/Mapping: Add option to map all devices at once
2018-05-24 01:21:23 +02:00
spycrab
574c609709 Qt/Mapping: Add option to map all devices at once 2018-05-24 01:13:47 +02:00
spycrab
c39f00194d Qt/MappingButton: Fix window becoming unresponsive after mapping 2018-05-24 00:01:05 +02:00
Léo Lam
dfb1dbad47
Merge pull request #6951 from JosJuice/game-inis-2018-05-23
Update game INIs
2018-05-23 21:32:22 +02:00
spycrab
7620e1d5f8
Merge pull request #6950 from leoetlino/nand-path
Port FS, SD and dump path to onion config
2018-05-23 20:39:23 +02:00
JosJuice
e6ed919672 Remove enforced inaccurate settings from Lemony Snicket game INI
I have no idea why these were here... And the SkipIdle setting
doesn't even exist anymore.
2018-05-23 19:45:20 +02:00
JosJuice
a9ffd13305 Game INI updates
https://bugs.dolphin-emu.org/issues/7104
https://bugs.dolphin-emu.org/issues/8452
https://bugs.dolphin-emu.org/issues/9040
https://bugs.dolphin-emu.org/issues/10554
https://bugs.dolphin-emu.org/issues/10059
https://bugs.dolphin-emu.org/issues/10155
https://bugs.dolphin-emu.org/issues/10324
https://bugs.dolphin-emu.org/issues/10758
https://bugs.dolphin-emu.org/issues/10759
https://bugs.dolphin-emu.org/issues/10930
https://github.com/dolphin-emu/dolphin/pull/5702#issuecomment-318903278
https://github.com/dolphin-emu/dolphin/pull/5717
https://forums.dolphin-emu.org/Thread-big-brain-academy-problem
https://forums.dolphin-emu.org/Thread-netflix-instant-streaming-disc-testing
https://forums.dolphin-emu.org/Thread-wii-new-carnival-games?pid=469822#pid469822
2018-05-23 19:43:46 +02:00
Léo Lam
c99ac40700 Port FS, SD and dump path to onion config
This ports the Wii filesystem root, Wii SD card path and dump path
settings to the new config system (OnionConfig).

My initial plan was to wait until DolphinWX was removed before porting
most of the Main (Core, DSP, General) settings to onion config, but
I've decided to submit a small part of those changes to fix
[issue 10566](https://bugs.dolphin-emu.org/issues/10566).

Removes the need to manually set the FileUtil path in the UI frontends
and gets rid of some more members that don't really belong in SConfig.

Also fixes a bug which would cause the dump path not to get created
after change.
2018-05-23 16:07:18 +02:00
Léo Lam
93f49b1ca4 Config: Make Load() and Save() slightly faster
Only invoke config changed callbacks from Config::Save, not
Layer::Save. The latter results in callbacks being called
once per layer, up to 7 times per save.
2018-05-23 16:07:18 +02:00
JosJuice
517af3f044 Add vertex rounding to game INIs for certain titles
https://bugs.dolphin-emu.org/issues/10186
2018-05-23 16:05:30 +02:00
JosJuice
8ff3124e5e Remove remaining EmuState sections from game INIs 2018-05-23 15:58:07 +02:00
JosJuice
052ac16650
Merge pull request #6948 from leoetlino/testing
Core: Only init Wii FS contents in Wii mode
2018-05-23 13:53:33 +02:00
Léo Lam
4fd1674c49 Core: Only init Wii FS contents in Wii mode
There's no filesystem when not in Wii mode, so... bad things
would happen.
2018-05-23 13:39:53 +02:00
Léo Lam
da03ff2e25
Merge pull request #6944 from leoetlino/init-fs-contents
Move Wii FS content init to happen after Boot
2018-05-23 11:37:10 +02:00
spycrab
51410b7672
Merge pull request #6946 from spycrab/qt_rob
Qt/RunOnObject: Fix no result being returned
2018-05-23 01:15:59 +02:00
spycrab
1f3df1811b Qt/RunOnObject: Fix no result being returned 2018-05-23 01:07:08 +02:00
spycrab
db65e44335
Merge pull request #6882 from spycrab/qt_fifo_analyzer
Qt/FIFOPlayer: Implement Analyzer
2018-05-23 00:03:20 +02:00
spycrab
94e97d47a0 Qt/FIFOPlayer: Implement Analyzer 2018-05-22 23:51:01 +02:00
Léo Lam
0e9255c469
Merge pull request #6932 from sepalani/debug-patches
DebugInterface: MemoryPatches methods added
2018-05-22 19:15:51 +02:00
Léo Lam
43680f314c
Merge pull request #6942 from lioncash/const
BreakPoints: Make OverlapsMemcheck() a const member function
2018-05-22 19:14:27 +02:00
Léo Lam
593f58be6c Move Wii FS content init to happen after Boot
Initialising Wii filesystem contents should be done after Boot and
not in HW to ensure that we operate with the correct title context
and to make sure required title directories exist (so that Movie and
Netplay code can copy data from and to the temporary NAND).
2018-05-22 19:05:45 +02:00
Lioncash
22ece80f19 BreakPoints: Make OverlapsMemcheck() a const member function
This doesn't modify class state, it only queries said state.
2018-05-22 09:42:20 -04:00
Tilka
5ac05725c8
Merge pull request #6938 from lioncash/priv
Interpreter: Check processor privilege level when executing supervisor instructions
2018-05-22 10:04:53 +01:00
Markus Wick
76eac56a07
Merge pull request #6940 from stenzek/ogl-msaa-efb-access
OGL: Fix EFB access in MSAA-mode
2018-05-22 09:58:58 +02:00
Markus Wick
0979febe78
Merge pull request #6941 from stenzek/unaligned-texture-load
HiresTextures: Do not load compressed textures with unaligned dimensions
2018-05-22 09:57:26 +02:00
Sepalani
8fa898fe9a DebugInterface: MemoryPatches methods added
CodeView: Restore instruction added
2018-05-22 10:31:31 +04:00
Stenzek
f7a0cae7f4 HiresTextures: Do not load compressed textures with unaligned dimensions
D3D11 cannot handle block compressed textures where the first mip level
is not a multiple of the block size. The simple fix for texture pack
authors: leave these textures uncompressed. You can still use a .dds
container.
2018-05-22 16:15:18 +10:00
Stenzek
d0c025bf0b OGL: Fix EFB access in MSAA-mode 2018-05-22 15:35:20 +10:00
Stenzek
7eaba154a4
Merge pull request #6936 from stenzek/copy-filter-depth-fix
EFB2RAM: Apply copy filter as a float coefficient after sampling
2018-05-22 13:52:26 +10:00
Lioncash
9a088e008f Interpreter: Check processor privilege level when executing supervisor instructions
Executing a supervisor-level instruction in user mode is supposed to
cause a program exception to occur.

The following supervisor instructions are present:

- dcbi
- mfmsr
- mfspr
- mfsr
- mfsrin
- mtmsr
- mtspr
- mtsr
- mtsrin
- rfi
- tlbie
- tlbsync

In 0337ca116a checks within mfspr and
mtspr were added. This change adds the trivial checks to the other
instructions.
2018-05-21 23:47:49 -04:00
spycrab
f64bd401b6
Merge pull request #6937 from spycrab/hotfix_fifo
Qt: Fix crash on game start
2018-05-22 04:44:14 +02:00