Commit Graph

10844 Commits

Author SHA1 Message Date
comex aa2fc1f66b Merge pull request #1449 from comex/memtools-merge
Reorganize faulting stuff.  Differentiate between arch- and OS-specific defines.
2014-11-16 13:46:33 -05:00
i418c 92d4e38267 Changed the hotkeys to 1 and 2. Message in GUI changed to reflect this. 2014-11-16 10:39:54 -08:00
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
Lioncash c0291d5b88 Merge pull request #1558 from comex/command-thread-mismatch
Fix wxCommandEvent/wxThreadEvent subclass mismatch
2014-11-16 00:03:35 -05:00
comex 37b14bdec9 Fix wxCommandEvent/wxThreadEvent subclass mismatch
Regression by 3fed975bac caused netplay to
crash on OS X.  While I'm at it, fix the long-standing "unsafe i guess"
AddPendingEvent, since we depend on wx 3 now...
2014-11-15 23:52:19 -05:00
comex 4e484faf4c Merge pull request #1557 from lioncash/join
Core: Join some variable declarations and assignments
2014-11-15 20:53:45 -05:00
Lioncash 5d2ca2dfcc Merge pull request #1554 from lioncash/unique
ISOFile: Get rid of a delete call
2014-11-15 20:27:59 -05:00
Lioncash 3eab75bc9c Core: Join some variable declarations and assignments 2014-11-15 20:21:35 -05:00
Lioncash 43b8749c60 Merge pull request #1555 from lioncash/ref
WatchView: Pass string by reference in SetWatchName
2014-11-15 18:02:10 -05: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
Lioncash 04ee0245e2 WatchView: Pass string by reference in SetWatchName 2014-11-15 14:06:12 -05:00
Lioncash 798a96bd2a ISOFile: Get rid of a delete call 2014-11-15 13:25:21 -05: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
Rachel Bryk fa18518cef Fix reading wii revisions. 2014-11-15 00:39:54 -05:00
skidau 99141a2698 Added Australia to the list of valid PAL regions 2014-11-15 16:16:37 +11:00
Rachel Bryk fa5e3ec292 Implement GetRevision() for wii disks. 2014-11-14 21:06:26 -05:00
comex 0cf8ab175b Fix UCodes.cpp to use UTF-8 encoding. 2014-11-14 11:53:56 -05: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
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 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
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
Fiora 733795891c D3D: fix issues with multi-level 1x1 textures on D3D
Fixes NBA 2K11, maybe other things.
2014-11-12 21:43:48 -08: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
Rachel Bryk 463c4faf1c Add GPUDeterminismMode to isoproperties. 2014-11-11 20:19:19 -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
Lioncash 892bbdade6 DolphinWX: Eliminate some memory leaks
Since the menus aren't actually assigned a parent, they would not be freed by wx. Plus, these should have initially been constructed on the stack in the first place.
Technically any time someone right-clicked the game list they would be leaking memory.
2014-11-11 09:50:16 -05:00
Lioncash ec82f02580 NetPlayDiag: Get rid of unnecessary text limit check
The text control is limited to 2000 characters on creation.
2014-11-11 00:12:23 -05:00
Lioncash 3fed975bac NetPlayDiag: Get rid of event table 2014-11-10 23:38:20 -05:00
Fiora 4b105ed0e4 JIT: revert accuracy improvement to mftb
Fixes a few games (e.g. Karaoke Revolution Party) for reasons explained in the
comments.
2014-11-10 20:31:07 -08:00
Lioncash 5891266e67 NetPlayDiag: Make the window title translateable 2014-11-10 23:26:56 -05:00
skidau 71d8165a86 Merge pull request #1518 from lioncash/evt
DolphinWX: Kill off trivial event tables
2014-11-11 11:55:49 +11:00
Matthew Parlane b1d8ca4730 Install nogui executable to bindir 2014-11-10 07:53:11 +00:00
Fiora 6603f98d04 JIT: add 64-bit write support to FIFO functions
Also fix 64-bit values passed to CallAC and otherwise correct immediate
handling in FIFO writes.
Fixes 007 Nightfire.
2014-11-09 21:24:30 -08:00
JosJuice 519d851bf8 DVDInterface: Initialize variables 2014-11-09 11:54:04 +01:00
skidau c34c231df1 Merge pull request #1508 from skidau/emu-wiimote-speaker-sample-rate-zero
Ignore the emulated wiimotes speaker data if the sample rate is set at 0hz
2014-11-09 17:58:34 +11:00
Lioncash ac387031a4 DolphinWX: Kill off trivial event tables
Also fixes some of the wonky stuff in Main where we would fire an event to do post-init stuff which isn't necessary anymore.
2014-11-09 00:08:33 -05:00
Lioncash 210567a919 DolphinWX: Remove unnecessary forward declarations 2014-11-07 22:16:13 -05:00
Rachel Bryk 83a6d28603 Fix analog l/r with tas input. 2014-11-07 20:44:38 -05:00
skidau a2fa679b2e Merge pull request #1507 from lioncash/event
DolphinWX: Eliminate most usages of event tables in the debugger
2014-11-08 12:26:52 +11:00
skidau 0f615c754a Packed the emu wiimote structs, removed swap16 and removed the speaker amp as the amp was distorting the audio. 2014-11-08 11:33:20 +11:00
Lioncash f9fe2d6487 Movie: Get rid of unnecessary explicit memcpys 2014-11-06 22:17:44 -05:00
Lioncash 1a214f7deb Merge pull request #1511 from lioncash/https
Main: Explicitly use the HTTPS site URL.
2014-11-06 22:15:04 -05:00
Jasper St. Pierre 44b879dac2 Destroy OpenMP 2014-11-06 18:38:24 -08:00
Lioncash 7a1dca993f Main: Explicitly use the HTTPS site URL. 2014-11-06 21:37:55 -05:00
Lioncash a1b44a9027 Merge pull request #1509 from lioncash/headers
Remove unnecessary cstdarg header includes
2014-11-06 20:58:13 -05:00
Lioncash 8959adefb2 Merge pull request #1506 from waddlesplash/dolphin-qt
Dolphin[Qt|WX]: Miscellaneous cleanup.
2014-11-06 20:55:44 -05:00
Lioncash 4c62bd2edb Remove unnecessary cstdarg header includes 2014-11-06 20:50:11 -05:00
Lioncash f6b4b4dbba Merge pull request #1497 from lioncash/host
Host: Kill off Host_SysMessage
2014-11-06 20:41:53 -05:00
Lioncash d79c794e8c Merge pull request #1490 from rohit-n/initialize
Common: Fix -Wmaybe-uninitialized warning.
2014-11-06 20:37:32 -05:00
skidau 28228ee3ca Merge pull request #1496 from lioncash/wxify
DolphinWX: wx-ify the unofficial version warning
2014-11-07 12:33:50 +11:00
skidau c36e7b9c23 Merge pull request #1494 from lioncash/statics
PPCCache: Make PLRU lookup tables static
2014-11-07 12:33:19 +11:00
Lioncash a5d304eb16 Merge pull request #1495 from lioncash/unused
Interpreter: Remove dead patches() function
2014-11-06 20:31:01 -05:00
comex ba48541c47 Merge pull request #1504 from comex/gpu-determinism-uninit-fix
Fix uninitialized GPU determinism mode for NAND titles or whatever.
2014-11-06 19:49:31 -05:00
Augustin Cavalier a96acea03c Dolphin[Qt|WX]: Miscellaneous cleanup.
DolphinQt:
 * Make the connect() calls explicit, not automatic
 * Follow better naming convention for the QActions
 * Remove the Open action from the toolbar.
Dolphin[Qt|WX]:
 * Move the "Skip Bundle" option to the root CMakeLists so that both DolphinQt and DolphinWX can use it.
2014-11-06 15:47:27 -05:00
skidau 021cdac24c Ignore the emulated wiimotes speaker data if the sample rate is set at 0hz.
Fixes issue 7806.
2014-11-06 22:51:59 +11:00
Lioncash ee22d091a0 DolphinWX: Eliminate most usages of event tables in the debugger.
Moves things over to Bind.
2014-11-05 23:03:06 -05:00
skidau d1950c1920 Merge pull request #1488 from Tilka/llvm_stdint_defines
Work around LLVM header peculiarity
2014-11-06 14:31:10 +11:00
Fiora b8d88a41e0 JIT: remove accidentally left-in debug code 2014-11-05 17:44:13 -08:00
comex 9d23a366c8 Fix uninitialized GPU determinism mode for NAND titles or whatever.
m_strGPUDeterminismMode can be set by either the global or game
settings.  Either way, it's then supposed to be parsed into an enum,
m_GPUDeterminismMode.  However, the code to do this was placed right
after checking for game settings, which doesn't happen at all if there
isn't a valid title ID.  Move it outside the if block.
2014-11-05 19:36:12 -05:00
Lioncash 606efbce10 PPCCache: Make PLRU lookup tables static 2014-11-05 19:35:30 -05:00
Lioncash 0e2f9114fc TASInputDlg: Narrow a variable scope in UpdateFromText 2014-11-05 13:52:03 -05:00
Rohit Nirmal 1beb047959 PowerPC: Remove unused variable. 2014-11-05 11:47:44 -05:00
Lioncash 884ec2ed13 Host: Kill off Host_SysMessage
Equivalent facilities already exist.
2014-11-05 02:30:48 -05:00
Lioncash 611f349429 DolphinWX: wx-ify the unofficial version warning 2014-11-04 23:13:25 -05:00
Lioncash a105a9a557 Interpreter: Remove dead patches() function 2014-11-04 20:44:57 -05:00
skidau 0515ab852e Merge pull request #1230 from FioraAeterna/constaddr
JIT: improve handling of stores with a known address
2014-11-05 12:40:38 +11:00
skidau a66b34cfc6 Merge pull request #1492 from FioraAeterna/fixregpreload
JIT: fix register preloading
2014-11-05 12:13:42 +11:00
Lioncash 50f442ac31 Merge pull request #1485 from Stevoisiak/capitalizeMenuOptions
Menu capitalization consistency
2014-11-04 09:19:15 -05:00
Fiora b81686b582 JIT: fix register preloading
Partially broken by typoes in the bitset patch.
2014-11-04 04:50:05 -08:00
Fiora f8880c0284 JIT: fix typo in optimization patch
Whoops... made us flush everything on every branch.
2014-11-04 02:04:30 -08:00
Rohit Nirmal f361ef1eb3 Common: Fix -Wmaybe-uninitialized warning. 2014-11-03 21:38:42 -06:00
comex 9cba787871 Merge pull request #1408 from randomstuff/perf
Profiling: measure time on non-Windows/POSIX using clock_gettime
2014-11-03 22:36:32 -05:00
Lioncash 30f97723db Core: Fix potentially uninitialized variable warnings 2014-11-03 22:21:10 -05:00
comex 42d41a456e Merge pull request #1489 from FioraAeterna/revertopt
JIT: revert cmpXX optimization
2014-11-03 21:07:11 -05:00
Fiora 768273f59b JIT: revert cmpXX optimization
It seems like this wasn't correct in 100% of cases.
2014-11-03 17:50:20 -08:00
skidau 027791685a Merge pull request #1483 from comex/on-demand-exi-interrupts
Make EXI use CoreTiming events like everything else instead of having its own special check.
2014-11-04 12:31:12 +11:00
skidau dc63f8f461 Merge pull request #1471 from RachelBryk/reset-record
Allow hard resets to be recorded in movies.
2014-11-04 12:30:48 +11:00
Tillmann Karras c34d99e40e Work around LLVM header peculiarity
Bug report: http://llvm.org/bugs/show_bug.cgi?id=21472
2014-11-04 02:29:33 +01:00
Fiora ce71c3cd4e JIT: fix valid_block marking
This caused invalidations that only affected the last portion of a JIT block
to fail, breaking Wii64's block linking. It might affect a bunch of other
games too; I haven't tested.
2014-11-03 16:23:44 -08:00
Ryan Houdek 8c981aad04 Merge pull request #1481 from FioraAeterna/fixclrcr
JIT: fix dumb mistake in crclr optimization patch
2014-11-03 14:43:38 -06:00
Jasper St. Pierre e290a3d39c MemArena: Fix the launching of non-Wii games
When we cleaned up the code to calculate the shm_position and total_mem
in one step, we sometimes skipped over certain views because they were
Wii-only. When looking at the total memory, we'd look at the last field,
whether or not it was skipped. Since Wii-only fields are the last view,
this meant that the shm_position was 0, since it was skipped, causing us
to map a 0-sized field. Fix this by explicitly returning the total size
from MemoryMap_InitializeViews.

Additionally, the shm_position was being calculated incorrectly because
it was adding up the shm_position *before* the mirror, rather than after
it. Fix this by adopting a scheme similar to what we had before.
2014-11-03 11:08:59 -08:00
Stevoisiak 1be1d60c09 Menu capitalization consistency 2014-11-03 14:03:39 -05:00
Fiora fc63c7ecae JIT: genericize immediate address handling, support in float stores too 2014-11-03 01:31:39 -08:00
comex 4cf8697957 Merge pull request #1480 from RachelBryk/warn
Fix some warnings.
2014-11-03 00:36:40 -05:00
Rachel Bryk f9495a484c Allow hard resets to be recorded in movies. 2014-11-03 00:30:29 -05:00
comex 9f683f353b Make EXI use CoreTiming events like everything else instead of having its own slow special check.
Microphone is probably wrong/mistimed because it doesn't take into
account cycles late, but that's not a new issue here.
2014-11-03 00:28:46 -05:00
Fiora e729fc4a28 JIT: fix dumb mistake in crclr optimization patch 2014-11-02 21:03:11 -08:00
Jasper St. Pierre f660789254 MemArena: Merge the initialization code with the size calculation code
To make mistakes like in the previous commit less prevalent in the future.
2014-11-02 19:59:14 -08:00
Rachel Bryk 114b0f5d94 Fix some warnings. 2014-11-02 22:39:20 -05:00
Jasper St. Pierre 5e5ed07b41 MemArena: Fix the calculation of position in SHM
The code to calculate the offsets into the SHM file wasn't properly
respecting the skip flags, causing it to calculate offsets beyond
the end of the SHM file.
2014-11-02 19:25:42 -08:00
Jasper St. Pierre 64540bc60d MemArena: Fix a memory leak caused by pointer confusion
This code was ported from out_ptr, which was a double-pointer, and
wanted to double-check that the proper arena was actually allocated.

When I ported it to store the pointer directly in the view regardless
of whether out_ptr was non-NULL, I got confused here and instead
caused the code to only free the arena if the first byte was non-zero.
2014-11-02 19:25:42 -08:00
Ryan Houdek 204598a082 Merge pull request #1350 from FioraAeterna/integeropts
Various smallish JIT optimizations
2014-11-02 20:13:20 -06:00
Rachel Bryk 2eac08aa30 Add nunchuk support to tas input. 2014-11-02 20:52:13 -05:00
Lioncash a41397d5d7 Merge pull request #1475 from lioncash/bind
TASInputDlg: Use Bind over Connect for event handling
2014-11-02 20:38:15 -05:00
comex 08b61fdd9c Merge pull request #1465 from degasus/master
VideoCommon: Remove GetPointer in fifo code
2014-11-02 19:58:45 -05:00
Jasper St. Pierre 1e93b0db19 MemArena: Rename GrabLowMemSpace to GrabSHMSegment
This code originally tried to map the "low space" for the Gamecube's
memory layout, but since has expanded to mapping all of the easily
mappable memory on the system. Change the name to "GrabSHMSegment" to
indicate that we're looking for a shared memory segment we can map into
our process space.
2014-11-02 16:51:27 -08:00
Jasper St. Pierre 079b881d20 MemArena: Clean up the code that does the mirroring 2014-11-02 16:51:26 -08:00
Jasper St. Pierre 6813473367 MemArena: Remove the low mappings for our pointers
These are effectively unused, since the memmap already maps them in one
place. For 32-bit, they might have some slight advantage, but we already
special-case the regular "high-mem" pointer for 32-bit, so just use the
one we already have...
2014-11-02 16:50:36 -08:00
Jasper St. Pierre 8858dc7764 Memmap: Remove vestigals of the memory-mapped EFB
It hasn't been memory-mapped for a long time.
2014-11-02 16:34:17 -08:00
Jasper St. Pierre dd0aadac97 MemoryWindow: Use p_pFakeVMEM, not the virtual mirror
They point to the same contents, so there's no reason to use the
mirror. This lets us make all the mirrors static.
2014-11-02 16:34:17 -08:00
Jasper St. Pierre 4a59750b30 MemArena: Bail on Arch64 if the out_ptr allocation fails 2014-11-02 16:34:17 -08:00
Jasper St. Pierre 5a2340fead Memmap: Make the constants aligned to 8 nibble characters
Otherwise, the constants can be a bit confusing to read.
2014-11-02 16:34:17 -08:00
Jasper St. Pierre 6317721c95 MemmapFunctions: Remove unused effective_address argument 2014-11-02 16:34:17 -08:00
Jasper St. Pierre 48aff73b6a MemArena: Remove duplicated code
I can't find any obvious difference between these two paths.
2014-11-02 16:34:17 -08:00
Jasper St. Pierre 81939e808f Memmap: Clean up indentation and whitespace a bit 2014-11-02 16:34:17 -08:00
comex 890b788633 Merge pull request #1467 from waddlesplash/dolphin-qt
DolphinQt: Games now boot!
2014-11-02 18:08:55 -05:00
Gabriel Corona 641e820257 Profiling: measure time on POSIX systems using clock_gettime 2014-11-03 00:07:12 +01:00
Lioncash 444e4fe3cf TASInputDlg: Use Bind over Connect for event handling 2014-11-02 14:16:07 -05:00
Augustin Cavalier 3d63d22e53 DolphinQt: adapt so that it can boot games. 2014-11-02 13:53:48 -05:00
Ryan Houdek 1c41acaddd Merge pull request #1264 from Stevoisiak/GCM-to-ISO
Gcm to iso
2014-11-02 11:29:41 -06:00
Ryan Houdek b8cba759f4 Merge pull request #1398 from Stevoisiak/setDefaultISOFiletypes
ConfigMain: Added missing filetypes to default ISO options
2014-11-02 11:24:43 -06:00
Augustin Cavalier 29593d403b Move GLInterface to the OGL VideoBackend's directory. 2014-11-02 12:16:33 -05:00
Ryan Houdek 66f0ac2417 Merge pull request #1401 from Stevoisiak/updateResolutionTooltip
VideoConfigDiag: Updated video resolution description
2014-11-02 11:13:29 -06:00
Ryan Houdek 6e43562496 Merge pull request #1468 from Tilka/cleanup
Small cleanup
2014-11-02 11:02:35 -06:00
Ryan Houdek 2c602137b1 Merge pull request #1472 from lioncash/i18n
DolphinWX: Make the TAS dialog window titles translatable.
2014-11-02 09:58:10 -06:00
Ryan Houdek 13d58b3f16 Merge pull request #1460 from phire/moreGetPointer
Remove GetPointers in VideoSoftware.
2014-11-02 09:57:16 -06:00
Ryan Houdek cd64253cb4 Merge pull request #1459 from Buddybenj/nunchuk
Nunchuck -> Nunchuk Fixes
2014-11-02 09:44:43 -06:00
Ryan Houdek 2b69d76e88 Merge pull request #1448 from skidau/mmio-read32
Fixed the endianess of the 32bit MMIO reads.
2014-11-02 09:36:43 -06:00
Ryan Houdek 0d70880d89 Merge pull request #1466 from Sonicadvance1/ARMv7-and-optimization
Optimizes ARMv7 andi{s,}_rc implementations.
2014-11-02 09:33:37 -06:00
Ryan Houdek 824bad458c Merge pull request #1454 from lioncash/interp
Interpreter: Remove a redundant macro
2014-11-02 09:33:19 -06:00
Ryan Houdek 409b240c2e Merge pull request #1469 from Tilka/nogui_abort
Reorder MainNoGUI shutdown
2014-11-02 09:31:51 -06:00
Ryan Houdek 83fcf710e8 Merge pull request #1462 from FioraAeterna/fixmftb
JIT: more mftb fixes
2014-11-02 09:31:25 -06:00
Lioncash 3d83433e90 DolphinWX: Make the TAS dialog window titles translatable. 2014-11-02 02:11:40 -05:00
Lioncash ca2391dd1e CheatSearchTab: Use a more specific event type for ApplyFocus 2014-11-02 00:30:02 -04:00
Tillmann Karras ff41dd479b Fix warnings about non-static variables 2014-11-02 04:51:44 +01:00
skidau 59c673aec6 Merge pull request #1161 from rohit-n/ogl-vector
OGL: Use unique_ptr instead of pointer when taking screenshot.
2014-11-02 14:19:00 +11:00
skidau b241b6eadd Merge pull request #1452 from lioncash/morestatic
GCPadEmu/WiimoteEmu: Make some arrays static
2014-11-02 14:15:13 +11:00
comex 5d18c66c99 Merge pull request #1464 from phire/usb_keyboard
Remove GetPointer from Wii USB Keyboard.
2014-11-01 22:35:37 -04:00
Tillmann Karras a248db0b65 Reorder MainNoGUI shutdown
Before this change I always got this when closing dolphin-emu-nogui:

X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  10 (X_UnmapWindow)
  Resource id in failed request:  0x3400003
  Serial number of failed request:  215
  Current serial number in output stream:  219
terminate called without an active exception
Aborted
2014-11-02 03:31:47 +01:00
Lioncash b6b7b823c3 Merge pull request #1455 from lioncash/dammit-wxwidgeeeeeets
VideoCommon{Backends}: Remove unnecessary wxWidgets references.
2014-11-01 22:29:18 -04:00
Tillmann Karras f4fed0dea0 JitAsm: remove unused code pointers 2014-11-02 02:00:47 +01:00
Tillmann Karras 033f2a7e93 x64ABI: get rid of some duplicate code 2014-11-02 02:00:47 +01:00
Lioncash 9ab924513e VideoCommon/VideoBackends: Remove unnecessary wxWidgets references.
EmuWindow doesn't even exist anymore. wxWidgets is also decoupled from the backends.
2014-11-01 19:19:00 -04:00
Buddybenj a4e48ab1a1 Nunchuck -> Nunchuk
Change another can not to cannot

Nunchuck -> Nunchuk

Nunchuck -> Nunchuk

Nunchuck -> Nunchuk

Nunchuck -> Nunchuk

Nunchuck -> Nunchuk

Nunchuck -> Nunchuk

Nunchuck -> Nunchuk
2014-11-01 17:42:13 -05:00
Lioncash c83dc2a3e7 Merge pull request #1458 from phire/fix1450Tabs
Fix Indentation in PR 1450.
2014-11-01 14:39:31 -04:00
Ryan Houdek 86ca63658b Optimizes ARMv7 andi{s,}_rc implementations.
Cuts down from a 3 instruction max implementation down to 1 instruction if the immediate can fit in to the instruction encoding.
2014-11-01 13:06:52 +00:00
degasus cd9f0c34e4 VideoCommon: Remove GetPointer in fifo code 2014-11-01 12:24:43 +01:00
Scott Mansell 4ba794d4c9 Remove GetPointer from Wii USB Keyboard. 2014-11-01 23:59:19 +13:00
Fiora 7deaf00c44 JIT: more mftb fixes
A very subtle difference in how I calculated the timebase value seems
to have broken Karaoke Revolution; this seems to fix it. Also be a bit more
paranoid in conditions for mftb merging.
2014-11-01 03:15:25 -07:00
Scott Mansell 47d8fc3aed Wii Net SSL: Use std::string for hostname.
Previous code used a fixed length char buffer, which had
a few ugly edge cases.
2014-11-01 16:39:37 +13:00
Scott Mansell b929f764f2 Remove GetPointers in VideoSoftware.
This same code was previously fixed in VideoCommon, just
updating this to match.

We are down to 121 GetPointers.
2014-11-01 16:29:19 +13:00
Scott Mansell 7b6adf8b04 Fix Indentation in PR 1450.
Would have been nice if this was caught a few min earlier.
2014-11-01 15:45:44 +13:00
skidau 86c100c442 Merge pull request #1442 from lioncash/wx
CheatSearchTab: Improve localization possibilities for a string
2014-11-01 12:26:08 +11:00
skidau dffbcf275b Merge pull request #1441 from lioncash/fwd
BootManager: Get rid of unnecessary forward declaration
2014-11-01 12:25:55 +11:00
skidau 8f9904f703 Merge pull request #1450 from phire/fix-smg2
Fix DSPLLE for games which DMA data from MEM2 to the DSP.
2014-11-01 12:25:38 +11:00
skidau 439a8605fa Merge pull request #1417 from fkane/threadsafe-interrupts
Defer processing of expansion interface interrupts (fixes audio in Super Mario Sunshine on lower-end systems)
2014-11-01 12:24:46 +11:00
comex af1a08fbf3 Merge pull request #1453 from lioncash/str
GCMemcardDirectory: Pass std::strings by reference.
2014-10-31 16:07:46 -04:00
Lioncash 475bb40364 Interpreter: Remove a redundant macro 2014-10-31 10:55:25 -04:00
Lioncash c23131d046 GCMemcardDirectory: Pass std::strings by reference. 2014-10-31 10:17:24 -04:00
Lioncash 5a321d31dd GCPadEmu/WiimoteEmu: Make some arrays static 2014-10-31 09:51:51 -04:00
Lioncash 72c958810c SI_Device: Make GetDeviceNumber and GetDeviceType const. 2014-10-31 09:30:56 -04:00
Scott Mansell 9cb80875e6 Fix DSPLLE for games which DMA data from MEM2 to the DSP.
Fixes issue 7812.
2014-10-31 23:17:58 +13:00
comex 2ecd849eab Reorganize faulting stuff. Differentiate between arch- and OS-specific defines.
- Get rid of ArmMemTools.cpp and rename x64MemTools.cpp to MemTools.cpp.
  ArmMemTools was almost identical to the POSIX part of x64MemTools, and
  the two differences, (a) lack of sigaltstack, which I added to the
  latter recently, and (b) use of r10 to determine the fault address
  instead of info->si_addr (meaning it only works for specifically
  formatted JIT code), I don't think are necessary.  (Plus Android, see
  below.)

- Rename Core/PowerPC/JitCommon/JitBackpatch.h to Core/MachineContext.h.
  It doesn't contain anything JIT-specific anymore, and e.g. locking
  will want to use faulting support regardless of whether any JIT is in
  use.

- Get rid of different definitions of SContext for different
  architectures under __linux__, since this is POSIX.  The exception is
  of course Android being shitty; I moved the workaround definition from
  ArmMemTools.cpp to here.

- Get rid of #ifdefs around EMM::InstallExceptionHandler and just
  provide an empty implementation for unsupported systems (i.e.
  _M_GENERIC really).  Added const bool g_exception_handlers_supported
  for future use; currently exception handlers are only used by the JIT,
  whose use implies non-M_GENERIC, but locking will change that.

- Remove an unnecessary typedef.
2014-10-31 00:14:06 -04:00
skidau 7d5c509c07 Fixed the endianess of the 32bit MMIO reads. 2014-10-31 13:19:52 +11:00
skidau ef1520eab0 Merge pull request #1447 from skidau/Watches-bpRange-warning
Fixed a warning in the add memcheck from Watch window
2014-10-31 13:04:51 +11:00
skidau e0c347527b Merge pull request #1446 from RachelBryk/accel2
Fix wiimote accel.
2014-10-31 13:04:37 +11:00
Rachel Bryk b08d993b55 Fix wiimote accel. 2014-10-30 21:28:02 -04:00
skidau dbddc5f8e2 Fixed a warning in the add memcheck from Watch window 2014-10-31 11:26:17 +11:00
comex de6dd847e7 Merge pull request #1445 from lioncash/array
DSPAnalyzer: Use a std::array for the code flags
2014-10-30 17:43:00 -04:00
Ryan Houdek 1ac9008243 Merge pull request #1436 from phire/DumbGetPointers
Remove some dumb GetPointers.
2014-10-30 12:59:09 -06:00
Ryan Houdek 3e82cb4628 Merge pull request #1440 from Sonicadvance1/attributeless-workaround
Implements PP shader system using attribute workaround.
2014-10-30 12:46:40 -06:00
Stevoisiak 7a8a00f192 ConfigMain: Added missing filetypes to default ISO options 2014-10-30 13:51:48 -04:00
Lioncash b09ce72605 DSPAnalyzer: Use a std::array for the code flags 2014-10-30 12:45:27 -04:00
Ryan Houdek 181ff6750e Implements PP shader system using attribute workaround.
This is pretty much a step backwards in our code. We used to use attributes in our PP shader system a long time ago but we changed it to attributeless
for code simplicity and cleanliness. This reimplements the attribute code path as an optional path to take in the case your system doesn't work with
attributeless rendering. In this case the only shipping drivers that we can know for sure supports attributeless rendering is the Nexus 5's v95 driver
that is included in the Android 5.0 image.

I hadn't planned on implementing a work around to get post processing working in these cases, but due to us force enabling the PP shader system at all
times it sort of went up on the priority list. We can't be having a supported platform black screening at all times can we?
2014-10-30 10:49:03 -05:00
Lioncash 0216a4c5fe CheatSearchTab: Improve localization possibilities for a string
Numbers might not always be right-aligned for every language.
2014-10-29 23:19:24 -04:00
Lioncash 319f97bb56 BootManager: Get rid of unnecessary forward declaration 2014-10-29 22:25:16 -04:00
Rohit Nirmal 2a878d7726 OGL: Use unique_ptr instead of pointer when taking screenshot. 2014-10-29 20:59:34 -05:00
skidau e0393be347 Merge pull request #1418 from degasus/master
OGL: fix interpolation of PP shaders
2014-10-30 12:49:21 +11:00
Ryan Houdek 9da7e6ae79 Adds a DriverDetails bug to track Qualcomm attributeless rendering.
This particular issue was fixed in the v66 (07-08-2014) development drivers from Qualcomm.
To make sure we cover all drivers that may or may not have the issue fixed, make sure to mandate v95 minimum to work around the issue.
The next commit is the actual work around for post processing for this.
2014-10-29 19:58:18 -05:00
Ryan Houdek daabcfd6fc Removes Qualcomm's rotated framebuffer bug from DriverDetails.
Due to changes in how we render to the final framebuffer we no longer encounter this bug.
With the change to post processing being enabled at all times and no longer using glBlitFramebuffer, Qualcomm no longer has the chance to rotate our
framebuffer underneath of us.
2014-10-29 19:57:51 -05:00
comex 67452c53f1 Merge pull request #1386 from booto/small-loop-fix
VideoCommon: loop bug in ShaderGenCommon.h debug
2014-10-29 17:28:10 -04:00
comex eb22adf24a Merge pull request #1433 from rohit-n/fix-warnings
DolphinWX: Fix a few warnings.
2014-10-29 17:23:56 -04:00
Ryan Houdek 52e6a940cf Merge pull request #1414 from kayru/d3d_optimization
D3D: Couple of small optimizations
2014-10-29 13:26:50 -06:00
Ryan Houdek 3dd574bcf6 Merge pull request #1438 from rohit-n/fix-pch
Fix build failing with PCH disabled.
2014-10-29 13:18:25 -06:00
Rohit Nirmal a09afe8821 Fix build failing with PCH disabled. 2014-10-29 13:00:48 -04:00
Ryan Houdek bbaf8f9c0e Merge pull request #1434 from Sonicadvance1/fix-qualcomm
Fixes missing objects on Adreno hardware.
2014-10-29 10:38:23 -06:00
Ryan Houdek 6d4867e36a Fixes missing objects on Adreno hardware.
This particular bug from our friends over at Qualcomm manifests itself due to our alpha testing code having a conditional if statement in it.
This is a fairly recent breakage this time around, it was introduced in the v95 driver which comes with Android 5.0 on the Nexus 5.

So to break this issue down; In our alpha testing code we have two comparisons that happen and if they are true we will continue rendering, but if
they aren't true we do an early discard and return. This is summed up with a fairly simple if statement.

if (!(condition_1 <logic op> condition_2)) { /* discard and return */ }

This particular issue isn't actually due to the conditions within the if statement, but the negation of the result. This is the particular issue that
causes Qualcomm to fall flat on its face while doing so.

I've got two simple test cases that demonstrate this.
Non-working: http://hastebin.com/evugohixov.avrasm
Working: http://hastebin.com/afimesuwen.avrasm

As one can see, the disassembled output between the two shaders is different even though in reality it should have the same visual result.

I'm currently writing up a simple test program for Qualcomm to enjoy, since they will be asking for one when I tell them about the bug.
It will be tracked in our video driver failure spreadsheet along with the others.
2014-10-29 06:21:03 -05:00
Scott Mansell b4e0328508 And clean up this GetPointer() while I'm here.
It will probally be replaced later.
2014-10-29 23:59:32 +13:00
Scott Mansell 3e47480470 Remove dumb getPointers that actually want the whole memory block.
The whole memory block is accessable globally anyway. Much
cleaner!
2014-10-29 23:51:27 +13:00
Fiora fb0960f0ee JIT: flush unused registers during branch merges
Also correct some flags in interpreter tables.
2014-10-29 00:32:59 -07:00
Fiora 1ec1a9c33a JIT: optimize crclr special case of crxor 2014-10-29 00:30:27 -07:00
Fiora 97fba41860 JIT: merge fcmpx and cror
Almost all uses of boolean condition-register ops in real code seem to be
the combination fcmpx + cror (e.g. for <= or >=). This merges the two.
2014-10-29 00:30:27 -07:00
Fiora a666bb6bf6 JIT: optimize mulhwu 2014-10-29 00:30:26 -07:00
Fiora 5b5e462200 JIT: reorder blr comparisons
This should allow macro-op fusion in blr instructions.
2014-10-29 00:30:26 -07:00
Fiora 7388c62439 JIT: use BLR optimization to avoid anding LR with 0xFFFFFFFC
Should save roughly one instruction per blr.
2014-10-29 00:30:26 -07:00
Fiora cec2cb9d38 JIT: micro-optimize cmpXX a bit more for lower latency/code size 2014-10-29 00:30:25 -07:00
comex 089e32ba7d Merge pull request #1307 from comex/bitset
Higher level bitset wrapper
2014-10-28 23:39:35 -04:00
comex 7747c9efbb Merge pull request #1429 from lioncash/concat
FileSystemGCWii: Shorten some string concatenations
2014-10-28 23:38:58 -04:00
comex 3247f28048 Merge pull request #1430 from lioncash/voldir
VolumeDirectory: Pass std::string by reference for SetUniqueID/SetName
2014-10-28 23:38:21 -04:00
comex 6618337ece Merge pull request #1421 from comex/frames-mkdir
Create userdir/Dump/Frames as needed.
2014-10-28 23:37:36 -04:00
skidau f426276b2e Merge pull request #1413 from Stevoisiak/moreFlags
Added country flags for Russia and Australia
2014-10-29 14:15:45 +11:00
Stevoisiak 00620ea729 Added flags for Russia and Australia 2014-10-28 23:04:24 -04:00
Rohit Nirmal 55f91ecba4 DolphinWX: Fix -Wsign-compare warnings. 2014-10-28 21:07:48 -05:00
Rohit Nirmal b70a75776e DolphinWX: Remove unused variable. 2014-10-28 21:02:47 -05:00
skidau 049afc4315 Merge pull request #1428 from phire/fixPaletteCpy
Fix Invalid Palette Pointer error.
2014-10-29 12:25:57 +11:00
comex 6698bfe58e Merge pull request #1424 from phire/memmapPtrCleanup
Memmap pointer cleanup.
2014-10-28 17:31:23 -04:00
comex 073cce959a Create userdir/Dump/Frames as needed.
This is used for framedump.raw in non-Windows builds without libav
support.
2014-10-28 17:24:07 -04:00
Lioncash 5ba5aa10e3 Merge pull request #1431 from magcius/fix-breakpoints
BreakPoints: Fix compile warning
2014-10-28 17:08:51 -04:00
comex 1c32a3f77c Merge pull request #1426 from lioncash/osx
Make some OSX-only functions static
2014-10-28 16:16:03 -04:00
comex 31c679a3dc Merge pull request #1403 from waddlesplash/dolphin-qt
DolphinQt: Fix toolbar image loading on Retina displays
2014-10-28 16:15:04 -04:00
Scott Mansell ba58cc47a3 Remove old (and now incorrect) error checking code.
We will now rely on Memory::CopyFromEmu to do bounds checking.

Some games actually load palettes from 0x00000000, despite the
fact no valid palette data should ever be there.

Fixes Issue 7792.
2014-10-29 08:53:53 +13:00
Scott Mansell d77f361c01 Add range checking to CopyTo/FromEmu so it won't segfault. 2014-10-29 08:53:53 +13:00
Jasper St. Pierre d9a1fc1564 BreakPoints: Fix compile warning 2014-10-28 12:22:30 -07:00
Augustin Cavalier 5b4b74de6a Fix image loading on Retina and other HiDPI displays. 2014-10-28 14:39:20 -04:00
Lioncash 56bc58b9f4 VolumeDirectory: Pass std::string by reference for SetUniqueID/SetName 2014-10-28 14:18:54 -04:00
Lioncash d1d70c1a7d FileSystemGCWii: Shorten some string concatenations
Just does it all on one line instead.
2014-10-28 13:41:42 -04:00
Lioncash fd39454ad3 Make some OSX-only functions static
Gets rid of function prototype warnings.
2014-10-28 08:41:50 -04:00
Scott Mansell 1fbf4ae58a Round up 7 nibble constants to 8 nibbles, for readablity. 2014-10-29 00:01:02 +13:00
Scott Mansell a6671645d6 Remove commented out EFB arena code. 2014-10-28 23:58:54 +13:00
Scott Mansell 125cd92c3c Update pointer types in memmap.cpp to match dolphin style guide. 2014-10-28 23:54:37 +13:00
Lioncash 88ec3b7725 EXI_Channel: Use an enum for read/write modes 2014-10-27 21:57:48 -04:00
skidau 1630b0c684 Merge pull request #1291 from skidau/debugger-step-out
Dolphin debugger enhancements
2014-10-28 12:53:22 +11:00
skidau b13ba0680c Merge pull request #1345 from sgadrat/fix-avidump-framerate
Fix timing of AVI files dumped on Linux
2014-10-28 12:50:01 +11:00
skidau 726a3acc9a Merge pull request #1409 from lioncash/err
OGL: Get rid of error macros
2014-10-28 12:48:39 +11:00
skidau 3f7a6e3eee Merge pull request #1405 from lioncash/mono
CheatSearchTab: Make cheat list display in monospace font
2014-10-28 12:47:21 +11:00
skidau dd3cd30ee8 Merge pull request #1393 from RachelBryk/accel
Fix acceleration emulation for wiimote and nunchuk.
2014-10-28 12:46:37 +11:00
comex 5f4c22df1a Merge pull request #1423 from Buddybenj/cannot
Fix consistency of cannot throughout the project
2014-10-27 21:28:17 -04:00
Buddybenj 1b9add5cab Fix consistency of cannot throughout the project 2014-10-27 20:26:18 -05:00
degasus ce9ef2c438 OGL: fix interpolation of PP shaders 2014-10-27 21:15:32 +01:00
comex c76b804258 Merge pull request #1406 from lioncash/const
DolphinQt: Make GetOS const
2014-10-27 15:04:41 -04:00
Augustin Cavalier 32c6848c79 Some style fixes. 2014-10-27 13:11:39 -04:00
fkane c37aca70a7 Make expansion interface interrupt updates thread-safe (fixes loss of audio in Super Mario Sunshine on lower-end systems.) 2014-10-27 09:37:17 -04:00
skidau daf977e84e Disabled optimizations, block merging and instruction skipping code while the debugger is stepping. 2014-10-27 23:38:45 +11:00
Ryan Houdek 81dda593cd Merge pull request #1404 from Sonicadvance1/fix-ARMv7
Fixes some ARMv7 regressions.
2014-10-27 05:15:17 -06:00
Ryan Houdek 043bd710a0 Merge pull request #1394 from Sonicadvance1/fix-arm-cpudetect
Fixes ARM CPU detection routine for the hardware.
2014-10-27 05:07:24 -06:00
skidau bf97e7f9c1 Merge pull request #1390 from RachelBryk/turbo
Alternate inputs once per frame rather than once per input for turbo.
2014-10-27 12:56:21 +11:00
skidau 7cc33a2fcc Merge pull request #1384 from RachelBryk/hide-mouse
Fix description of hide mouse cursor option.
2014-10-27 12:55:17 +11:00
Yuriy O'Donnell 88d11ec5b2 D3D: RestoreState no longer resets PS resources 2014-10-27 00:02:30 +01:00
Yuriy O'Donnell 0c5a572f8d D3D: Use two buffers for VertexManager 2014-10-26 23:38:15 +01:00
Yuriy O'Donnell c35847b795 D3D: Using start index and base vertex instead of buffer offsets 2014-10-26 23:38:14 +01:00
Yuriy O'Donnell 48ba55203b D3D: Vertex and index data in one buffer 2014-10-26 23:38:14 +01:00
Lioncash edea9dfca3 EXI_DeviceIPL: Fix vertical alignment of IPL arrays 2014-10-26 11:45:56 -04:00