Commit Graph

10438 Commits

Author SHA1 Message Date
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
Augustin Cavalier
7cd0a13d35 Fixes from @comex to add the app bundle and icon on Mac. 2014-10-25 21:17:32 -04:00
Augustin Cavalier
69cd8229d8 Fixes to the About dialog & add the SystemInfo dialog.
Also fix the build on Mac OS X.
2014-10-25 20:59:07 -04:00
Rachel Bryk
f07d3be502 Fix acceleration emulation for wiimote and nunchuk.
The 1-2 least significant bits were missing.
2014-10-25 19:49:42 -04:00
comex
b29e5146ec Convert some VideoCommon stuff to BitSet.
Now with a minor performance improvement removed for no reason.
2014-10-25 16:57:25 -04:00
comex
f51c233a08 Add workaround for OS X symbol clash and AllOnes helper method. 2014-10-25 16:57:25 -04:00
comex
eb7f4dac50 Convert registersInUse to BitSet. 2014-10-25 16:57:25 -04:00
comex
b6a7438053 Add BitSet and, as a test, convert some JitRegCache stuff to it.
This is a higher level, more concise wrapper for bitsets which supports
efficiently counting and iterating over set bits.  It's similar to
std::bitset, but the latter does not support efficient iteration (and at
least in libc++, the count algorithm is subpar, not that it really
matters).  The converted uses include both bitsets and, notably,
considerably less efficient regular arrays (for in/out registers in
PPCAnalyst).

Unfortunately, this may slightly pessimize unoptimized builds.
2014-10-25 16:56:51 -04:00
Lioncash
da528008de CheatsWindow: Remove unnecessary header includes and forward decls 2014-10-25 16:56:16 -04:00
comex
275755aaaf Merge pull request #1381 from skidau/Remove-false-ext-exception-error
Added a check for external exceptions that have been set
2014-10-25 16:48:44 -04:00
comex
4b0c6d8e0f Merge pull request #1385 from lioncash/bitfield
BitField: Fix a typo in the sample usage.
2014-10-25 16:48:31 -04:00
comex
b7cb5b69c4 Merge pull request #1387 from RachelBryk/radius
Change default gcpad radius to 100.
2014-10-25 16:46:06 -04:00
Lioncash
51a96297e6 CheatSearchTab: Fix signed/unsigned comparison warning 2014-10-25 16:32:33 -04:00
Ryan Houdek
3ac2d8e1f1 Revert "Removes ARMv7 specific byteswap routines from CommonFuncs.h" 2014-10-25 15:28:04 -05:00
comex
a9f9e81330 Use double braces for std:array initialization to avoid clang warning.
std::array does not have an initializer list constructor, instead (for
some reason) being defined to contain one public array member, allowing
it to be directly initialized.  Thus the most explicit way to initialize
it is with two braces, one for the struct and one for the array.  C++
allows the second pair of braces to be omitted, but clang complains
about it.
2014-10-25 15:39:24 -04:00
comex
5c2a470b97 Fix 'sizeof' which broke in my reference-to-pointer conversion. 2014-10-25 15:02:12 -04:00
Ryan Houdek
c2364a54c1 Fixes packaging OS X binary with spaces in the directory name. 2014-10-25 10:51:54 -05:00
Ryan Houdek
b66a7f83c2 Fixes ARM CPU detection routine for the hardware.
We weren't dropping a newline character from the string, we were cutting off the last character of the hardware name.
This fixes my TK1 being called 'lagun' when it's name is 'laguna'
2014-10-25 09:14:14 -05:00
Ryan Houdek
e780a49a06 Merge pull request #1375 from Sonicadvance1/ARMv7-optimizations
Minor ARMv7 JIT recompiler optimizations.
2014-10-25 08:28:10 -05:00
skidau
bc26cb1b19 Merge pull request #1322 from degasus/ogl-pp
OGL: force enable postprocessing
2014-10-25 13:48:27 +11:00
skidau
8598d6bc2b Merge pull request #1364 from RachelBryk/titles
Read game title from ini file, or titles.txt if it exists.
2014-10-25 13:33:26 +11:00
skidau
726306fa27 Merge pull request #1367 from lioncash/radiobox
CheatSearchTab: Use a wxRadioBox for data sizes
2014-10-25 13:32:24 +11:00
skidau
f1e5765b99 Merge pull request #1372 from Sonicadvance1/fix-egl-blackness
Fixes black screen issue on EGL+X11 systems.
2014-10-25 13:31:37 +11:00
Ryan Houdek
cb10bef9a4 Implements LLVM based disassembler for the debugger.
This will work for all of our platforms, x86, ARMv7, and AArch64.
Main issue with this is that LLVM's cmake files aren't correctly finding the LLVM install.
Not sure if this is Ubuntu's issue or not, it may just work on other operating systems.

We could potentially improve this, you can pass in a specific CPU in to the LLVM disassembler. This would probably affect latency times that are
reported by LLVM's disassembly? This needs to be further investigated later.
2014-10-24 18:10:21 -05:00
Rachel Bryk
f199acc234 Alternate inputs once per frame rather than once per input for turbo.
Fixes turbo for games that do not run at 60 fps.
2014-10-24 17:56:46 -04:00
Ryan Houdek
6483f8d45c Removes ARMv7 specific byteswap routines from CommonFuncs.h
GCC has optimized this using the exact same code since 4.7 or 4.8.
Android building falls back to the __linux__ route.
No need to keep these around anymore since we aren't building on an old GCC version.
2014-10-24 16:21:54 -05:00
Augustin Cavalier
51700a2b68 Fix the brand/cpu_string reversal.
Before this commit, the two were reversed ("cpu_string" had the brand, e.g. "AuthenticAMD"; and "brand_string" had the CPU type, e.g. "AMD Phenom II X4 925").
2014-10-24 16:09:21 -04:00
Rachel Bryk
c5fc3dd80f Change default gcpad radius to 100.
Official gc controllers need it to be 100 to work properly, and it is
better to have it set too high than too low.

See issue 7762.
2014-10-24 15:35:44 -04:00
Lioncash
c0c835d0b6 BitField: Fix a typo in the sample usage. 2014-10-24 13:33:02 -04:00
Rachel Bryk
0e92a47bc8 Fix description of hide mouse cursor option. 2014-10-24 12:36:14 -04:00
Lioncash
b1bdce7d77 TextureCache: Get rid of explicit deletes in SaveTexture 2014-10-24 08:47:06 -04:00
skidau
2c8e77dcc0 Added a check for external exceptions that have been set. Prevents a false positive log message. 2014-10-24 13:23:21 +11:00
skidau
3ab921d5b0 Merge pull request #1363 from lioncash/init-order
CoreParameter: Fix initializer list order
2014-10-24 13:03:38 +11:00
skidau
716fe06289 Merge pull request #1349 from comex/good-job-dereferencing-null-on-purpose
Fix some warnings from Clang trunk in an overly aggressive manner
2014-10-24 13:03:09 +11:00
skidau
ace57fb515 Merge pull request #1348 from Sonicadvance1/JitBlockView-cleanup
Cleans up the JIT block viewer in the WX UI.
2014-10-24 13:01:53 +11:00
Sylvain Gadrat
3a12c50dc1 Fix timing of AVI files dumped on Linux
The timing information is set on s_scaled_frame->pts, giving precise
timing information to the encoder. Frames arriving too early (less than
one tick after the previous frame) are droped. The setting of packet's
timestamps and flags is done after the call to avcodec_encode_video2()
as this function resets these fields according to its documentation.
2014-10-23 23:34:38 +02:00
comex
1f5b1001ce Merge pull request #1342 from phire/lessGetPointer
Eliminate getPointers which are memcpyed or memset.
2014-10-23 14:42:37 -04:00
Lioncash
3509a6d03e GLUtil: Change return type from GLuint to GLenum for OpenGL_ReportGLError. 2014-10-23 13:04:19 -04:00
Ryan Houdek
5204acd5ee Fixes OpenSLES's sample rate.
I was statically setting the sample rate to 44.1Khz when we default to run at 48Khz.
This was causing audio to sound much too low.
2014-10-23 11:29:49 -05:00
Ryan Houdek
5bb19426b3 Optimizes instructions in ARMv7's JIT inside of the arith function.
For instructions where the second immediate value fits within an instruction encoding, just encode it directly in to the instruction.
2014-10-23 15:42:57 +00:00
Ryan Houdek
6743d6ef1f Adds support back for non-immediate cmp/cmpi to ARMv7 JIT. 2014-10-23 15:39:09 +00:00
Ryan Houdek
0253c35d3a Adds support to ARMv7's register cache for not loading a destination register prior to overwriting.
This extends the register cache's BindToRegister function with a doLoad argument just like x86's.
The speedup is minor for these implemented integer instructions.
2014-10-23 15:38:56 +00:00
Lioncash
101af72102 AGL: Use NSOpenGLContext's clearCurrentContext in ClearCurrent 2014-10-23 10:56:42 -04:00
Ryan Houdek
ec56c3b8d3 Fixes black screen issue on EGL+X11 systems.
We weren't setting the backbuffer dimensions on this platform when the window is created.
This required a resize event to first be fired in order to see anything.

So instead do like GLX + X11 platforms do and query the dimensions and set the backbuffer to them.

Should fix issue 7666.
2014-10-23 08:06:42 -05:00
Ryan Houdek
a2c8783417 Enables EarlyZ support in OpenGL ES 3.1. 2014-10-23 07:34:07 -05:00
Lioncash
a9f0bd72d2 Merge pull request #1369 from Sonicadvance1/enable-profiling
Enables block profiling in the UI on non x86 targets.
2014-10-23 08:09:39 -04:00
Ryan Houdek
2a1d4a7245 Removes some terrible printf debugging that was left over in the ARMv7 JIT. 2014-10-23 06:08:49 -05:00
Ryan Houdek
50135a988e Enables block profiling in the UI on non x86 targets.
ARMv7 supports block profiling as well. So let's stop artificially limiting here.
2014-10-23 05:59:14 -05:00
Scott Mansell
23832987b5 Revert changes preloading of RGBA8 tiles.
This path should probally be optimised, but it's out of the
scope of this PR.
2014-10-23 18:15:29 +13:00
Lioncash
5bb6f515d8 CoreParameter: Fix initializer list order 2014-10-22 23:38:13 -04:00
Lioncash
40b2737458 CheatSearchTab: Use a wxRadioBox for data sizes 2014-10-22 23:37:35 -04:00
comex
00c6ec97a6 Merge pull request #1347 from comex/header-hygiene
Add missing includes where headers depend on other headers having been included first.
2014-10-22 23:23:58 -04:00
skidau
684cb658e2 Merge pull request #1354 from Sonicadvance1/ARMv7-stepping
Adds support for stepping in the ARMv7 JIT.
2014-10-23 13:31:17 +11:00
skidau
9836ce23e6 Merge pull request #1353 from Sonicadvance1/block-debugging
Don't enable stepping on ARMv7 JIT core if just in the debugger.
2014-10-23 13:30:04 +11:00
Rachel Bryk
b1e14a65a2 Read game title from ini file, or titles.txt if it exists. 2014-10-22 22:19:40 -04:00
degasus
7292ea6a04 OGL: force enable postprocessing 2014-10-23 00:21:52 +02:00
skidau
5d4b4c793a Merge pull request #1340 from Sonicadvance1/EGL-fixes
Remove hard dependencies of GLX and libGL from Dolphin.
2014-10-22 13:15:46 +11:00
comex
6e774f1b64 Add missing includes where headers depend on other headers having been included first.
This is good hygiene, and also happens to be required to build Dolphin
using Clang modules.

(Under this setup, each header file becomes a module, and each #include
is automatically translated to a module import.  Recursive includes
still leak through (by default), but modules are compiled independently,
and can't depend on defines or types having previously been set up.  The
main reason to retrofit it onto Dolphin is compilation performance - no
more textual includes whatsoever, rather than putting a few blessed
common headers into a PCH.  Unfortunately, I found multiple Clang bugs
while trying to build Dolphin this way, so it's not ready yet, but I can
start with this prerequisite.)
2014-10-21 21:22:16 -04:00
comex
06433652be Improve some libcdio CoreFoundation code.
I found it via clang complaining about a useless null check on an array,
but I decided to get rid of the array in favor of dynamic allocation, as
there was no reason to assume a maximum length of 0x32 bytes.  Plus, add
a CFString type check just in case, and switch to UTF-8 in the
off-chance it matters.

The result has not actually been tested, as I have no CD drive.
2014-10-21 21:20:11 -04:00
comex
8492d04dfa Use pointers instead of references in GetUidData to avoid the undefined behavior of *(T *)nullptr (ewwww) 2014-10-21 21:20:05 -04:00
comex
9adf608f38 Merge pull request #1355 from FioraAeterna/fixmmuoff
MMU: allow page-table loads/stores if MMU is off
2014-10-21 14:55:18 -04:00
Ryan Houdek
ecf65d6f1f Cleans up the JIT block viewer in the WX UI.
This code was an absolute mess. It had allocated an arbitrarily large string buffer to hold instructions that were disassembled.

Strip out all of the nasty raw C string manipulation and replaces it with ostringstream usage.
Fixes an issue where if you didn't have a JIT recompiler running then Dolphin would instantly crash if you tried comparing PPC to x86 code.
Changed the disassembly of the host side code from being inline to the function to instead being in a class, this will be required when I add support
for ARMv7 and AArch64 to this window.
2014-10-21 12:27:59 -05:00
Lioncash
eef9453abe Merge pull request #1358 from Sonicadvance1/ARMv7-NOP
Changes from ARMv6 NOP to ARMv7 NOP.
2014-10-21 13:05:06 -04:00
Ryan Houdek
2e94814441 Changes from ARMv6 NOP to ARMv7 NOP.
Dolphin doesn't support ARMv6. Get this out of here.
2014-10-21 14:17:07 +00:00
Ryan Houdek
a22fcf152d Disable the fake vmem hack on 32bit targets.
This hack is incompatible with these targets due to how much memory space we allocate.
2014-10-21 12:56:28 +00:00
Fiora
f4fa8d0b83 MMU: allow page-table loads/stores if MMU is off
Fixes regressions in some games that apparently required this to work, but
don't really require full MMU emulation (e.g. with exceptions and all).
2014-10-21 05:55:56 -07:00
Ryan Houdek
77da164fe2 Adds support for stepping in the ARMv7 JIT. 2014-10-21 12:53:59 +00:00
Ryan Houdek
85605389d7 Don't enable stepping on ARMv7 JIT core if just in the debugger.
Also makes sure we aren't profiling CPU run times unless we are actually profiling.
2014-10-21 07:51:25 -05:00
Fiora
d7ff482618 Fix FPRF flag setting
Looks like I didn't quite change every place it needed to be renamed.
2014-10-21 04:56:35 -07:00
comex
c048691a57 Merge pull request #1292 from FioraAeterna/enablebats
Make EnableBATs an option instead of disabling it entirely
2014-10-21 02:26:49 -04:00
comex
78deebd732 Merge pull request #1346 from kayru/d3d_clip_enable
D3D: Enabled depth clipping
2014-10-21 01:59:24 -04:00
comex
24e72cd064 Merge pull request #991 from phire/dsi_should_crash
Panic if game does an invalid memory access.
2014-10-21 01:53:08 -04:00
Yuriy O'Donnell
72ba13ca8a D3D: Enabled depth clipping 2014-10-21 06:26:20 +02:00
skidau
305d2e1863 Merge pull request #1337 from skidau/AX-volume-clamp
Clamp the AX Volume to prevent clipping.  Patch by hk.konpie.  Fixes issue 7519.
2014-10-21 13:43:56 +11:00
skidau
833ff4a065 Merge pull request #1334 from lioncash/cheats
Break Cheat Manager components out into their own source files.
2014-10-21 13:43:06 +11:00
skidau
3022da5d9f Merge pull request #1318 from RachelBryk/disable-bios
Disable skip bios option if no bios files exists.
2014-10-21 13:23:23 +11:00
Scott Mansell
3aa979d7d7 Remove another 3 getPointers.
Thanks neobrain for spotting these.
2014-10-21 12:18:54 +13:00
Scott Mansell
4fb6ab40a1 Eliminated getPointers which are memcpyed or memset.
Removes 12 getPointers.
2014-10-21 12:18:54 +13:00