Scott Mansell
a31ebb9bcd
PPCAnalyst: Don't swap instruction which might cause interrupts.
...
fcmpo and fcmpu can be matched by the REORDER_CMP pass, as they set CR0
and they can cause interrupts if the fpu is disabled.
So we add an extra check to make sure op a is an integer op too.
2015-07-07 22:37:48 +12:00
Scott Mansell
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
Scott Mansell
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
Scott Mansell
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
Scott Mansell
e14816351e
Merge pull request #2706 from phire/revert-PIE
...
Revert "Merge pull request #2358 from Tilka/pie"
2015-07-07 16:53:50 +12:00
Ryan Houdek
48ac522b5c
Merge pull request #2715 from degasus/aarch64
...
JitArm64: Implement EXCEPTION_FPU_UNAVAILABLE support.
2015-07-06 21:43:56 -05:00
degasus
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
Lioncash
25bd55b7aa
Core: Use clamps for nunchuk and wiimote x,y,z values
2015-07-06 13:34:11 -04:00
flacs
af854dfa00
Merge pull request #2713 from lioncash/space
...
WiimoteEmu: Fix use of spaces.
2015-07-06 19:25:46 +02:00
Lioncash
e3c6eb2a85
WiimoteEmu: Fix use of spaces.
...
There should be a tab here instead.
2015-07-06 13:20:24 -04:00
flacs
df5b658876
Merge pull request #2710 from lioncash/typedef
...
DSPInterpreter: Remove an unused typedef
2015-07-06 17:07:37 +02:00
JosJuice
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
Lioncash
614a656b83
DSPInterpreter: Remove an unused typedef
...
DSPTables already has an equivalent of this, which it uses.
2015-07-06 06:47:13 -04:00
Markus Wick
b6ee886540
Merge pull request #2708 from lioncash/override
...
MMIO: Add missing override specifiers
2015-07-06 12:36:37 +02:00
Lioncash
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
Lioncash
c7193fcd41
MMIO: Add missing override specifiers
2015-07-06 06:11:31 -04:00
Scott Mansell
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
Markus Wick
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
flacs
f03f9cccc4
Merge pull request #2700 from Sintendo/fresbranch
...
Jit64: Eliminate branch in GenFres
2015-07-05 15:20:38 +02:00
Michael Ehrenreich
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
Sintendo
ce10525056
Eliminate branch in GenFres
2015-07-05 11:18:59 +02:00
Scott Mansell
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
Scott Mansell
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
Scott Mansell
1af8b62d9f
Merge pull request #2698 from Tilka/evdev
...
evdev: fix -Wunused-private-field warning
2015-07-05 01:14:42 +12:00
Jeffrey Pfau
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
Tillmann Karras
64b51df55d
evdev: fix -Wunused-private-field warning
2015-07-04 14:14:15 +02:00
Scott Mansell
d2578000bb
Merge branch 'stable'
2015-07-04 23:43:36 +12:00
flacs
3bbb2ede9c
Merge pull request #2697 from endrift/fix-jit-trampoline
...
Common: CallLambdaTrampoline can return a value
2015-07-04 11:59:00 +02:00
Jeffrey Pfau
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
Lioncash
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
RGamma
3639755120
Fix TASInput Crash When Stick Bitmap Is Null
...
Patch provided by RGamma
2015-07-03 18:37:35 -04:00
flacs
ced30899cc
Merge pull request #2694 from Tilka/polarssl
...
CMake: fix PolarSSL test
2015-07-04 00:34:25 +02:00
Tillmann Karras
12aed77e8a
CMake: fix PolarSSL test
2015-07-03 23:33:47 +02:00
flacs
e64bf9154c
Merge pull request #2692 from Tilka/revert
...
Revert "Interpreter: assign directly instead via variables"
2015-07-03 21:14:29 +02:00
Tillmann Karras
afea72edfe
Revert "Interpreter: assign directly instead via variables"
...
This reverts commit 174ada3a62
.
2015-07-03 21:10:18 +02:00
Markus Wick
3fc070c4fc
Merge pull request #2680 from degasus/idle
...
Interpreter: Idle skipping support
2015-07-03 19:52:05 +02:00
Markus Wick
6193e7b5b2
Merge pull request #2690 from sigmabeta/android-tv-selection
...
Android TV: Use accent color to highlight games on selection screen.
2015-07-03 19:51:24 +02:00
sigmabeta
3ad151062b
Android TV: Game selection screen highlights games with accent color.
2015-07-03 13:46:54 -04:00
skidau
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
flacs
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
Trace Bullet
64bd20aba7
DiscIO: Check if m_Disc is null in ParsePartitionData()
2015-07-02 11:45:22 -04:00
Lioncash
d09d59007a
Arm64Emitter: Add a missing const specifier for an array table
2015-07-02 11:09:44 -04:00
Rodolfo Bogado
d8cd2c3252
Implement scaled partial texture updates
2015-07-02 08:53:40 -03:00
Admiral H. Curtiss
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
Jules Blok
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
Ryan Houdek
e9921044b5
Merge pull request #2671 from degasus/jitarmbranch
...
JitArm64: branching fallbacks
2015-07-01 11:40:07 -05:00
degasus
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
degasus
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
degasus
dc83c8912f
JitArm64: Support branching fallbacks
2015-07-01 17:58:17 +02:00