Commit Graph

10720 Commits

Author SHA1 Message Date
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
skidau 4570dd7eeb Fixed a crash that would occur if a new watch were added by entering a watch name.
Code style updates.
2014-10-26 23:23:45 +11:00
skidau 7eebbcdca7 Fixed a crash that would occur when old symbol information was reused 2014-10-26 21:19:22 +11:00
Lioncash 49b94e5285 OGL: Get rid of error macros 2014-10-26 04:54:58 -04:00
skidau 73dca1ca33 Added a new option to add memchecks from the Watch window.
Fixed watch labels from being truncated at the first whitespace.
2014-10-26 16:14:17 +11:00
skidau 2a3a8520a2 Removed the EXRAM_MASK from the safe address check as it was causing invalid accesses on Wii games in DEBUGFAST builds 2014-10-26 14:56:03 +11:00
skidau 8d2931cf18 Breakpoints and watches are now loaded and saved on start/stop.
Saved Breakpoints and watches per game in the game ini.
2014-10-26 14:56:03 +11:00
skidau b73130af77 Added Load/Save function for the Watch window.
Made the floating windows toolbars dockable.
Scaled down the breakpoint toolbar icons to 16x16.
2014-10-26 14:56:03 +11:00
skidau b34e220086 Added a "Delete watch" context menu to the Watch window.
Added a "View memory" command to the context menu.
2014-10-26 14:56:03 +11:00
skidau 290e1bed37 Disable block linking while debugger stepping or if there are breakpoints 2014-10-26 14:56:02 +11:00
skidau d0a3bb7650 Added "Add to watch" context menu items to the Memory and Register windows.
Added "View memory" context menu item to the Register window.
2014-10-26 14:56:02 +11:00
skidau 613cae613a Added a RAM Watch window to the debugger
Conflicts:
	Source/Core/Core/HW/Memmap.cpp
	Source/Core/Core/HW/Memmap.h
	Source/Core/DolphinWX/Debugger/CodeWindow.h
2014-10-26 14:56:02 +11:00
skidau df37649b9f Changed the step over routine to a single stepping version that steps until a blr is encountered.
Cleared out all temporary breakpoints on each step to prevent phantom breakpoints from stopping the debugger.
2014-10-26 14:56:02 +11:00
skidau b331ec96a3 Made the "continue", "stepover" and "stepout" functions work when the PC is at a breakpoint 2014-10-26 14:56:02 +11:00
skidau 219a5078e8 Added a "Step Out" (aka "Step return") function to the debugger.
Conflicts:
	Source/Core/DolphinWX/Debugger/CodeWindow.h
2014-10-26 14:56:01 +11:00
skidau f895648eb9 Merge pull request #1396 from comex/star-star-star
Fix 'sizeof' which broke in my reference-to-pointer conversion.
2014-10-26 14:18:02 +11:00
skidau 38acd4d4bf Merge pull request #1382 from Sonicadvance1/LLVM-disasm
Implements LLVM based disassembler for the debugger.
2014-10-26 13:46:01 +11:00
skidau 1078d78a6c Merge pull request #1374 from lioncash/clearctx
AGL: Use NSOpenGLContext's clearCurrentContext in ClearCurrent
2014-10-26 13:44:50 +11:00
skidau 7c58eb344d Merge pull request #1378 from lioncash/gl
GLUtil: Change return type from GLuint to GLenum for OpenGL_ReportGLError.
2014-10-26 13:44:34 +11:00
Lioncash 14c3445ad2 DolphinQt: Make GetOS const 2014-10-25 21:51:58 -04:00
Lioncash adf6ce076c CheatSearchTab: Make cheat list display in monospace font 2014-10-25 21:44:56 -04:00
Ryan Houdek 0fbd5248ca Fixes a potential crash on the ARMv7 JIT if someone disables the entire JIT in the debugger.
We can't disable branches in the JITs. Make sure they don't become disabled if someone tries to disable the full JIT.
2014-10-25 20:38:44 -05:00
Ryan Houdek 17f352e2aa Fixes some overzealous optimizations from ARMv7 BindToRegister.
We can't do it in rlw and friends.
subfx had an inccorect check.
Minor whitespace and reordering.
2014-10-25 20:36:29 -05:00
Ryan Houdek 484fc392d6 Fixes minor bug in the ARMv7 register cache.
Makes sure our register we are binding doesn't get unloaded immediately.
2014-10-25 20:34:11 -05:00
comex 5f21683343 Merge pull request #1388 from waddlesplash/dolphin-qt
DolphinQt: About dialog fixes, SystemInfo dialog
2014-10-25 21:20:02 -04:00