Commit Graph

12982 Commits

Author SHA1 Message Date
2559a6f25c VertexLoader: avoid empty lines in perf-$pid.map 2015-07-08 07:17:28 +02:00
df379dabae VertexLoaderBase: Adjust the scope of a boolean variable
if a or b do actually turn out to be null, this can cause a null pointer dereference.
2015-07-07 18:33:58 -04: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
6e969133f5 evdev: Delete rumble effects on the correct file descriptor.
Was using m_id insted of m_fd.
Also re-arrange the code so rumble effects always get deleted instead of
just on stop commands.
2015-07-07 16:59:10 +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
25bd55b7aa Core: Use clamps for nunchuk and wiimote x,y,z values 2015-07-06 13:34:11 -04:00
e3c6eb2a85 WiimoteEmu: Fix use of spaces.
There should be a tab here instead.
2015-07-06 13:20:24 -04:00
9018b546c7 WbfsBlob: Don't enter an infinite loop when reading beyond end of disc
read_size remained 0 when the "Read beyond end of disc" error occurs,
which made the while (nbytes) loop never end. As a fix, SeekToCluster
now explicitly sets available to 0 when the error occurs, and Read
checks for it.
2015-07-06 15:41:37 +02: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
af4cfd32d4 Core: Change a volatile into an atomic
Also changes s_drawn_video into an atomic, as it's used across threads as well.
2015-07-06 06:25:51 -04:00
c7193fcd41 MMIO: Add missing override specifiers 2015-07-06 06:11:31 -04:00
0b0f70aad4 Revert "Merge pull request #2358 from Tilka/pie"
This reverts commit 0f7f8f8774, reversing
changes made to 9f15054358.
2015-07-06 09:05:25 +12: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
bd196e8c71 Common: CallLambdaTrampoline can return a value
As it is currently written, CallLambdaTrampoline does not return a
value. However, some of the functions that are being wrapped may
return a value that the JIT is expected to understand. A compiler
*cough cough clang* may opt to alter %rax after the wrapped lambda
returns, e.g. popping a previous value, which can clobber the
return value. If we actually have a return value, then the compiler
must not clobber it.
2015-07-05 00:32:26 +12:00
64b51df55d evdev: fix -Wunused-private-field warning 2015-07-04 14:14:15 +02:00
d2578000bb Merge branch 'stable' 2015-07-04 23:43:36 +12:00
3bbb2ede9c Merge pull request #2697 from endrift/fix-jit-trampoline
Common: CallLambdaTrampoline can return a value
2015-07-04 11:59:00 +02:00
c9a25f9484 Common: CallLambdaTrampoline can return a value
As it is currently written, CallLambdaTrampoline does not return a
value. However, some of the functions that are being wrapped may
return a value that the JIT is expected to understand. A compiler
*cough cough clang* may opt to alter %rax after the wrapped lambda
returns, e.g. popping a previous value, which can clobber the
return value. If we actually have a return value, then the compiler
must not clobber it.
2015-07-04 00:57:41 -07:00
eb3c5a240f Merge pull request #2696 from RisingFog/tasinput
Fix random hangs when loading savestates with TAS Input
2015-07-04 03:52:40 -04:00
Fog
10f50f33fb Fix random hangs when loading savestates with TAS Input 2015-07-03 21:56:14 -04:00
3639755120 Fix TASInput Crash When Stick Bitmap Is Null
Patch provided by RGamma
2015-07-03 18:37:35 -04: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
8a50dc857b Merge pull request #2681 from phire/evdev-stable
Linux: Add an evdev based controller backend, to replace SDL.
2015-07-03 10:28:08 +10:00
c53e7f2842 Merge pull request #2685 from lioncash/const
Arm64Emitter: Add a missing const specifier for an array table
2015-07-03 00:22:58 +02:00
64bd20aba7 DiscIO: Check if m_Disc is null in ParsePartitionData() 2015-07-02 11:45:22 -04:00
d09d59007a Arm64Emitter: Add a missing const specifier for an array table 2015-07-02 11:09:44 -04:00
6a33f174de 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 23:49:39 +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
9b95faaed7 Small changes to description to "Store EFB Copies to Texture Only" 2015-07-01 15:48:19 +02:00
8d69c2b4b7 Small changes to description to "Store EFB Copies to Texture Only" 2015-07-01 15:46:16 +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
77183899e0 evdev: Support axis with ranges which extend below zero. 2015-07-01 10:13:05 +12:00
2721fdf8a9 Linux: Add an evdev based controller backend, to replace SDL. 2015-07-01 10:13:05 +12: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