Commit Graph

16102 Commits

Author SHA1 Message Date
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
Lioncash b1af2a6bbc NetPlay: Use std::array for the pad mappings 2015-08-16 00:08:09 -04:00
Lioncash e3ffb2dd16 NetPlayProto: Minor cleanup 2015-08-16 00:00:59 -04:00
Markus Wick b8a35f6996 Merge pull request #2856 from mathieui/netplay-free
[netplay] Fix a crash
2015-08-15 23:13:18 +02:00
Markus Wick b3045f9664 Merge pull request #2852 from aserna3/master
Changed GC adapter "Direct Connect" to false by default
2015-08-15 21:25:23 +02:00
Markus Wick e60018abd4 Merge pull request #2854 from Tilka/valgrind
Fix some small stuff found with Valgrind
2015-08-15 20:52:12 +02:00
Ryan Houdek 909ab23df5 Merge pull request #2853 from degasus/arm
JitArm64: Fix jit clearing
2015-08-15 13:50:36 -05:00
Markus Wick b5a5883792 Merge pull request #2851 from JosJuice/unknown-instruction
Restore old assert message for unknown instruction
2015-08-15 20:10:16 +02:00
Markus Wick 3469694b46 Merge pull request #2676 from Stevoisiak/SpellingCorrections
Minor spelling corrections
2015-08-15 18:36:56 +02:00
zeroZshadow 84764db3b2 Rewrite RecvStart error checking as suggested by shuffle2 2015-08-15 16:46:37 +02:00
Jules Blok 7e266b080f TextureCache: Remove redundant floor(). 2015-08-15 15:30:50 +02:00
mathieui 2420004af8 [Netplay] Always set a playerid
And don’t blindly dereference a pointer.
2015-08-15 15:12:20 +02:00
Jules Blok b01ca1794a Revert "VideoCommon: Clamp integer conversions."
This reverts commit 0f2c72f0f8.
2015-08-15 13:50:43 +02:00
Tillmann Karras b0cc02658b CachedInterpreter: avoid uninitialized value
(The CachedInterpreter backend does not support block linking yet.)
2015-08-15 13:01:26 +02:00
Tillmann Karras b3ff66dc7a evdev: don't pass null path to the kernel 2015-08-15 12:51:34 +02:00
Tillmann Karras 0b73a9ed25 PulseAudio: fix small memleak 2015-08-15 12:51:11 +02:00
degasus 9bfff0d461 JitArm64: Fix jit clearing
We have to reset m_lastCacheFlushEnd on clearing.
2015-08-15 11:41:01 +02:00
Anthony Serna b6da5490c1 Changed GC adapter "Direct Connect" to false by default 2015-08-15 02:09:47 -07:00
JosJuice c49074742c Restore old assert message for unknown instruction
The assert(0) that was introduced in PR #2811 is not user friendly
since it has no explanation at all about what happened. Regular users
probably won't think of looking at the log to get more information.
2015-08-15 10:00:49 +02:00
flacs e28fa1588f Merge pull request #2850 from Tilka/alloc_order
Jit64: clean up GetAllocationOrder()
2015-08-15 09:47:56 +02:00
Lioncash 70e91af405 Merge pull request #2834 from endrift/tasinputdlg-threading
DolphinWX: Ensure TASInputDlg only gets modified on the main thread
2015-08-15 02:45:13 -04:00
Tillmann Karras dd5cc34951 Jit64: clean up GetAllocationOrder() 2015-08-15 07:25:14 +02:00
flacs d8d62336b5 Merge pull request #2849 from lioncash/cond
JitInterface: Fix null checking in GetProfileResults
2015-08-15 00:59:19 +02:00
Lioncash 8db43501d5 JitInterface: Fix null checking in GetProfileResults
Technically a null pointer dereference can occur here.
2015-08-14 18:51:54 -04:00
Tillmann Karras 022286fb90 x64Emitter: don't check flags for most BMI2 ops
With the exception of BZHI, BMI2 instructions don't affect flags, so
don't check if they're locked.
2015-08-14 23:39:17 +02:00
Tillmann Karras e5a2334744 Jit64: make use of ANDN again
This time, make sure not to use it with immediates.
2015-08-14 21:25:52 +02:00
Tillmann Karras 5e9fe4cd13 x64Emitter: check for immediates in BMI ops 2015-08-14 21:25:41 +02:00
Ryan Houdek 3bc5505272 Merge pull request #2814 from Sonicadvance1/aarch64_faster_fastmem
[AArch64] Banish slowmem operations to farcode.
2015-08-14 12:03:46 -05:00
Ryan Houdek f76a30c9fd Merge pull request #2845 from degasus/arm
JitArm64: Implement dcbt
2015-08-14 12:03:25 -05:00
degasus 715802d5aa JitArm64: Move all pointers into the map
And cleanup all of the old code for sharing and generating this pointers.
2015-08-14 11:24:11 -05:00
degasus 878f919f63 JitArm64: Fastmem: fixup map & lookup 2015-08-14 11:24:03 -05:00
flacs 9ef349181e Revert "Jit64: use BMI1's ANDN for andcx" 2015-08-14 18:10:07 +02:00
Pierre Bourdon 86c28bfac6 Bump save state version. 2015-08-14 16:17:28 +02:00
Pierre Bourdon 2d5d203be8 ZeldaHLE: Add UCode version for Pikmin 1 PAL. 2015-08-14 16:01:36 +02:00
Pierre Bourdon 18d0f15885 ZeldaHLE: Fix the AFC remaining samples logic on looping. 2015-08-14 16:01:36 +02:00
Pierre Bourdon 9105a76eb1 ZeldaHLE: Comment on the differences between FSA/ZTP UCodes. 2015-08-14 16:01:36 +02:00
Pierre Bourdon fcbed7483d ZeldaHLE: Properly read remaining AFC samples when a whole frame is available. 2015-08-14 16:01:36 +02:00