Ryan Houdek
4f5f29a0fb
[AArch64] Fix a bug in the register cache.
...
If the register was only a lower pair and it needed the full register, then we need to load the high 64bits.
Which we weren't doing before.
2015-08-26 01:21:43 -05:00
Markus Wick
43d17cb360
Merge pull request #2904 from Sonicadvance1/aarch64_more_inst
...
[AArch64] Implement fdivx/fdivsx/mfcr/mtcrf.
2015-08-26 07:48:24 +02:00
Tillmann Karras
ee4a12ffe2
Jit64: some byte-swapping changes
2015-08-26 05:41:18 +02:00
flacs
6015e2d812
Merge pull request #2900 from aroulin/x64emitter-rcp
...
x64Emitter: add RCPPS and RCPSS SSE instructions
2015-08-26 05:05:53 +02:00
Ryan Houdek
6729a36d8d
[AArch64] Set BindToRegister's to_load correctly for double FP ops.
2015-08-25 21:29:27 -05:00
Lioncash
db4f692482
GCMemcard: Clean up memcard logging messages.
2015-08-25 21:55:52 -04:00
Tillmann Karras
ee50a2ef28
Jit64: fix bugs in the FPSCR instructions
2015-08-25 23:48:14 +02:00
Markus Wick
bd08c1b01a
Merge pull request #2901 from Sonicadvance1/aarch64_stfiwx
...
[AArch64] Implement stfiwx
2015-08-25 22:47:39 +02:00
Markus Wick
24cb650078
Merge pull request #2663 from degasus/dcbx
...
Jit64: dcbf + dcbi
2015-08-25 12:16:56 +02:00
Ryan Houdek
0666c0750b
[AArch64] Implement fdivx/fdivsx/mfcr/mtcrf.
...
Gets the povray bench to better times than the Wii.
2015-08-24 15:32:19 -05:00
Ryan Houdek
d96be9250c
Merge pull request #2899 from Sonicadvance1/aarch64_fctiwzx
...
[AArch64] Implement fctiwzx
2015-08-24 13:22:27 -05:00
Ryan Houdek
cd03b8baf6
Merge pull request #2895 from Sonicadvance1/qualcomm_workaround_gles31
...
Disable OpenGL ES 3.1 on all Qualcomm Adreno devices.
2015-08-24 13:22:12 -05:00
degasus
0d92c8fb89
Jit64: Optimize dcbx
2015-08-24 18:33:23 +02:00
Tillmann Karras
ac84d6d0fa
Jit64: some cache flush changes
...
- dynamically allocate third scratch register instead of forcing ECX
- use LEA as 3 operand add if possible
- use BT,JC instead of SHR,TEST,JNZ
- merge MOV,TEST
- use appropriate ABI function (no asm change)
2015-08-24 18:33:23 +02:00
degasus
6f34b27323
Jit64: implement dcbf + dcbi
2015-08-24 18:33:19 +02:00
Markus Wick
0ad6fa8f62
Merge pull request #2903 from lioncash/cast
...
Memmap: Remove pointer casts
2015-08-24 15:42:56 +02:00
Lioncash
abd3b124be
Memmap: Remove pointer casts
2015-08-24 09:07:09 -04:00
Tillmann Karras
33eefc2d86
Jit64: quickfix for mtfsfx
2015-08-24 12:12:31 +02:00
Ryan Houdek
d3176fe22a
[AArch64] Implement stfiwx
...
Improves povray performance by ~4%
2015-08-24 01:10:55 -05:00
Ryan Houdek
80fa9af9b1
Merge pull request #2898 from degasus/linking
...
JitArm64: Faster linking of continuous blocks
2015-08-23 18:09:02 -05:00
degasus
7320d519b4
JitArm64: Implement srwx
2015-08-23 23:29:48 +02:00
degasus
4722a69fd0
JitArm64: Implement divwux
2015-08-23 23:29:18 +02:00
degasus
9e4366963c
JitArm64: Implement subfic
2015-08-23 23:29:07 +02:00
degasus
95be17772f
JitArm64: Implement addex
2015-08-23 23:29:02 +02:00
degasus
025e7c835a
JitArm64: Implement subfcx
2015-08-23 23:28:28 +02:00
degasus
550a90e691
JitArm64: Implement subfex
2015-08-23 23:28:24 +02:00
Ryan Houdek
561744819e
[AArch64] Implement fctiwzx
...
Improves the povray benchmark time by 5.6%
2015-08-23 15:35:18 -05:00
Ryan Houdek
4fa23abbe1
[AArch64] Implement MOVI and ORR(imm) in the NEON emitter.
2015-08-23 15:34:53 -05:00
aroulin
0a0e012fab
x64Emitter: add RCPPS and RCPSS SSE instructions
2015-08-23 16:59:27 +02:00
degasus
77a6798094
JitArm64: Faster linking of continuous blocks
2015-08-23 14:44:23 +02:00
Markus Wick
73067b1ef1
Merge pull request #2888 from degasus/jit64
...
Jit64: Faster linking of continuous blocks
2015-08-23 13:24:15 +02:00
Lioncash
2a1abf8dd6
Merge pull request #2896 from lioncash/using
...
Core: Minor CPU core typedef cleanup
2015-08-22 19:00:23 -04:00
Ryan Houdek
cc3fb7e7b4
Merge pull request #2883 from degasus/master
...
Profiler: Sort output by total time
2015-08-22 17:52:54 -05:00
Markus Wick
8b881a6c34
Merge pull request #2891 from Sonicadvance1/aarch64_implement_crxxx
...
[AArch64] Implement the cr instructions
2015-08-23 00:44:47 +02:00
Lioncash
fdafa5d063
Core: Move includes out of instruction table headers
...
These aren't necessary (and cause unnecessary indirect inclusions).
2015-08-22 14:15:02 -04:00
Lioncash
a248a4d2ce
Jit64/JitIL: Relocate instruction typedefs
2015-08-22 14:15:00 -04:00
Lioncash
c56717e058
Core: Shorten the _interpreterInstruction typedef
...
The class itself already acts as a namespace trailer, so '_interpreter'
isn't necessary. This also gets rid of a duplicate typedef in the
Interpreter_Tables.
2015-08-22 14:14:49 -04:00
Ryan Houdek
b4e4a4cef4
Disable OpenGL ES 3.1 on all Qualcomm Adreno devices.
...
Their new driver that supports GLES3.1 + AEP has issues with it.
At the very least they don't implement all of the geometry shader features fully which causes shader linker issues when we attempt to use them.
I don't have a device so I can't fully test, so until I do I'm going to blanket disable the whole thing.
2015-08-22 09:12:19 -05:00
Markus Wick
a39c0910c4
Merge pull request #2893 from Sonicadvance1/aarch64_memory_base_register
...
[AArch64] Use a register as a constant for the memory base.
2015-08-22 15:41:57 +02:00
Ryan Houdek
dba579c52f
[AArch64] Use a register as a constant for the memory base.
...
Removes a /lot/ of redundant movk operations in fastmem loadstores.
Improves performance of the povray bench by ~5%
2015-08-22 08:36:34 -05:00
Markus Wick
3f5ff98c1b
Merge pull request #2890 from lioncash/ptr
...
x64Emitter: Remove pointer casts from Write{8,16,32,64} functions
2015-08-22 10:09:28 +02:00
Markus Wick
2d505bc2a6
Merge pull request #2894 from Sonicadvance1/no_more_eaten_canary
...
Fix the shader overrunning our max shader size.
2015-08-22 10:08:14 +02:00
Markus Wick
c2f38f1d16
Merge pull request #2892 from Sonicadvance1/aarch64_frsp
...
[AArch64] Implement frspx
2015-08-22 09:44:14 +02:00
Ryan Houdek
3242e1a617
Fix the shader overrunning our max shader size.
...
The Star Wars games really push the hardware to its limits, which can cause the shaders that are produced to be 18kb or more.
Double our maximum shader size to compensate.
Fixes issue #8860
2015-08-22 01:01:03 -05:00
Ryan Houdek
ce32b76be3
[AArch64] Implement frspx
...
Improves performance in povray bench by 2%
2015-08-22 00:35:30 -05:00
Ryan Houdek
d74eb0ea58
[AArch64] Fix the bugs in the cr instructions
...
Makes it a bit more efficient in the process.
2015-08-21 23:24:29 -05:00
degasus
e9ade0abe1
JitArm64: implement crXXX
2015-08-21 20:49:08 -05:00
Lioncash
a69755d9ee
x64Emitter: Remove pointer casts from Write{8,16,32,64} functions
...
This also silences quite a few ubsan asserts from firing when the emitter is being used.
2015-08-21 18:09:48 -04:00
flacs
95d958c03d
Merge pull request #2889 from lioncash/interp
...
Interpreter: Use std::isnan instead of IsNAN
2015-08-21 21:43:08 +02:00
Lioncash
caec42135d
MathUtil: Remove IsNAN and IsINF
...
These aren't necessary, since the stdlib provides equivalents.
2015-08-21 15:05:43 -04:00
flacs
bb7f3d1822
Merge pull request #2867 from Tilka/mtspr_hid0
...
Jit64: implement HID0 case of mtspr
2015-08-21 21:04:35 +02:00
flacs
01aea965ba
Merge pull request #2864 from Tilka/fpscr
...
Jit64: implement FPSCR related instructions
2015-08-21 21:04:20 +02:00
Lioncash
18d658df1f
Interpreter_FloatingPoint: Use std::isnan instead of IsNAN
...
Same thing, except one is part of the stdlib.
2015-08-21 15:04:03 -04:00
degasus
78aa01e06e
Jit64: Faster linking of continuous blocks
...
We compile the blocks as they are executed, so it's common
to link them continuously. We end with calling JMP after every
block, but often just with a distance of 0.
So just emitting NOPs instead also "calls" the next block, but
easier for the CPU.
2015-08-21 17:41:53 +02:00
Markus Wick
c325c310d6
Merge pull request #2884 from lioncash/emitter
...
x64Emitter: Minor cleanup
2015-08-21 13:03:51 +02:00
Ryan Houdek
5f628749ff
Merge pull request #2886 from Sonicadvance1/aarch64_faster_lfd
...
[AArch64] Optimize lfd instructions if possible.
2015-08-21 05:38:53 -05:00
Ryan Houdek
df53b37253
[AArch64] Optimize lfd instructions if possible.
...
If we are going to be using lfd, then chances are it is going to be used in double heavy areas of code.
If we only need to load the lower register, then we should also not worry about having to insert in to the low 64bits of the guest register.
So add a new flag to the backpatching to handle lfd to directly to the destination register.
This gives ~3% performance improvement to Povray.
2015-08-21 04:31:54 -05:00
Markus Wick
4f45d71840
Merge pull request #2760 from Sonicadvance1/aarch64_fcmp
...
[AArch64] Implement fcmp{u,o}
2015-08-21 11:03:20 +02:00
Tillmann Karras
39ced2a2d7
AVIDump: fix -Wsign-compare warning
...
Cast the other side of the comparison to avoid a warning with newer
ffmpeg/libav versions (cb3591e69738c808d26ba15eb02414fedfcd91cc).
2015-08-21 10:26:35 +02:00
Markus Wick
6cb87a9227
Merge pull request #2837 from Sonicadvance1/aarch64_faster_nonpaired
...
[AArch64] Optimize cases when an FPR is only used for non-paired ops.
2015-08-21 09:51:45 +02:00
Jeffrey Pfau
65ee5a1d36
DolphinWX: Finish removing bandaid from 704f787
2015-08-20 22:39:24 -07:00
Ryan Houdek
7ce4c3138e
[AArch64] Optimize cases when an FPR is only used for non-paired ops.
2015-08-20 23:36:29 -05:00
Lioncash
a59f00a5e4
x64Emitter: Remove unused code
2015-08-20 23:05:20 -04:00
Lioncash
b903921b14
x64Emitter: Make WriteModRM and WriteSIB private
...
These shouldn't be public.
2015-08-20 19:29:40 -04:00
degasus
17932935d9
Profiler: Sort output by total time
2015-08-20 11:50:43 +02:00
Lioncash
f481a306c2
Merge pull request #2882 from lioncash/namespace
...
Jit: Remove unnecessary namespace prefixes
2015-08-20 05:38:29 -04:00
Lioncash
95c57fcec1
Jit: Remove unnecessary namespace prefixes
2015-08-20 05:20:19 -04:00
Markus Wick
cb264df64c
Merge pull request #2874 from barat/master
...
VideoCommon: Allow more Ram for HiresTexture if system memory is over 4GB
2015-08-20 11:08:42 +02:00
Lioncash
822cf2bcbf
IniFile: Mark getter functions as const
2015-08-19 22:27:18 -04:00
Lioncash
9e9a293a85
Frame/TASInputDlg: Remove unused functions
2015-08-19 20:36:16 -04:00
Lioncash
5b86e7335f
Merge pull request #2795 from ddcc/master
...
Fix some compilation warnings
2015-08-19 17:40:04 -04:00
Bartosz Telesiński
a52aaf22ba
VideoCommon: Allow more Ram for HiresTexture if system memory is over 4GB
2015-08-19 23:13:09 +02:00
flacs
b0c9d73465
Merge pull request #2842 from Tilka/bmi2_flags
...
x64Emitter: don't check flags for most BMI2 ops
2015-08-19 21:38:09 +02:00
Dominic Chen
09714f86c3
Fix some compilation warnings
2015-08-19 11:07:54 -04:00
degasus
896a02b3a8
DSP HLE: Remove timing informations from ucodes
...
On HLE, we don't emulate the timings on HLE, so there is also no need
to setup periods callbacks.
2015-08-19 16:20:17 +02:00
degasus
7277eb0e6c
AX-HLE: Call HLE on mailbox write
...
It was done on Update() which was called exactly every 5ms.
But the game is allowed to use the DSP more often, eg to generate 48kHz audio.
2015-08-19 16:19:06 +02:00
Markus Wick
bdbe723d6e
Merge pull request #2870 from Sonicadvance1/GLInterface_Fix
...
Fix a memory leak in the EGL GLInterface.
2015-08-19 11:14:25 +02:00
Lioncash
291f857b0e
Merge pull request #2859 from lioncash/netplay
...
NetPlay: Minor cleanup
2015-08-19 04:51:28 -04:00
Tillmann Karras
0f2c656687
Jit64: implement FPSCR related instructions
2015-08-18 18:12:32 +02:00
Ryan Houdek
3f1055de94
Fix a memory leak in the EGL GLInterface.
2015-08-18 08:26:45 -05:00
Tillmann Karras
415ad94dbe
Interpreter: fix undefined bits of mffs
...
Lioncash tested this on hardware.
2015-08-18 15:07:14 +02:00
Lioncash
761e087e52
NetWindow: Remove translation marker from empty string
2015-08-17 21:56:52 -04:00
Lioncash
65adf76698
NetWindow: non-ugly way to check for window focus
2015-08-17 21:56:51 -04:00
Lioncash
2b4a249dea
NetWindow: Replace old wx event binding types
2015-08-17 21:56:50 -04:00
Lioncash
ca0b9481ea
ChangeGameDialog: Internally set the chosen game name
...
Passing in a reference to an empty string is unnecessary and
overcomplicates design.
2015-08-17 21:56:48 -04:00
Lioncash
af35f38491
NetWindow: Minor simplifications
2015-08-17 21:56:46 -04:00
Lioncash
11f3ded296
NetPlay: Return mapping arrays and player list vectors directly
...
Simplifies pad map dialog initialization
2015-08-17 21:56:25 -04:00
Ryan Houdek
4baaa3755e
Merge pull request #2840 from zeroZshadow/master
...
Ignore all writes to BBA_TXFIFOCNT
2015-08-17 10:38:00 -05:00
Markus Wick
ff95fa8a6d
Merge pull request #2861 from lioncash/param
...
VideoCommon: Remove unused parameters
2015-08-17 15:02:44 +02:00
Markus Wick
239ad678f1
Merge pull request #2855 from Armada651/revert-clamp
...
Revert "VideoCommon: Clamp integer conversions."
2015-08-17 15:01:27 +02:00
Tillmann Karras
1c78c7b864
Jit64: implement HID0 case of mtspr
2015-08-17 13:31:57 +02:00
Pierre Bourdon
58b4b7edea
Merge pull request #2863 from Tilka/fallback
...
Jit64: load PC only once after fallbacks
2015-08-17 10:29:54 +02:00
Tillmann Karras
fbdc20ac37
Jit64: load PC only once after fallbacks
2015-08-17 06:05:10 +02:00
Tillmann Karras
c4a6612b01
PowerPC: fix typo in FPSCR comment
2015-08-17 06:03:11 +02:00
Tillmann Karras
a9447a8606
PowerPC: drop instructions not supported by GC/Wii
2015-08-17 06:03:11 +02:00
Lioncash
8e17c710f3
TextureConversionShader: Remove an unused parameter
2015-08-16 21:10:54 -04:00
Lioncash
0e41b973c7
VertexShaderManager: Remove unused parameter
2015-08-16 21:07:10 -04:00
Lioncash
a824f6a74c
Debugger: Remove unused instance variables
2015-08-16 18:30:07 -04:00
Lioncash
c593bd226c
Frame: Remove an unused enum and array
2015-08-16 18:24:58 -04:00
Lioncash
7aa76a84ef
DolphinWX: Fix memory leaks occurring in ISOProperties
...
This would only occur for Wii discs. While the tree data itself would be deleted, the allocated contents of it were not.
2015-08-16 05:40:07 -04:00