Commit Graph

5867 Commits

Author SHA1 Message Date
a5c10ded55 JitArm64: Fix copy&paste issue 2015-07-12 09:41:32 +02:00
7196901b40 JitArm64: Move all FLUSH_MAINTAIN_STATE to the far cache 2015-07-12 09:41:32 +02:00
b8dd68beef JitArm64: Far Code Cache 2015-07-12 09:41:32 +02:00
b30ae1b9f8 Merge pull request #2730 from lioncash/undef
SI_DeviceGCController: Remedy undefined behavior regarding shifts
2015-07-12 06:30:50 +02:00
c70f3f4b45 Merge pull request #2731 from skidau/PAL-Progressive
Removed the ability for PAL televisions to be set to progressive mode.
2015-07-10 16:00:23 +10:00
6d2f85f183 Removed the ability for PAL televisions to be set to progressive mode. 2015-07-10 10:26:24 +10:00
6e90d1e433 SI_DeviceGCController: Remedy undefined behavior regarding shifts
Left shifting a negative left-hand operand is undefined behavior per section 5.8.2 of the C++11 standard.
2015-07-09 13:08:40 -04:00
5768161052 Core: Pass string by const reference in SaveScreenShot 2015-07-09 07:24:30 -04:00
7b7d1b0dcf Merge pull request #2718 from phire/1way-icache
Interpreter: Fix bug with icache emulation.
2015-07-08 07:29:46 -05:00
4ffeb057cc Interpreter: Fix bug with icache emulation.
The constructor sets up way_from_valid and way_from_plur as fast lookup
tables for implementing the PLRU algrothm. Then the Init function
memsets them to zero, meaning the instruction cache will now always
choose the first way in each set.

This degrades the cache from 128 sets, 8 way to 128 sets, 1 way.

Not only does fixing this bug increase accuracy, but it increases
preformance too, giving a 1% speedup to interpreter.
2015-07-07 22:20:36 +12:00
c54534ee3b Merge pull request #2649 from phire/FileIO_Sanity
IPC_HLE: Don't open/close files for every single file operation.
2015-07-07 17:16:28 +12:00
effb626bef JitArm64: Implement EXCEPTION_FPU_UNAVAILABLE support.
Seems like this flag was missed.
This patch was mostly done by HdkR.
2015-07-06 23:40:20 +02:00
e3c6eb2a85 WiimoteEmu: Fix use of spaces.
There should be a tab here instead.
2015-07-06 13:20:24 -04:00
614a656b83 DSPInterpreter: Remove an unused typedef
DSPTables already has an equivalent of this, which it uses.
2015-07-06 06:47:13 -04:00
b6ee886540 Merge pull request #2708 from lioncash/override
MMIO: Add missing override specifiers
2015-07-06 12:36:37 +02:00
c7193fcd41 MMIO: Add missing override specifiers 2015-07-06 06:11:31 -04:00
009148d401 Merge pull request #2701 from mickdermack/pr-jitnull
Prevent nullptr dereference on a crash with no JIT present
2015-07-05 16:37:29 +02:00
2b2af12466 Prevent nullptr dereference on a crash with no JIT present
JitInterface::HandleFault would dereference jit which is NULL, causing a stack overflow through infinite exception recursion.
2015-07-05 14:24:51 +02:00
ce10525056 Eliminate branch in GenFres 2015-07-05 11:18:59 +02:00
08fcc7bf84 IPC_HLE: Cleanup device definitions with templates.
Less copy/pasted code will make future modifications easier.
2015-07-05 02:05:39 +12:00
1d5cda9820 IPC_HLE: Reimplement fix for issues 2917/5232 with more sanity.
Instead of opening... and... closing... files... after... every...
file... operation... (which can be slow, especially if a virus scanner
is running), we catch attempts to open the same file twice and
only open one copy of the file.
2015-07-05 02:01:45 +12:00
afea72edfe Revert "Interpreter: assign directly instead via variables"
This reverts commit 174ada3a62.
2015-07-03 21:10:18 +02:00
3fc070c4fc Merge pull request #2680 from degasus/idle
Interpreter: Idle skipping support
2015-07-03 19:52:05 +02:00
bee7f19d76 Merge pull request #2682 from AdmiralCurtiss/libusb-fix-win-crash-without-drivers
GC Adapter: Do not attempt to claim_interface when libusb_open() fails.
2015-07-01 23:48:24 +02:00
245a639e2c JitArm64: Partially fallback on bcctrx
No need to assert, fallbacks on branching instructions now works fine.
2015-07-01 17:58:17 +02:00
0054c4e0d9 JitArm64: Drop icbi instruction
It was already just a fallback + exit. Now we emit the exit for all affected fallbacks.
2015-07-01 17:58:17 +02:00
dc83c8912f JitArm64: Support branching fallbacks 2015-07-01 17:58:17 +02:00
b174f99b17 Merge pull request #2662 from Tilka/interpreter
Interpreter: turn SNaNs into QNaNs
2015-07-01 01:09:43 -05:00
68d8d784ee Merge pull request #2670 from endrift/dolphinbar-osx
WiimoteReal: Add IOHIDDevice support for OS X
2015-06-30 23:33:13 -05:00
a0f5bd51f1 Merge pull request #2678 from Sonicadvance1/aarch64_implement_rlwimix
[Aarch64] implement rlwimix.
2015-06-30 22:18:00 -05:00
2cddaa09f0 [AArch64] Implement rlwimix. 2015-06-30 19:49:10 -05:00
08b952ef31 GC Adapter: Do not attempt to claim_interface when libusb_open() returns an error.
Fixes a crash / nullptr dereference when the adapter is plugged in but
no drivers are installed for it, on Windows.
2015-07-01 01:29:04 +02:00
45fde6caf5 Merge pull request #2669 from stgn/new-dsp-coef
Audio: new dsp_coef.bin with windowed sinc filter coefficients
2015-06-30 22:02:05 +02:00
717d4bfbcc Interpreter: Idle skipping support 2015-06-30 20:11:23 +02:00
6f8a38cefb WiimoteReal: Add IOHIDDevice support for OS X 2015-06-29 23:13:18 -07:00
388ab13db1 Audio: new dsp_coef.bin with windowed sinc filter coefficients 2015-06-29 22:24:24 -04:00
daa205990f Use emplace() instead of insert() where applicable for maps. 2015-06-28 19:52:40 -04:00
69b7296fc2 WiimoteReal: Make sure that Wiimote thread isn't already running before starting it.
This fixes a crash when switching a Wiimote's internal slot or type in the Dolphin config.
2015-06-26 20:48:45 +02:00
cff6d9f922 Merge pull request #2640 from AdmiralCurtiss/real-wiimote-crash-fix
WiimoteReal: Fix crash when switching a real Wiimote to a different slot or type during emulation.
2015-06-26 20:33:50 +02:00
716c54217a WiimoteReal: Make sure that Wiimote thread isn't already running before starting it.
This fixes a crash when switching a Wiimote's internal slot or type in the Dolphin config.
2015-06-26 17:12:18 +02:00
2711d5201b Interpreter: turn SNaNs into QNaNs 2015-06-26 09:29:18 +02:00
174ada3a62 Interpreter: assign directly instead via variables 2015-06-26 08:16:34 +02:00
b2c21e800a Interpreter: drop unused macros 2015-06-26 08:16:34 +02:00
ca36ff0551 Interpreter: consolidate fdiv/fdivs/ps_div 2015-06-26 08:07:46 +02:00
63a2180c1f [AArch64] Implement slwx in the recompiler.
I streamed this implementation earlier today to get people to have a feel for implementing instructions in the AArch64 recompiler.
This one was a fairly simple one to implement.
2015-06-26 00:51:06 -05:00
521f6e89c3 Merge pull request #2624 from sigmabeta/android-save-screenshot
Android: Save screenshot at end of an emulation session.
2015-06-24 21:39:47 -05:00
6d273f6119 Jit64: fix pre-SSE4.1 fallback of ps_sum1 2015-06-24 18:32:10 +02:00
2bd11469a5 Jit64: fix pre-SSE4.1 fallback of ps_sum1 2015-06-24 16:48:26 +02:00
8b4734133e IPC_HLE: Don't open/close file for every single file operation.
On the first boot of Pokemon Snap it copies a 144KB file to the Wii's
NAND, but it only copies 32 bytes per IPC write call.

This was causing dolphin to open and close the same file over 4000
times. This wouldn't usually be a huge issue, except some operating
systems (namely Windows) allow 3rd party programs (namely antivirus
software) to hook all accesses to the filesystem.

This causes the antivirus software to scan the same file for viruses
4000+ times, which is kind of slow.

This fix reduces the initial boot time of pokemon snap from 3+ min
to just a few seconds. Could also improve other games which write
things to NAND.

Will break a few things, see the next commit for an improved fix.
2015-06-24 19:23:10 +12:00
03124ec3f0 IPC_HLE: Simplify lifecycle of devices with shared pointers.
This also fixes a memory/filehandle leak when loading savestates.
2015-06-24 19:22:04 +12:00