Commit Graph

15072 Commits

Author SHA1 Message Date
Ryan Houdek
30e1749d00 Implements block time profiling on ARMv7.
This was interesting implementing.
Our generic QueryPerformanceCounter function on ARMv7 was so slow that profiling a block was impossible.
I waited about five minutes and I couldn't even get a single frame to output.
This instead uses ARMv7's PMU to get cycle counts, which are a relatively minor performance drop in my testing.
One disadvantage of this method is that the kernel can lock us out of using these co-processor registers, but it seems to work on my Jetson board.
Another disadvantage is that we aren't having block times in "real" time but cycles instead, not too big of a deal.

This also removes instruction run counts from profiling because that's just annoying and we don't expose an interface for even getting those results
from our UI.
2014-11-16 09:29:27 +00:00
Ryan Houdek
b24197f913 Adds MCR/MRC to the ARMv7 emitter. 2014-11-16 09:29:27 +00:00
Ryan Houdek
6683b194ff ARMv7 register cache optimizations.
Enable support for not loading a destination register on FPR cache.
Dump registers if they won't be used later in the block. Stolen from Fiora.
2014-11-16 09:29:22 +00:00
Ryan Houdek
4ce1b33e55 Merge pull request #1551 from Sonicadvance1/armv7-float-fastmem
Reimplements fastmem for ARMv7 floating point loadstores.
2014-11-15 15:32:17 -06:00
Ryan Houdek
181f16c5f0 Reimplements fastmem for ARMv7 floating point loadstores.
This implements a new system for fastmem backpatching on ARMv7 that is less of a mindfsck to deal with.
This also implements stfs under the default loadstore path as well, not sure why it was by itself in the first place.

I'll be moving the rest of the loadstore methods over to this new way in a few days.
2014-11-15 21:17:50 +00:00
comex
8dbef4e987 Merge pull request #1553 from degasus/master
OpcodeDecoder: Skip recursiv display lists
2014-11-15 11:05:41 -05:00
degasus
90613a1bda OpcodeDecoder: Skip recursiv display lists 2014-11-15 16:24:06 +01:00
skidau
cf8035e240 Merge pull request #1521 from RachelBryk/double
Fix some double->float conversions.
2014-11-15 23:31:47 +11:00
Lioncash
e47bfc2788 Merge pull request #1544 from lioncash/android
Android: Misc Changes
2014-11-15 02:57:59 -05:00
Lioncash
7d8248e24f Android: Remove unused imports in GameListItem 2014-11-15 01:45:13 -05:00
Lioncash
cc62cb8818 Android: Support RTL language translations
If someone wants to do a translation for an Arabic language, Hebrew, etc, it will now display correctly.
2014-11-15 01:45:12 -05:00
Lioncash
4d6bc39e2f AndroidManifest: Increment the minimum and target SDK values 2014-11-15 01:45:02 -05:00
Lioncash
5b1f734695 Android: Prevent instantiation of utility classes 2014-11-15 01:40:30 -05:00
Lioncash
4fe8bb1ca7 Android: Compress an if statement in FolderBrowser 2014-11-15 01:40:29 -05:00
Lioncash
d8b673e864 Merge pull request #1549 from RachelBryk/revision
Fix reading wii revisions.
2014-11-15 01:00:38 -05:00
Rachel Bryk
fa18518cef Fix reading wii revisions. 2014-11-15 00:39:54 -05:00
Lioncash
4497233663 Merge pull request #1546 from RachelBryk/iso-revision
Implement GetRevision() for wii disks.
2014-11-14 21:14:54 -05:00
Rachel Bryk
fa5e3ec292 Implement GetRevision() for wii disks. 2014-11-14 21:06:26 -05:00
comex
68c5758151 Merge pull request #1435 from comex/osx-build
OS X CMake improvements
2014-11-14 15:03:53 -05:00
comex
8c26b0207d Merge pull request #1543 from comex/utf8-issues
stupid utf-8 stuff
2014-11-14 15:03:36 -05:00
comex
efb2f361aa Don't murder the default PATH and CMAKE_SYSTEM_PREFIX_PATH on OS X. Just prioritize /usr.
Changing PATH basically screws everything up, and while the attempt to
avoid MacPorts copies of system libraries was well-intentioned, it made
the OS X buildbot unable to pick up ffmpeg and libusb.

It's sufficient to put /usr first to make sure we use the system copies
of duplicated libraries.
2014-11-14 15:00:50 -05:00
comex
0cf8ab175b Fix UCodes.cpp to use UTF-8 encoding. 2014-11-14 11:53:56 -05:00
comex
5e25b6389c Make check-includes.py properly report bad UTF-8 on all platforms rather than crashing on Python 3.
Doesn't really belong there, but just removing the check doesn't feel
like a good idea.
2014-11-14 11:52:40 -05:00
comex
cb0af4057e Link Foundation/CoreServices into unit tests so they build with DISABLE_WX. 2014-11-14 11:28:13 -05:00
Ryan Houdek
be44fdf0ec Merge pull request #1542 from Sonicadvance1/armv7-fixes
Reenables the ARMv7 FPR cache + minor ARMv7 things.
2014-11-14 09:25:32 -06:00
Ryan Houdek
eb7543d139 Enables ARMv7 build options entirely on ARM.
We only support ARMv7 with Dolphin, so if we are building on ARM have our target be for armv7-a.
2014-11-14 15:14:53 +00:00
Ryan Houdek
b0becf7af8 Enables the ARMv7 FPR cache.
The problem instructions with the FPR are disabled in the previous commit. This can now be reenabled for fairly large performance gains.
2014-11-14 15:14:10 +00:00
Ryan Houdek
69c3e6516c Disables NEON optimized instructions.
These are causing issues in games. In particular you get pink on the screen in Animal Crossing.
Disable until fully investigated.

This also disables fastmem on floating point loadstore instructions which are horribly broken and won't actually backpatch when an invalid read/write
is encountered.
2014-11-14 15:13:13 +00:00
skidau
00f4217382 Merge pull request #1541 from lioncash/log
LogWindow: Fix the timer event bindings
2014-11-14 17:13:28 +11:00
Lioncash
8f92059705 LogWindow: Fix the timer event bindings 2014-11-14 00:46:42 -05:00
Lioncash
e789920340 Merge pull request #1539 from Stevoisiak/newImprovedFormatting
Various formatting and consistency fixes
2014-11-13 23:05:46 -05:00
Stevoisiak
b25e1a2eb4 Various formatting and consistency fixes 2014-11-13 22:42:18 -05:00
Lioncash
3b2d605fb5 Merge pull request #1538 from Stevoisiak/netplayCleanup
Removed "Dual Core [OFF]" from netplay warnings
2014-11-13 21:53:30 -05:00
Stevoisiak
6bb9a909a2 Removed "Dual Core [OFF]" from netplay warnings
Requested by JMC47
2014-11-13 21:15:07 -05:00
skidau
1e5a232464 Merge pull request #1537 from lioncash/wx
MemoryView: Fix a dealloc of a stack reference
2014-11-14 13:00:21 +11:00
skidau
8af52f6c72 Merge pull request #1532 from RachelBryk/dot
Fix the red dot not showing up in input config when pointing right.
2014-11-14 12:59:28 +11:00
Lioncash
659c68545e Merge pull request #1513 from Buddybenj/clean-up
http -> https
2014-11-13 20:53:08 -05:00
Lioncash
ffc00b42e9 MemoryView: Fix a dealloc of a stack reference
stack allocation only works with the root menu. Any other children must be
heap allocated.

These however, will be freed by wxWidgets.
2014-11-13 20:10:40 -05:00
Buddybenj
bd9d2e757c http -> https 2014-11-13 16:50:52 -06:00
Lioncash
5fb94230cd Merge pull request #1531 from lioncash/notebook
FrameAui: Allow notebook tabs to be rearranged in the parent notebook.
2014-11-13 01:37:22 -05:00
skidau
e93aa8d25d Merge pull request #1526 from rohit-n/build-wx-gtk
Fail CMake if building WX without GTK libraries.
2014-11-13 13:40:14 +11:00
skidau
306aa44bad Merge pull request #1525 from KAMiKAZOW/patch-2
Fix specfile for nogui executable
2014-11-13 13:39:59 +11:00
skidau
4ca39d173b Merge pull request #1530 from lioncash/ui-leaks
DolphinWX: Eliminate some memory leaks
2014-11-13 13:39:44 +11:00
skidau
b1f8974db8 Merge pull request #1527 from FioraAeterna/mftbfix
JIT: revert accuracy improvement to mftb
2014-11-13 12:11:13 +11:00
Lioncash
5a89ba20d7 Merge pull request #1528 from lioncash/netplay
Small Netplay dialog cleanups.
2014-11-11 21:19:24 -05:00
Lioncash
cae3f0bde0 FrameAui: Allow notebook tabs to be rearranged in the parent notebook. 2014-11-11 21:07:39 -05:00
skidau
1095d3fc33 Merge pull request #1523 from FioraAeterna/fifo64
JIT: add 64-bit write support to FIFO functions and fix immediates
2014-11-12 12:12:16 +11:00
skidau
0cb9dcb5fc Merge pull request #1520 from JosJuice/dvdinterface-init
DVDInterface: Initialize variables
2014-11-12 12:11:03 +11:00
Rachel Bryk
e9cb629723 Fix some double->float conversions. 2014-11-11 14:14:22 -05:00
Rachel Bryk
a371635990 Fix the red dot not showing up in input config when pointing right. 2014-11-11 13:42:42 -05:00