Commit Graph

13083 Commits

Author SHA1 Message Date
Scott Mansell 4ffeb057cc Interpreter: Fix bug with icache emulation.
The constructor sets up way_from_valid and way_from_plur as fast lookup
tables for implementing the PLRU algrothm. Then the Init function
memsets them to zero, meaning the instruction cache will now always
choose the first way in each set.

This degrades the cache from 128 sets, 8 way to 128 sets, 1 way.

Not only does fixing this bug increase accuracy, but it increases
preformance too, giving a 1% speedup to interpreter.
2015-07-07 22:20:36 +12:00
Scott Mansell c54534ee3b Merge pull request #2649 from phire/FileIO_Sanity
IPC_HLE: Don't open/close files for every single file operation.
2015-07-07 17:16:28 +12:00
Scott Mansell 6e969133f5 evdev: Delete rumble effects on the correct file descriptor.
Was using m_id insted of m_fd.
Also re-arrange the code so rumble effects always get deleted instead of
just on stop commands.
2015-07-07 16:59:10 +12:00
degasus effb626bef JitArm64: Implement EXCEPTION_FPU_UNAVAILABLE support.
Seems like this flag was missed.
This patch was mostly done by HdkR.
2015-07-06 23:40:20 +02:00
Lioncash 25bd55b7aa Core: Use clamps for nunchuk and wiimote x,y,z values 2015-07-06 13:34:11 -04:00
Lioncash e3c6eb2a85 WiimoteEmu: Fix use of spaces.
There should be a tab here instead.
2015-07-06 13:20:24 -04:00
JosJuice 9018b546c7 WbfsBlob: Don't enter an infinite loop when reading beyond end of disc
read_size remained 0 when the "Read beyond end of disc" error occurs,
which made the while (nbytes) loop never end. As a fix, SeekToCluster
now explicitly sets available to 0 when the error occurs, and Read
checks for it.
2015-07-06 15:41:37 +02:00
Lioncash 614a656b83 DSPInterpreter: Remove an unused typedef
DSPTables already has an equivalent of this, which it uses.
2015-07-06 06:47:13 -04:00
Markus Wick b6ee886540 Merge pull request #2708 from lioncash/override
MMIO: Add missing override specifiers
2015-07-06 12:36:37 +02:00
Lioncash af4cfd32d4 Core: Change a volatile into an atomic
Also changes s_drawn_video into an atomic, as it's used across threads as well.
2015-07-06 06:25:51 -04:00
Lioncash c7193fcd41 MMIO: Add missing override specifiers 2015-07-06 06:11:31 -04:00
Scott Mansell 0b0f70aad4 Revert "Merge pull request #2358 from Tilka/pie"
This reverts commit 0f7f8f8774, reversing
changes made to 9f15054358.
2015-07-06 09:05:25 +12:00
Markus Wick 009148d401 Merge pull request #2701 from mickdermack/pr-jitnull
Prevent nullptr dereference on a crash with no JIT present
2015-07-05 16:37:29 +02:00
Michael Ehrenreich 2b2af12466 Prevent nullptr dereference on a crash with no JIT present
JitInterface::HandleFault would dereference jit which is NULL, causing a stack overflow through infinite exception recursion.
2015-07-05 14:24:51 +02:00
Sintendo ce10525056 Eliminate branch in GenFres 2015-07-05 11:18:59 +02:00
Scott Mansell 08fcc7bf84 IPC_HLE: Cleanup device definitions with templates.
Less copy/pasted code will make future modifications easier.
2015-07-05 02:05:39 +12:00
Scott Mansell 1d5cda9820 IPC_HLE: Reimplement fix for issues 2917/5232 with more sanity.
Instead of opening... and... closing... files... after... every...
file... operation... (which can be slow, especially if a virus scanner
is running), we catch attempts to open the same file twice and
only open one copy of the file.
2015-07-05 02:01:45 +12:00
Jeffrey Pfau bd196e8c71 Common: CallLambdaTrampoline can return a value
As it is currently written, CallLambdaTrampoline does not return a
value. However, some of the functions that are being wrapped may
return a value that the JIT is expected to understand. A compiler
*cough cough clang* may opt to alter %rax after the wrapped lambda
returns, e.g. popping a previous value, which can clobber the
return value. If we actually have a return value, then the compiler
must not clobber it.
2015-07-05 00:32:26 +12:00
Tillmann Karras 64b51df55d evdev: fix -Wunused-private-field warning 2015-07-04 14:14:15 +02:00
Scott Mansell d2578000bb Merge branch 'stable' 2015-07-04 23:43:36 +12:00
flacs 3bbb2ede9c Merge pull request #2697 from endrift/fix-jit-trampoline
Common: CallLambdaTrampoline can return a value
2015-07-04 11:59:00 +02:00
Jeffrey Pfau c9a25f9484 Common: CallLambdaTrampoline can return a value
As it is currently written, CallLambdaTrampoline does not return a
value. However, some of the functions that are being wrapped may
return a value that the JIT is expected to understand. A compiler
*cough cough clang* may opt to alter %rax after the wrapped lambda
returns, e.g. popping a previous value, which can clobber the
return value. If we actually have a return value, then the compiler
must not clobber it.
2015-07-04 00:57:41 -07:00
Lioncash eb3c5a240f Merge pull request #2696 from RisingFog/tasinput
Fix random hangs when loading savestates with TAS Input
2015-07-04 03:52:40 -04:00
degasus 30869135d5 Jit64: Fallback support of branching instructions 2015-07-04 04:12:25 +02:00
Fog 10f50f33fb Fix random hangs when loading savestates with TAS Input 2015-07-03 21:56:14 -04:00
RGamma 3639755120 Fix TASInput Crash When Stick Bitmap Is Null
Patch provided by RGamma
2015-07-03 18:37:35 -04:00
Tillmann Karras afea72edfe Revert "Interpreter: assign directly instead via variables"
This reverts commit 174ada3a62.
2015-07-03 21:10:18 +02:00
Markus Wick 3fc070c4fc Merge pull request #2680 from degasus/idle
Interpreter: Idle skipping support
2015-07-03 19:52:05 +02:00
skidau 8a50dc857b Merge pull request #2681 from phire/evdev-stable
Linux: Add an evdev based controller backend, to replace SDL.
2015-07-03 10:28:08 +10:00
flacs c53e7f2842 Merge pull request #2685 from lioncash/const
Arm64Emitter: Add a missing const specifier for an array table
2015-07-03 00:22:58 +02:00
Trace Bullet 64bd20aba7 DiscIO: Check if m_Disc is null in ParsePartitionData() 2015-07-02 11:45:22 -04:00
Lioncash d09d59007a Arm64Emitter: Add a missing const specifier for an array table 2015-07-02 11:09:44 -04:00
Rodolfo Bogado d8cd2c3252 Implement scaled partial texture updates 2015-07-02 08:53:40 -03:00
Admiral H. Curtiss 6a33f174de GC Adapter: Do not attempt to claim_interface when libusb_open() returns an error.
Fixes a crash / nullptr dereference when the adapter is plugged in but
no drivers are installed for it, on Windows.
2015-07-01 23:49:39 +02:00
Jules Blok bee7f19d76 Merge pull request #2682 from AdmiralCurtiss/libusb-fix-win-crash-without-drivers
GC Adapter: Do not attempt to claim_interface when libusb_open() fails.
2015-07-01 23:48:24 +02:00
degasus 245a639e2c JitArm64: Partially fallback on bcctrx
No need to assert, fallbacks on branching instructions now works fine.
2015-07-01 17:58:17 +02:00
degasus 0054c4e0d9 JitArm64: Drop icbi instruction
It was already just a fallback + exit. Now we emit the exit for all affected fallbacks.
2015-07-01 17:58:17 +02:00
degasus dc83c8912f JitArm64: Support branching fallbacks 2015-07-01 17:58:17 +02:00
Anthony Serna 9b95faaed7 Small changes to description to "Store EFB Copies to Texture Only" 2015-07-01 15:48:19 +02:00
Anthony Serna 8d69c2b4b7 Small changes to description to "Store EFB Copies to Texture Only" 2015-07-01 15:46:16 +02:00
Ryan Houdek b174f99b17 Merge pull request #2662 from Tilka/interpreter
Interpreter: turn SNaNs into QNaNs
2015-07-01 01:09:43 -05:00
Ryan Houdek 68d8d784ee Merge pull request #2670 from endrift/dolphinbar-osx
WiimoteReal: Add IOHIDDevice support for OS X
2015-06-30 23:33:13 -05:00
Ryan Houdek a0f5bd51f1 Merge pull request #2678 from Sonicadvance1/aarch64_implement_rlwimix
[Aarch64] implement rlwimix.
2015-06-30 22:18:00 -05:00
Ryan Houdek 2cddaa09f0 [AArch64] Implement rlwimix. 2015-06-30 19:49:10 -05:00
Admiral H. Curtiss 08b952ef31 GC Adapter: Do not attempt to claim_interface when libusb_open() returns an error.
Fixes a crash / nullptr dereference when the adapter is plugged in but
no drivers are installed for it, on Windows.
2015-07-01 01:29:04 +02:00
Scott Mansell 77183899e0 evdev: Support axis with ranges which extend below zero. 2015-07-01 10:13:05 +12:00
Scott Mansell 2721fdf8a9 Linux: Add an evdev based controller backend, to replace SDL. 2015-07-01 10:13:05 +12:00
Markus Wick 45fde6caf5 Merge pull request #2669 from stgn/new-dsp-coef
Audio: new dsp_coef.bin with windowed sinc filter coefficients
2015-06-30 22:02:05 +02:00
degasus 717d4bfbcc Interpreter: Idle skipping support 2015-06-30 20:11:23 +02:00
Jeffrey Pfau 6f8a38cefb WiimoteReal: Add IOHIDDevice support for OS X 2015-06-29 23:13:18 -07:00
Shane Nelson 388ab13db1 Audio: new dsp_coef.bin with windowed sinc filter coefficients 2015-06-29 22:24:24 -04:00
Ryan Houdek afc3d30f5c [AArch64] Implement BFI & UBFIZ in the emitter.
Also fixes a bug in the UBFX instruction emitter. Naughty Naughty PPSSPP, not testing emitter functions you add.
2015-06-29 19:00:22 -05:00
Markus Wick 134a18fdad Merge pull request #2674 from lioncash/emplace
Use emplace() instead of insert() where applicable for maps.
2015-06-29 17:19:08 +02:00
Jules Blok c06342c3cf Merge branch 'stable' 2015-06-29 11:04:17 +02:00
Lioncash daa205990f Use emplace() instead of insert() where applicable for maps. 2015-06-28 19:52:40 -04:00
Jules Blok 3f39e38372 CheatSearchTab: Check Core state instead of checking a memory pointer. 2015-06-28 18:28:55 +02:00
Jules Blok 1120132d26 Merge branch 'stable' 2015-06-28 13:28:23 +02:00
JosJuice 66136fc710 Fix more game list name encoding errors caused by 4.0-6419 (d7900b4)
4.0-6442 (a26cf63) didn't fix names read from INIs or titles.txt.
2015-06-28 10:39:24 +02:00
Admiral H. Curtiss c5b81b1aff GameCubeConfig: Case insensitive compare & absolute path compare for the part-of-exe-dir check. 2015-06-27 18:34:54 +02:00
Admiral H. Curtiss 583e3fd9e0 GameCubeConfig: If the user selects a memcard file path within Dolphin's directory, store the path relative to it.
This makes Dolphin more portable in portable mode, since the memory card file is still found if the directory is moved somewhere else.

This also means that we have to explicitly compare absolute paths if we want to check for both slots containing the same file.
2015-06-27 01:11:44 +02:00
Jules Blok a71e81a143 Merge pull request #2659 from Armada651/openal-conv
OpenALStream: Fix sample conversion.
2015-06-27 00:13:02 +02:00
Admiral H. Curtiss df70f50fdf GetExeDirectory() shouldn't return paths with /../ in the middle. 2015-06-26 23:51:40 +02:00
Admiral H. Curtiss 69b7296fc2 WiimoteReal: Make sure that Wiimote thread isn't already running before starting it.
This fixes a crash when switching a Wiimote's internal slot or type in the Dolphin config.
2015-06-26 20:48:45 +02:00
Jules Blok cff6d9f922 Merge pull request #2640 from AdmiralCurtiss/real-wiimote-crash-fix
WiimoteReal: Fix crash when switching a real Wiimote to a different slot or type during emulation.
2015-06-26 20:33:50 +02:00
Admiral H. Curtiss 716c54217a WiimoteReal: Make sure that Wiimote thread isn't already running before starting it.
This fixes a crash when switching a Wiimote's internal slot or type in the Dolphin config.
2015-06-26 17:12:18 +02:00
Tillmann Karras 2711d5201b Interpreter: turn SNaNs into QNaNs 2015-06-26 09:29:18 +02:00
Tillmann Karras b78310bbe5 Interpreter: simplify fres 2015-06-26 09:29:18 +02:00
Tillmann Karras 174ada3a62 Interpreter: assign directly instead via variables 2015-06-26 08:16:34 +02:00
Tillmann Karras b2c21e800a Interpreter: drop unused macros 2015-06-26 08:16:34 +02:00
Tillmann Karras ca36ff0551 Interpreter: consolidate fdiv/fdivs/ps_div 2015-06-26 08:07:46 +02:00
Ryan Houdek 63a2180c1f [AArch64] Implement slwx in the recompiler.
I streamed this implementation earlier today to get people to have a feel for implementing instructions in the AArch64 recompiler.
This one was a fairly simple one to implement.
2015-06-26 00:51:06 -05:00
Jules Blok da7ec75350 Merge pull request #2643 from comex/fix-do-file-search
Fix DoFileSearch returning the passed-in directories themselves.
2015-06-25 15:20:16 +02:00
comex 384a1b4e3b Fix DoFileSearch returning the passed-in directories themselves.
Fixes https://code.google.com/p/dolphin-emu/issues/detail?id=8697&can=3
2015-06-25 15:17:52 +02:00
Jules Blok 86dd81cf6b OpenALStream: Fix sample conversion.
Looks like it wasn't symmetric anymore.
2015-06-25 12:42:41 +02:00
Jules Blok 75a9740ab7 Merge branch 'stable' 2015-06-25 12:24:15 +02:00
Jules Blok 8fd5f249fa Merge pull request #2656 from Armada651/ogl-inv-depth
OGL: Allow inverted depth ranges.
2015-06-25 12:06:56 +02:00
Lioncash 0034492151 Add an OSD notification for screenshot saving 2015-06-25 09:23:37 +02:00
Jules Blok 30eae0d258 Merge pull request #2657 from lioncash/screenshot
Render: Add an OSD notification for screenshot saving
2015-06-25 09:22:26 +02:00
Ryan Houdek 521f6e89c3 Merge pull request #2624 from sigmabeta/android-save-screenshot
Android: Save screenshot at end of an emulation session.
2015-06-24 21:39:47 -05:00
Lioncash 67c5ce5d96 Add an OSD notification for screenshot saving 2015-06-24 21:44:38 -04:00
Jules Blok dbfdbf7dbd D3D: Cosmetics.
Merge two cases which should've already been merged.
2015-06-24 23:16:53 +02:00
Jules Blok 743296f1c4 OGL: Allow inverted depth ranges. 2015-06-24 22:28:36 +02:00
Jules Blok 2a5dd69c72 Merge branch 'stable' 2015-06-24 19:34:16 +02:00
mimimi085181 829fc3dc2d Quick fix for an invalid iterator 2015-06-24 19:12:46 +02:00
Tillmann Karras 6d273f6119 Jit64: fix pre-SSE4.1 fallback of ps_sum1 2015-06-24 18:32:10 +02:00
Jules Blok 519a7c4a29 Merge pull request #2652 from Tilka/ps_sum1
Jit64: fix pre-SSE4.1 fallback of ps_sum1 with AccurateNaNs=True
2015-06-24 18:28:33 +02:00
Tillmann Karras 2bd11469a5 Jit64: fix pre-SSE4.1 fallback of ps_sum1 2015-06-24 16:48:26 +02:00
Tillmann Karras a725c06425 Logging: trigger _assert_() in release builds 2015-06-24 15:16:55 +02:00
Tillmann Karras 83ab721939 Fix -Wformat-extra-args warning 2015-06-24 14:44:09 +02:00
Admiral H. Curtiss 84e42904a2 Netplay: Sync Video Mode settings. (Progressive Scan and PAL60)
Must match so that Wii games don't desync, especially PAL games.
2015-06-24 12:41:10 +02:00
Tillmann Karras 5b23182793 Common: drop GEKKO define
Afaict, it was used to build parts of Dolphin with DSPSpy, but that's
been broken forever, so lets clean up a little bit.
2015-06-24 12:13:41 +02:00
Scott Mansell 8b4734133e IPC_HLE: Don't open/close file for every single file operation.
On the first boot of Pokemon Snap it copies a 144KB file to the Wii's
NAND, but it only copies 32 bytes per IPC write call.

This was causing dolphin to open and close the same file over 4000
times. This wouldn't usually be a huge issue, except some operating
systems (namely Windows) allow 3rd party programs (namely antivirus
software) to hook all accesses to the filesystem.

This causes the antivirus software to scan the same file for viruses
4000+ times, which is kind of slow.

This fix reduces the initial boot time of pokemon snap from 3+ min
to just a few seconds. Could also improve other games which write
things to NAND.

Will break a few things, see the next commit for an improved fix.
2015-06-24 19:23:10 +12:00
Markus Wick 8493feb89f Merge pull request #2602 from mimimi085181/partial-texture-updates2
Support partial texture updates via efb copies
2015-06-24 09:22:50 +02:00
Scott Mansell 03124ec3f0 IPC_HLE: Simplify lifecycle of devices with shared pointers.
This also fixes a memory/filehandle leak when loading savestates.
2015-06-24 19:22:04 +12:00
Eder Bastos 7935c1c57a Android: Ensure that the target folder for screenshots exists before attempting to save. 2015-06-23 23:08:10 -04:00
sigmabeta 8ca620db7f Android: Invalidate Picasso screenshot cache every time a screenshot is displayed. 2015-06-23 22:36:27 -04:00
sigmabeta a028805626 Android: Save screenshot at end of an emulation session. 2015-06-23 22:22:01 -04:00
Tillmann Karras c9af7def28 Fix some warnings 2015-06-23 21:11:56 +02:00
Jules Blok 21a70903ed Merge branch 'stable' 2015-06-23 20:16:55 +02:00
Tillmann Karras de3c01dc2a x64FPURoundMode: fix comments 2015-06-23 02:17:36 +02:00
flacs 319394d63e Merge pull request #2637 from lioncash/devirt
Mixer: Devirtualize the logging functions.
2015-06-22 23:24:22 +02:00
comex afaa0d92df Merge pull request #2613 from AdmiralCurtiss/netplay-sram-sync
Netplay: Sync GameCube SRAM.
2015-06-22 12:48:38 -04:00
degasus 5bc88d5c6a Revert "GeometryShaderGen: Don't use `centroid in` for input variables."
This reverts commit 4cbaddb7ad.
2015-06-22 17:20:41 +02:00
comex 6d2631a173 Merge pull request #2639 from rukai/master
Translations fix for Linux & Mac OS X
2015-06-21 17:10:07 -04:00
comex acd6cb79a4 Fix DoFileSearch returning the passed-in directories themselves.
Fixes https://code.google.com/p/dolphin-emu/issues/detail?id=8697&can=3
2015-06-21 16:07:56 -04:00
comex f6d27a5ce8 Merge pull request #2641 from comex/trivial-fixes
Trivial fixes
2015-06-21 15:51:25 -04:00
comex 700b850acd Fix misc. clang warnings - mostly complaints about inconsistent use of override.
Previously, MacOpenFile only overrode anything on OS X; otherwise it was
just a useless method, which is presumably why it wasn't marked override
in the first place.  Address this more sanely by wrapping it in #ifdef
__APPLE__.
2015-06-21 15:42:49 -04:00
mimimi085181 0ed6b5623f Support partial texture updates via efb copies 2015-06-21 14:02:44 +02:00
rukai c9e8179c5a Added namespace to GetBundleDirectory to compile on Mac OSX 2015-06-21 20:41:41 +10:00
rukai bbde9cbeae Swapped out spaces for tabs 2015-06-21 20:41:41 +10:00
rukai cc22151495 Fixes translation on Linux and potentially Mac OSX, by specifying location of *.gmo files 2015-06-21 20:41:41 +10:00
Ryan Houdek a811370329 [AArch64] Fix a couple of bugs in the vertex loader
In particular this fixes the 6666 colour format
We were loading from the wrong location and it was causing /terrible/ colour changes.

This also fixes a bug in the all the colour formats(except 888) where the unaligned path was loading in to the wrong register.
2015-06-20 21:12:31 -05:00
Lioncash 9dd607b923 Mixer: Fix erroneous global prefixes on class variables 2015-06-20 21:48:50 -04:00
Lioncash d81dffd4f0 Mixer: Devirtualize DTK and DSP audio logging functions
Their functionality is already complete in the base class; there's no need to allow overriding.
2015-06-20 21:46:20 -04:00
Lioncash fa7d93690e Hash: Remove the HashFNV prototype
It has no function definition.
2015-06-20 21:23:25 -04:00
flacs a702c4e01e Merge pull request #2629 from lioncash/vertexloader-ifdef
VertexLoader: Remove the LOADERDECL define.
2015-06-21 03:17:38 +02:00
Lioncash 619e333dcc VertexLoader: Remove the LOADERDECL define.
These functions aren't called from jitted code anymore so it isn't necessary.
2015-06-20 20:52:54 -04:00
Markus Wick 1003d08d81 Merge pull request #2632 from lioncash/var
RenderBase: Remove an unused variable
2015-06-20 09:28:27 +02:00
skidau c18662432f Merge pull request #2622 from AdmiralCurtiss/homebrew-video-modes
Fix Homebrew region inconsistency exposed by #2596.
2015-06-20 11:49:57 +10:00
Lioncash cfead69f67 RenderBase: Remove an unused variable 2015-06-19 20:30:29 -04:00
flacs 9b9bab2179 Merge pull request #2631 from lioncash/regcache
JitRegCache: Get rid of an unnecessary cast
2015-06-20 00:16:03 +02:00
Lioncash 6ca6896b6e JitRegCache: Get rid of an unnecessary cast 2015-06-19 18:10:56 -04:00
Lioncash 4c79aa8216 HiresTextures: Remove unused variable 2015-06-19 17:31:04 -04:00
rukai f91a228697 OpenGL exclusive fullscreen OSD notification is made consistent with the one used for D3D. 2015-06-20 00:18:13 +10:00
Admiral H. Curtiss 7276d80adc Boot: Decide setting.txt's country settings based on the game's video mode when no valid country code is found rather than defaulting to Europe. 2015-06-19 15:09:21 +02:00
Admiral H. Curtiss 1b8b99e9f1 ConfigManager: Set homebrew video mode based on Dolphin's PAL60 config instead of always using 50Hz.
This is a bit indirect, but since homebrew always boots in a European environment the framerate depends on the bPAL60 flag, which is always auto turned off if bNTSC is set to true as of 2e5e724f94. By actually indicating that we're PAL on homebrew boot, the rest just falls into place.
2015-06-19 15:07:19 +02:00
Lioncash 458378528b DolphinWX: Remove the Toggle IR hotkey.
This isn't necessary since Increase IR and Decrease IR are present.
2015-06-19 05:10:40 -04:00
Matthew Parlane 45aeeee699 Fix aniso filtering on d3d to not set aniso filter when using 1x 2015-06-19 20:55:32 +12:00
degasus dd2183dbb5 Revert "GeometryShaderGen: Don't use `centroid in` for input variables."
This reverts commit 4cbaddb7ad.
2015-06-18 20:25:32 +02:00
Markus Wick 156fb82117 Merge pull request #2620 from JosJuice/more-decodestring
Volume: Use DecodeString more
2015-06-18 14:57:10 +02:00
JosJuice a825c7ddfe Volume: Use DecodeString more
DecodeString handles the case where there is no trailing null byte,
so using it lets the code be a bit simpler.
2015-06-18 14:45:26 +02:00
skidau 3df28a4ea0 Merge pull request #2598 from JosJuice/cache-games-without-banners
Cache games without banners
2015-06-18 09:56:03 +10:00
Ryan Houdek 22e7024da5 Merge pull request #2614 from endrift/fix-gdbstub-build
PowerPC: Fix GDBStub build
2015-06-16 02:15:21 -05:00
Jeffrey Pfau 46cf44bcec PowerPC: Fix GDBStub build 2015-06-16 00:10:28 -07:00
skidau c6f72115e9 Merge pull request #2596 from AdmiralCurtiss/pal60-config-option
PAL60 improvements: Allow setting in GameINI, disable for NTSC games, store in Movie files.
2015-06-16 14:44:31 +10:00
Fiora c68bb0bdec Merge pull request #2456 from aserna3/master
UI improvements to Add AR Code and Add Patch windows.
2015-06-14 18:53:49 -07:00
Ryan Houdek 87b45de634 Merge pull request #2606 from Sonicadvance1/aarch64_optimize_psq_st
[AArch64] Optimize paired quantized stores.
2015-06-14 19:03:50 -05:00
Admiral H. Curtiss 277348cd75 Movie: Add the PAL60 setting to Movie files. 2015-06-14 17:10:34 +02:00
Admiral H. Curtiss 2e5e724f94 Boot: Automatically temporarily disable PAL60 for NTSC Wii games.
Fixes issues like https://code.google.com/p/dolphin-emu/issues/detail?id=7714 and https://code.google.com/p/dolphin-emu/issues/detail?id=8036.
2015-06-14 17:10:12 +02:00
Admiral H. Curtiss f9067cbf38 Boot: Setting overrides should be applied after all settings from ini/movie/netplay/... are read. 2015-06-14 17:03:45 +02:00
Admiral H. Curtiss abb65515b9 Netplay: Sync GameCube SRAM. 2015-06-14 16:52:08 +02:00
JosJuice a7d374bcb9 Cache games without banners
Games without banners were not cached before, because a banner could
become available at any time, making the cache outdated without it
becoming invalidated. Instead of not caching anything, this change makes
Dolphin check for a banner every time a cache that lacks a banner is read.
This is faster than reading all metadata, because reading a Wii banner
only reads from the game's save file, not the volume and its filesystem.

The cache revision is incremented, because otherwise banners will be
missing if a cache without a banner is created in the new version and
the user switches to an old version and creates a savefile.
2015-06-14 12:23:48 +02:00
JosJuice 8793f7c325 DolphinQt: Store GameFile banner as empty if missing 2015-06-14 12:23:41 +02:00
Ryan Houdek 96058c5de1 [AArch64] Reenable psq_l.
The bug was due to issues in the FPR cache.
2015-06-14 04:11:59 -05:00
Ryan Houdek 282282aafc [AArch64] Fix a few bugs in the FPR cache. 2015-06-14 04:11:26 -05:00
yerejm fff81fecb1 Reinstate format string.
Avoid the consequences in the unlikely event the path includes a %.
2015-06-14 16:49:35 +10:00
Matthew Parlane 6d9711c02c Merge pull request #2599 from Sonicadvance1/aarch64_clean_cpudetect
[AArch64] Clean up our CPUDetect.
2015-06-14 15:19:03 +10:00
Matthew Parlane b39014eac5 Merge pull request #2590 from endrift/fix-freebsd-build
Fix FreeBSD
2015-06-14 15:18:26 +10:00
Matthew Parlane 2d8fdb791e Merge pull request #2603 from JosJuice/move-getcompany
Move GetCompany() to ISOFile.h/GameFile.h
2015-06-14 15:16:20 +10:00
Jeffrey Pfau 1b9f55692b Fix 64-bit FreeBSD build 2015-06-13 21:52:47 -07:00
Jeffrey Pfau b6d1512587 Common: Use more portable invocation of shm_open 2015-06-13 21:52:47 -07:00
Jeffrey Pfau 7085fcc8d6 Fix FreeBSD build 2015-06-13 21:52:47 -07:00
Ryan Houdek 5ea66369f8 [AArch64] Optimize paired quantized stores.
Uses {S,U}QXTN to saturate the value to the maximum sizes instead of manually clamping using FMIX + FMAX.
2015-06-13 23:16:56 -05:00
Ryan Houdek 5dc148159f [AArch64] Implement {U, S}QXTN{,2}
Also split out XTN to XTN and XTN2.
2015-06-13 23:16:17 -05:00
Matthew Parlane f32cede086 Revert "x64: build a Position-Independent Executable (PIE)" 2015-06-14 16:06:26 +12:00
Lioncash 74b359e390 Arm64Emitter: Remove unused variable from EncodeLoadStoreRegisterOffset 2015-06-13 14:27:15 -04:00
JosJuice 01e324eed0 Move GetCompany() to ISOFile.h/GameFile.h
For consistency with the other Get methods.
2015-06-13 18:43:10 +02:00
Ryan Houdek 0af5bdcf1d [AArch64] Clean up our CPUDetect.
Drops ARMv7 feature detection.
2015-06-13 08:04:23 -05:00
Admiral H. Curtiss 8ffe745c09 Config: Allow PAL60 to be set by ini files.
Fixes issue https://code.google.com/p/dolphin-emu/issues/detail?id=7847.
2015-06-13 02:10:44 +02:00
Admiral H. Curtiss 92447fb052 Config: Add a boolean for PAL60, like the Progressive Scan one.
This decouples the Dolphin PAL60 option from the currently set value in the Wii SYSCONF file.
2015-06-13 02:09:19 +02:00
Jules Blok 4042945ee5 Merge branch 'stable' 2015-06-13 01:12:12 +02:00
Ryan Houdek bcc8c78e4a Merge pull request #2582 from Sonicadvance1/aarch64_fix_thp_videos
[WIP] [AArch64] Clamp quantized store ranges.
2015-06-12 18:07:24 -05:00
degasus 9f929c8593 Hotkeys: Fix translation array 2015-06-12 19:32:50 +02:00
degasus c375111076 Options: merge SCoreStartupParameter into SConfig 2015-06-12 19:07:45 +02:00
degasus b9a9fcd26d Hotkeys: Fix missing hotkey strings 2015-06-12 13:59:22 +02:00
skidau 5ae1c07cd4 Merge pull request #2570 from Papermanzero/patch-1
Correction of emulated wiimote initialisation
2015-06-12 12:39:02 +10:00
skidau a2b3541160 Merge pull request #2559 from AdmiralCurtiss/wind-waker-pal60-fix
Fix issue with Wind Waker not displaying boot display options.
2015-06-12 11:58:37 +10:00
Admiral H. Curtiss 33f5aaf956 GameCube Config: Add option to override the NTSC auto language change.
Some NTSC games have translations on the game disc that can be accessed via the system language byte.
2015-06-11 18:40:41 +02:00
Admiral H. Curtiss ffe25da78a Boot: Automatically temporarily set GameCube language to 0 when booting NTSC games.
NTSC GameCubes have no Language setting, so the language byte in SRAM is always 0. Some NTSC games do react oddly and display unfinished translations and similar when the byte is set to a nonzero value that corresponds to a non-English language on a PAL GameCube. See issue 7731: https://code.google.com/p/dolphin-emu/issues/detail?id=7731.
2015-06-11 18:39:44 +02:00
Markus Wick be1d1e2798 Merge pull request #2024 from RisingFog/irgui
Add UI Support for up to 8x Internal Resolutions
2015-06-11 15:47:39 +02:00
Fog 6e7fedd4d0 Add UI Support for up to 8x Internal Resolutions 2015-06-10 20:17:30 -04:00
degasus 20ec5867ec GameIni: Remove default Projection Hack 2015-06-10 19:31:10 +02:00
Jules Blok fd637030e4 GeometryShaderGen: Consistently use xfmem just as the vertex shader.
There are very rare conditions in which xfmem can actually desync from bpmem.
2015-06-10 16:13:54 +02:00
Jules Blok 4cbaddb7ad GeometryShaderGen: Don't use `centroid in` for input variables. 2015-06-10 16:04:32 +02:00
Tillmann Karras d329147871 Interpreter: use std::isnan(x) instead of x != x 2015-06-10 14:31:08 +02:00
Tillmann Karras c7544719e2 Interpreter: optimize NaN checks
NaNs always propagate, so we can get away with only checking for NaN
inputs in the rare case that the result is NaN (as already done in
Jit64::HandleNaNs()).
2015-06-10 14:23:43 +02:00
Markus Wick 9b8eb55cd4 Merge pull request #2581 from mimimi085181/FreeTexture-code-cleanup
Code cleanup for FreeTexture after merging PR #2097
2015-06-10 12:49:20 +02:00
Matthew Parlane 5cce640f48 Anisotropic Filtering option is now correct in D3D
Values are saved/loaded as 0,1,2,3,4 but need to be used as 1,2,4,8,16
This was correct for OGL but not D3D
2015-06-10 22:32:46 +12:00
Ryan Houdek 113c2dcd74 [AArch64] Clamp quantized store ranges.
Fixes block dots in THP videos.
Nintendo's THP video uses paired U8 stores to write their THP videos after decoding with floating point operations.
Paired stores clamp the range to the minimum and maximum values(0 - 255 in this case).
In some instances the resulting float will be larger than what a U8 can fit(Typically white) and results in black dots due to how AArch64 handles
quantizing.
2015-06-09 18:11:27 -05:00
Ryan Houdek 3d2b116323 [AArch64] Implement a couple instructions in the emitter.
Implements LD2R.
Implements LD1R/LD2R with post-indexing support.
Implements vector min/max instructions.
2015-06-09 18:10:56 -05:00
flacs d4cf06c922 Merge pull request #2579 from degasus/hotkeys
Hotkeys: Fix "Select State Slot"
2015-06-09 23:56:23 +02:00
Jules Blok 97e3c5302d Merge pull request #2578 from Armada651/cmake-stable
Don't display the branch name in the titlebar for the stable branch.
2015-06-09 22:28:54 +02:00
mimimi085181 4d5fdb74be Code cleanup for FreeTexture after merging PR #2097 2015-06-09 21:45:09 +02:00
degasus 640b81a19f Hotkeys: Fix "Select State Slot"
This was a copy&paste issue from dfc951fbbb.

Fixes https://code.google.com/p/dolphin-emu/issues/detail?id=8645
2015-06-09 21:05:54 +02:00
Tony Wasserka 6833c203a6 Make make_scmrev.h.js recognize "stable" as a stable branch. 2015-06-09 20:03:25 +02:00
Rohit Nirmal 46bad5291b Silence -Wreorder warning. 2015-06-09 11:35:53 -05:00
Markus Wick e47e4c677a Merge pull request #2097 from mimimi085181/find-textures-by-hash
Search the texture cache for small textures by address and hash
2015-06-09 10:12:05 +02:00
Matthew Parlane 39155007c7 Merge pull request #2545 from Tilka/accurate_nans
Jit64: optionally accurate NaNs
2015-06-09 17:53:28 +10:00
Jules Blok d5788f75a3 Merge pull request #2533 from degasus/syncgpu
Fifo: Rewrite SyncGPU
2015-06-09 09:43:26 +02:00
Fog 519d2549dd Fix File Extension Search Being Case Sensitive 2015-06-08 21:39:00 -04:00
Matthew Parlane 42d5b5b48c Merge pull request #2568 from Sonicadvance1/aarch64_crc32_hash
[AArch64] Implement CRC32 texture hashing.
2015-06-09 10:39:52 +10:00
comex 9ed7e3bd3e Merge pull request #2536 from endrift/deploy-mac
Tools: Use non-CMake tool for fixing up OS X bundles
2015-06-08 17:33:17 -07:00
Ryan Houdek ffe085f5ea [AArch64] Implement CRC32 texture hashing.
In a particular hashing heavy scene in Crazy Taxi the Murmur3 hash used 3.11% CPU time.
The new CRC32 hash in the same scene used 1.86%
This was tested on a Nvidia SHIELD Android TV with Cortex-A57s.

This will be a bit slower on the Nexus 9, the Denver CPU core is a bit slower with CRC32 texture hashing than Murmur3 texture hashing.
2015-06-08 19:16:50 -05:00
Anthony Serna 57f7129295 Changed AR Code Window and Patch Window
Text fields no longer have redundant text.
Blank text variables no longer have redundant translation syntax.
Removed redundant else condition.
Fixed bug with cheat name deleting itself on edit.
2015-06-08 17:02:16 -07:00
NanoByte011 59f273696a VideoSW: refactor shared lighting attenuation function
- Refactored Light Attenuation into inline function in Software Renderer
- Corrected zero length light direction vector to resolve with normal direction (essentially becomes LIGHTDIF_NONE which was what I was after)
- Change the API of this shared function to use points for output variables (degasus)
2015-06-08 23:20:27 +02:00
NanoByte011 06d1b8c63a VideoSW: rewrite lighting attenuation
- Fixes remaining lighting issues (Mario Tennis, etc)
- Apply same fixes to Software Renderer
- Corrected zero length light direction vector to resolve with normal direction (essentially becomes LIGHTDIF_NONE which was what I was after)
2015-06-08 23:20:27 +02:00
degasus d31bed8b79 Fifo: Rewrite SyncGpu
The new implementation has 3 options:
 SyncGpuMaxDistance
 SyncGpuMinDistance
 SyncGpuOverclock

The MaxDistance controlls how many CPU cycles the CPU is allowed to be in front
of the GPU. Too low values will slow down extremly, too high values are as
unsynchronized and half of the games will crash.
The -MinDistance (negative) set how many cycles the GPU is allowed to be in
front of the CPU. As we are used to emulate an infinitiv fast GPU, this may be
set to any high (negative) number.

The last parameter is to hack a faster (>1.0) or slower(<1.0) GPU. As we don't
emulate GPU timing very well (eg skip the timings of the pixel stage completely),
an overclock factor of ~0.5 is often much more accurate than 1.0
2015-06-08 23:16:24 +02:00
Papermanzero 47ea0e1089 Update WiimoteEmu.cpp
Should fix Issue 8209: Emulated Wiimote tilt is incorrect since 4.0-4543. 
Original changes can be looked at the link below and discussion about the issue can be followed within Issue 8209 at googlecode.
http://pastebin.com/yKA2nuGp

Thanks to hk.konpie for the fix.
2015-06-08 13:22:55 +02:00
JosJuice 04de064732 DolphinQt: Use short GC game titles in grid view
Short titles fit better than long titles.
2015-06-08 12:04:51 +02:00
JosJuice ec0370d2d1 Volume: Add prefer_long parameter to GetNames
GC games with long names store two variations of the name in
opening.bnr. This makes the shorter of those names available.
For volumes other than GC discs, prefer_long is ignored.
2015-06-08 12:00:34 +02:00