Commit Graph

13048 Commits

Author SHA1 Message Date
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
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 3d536bbe38 Merge pull request #425 from LPFaint99/clang-format_config
Add .clang-format configuration
2014-10-21 03:50:00 -04: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
comex ea16b2d065 Merge pull request #1335 from lioncash/indent
Debugger: Fix class indentation
2014-10-20 19:17:24 -04:00
Scott Mansell d77e01e6c4 IPC_HLE: Replace (const char *)GetPointer(x) with GetString(x)
Removes 20 instances of GetPointer.
2014-10-21 11:10:34 +13:00
Rachel Bryk a67b9a4f52 Disable skip bios option if no bios files exists. 2014-10-20 14:17:19 -04:00
skidau f65bb10c93 Merge pull request #1308 from kayru/shader_generator_write_opt
Workaround for MSVC not optimizing away Write() in GeneratePixelShader
2014-10-20 17:15:53 +11:00
skidau e8da34ef25 Merge pull request #1320 from FioraAeterna/hash64bitcrc
Use CRC to output 64 bits instead of 32
2014-10-20 14:50:21 +11:00
skidau a4be65094f Merge pull request #1314 from FioraAeterna/fixprofiler
JIT: fix profiler on non-Windows OSs
2014-10-20 14:37:32 +11:00
skidau 81efd0e87f Merge pull request #1315 from RisingFog/movie-menu-input-display
Moved Input Display to Movie Menu
2014-10-20 14:34:02 +11:00
skidau de2bf4c508 Merge pull request #1317 from lioncash/filter
Remove unused filter in DolphinWX vcproj file.
2014-10-20 13:32:37 +11:00
comex 4af98d63bc Merge pull request #1344 from comex/mem-tools-testing
MemTools testing
2014-10-19 22:20:30 -04:00
comex 6a7cff02b8 Merge pull request #1343 from comex/yet-another-stupid-branch
Rename the poorly named {Read,Write}BigEData to Copy{From,To}Emu -
2014-10-19 22:18:57 -04:00
comex c5c4dd49e6 Add a define to use sigaction on OS X instead of OS-specific page fault handling.
The latter was introduced last year in order to allow debugging without
turning off Fastmem; I wanted to see if the old way was faster.  In
fact, it is not, but may as well keep the define around in case future
testing is necessary.
2014-10-19 20:41:54 -04:00
comex 4d610cc30e Add a test for page fault handling.
This both tests that they work correctly and prints timing information
if you run it manually.
2014-10-19 20:41:52 -04:00
comex f8dfb2ec90 Rename the poorly named {Read,Write}BigEData to Copy{From,To}Emu -
and change argument order to match memcpy.

Oh, and fix a lulzy buffer overflow in IOS emulation while I'm at it.
2014-10-19 19:34:38 -04:00
Lioncash c251cada55 Merge pull request #1326 from waddlesplash/dolphin-qt
DolphinQt: link to Core, resource system
2014-10-19 15:40:23 -04:00
Augustin Cavalier 8d4068527b DolphinQt: Stub Host_* functions & Resource system. 2014-10-19 15:36:37 -04:00
Lioncash 656a2a16a3 TASInputDlg: Pass string by reference for CreateStickLayout
Also handles strings passed to it correctly.
2014-10-19 12:36:39 -04:00
Ryan Houdek b769331f50 Merge pull request #1325 from Sonicadvance1/Android-OpenSLES-race
Fix a race condition in our OpenSL ES audio backend.
2014-10-19 08:53:19 -05:00
Ryan Houdek 939fa492c8 Merge pull request #1323 from Sonicadvance1/Android-crash
Fix a crash on Android when unplugging a controller during emulation.
2014-10-19 08:48:52 -05:00
Ryan Houdek b3cee80faa Merge pull request #1321 from Sonicadvance1/Qualcomm-v95
Change driver details to reflect Qualcomm's changes with their v95 driver
2014-10-19 08:48:42 -05:00
Ryan Houdek e236d28585 Remove a hard dependency from libGL from the software renderer.
I must have missed this when dropping OpenGL library includes. This is annoying when on a system that doesn't have libGL.
2014-10-19 07:48:14 -05:00
Ryan Houdek 821a41e62f Remove hard dependency of GLX from Dolphin with X11.
This is particularly annoying on a EGL only system that doesn't have GLX.
2014-10-19 07:48:11 -05:00
skidau f9d9257c57 Fixed typo in the MEM2 handling. 2014-10-19 21:25:43 +11:00
skidau 990697bcbb Clamp the AX Volume to prevent clipping. Patch by hk.konpie. Fixes issue 7519. 2014-10-19 21:20:33 +11:00