Commit Graph

18469 Commits

Author SHA1 Message Date
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
Lioncash 4bdade0ea6 Merge pull request #2885 from endrift/tasinputdlg-threading
DolphinWX: Finish removing bandaid from 704f787
2015-08-21 02:07:04 -04: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
flacs 62028357a2 Merge pull request #2879 from lioncash/const
IniFile: Mark getter functions as const
2015-08-20 10:01:16 +02:00
Lioncash 822cf2bcbf IniFile: Mark getter functions as const 2015-08-19 22:27:18 -04:00
flacs 4fb48fd209 Merge pull request #2878 from lioncash/funcs
Frame/TASInputDlg: Remove unused functions
2015-08-20 02:51:09 +02: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
Scott Mansell 13526135f8 Merge pull request #2877 from JosJuice/remove-lle-ini
Remove forced DSP LLE from game INIs
2015-08-20 05:41:51 +12:00
JosJuice af7873f656 Remove forced DSP LLE from game INIs
The HLE issues are gone since 4.0-7359.
2015-08-19 18:02:03 +02:00
Dominic Chen 09714f86c3 Fix some compilation warnings 2015-08-19 11:07:54 -04:00
Markus Wick 869c5d7a8c Merge pull request #2875 from degasus/hle
DSP HLE: Remove timing informations from ucodes
2015-08-19 16:47:38 +02:00