Commit Graph

17897 Commits

Author SHA1 Message Date
JosJuice b6eb5c25d1 Movie: Fix FrameSkipping determinism condition
The old condition seems to be a typo of
!(IsMovieActive() || NetPlay::IsNetPlayRunning())
2016-07-05 13:57:06 +02:00
JosJuice f3e459091b Merge pull request #3874 from dolphin-emu/revert-3873-argh
Revert "Undo the addition of a translatable string during the string freeze"
2016-07-05 12:07:53 +02:00
Matthew Parlane 7ad74832e6 Revert "Undo the addition of a translatable string during the string freeze" 2016-07-05 21:44:38 +12:00
Scott Mansell 708fb35fdb Merge pull request #3878 from mathieui/enable-cheats-for-jmc-the-cheater
Sync the "enable cheat" setting over netplay
2016-07-05 21:36:02 +12:00
Scott Mansell 69bf05b302 Merge pull request #3976 from JosJuice/shutdown-clear-codes
PatchEngine: Clear active codes on shutdown
2016-07-05 21:13:48 +12:00
JDV d6a2fcd26c Formatting and setting is now only temporarily changed (#1)
Add the cheat setting to the bootmanager config cache, and reformat
2016-07-05 02:23:19 +02:00
mathieui 8a2e7fddd1 Sync the "enable cheat" setting over netplay 2016-07-05 02:23:10 +02:00
Rukai f42350e719 portable.txt enables portable configuration on linux, README updated to
show how to build a portable and a local dolphin on linux.
2016-07-04 19:39:10 +10:00
JosJuice b210769ea0 PatchEngine: Clear active codes on shutdown
The active codes normally get cleared when a game boots, because
LoadPatches gets called, replacing the codes from the previous game.
However, there were cases where LoadPatches doesn't get called, and
then codes from the previous game would be used for the current game.
This commit clears the codes on shutdown so that it doesn't matter
whether the boot process loads LoadPatches.
2016-07-01 13:07:57 +02:00
Lioncash 9bfafed5b8 FifoPlayer: Get rid of semicolons on namespace braces 2016-07-01 04:36:05 -04:00
Lioncash 06ccfef1c1 FifoPlayer: Get rid of unnecessary includes 2016-07-01 04:25:40 -04:00
Markus Wick b30bf5d959 Merge pull request #3966 from phire/ImNotTheOnlyPersonWhoMakesThisMistake
Fix broken debug builds in visual studio
2016-07-01 08:24:02 +02:00
Chris Burgener fcbb39d236 Merge pull request #3972 from RisingFog/merge_addstereosamples
Remove AddStereoSamples function
2016-07-01 01:03:14 -04:00
Chris Burgener 76abf1f727 Remove AddStereoSample function 2016-07-01 00:59:25 -04:00
Chris Burgener 046c96f1b8 Merge pull request #3944 from RisingFog/configurable_dump_path
Add Dump Path to Configuration Menu
2016-06-30 20:46:52 -04:00
Chris Burgener e92ff9d09f Add Dump Path to Configuration Menu 2016-06-30 20:20:48 -04:00
hthh e57333ac5e Jit: Remove unsafe MOV optimization
This optimization broke arithXex in rare cases by
emitting XOR where MOV was expected.
2016-07-01 01:43:35 +10:00
Pierre Bourdon f8bf839e36 Merge pull request #3967 from JosJuice/remove-boomy
Remove Boomy
2016-06-30 12:07:50 +02:00
JosJuice ed42467e87 Fall back to default theme when the configured theme doesn't exist 2016-06-30 11:49:13 +02:00
Scott Mansell 20449ec91f Don't forget to initalize your variables. 2016-06-30 20:27:19 +12:00
Lioncash 396ae89e5c FifoDataFile: Convert FifoFrameInfo's fifoData member into a vector 2016-06-29 02:54:49 -04:00
Lioncash 437b1294bb FifoDataFile: Convert MemoryUpdate data member to std::vector 2016-06-29 02:29:34 -04:00
Lioncash 8943d23a4c FifoDataFile: Make Load return a unique_ptr 2016-06-28 21:23:55 -04:00
Chris Burgener 41335752e5 Merge pull request #3891 from RisingFog/split_audio_dump_sample_rate
Split Audio Dumps on Sample Rate Changes
2016-06-28 11:52:40 -04:00
Scott Mansell 35566316ed XFB: Send image to screen at start of field.
This is much more accurate to the hardware, and saves around 16ms
of latency.
2016-06-28 15:12:43 +12:00
Chris Burgener 28a3691e70 Merge pull request #3930 from RisingFog/split_video_dump_resolution
Split Video Dumps on Resolution Change
2016-06-27 22:39:19 -04:00
Matt Mastracci 1e08ad0d97 Add MOV optimization and MOV_sum
Replaces incarnations of the A=B+C pattern throughout the
code so we can apply optimizations consistently.
2016-06-27 15:43:52 -06:00
Markus Wick adcef046f6 Merge pull request #3496 from mmastrac/fastmem_refactor
Refactor the fastmem/trampoline code
2016-06-27 23:06:22 +02:00
Matt Mastracci b1296a7825 Refactor fastmem/trampoline code.
Simplication to avoid reading back the generated instructions, allowing
us to handle all possible cases.
2016-06-27 14:58:20 -06:00
degasus 3b3cbc4aab BusyLoopTest: Only run 10 times.
Running this test 100 times is not worth to spend 1 second.
2016-06-27 22:06:52 +02:00
Markus Wick ddc9e414ee Merge pull request #3454 from mmastrac/gqr_fixes
JIT perf improvements for quantized loads/stores
2016-06-27 18:31:50 +02:00
Chris Burgener f31adf9635 Fix D3D crashes/issues 2016-06-27 10:13:17 -04:00
Léo Lam 1b71249562 D3D: Fix crash on start with BBox enabled
Someone removed the BBox::Init(), causing crashes when BBox is enabled.

Fixes issue #9643.
2016-06-27 12:45:00 +02:00
Pierre Bourdon cf2c5e276c Merge pull request #3957 from lioncash/mutex
FifoRecorder: Use lock_guard instead of explicit lock/unlock
2016-06-27 10:36:43 +02:00
Lioncash 1dee75a68e FifoRecorder: Use lock_guard instead of explicit lock/unlock 2016-06-27 04:15:16 -04:00
Markus Wick c4838b9cbc Merge pull request #3951 from leoetlino/formatting-fix
LightingShaderGen: Fix formatting
2016-06-27 09:59:48 +02:00
Matt Mastracci 4aa5291f54 Refactor the paired load/store code
Simplification/reduction of duplicated code. Detect other constant GQR values and inline loads (5-10% speedup) and do direct dispatch to AOT methods for stores.
2016-06-26 19:49:02 -06:00
Pierre Bourdon 6ed001ad42 Merge pull request #3954 from delroth/x64-emitter-test
x64EmitterTest: fill cpu_info with 0x01 instead of 0xFF to make gcc happier
2016-06-27 02:38:10 +02:00
Pierre Bourdon a910a4309f x64EmitterTest: fill cpu_info with 0x01 instead of 0xFF to make gcc happier 2016-06-27 01:55:42 +02:00
Léo Lam d9fc1e01b4 LightingShaderGen: Fix formatting 2016-06-26 16:35:44 +02:00
Markus Wick 6b01eca3a0 Merge pull request #3950 from phire/fix-warnings
VideoCommon: Fix some warnings.
2016-06-26 13:37:15 +02:00
Scott Mansell d958388617 VideoCommon: Fix some warnings. 2016-06-26 23:10:31 +12:00
degasus d79aeaa1e9 VideoCommon: Drop GetConfigName.
We're past 5.0 now, so there is no need to look for old inis.
2016-06-26 12:34:59 +02:00
degasus 5f2f462067 VideoBackends: Merge ShowConfig functions. 2016-06-26 12:34:59 +02:00
degasus 7833ff25df VideoBackends: Merge Initialize and Shutdown functions. 2016-06-26 12:34:59 +02:00
Scott Mansell b16333a25c Merge pull request #3716 from degasus/coretiming
CoreTiming: Drop ProcessFifoWaitEvents.
2016-06-26 22:13:05 +12:00
Scott Mansell ee9e3432cb Merge pull request #3513 from phire/make_hdkr_happy
Get shadergen ready for Multithreadded generation of shaders.
2016-06-26 21:55:22 +12:00
degasus ca96302a36 PowerPC: Dedoublify CheckExternalExceptions. 2016-06-26 11:29:25 +02:00
degasus 4c5f8f9c91 CoreTiming: Drop ProcessFifoWaitEvents.
globalTimer is only written in Advance, so this function has no function.
2016-06-26 11:29:25 +02:00
Matthew Parlane 2776bcbf55 Merge pull request #3903 from leoetlino/wiimote-disconnect
Disconnect real Wiimotes when disconnected by games (not on all platforms)
2016-06-26 18:33:09 +12:00
Mat M 8d1a70af9a Merge pull request #3945 from comex/warning-fixes-2016
Warning fixes 2016
2016-06-26 02:16:35 -04:00
Mat M cf50ed82bb Merge pull request #3943 from ShadowsFriend/nopch-fix
ControllerInterface: Include memory to fix building without pch
2016-06-26 02:13:47 -04:00
Mat M c896645313 Merge pull request #3947 from magumagu/interpreter-cleanup
Misc cleanup in Interpreter.
2016-06-26 02:11:09 -04:00
Mat M 8d2137ba85 Merge pull request #3948 from magumagu/dead-bfakemem
Delete dead variable named bFakeVMEM.
2016-06-26 02:10:13 -04:00
magumagu 1c28a27ee4 Delete dead variable named bFakeVMEM.
(There's another bFakeVMEM in Memmap.h.)
2016-06-25 23:05:55 -07:00
magumagu b5ed27ffa8 Misc cleanup in Interpreter.
Mostly comment changes; also gets rid of an unnecessary call to
CheckExceptions.
2016-06-25 22:52:17 -07:00
comex efef07293b Suppress deprecation warning. 2016-06-26 00:49:51 -04:00
comex fe73ae8526 Add missing override 2016-06-26 00:49:50 -04:00
comex 61813767c7 Get rid of #define PAGE_MASK and round_page, which conflict with OS X headers 2016-06-26 00:49:46 -04:00
Markus Wick bc354277ca Merge pull request #3940 from lioncash/tie
Device: Use std::tie for operator==
2016-06-26 06:40:14 +02:00
Mat M 3d72fe3173 Merge pull request #3942 from comex/osx-build-fix
Fix in-tree build (cmake .) on OS X.
2016-06-26 00:35:00 -04:00
Scott Mansell 2f134c5c36 Remove the rest of ShaderDebugging.
Without UID checking, it's basically a no-op that disables shader cache
and stores the shader source code (without ever reading it back).
2016-06-26 16:25:11 +12:00
Scott Mansell ebe5fd0b36 Multithreadded Shadergen: Minor fixups. 2016-06-26 16:13:22 +12:00
Scott Mansell 95469ec225 Remove UID Checker.
Kind of pointless now that multiple shaders with the same UID are
now fundementally impossible.
2016-06-26 16:13:22 +12:00
Scott Mansell 24e5d21780 Multithreadded Shadergen: Second pass over Pixel Shadergen.
Note: It's not 100% perfect, as some of the GPU capablities leak into the
pixel shader UID.

Currently our UIDs don't get exported, so there is no issue. But someone
might want to fix this in the future.
2016-06-26 16:13:21 +12:00
Scott Mansell 1a831cfc7d Multithreadded Shadergen: Second Pass over vertex/lighting Shadergens
As much as possible, the asserts have been moved out of the GetUID
function. But there are some places where asserts depend on variables
that aren't stored in the shader UID.
2016-06-26 16:13:21 +12:00
Scott Mansell 28c7113e41 Multithreadded Shadergen: Second Pass over geometery Shadergen 2016-06-26 16:13:21 +12:00
Scott Mansell fa02f47729 Multithreadded Shadergen: First pass over geometery Shadergen. 2016-06-26 16:13:20 +12:00
Scott Mansell 4969415f38 Remove global refrences from common code.
Bug Fix: Previously vertex shaders and geometery shaders didn't track
         antialaising state in their UIDs, which could cause AA bugs
	 on directx.
2016-06-26 16:13:20 +12:00
Scott Mansell 0d996f512b Multithreadded Shadergen: First pass over pixel Shadergen
Bug Fix: It was theoretically possible for a shader with depth writes
         disabled to map to the same UID as a shader with late depth
	 writes.
	 No known test cases trigger this.
2016-06-26 16:13:20 +12:00
Scott Mansell e99364c7c9 UID Change: Fix bug with indirect stage UIDs
Bug Fix: The normal stage UIDs were randomly overwriting indirect
         stage texture map UID fields. It was possible for multiple
	 shaders with diffrent indirect texture targets to map to
	 the same UID.
         Once again, it dpesn't look like this bug was ever triggered.
2016-06-26 16:13:19 +12:00
Scott Mansell 03f2c9648d Shader UID change: Only store the two bits of components we need.
This frees up 21 bits and allows us to shorten the UID struct by an entire
32 bits.

It's not strictly needed (as it's encoded into the length) but I added a
bit for per-pixel lighiting to make my life easier in the following
commits.
2016-06-26 16:13:19 +12:00
Scott Mansell 53c402dbc5 Multithreadded Shadergen: First Pass over vertex/lighting Shadergens
The only code which touches xfmem is code which writes directly into
uid_data.

All the rest now read their parameters out of uid_data.

I also simplified the lighting code so it always generated seperate
codepaths for alpha and color channels instead of trying to combine
them on the off-chance that the same equation works for all 4 channels.

As modern (post 2008) GPUs generally don't calcualte all 4 channels
in a single vector, this optimisation is pointless. The shader compiler
will undo it during the GLSL/HLSL to IR step.

Bug Fix: The about optimisation was also broken, applying the color light
         equation to the alpha light channel instead of the alpha light
	 euqation. But doesn't look like anything trigged this bug.
2016-06-26 16:13:19 +12:00
comex 659d079d5c Fix in-tree build (cmake .) on OS X.
OS X uses a case insensitive filesystem by default: when I try to build,
a system header does #include <assert.h>, which picks up
Source/Core/Common/Assert.h.  This only happens because CMakeLists adds
'${PROJECT_BINARY_DIR}/Source/Core/Common' as an include directory: in
an out-of-tree build, that directory contains no other source files, but
in an in-tree build PROJECT_BINARY_DIR is just the source root.

This is only used for scmrev.h.  Change the include directory to
'${PROJECT_BINARY_DIR}/Source/Core' and the include to
"Common/scmrev.h", which is more consistent with normal headers anyway.
2016-06-25 23:57:17 -04:00
Lioncash 55916b963d Device: Use std::tie for DeviceQualifier's operator== 2016-06-25 23:45:37 -04:00
Christian Widmer be922730b3 ControllerInterface: Include memory to fix building without pch
All affected files use shared_ptr but do not include memory which breaks
building without precompiled headers.
2016-06-26 05:42:29 +02:00
Matthew Parlane 3a26167148 Merge pull request #3931 from dhustkoder/master
constexpr added to BitSet.h. conflicts solved
2016-06-26 14:42:46 +12:00
Matthew Parlane 711ea97333 Merge pull request #3939 from phire/VS-is-anal-about-tabs
NullVideo: Fix up Visual studio solution.
2016-06-26 14:33:22 +12:00
Scott Mansell 131c65c41e NullVideo: Fix up Visual studio solution.
Turns out visual studio really wants tabs in it's solutions.
2016-06-26 14:30:14 +12:00
Pierre Bourdon c1fa1e6749 Merge pull request #3923 from leoetlino/ciface-small-cleanup
ControllerInterface: Small cleanup
2016-06-26 04:03:33 +02:00
Mat M e31a4d1f07 Merge pull request #3813 from degasus/null_video
Null: Initial release of null video backend
2016-06-25 20:14:28 -04:00
Matthew Parlane 5ba3e641ea Merge pull request #3933 from delroth/fixed-size-queue
FixedSizeQueue: modernize (std::array, std::move)
2016-06-26 10:31:07 +12:00
degasus fdbda7b7dd Null: Create Visual Studio project file.
Why is this so stupid on linux.....
2016-06-25 22:40:23 +02:00
degasus 59e4882af3 nullvideo: initial release of null video backend 2016-06-25 22:40:23 +02:00
Léo Lam 8678133e87 ControllerInterface: Switch to std::shared_ptr
Small cleanup by using std::shared_ptr and getting rid of
ciface.Devices() which just returned the m_devices (which defeats the
point of making m_devices protected).

Incidentally, this should make the code safer when we have
different threads accessing devices in the future (for hotplug?).

A lot of code use Device references directly so there is
no easy way to remove FindDevice() and make those unique_ptrs.
2016-06-25 21:46:39 +02:00
JosJuice 1878605d77 Undo some comment formatting changes from b5104a7 2016-06-25 18:07:10 +02:00
Pierre Bourdon 9081d029e3 FixedSizeQueue: modernize (std::array, std::move) 2016-06-25 17:39:54 +02:00
Chris Burgener 88dbaf1fa5 Split Video Dumps on Resolution Change 2016-06-25 11:39:41 -04:00
Anthony Serna 64cf74abb4 Merge pull request #3678 from rukai/dolphinQtPropertiesDialog
DQt2: properties dialog - info tab
2016-06-25 10:31:46 -05:00
Rukai b5104a79f1 GCVolume: supports reading all opening.bnr information
DQT2: Game properties dialog contains info tab giving information about the selected iso.
2016-06-26 00:03:59 +10:00
dhust b707e199c2 constexpr added to BitSet.h. conflicts solved 2016-06-25 10:58:53 -03:00
Rukai e82e4a62c1 DQt2: Set a minimum width for toolbar buttons + fix stop button
Using a minimum width is a good compromise between
setting all buttons to the same width
and letting them all decide their own width.
This is because the small buttons are kept tidy and regular
while allowing the biggest buttons to fit their contents.
2016-06-25 23:58:04 +10:00
Matthew Parlane afa202738e Merge pull request #3865 from leoetlino/third-party-wiimotes
Change Bluetooth device discovery on Linux to use LIAC (updated #3327)
2016-06-26 00:17:57 +12:00
Matthew Parlane a7448271a9 Merge pull request #3892 from leoetlino/ciface-synchronisation
ControllerInterface: Add synchronisation
2016-06-26 00:17:08 +12:00
Léo Lam 9b075556ea Fix a small formatting issue 2016-06-25 13:46:53 +02:00
Léo Lam d3e2ae35ff ControllerInterface: Add synchronisation
Since we may have to add/access devices from different threads, this
adds synchronisation to anything that touches m_devices.
2016-06-25 13:46:53 +02:00
Léo Lam fd29e5c4cc ControllerInterface: Don't pass m_devices to the backends
Previously, the devices vector would be passed to all backends. They
would then manually push_back to it to add new devices. This was fine
but caused issues when trying to add synchronisation.

Instead, backends now call AddDevice() to fill m_devices so that it is
not accessible from the outside.
2016-06-25 13:46:53 +02:00
Matthew Parlane 2f9a911c54 Merge pull request #3913 from rukai/dolphinQtVSDLL
VS can now run dolphinQt directly without DLL errors
2016-06-25 23:36:01 +12:00
Bryan Grim 92c572a83d Change Bluetooth device discovery on Linux to use LIAC
This changes Bluetooth device discovery on Linux to use LIAC (Limited
Dedicated Inquiry Access Code) since third-party Wiimotes (such as Rock
Candy Wiimotes) are not discovered without it.

Also added accessor function in IONix class to help with checking if
the discovered Wiimote has already been found.

[leoetlino: code review suggested changes, remove unused variable,
commit message formatting fixes, and build fix]
2016-06-25 12:34:45 +02:00
Chris Burgener dba9d86b55 Merge pull request #3888 from RisingFog/remove_cpack_txt
Remove cpack_package_description.txt from Windows builds
2016-06-24 21:13:27 -04:00