Commit Graph

15676 Commits

Author SHA1 Message Date
mimimi085181 de7b2f984a Make tries a u32
Before this variable was an u8, which could theoretically result in desyncs with a large buffer(greater than 255*120/200=153) filled with blank inputs. If this could actually happen, i don't know. But this part of the code on its own looks like it could break.
2016-07-08 23:30:25 +02:00
mimimi085181 b962c1f392 Fix running more than one session with Wiimotes
A static var is not a good idea, when the value needs to be reset for every session. Also, the variable holds the data size, so it makes sense to set the data size, where the data is added.
2016-07-08 23:30:24 +02:00
Léo Lam 0f028df6b2 DolphinWX: Shut down cleanly on signal
This makes DolphinWX shut down cleanly, just like it would with
File->Exit when it receives a SIGINT, SIGTERM (Unix) or some signals
on Windows.

The default signal handler will be restored after a first shutdown
signal so a second signal will exit Dolphin forcefully.
2016-07-08 23:11:27 +02:00
mimimi085181 4f9fe41ee6 Revert pr#3660
https://github.com/dolphin-emu/dolphin/pull/3660
2016-07-08 20:23:33 +02:00
mimimi085181 330289cf71 Revert pr#3691
https://github.com/dolphin-emu/dolphin/pull/3691
2016-07-08 20:23:32 +02:00
EmptyChaos 9036b9d8e8 SectorReader: Fix cache line bias
Minor bug where SectorReader::GetEmptyCacheLine was biased towards
the first hit.
2016-07-09 02:27:35 +10:00
JosJuice b960b5677b Don't ScheduleEvent from wrong thread when inserting SD card 2016-07-08 00:02:06 +02:00
mimimi085181 fcf5d4f6bc Revert pr#3802
https://github.com/dolphin-emu/dolphin/pull/3802
2016-07-07 14:25:30 +02:00
JosJuice 31226b8503 DiscScrubber: Replace unused blocks with 0x00 instead of 0xFF 2016-07-07 11:51:58 +02:00
Pierre Bourdon 3f03e2d5fe Merge pull request #3982 from JosJuice/how-did-this-even-compile
DolphinWX: Fix a mix-up
2016-07-06 18:46:05 +02:00
JosJuice 3b7c614124 DolphinWX: Fix a mix-up
Caused by a commit of mine, cb3b1b6
2016-07-06 18:31:18 +02:00
JosJuice 865be48ee3 Movie: Simplify ChangeDisc path handling 2016-07-05 21:13:43 +02:00
JosJuice ce9622c426 Use g_want_determinism in code added by 8f0cbef
There's no reason this only should apply to netplay.
2016-07-05 20:58:44 +02:00
JosJuice 6951228abd Use g_want_determinism more 2016-07-05 18:50:06 +02:00
JosJuice 1da866d7de DVDInterface: Simplify calling ChangeDisc from CPU thread
When Movie was calling ChangeDisc, it was moving execution to
the host thread just to then make the host thread the CPU thread.
We can simply run the code directly on the CPU thread instead.
2016-07-05 18:20:24 +02:00
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
hthh 8be5717a60 Improve PerfQuery accuracy
In TimeSplitters: Future Perfect, PerfQuery is used to detect
the visibility of lights and draw coronas. 25 points are drawn
for each light. However, the returned count was incorrectly
being divided by four leading to dim coronas.

Using 4x antialiasing was a workaround because of a bug where
antialiasing multiplied the PerfQuery results. This commit
fixes that bug too (but only for OpenGL).
2016-07-04 18:54:49 +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
Sepalani 99a741b4e2 mbedTLS: missing init and free fixed 2016-07-01 14:33:58 +04:00
Sepalani 1af3b51fa7 Added: Wii security profile 2016-07-01 14:33:58 +04:00
Sepalani 4dfad8896a Added: mbedtls errors log 2016-07-01 14:33:57 +04:00
Sepalani 529ca245d7 Added: more SSL features, plus SSL dump folder
Dump: rootca, peercert
2016-07-01 14:33:54 +04:00
Sepalani 1fdf750395 Added: INI option to verify SSL cert 2016-07-01 14:23:12 +04:00
Sepalani d3be9d155d Fixed: Allowed unknown certificates 2016-07-01 14:23:11 +04:00
Sepalani 170d0588a7 Replaced DEBUG_SSL with INI options 2016-07-01 14:23:11 +04: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
JosJuice 202c9d58cd VolumeGC: Set m_banner_loaded when banner loading fails
If banner loading fails once, it will very likely fail again.
Setting m_banner_loaded to true when banner loading fails
prevents LoadBannerFile from wasting time if it's called again.
Banner loading requires loading the file system, which takes a
noticeable amount of time, so this matters.
2016-06-28 18:05:44 +02: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
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
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
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
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
EmptyChaos 822326eea9 Update wxWidgets to 3.1.0
From wxWidgets master 81570ae070b35c9d52de47b1f14897f3ff1a66c7.

include/wx/defs.h -- __w64 warning disable patch by comex brought forward.

include/wx/msw/window.h -- added GetContentScaleFactor() which was not implemented on Windows but is necessary for wxBitmap scaling on Mac OS X so it needs to work to avoid #ifdef-ing the code.

src/gtk/window.cpp -- Modified DoSetClientSize() to direct call wxWindowGTK::DoSetSize() instead of using public wxWindowBase::SetSize() which now prevents derived classes (like wxAuiToolbar) intercepting the call and breaking it. This matches Windows which does NOT need to call DoSetSize internally. End result is this fixes Dolphin's debug tools toolbars on Linux.

src/osx/window_osx.cpp -- Same fix as for GTK since it has the same issue.

src/msw/radiobox.cpp -- Hacked to fix display in HiDPI (was clipping off end of text).

Updated CMakeLists for Linux and Mac OS X. Small code changes to Dolphin to fix debug error boxes, deprecation warnings, and retain previous UI behavior on Windows.
2016-06-26 15:25:29 +10:00
Pringo 96d574b7ab Fixed Missed Uncapitalized Words. 2016-06-25 21:50:56 -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
magumagu e01a33f69b Make reset button (Emulation -> Reset) work correctly for Wii games.
Fixes issue 8328.

As far as I know, this works the same way as console. Games will generally
react to the reset button the same way as Home->Reset, so this is
only marginally useful, but possibly nice to have in certain situations.

Note that if you try to use Reset, and you're running a WAD which isn't
installed, it will likely crash because WADs respond to the reset button
by launching themselves with ES_LAUNCH.  It might be a good idea to add some
sort of hack to make this work as expected.

It would be easy to extend this to support the power button, but it's
unclear how exactly that should be exposed in the UI. See also issue 8979.

Needs to be rebased once PR #3811 is merged.
2016-06-25 21:21:44 -07: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
Pringo 56d0f08f29 Change "Op" to "Instruction" 2016-06-25 19:12:32 -07: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
Pringo 6b568b1150 Fix Menu Capitalization 2016-06-25 10:50:04 -07: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
Chris Burgener ca2eaac704 Split Audio Dumps on Sample Rate Changes 2016-06-24 21:12:15 -04:00
Rohit Nirmal 84cd57f99b Fix building with PCH disabled. 2016-06-24 11:46:48 -05:00
Lioncash 2904e96f1e Core: Use the thread_local keyword
Android and OSX are still twiddling their thumbs though,
so we have to keep pthreads around for them.
2016-06-24 09:14:10 -04:00
Léo Lam d575b40c73 Disconnect real Wiimotes when disconnected by games
This commit makes real Wiimotes really disconnect when they are
disconnected by the emulated software, which is more similar to how
it works with a real Wii and allows Wiimotes to be disconnected after
timeout for power saving.

This is currently only enabled on Linux, because of limitations on
the other platforms.
2016-06-24 14:47:39 +02:00
Pierre Bourdon 2fdfacd6d9 Add clang-format markers around fragile header inclusions. 2016-06-24 13:24:10 +02:00
Pierre Bourdon 43d0d692f9 Fix D3D12 headers missing includes. 2016-06-24 11:14:10 +00:00
Pierre Bourdon 5fcb4bb3ab Further fixes to the formatting change. WX sucks. 2016-06-24 12:16:10 +02:00
Pierre Bourdon 3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Pierre Bourdon 2115e8a4a6 Add annotations for code sections that need to remain manually formatted. 2016-06-24 10:41:46 +02:00
hthh 45ad585baf GUI: Fix truncated text on OS X 2016-06-23 22:17:53 +10:00
Chris Burgener 09dbe2337c Merge pull request #3904 from dhustkoder/master
_DEFAULT_SOURCE flag added, and clang check version for IsTriviallyCopyable m…
2016-06-22 10:54:39 -04:00
Scott Mansell 2ec3a24e4e analytics: Collect less data about controllers.
The name field can contain personal information, particularly in the
case of bluetooth devices on OSX which get configured with the user's
full name.
2016-06-22 17:02:30 +12:00
Rukai 59b7bb04b6 VS can now run dolphinQt directly without DLL errors 2016-06-21 22:42:15 +10:00
Scott Mansell 3dfea6e996 analytics: Collect controller information.
Collects the existence of a gamecube adapter, and the type of
whatever controller is configured for the first emulated gamepad.
2016-06-21 01:48:28 +12:00
Scott Mansell d197f489b9 analytics: Report OpenGL's adapter name too. 2016-06-20 23:54:44 +12:00
dhust 19fed720ff _DEFAULT_SOURCE flag added, and clang check for IsTriviallyCopyable macro
fix clang ver check for 4.0 +

using clang macro __has_feature

__GLIBCXX__ check added

fix __has_feature
2016-06-19 18:32:19 -03:00
Pierre Bourdon 45f91c02c7 Merge pull request #3908 from delroth/analytics-gpu
analytics: More accurate video backend name.
2016-06-19 16:40:28 +02:00
Pierre Bourdon 5982072a44 analytics: More accurate video backend name. 2016-06-19 16:36:18 +02:00
Pierre Bourdon b8496fc844 analytics: Disable ALPN only on Windows. 2016-06-19 12:54:40 +02:00
Pierre Bourdon 63dab254e0 Analytics: Implement UI.
* Opt-in popup on first start.
* Checkbox and button in the main config dialog.
2016-06-19 02:55:46 +02:00
Pierre Bourdon 121f270367 Add an Analytics reporting system.
Fully opt-in, reports to analytics.dolphin-emu.org over SSL. Collects system
information and settings at Dolphin start time and game start time.

UI not implemented yet, so users are required to opt in through config editing.
2016-06-19 02:55:46 +02:00
Pierre Bourdon 49ce9b153d scmrev: Add "distributor" option.
Used to distinguish between Dolphin distributions (e.g. "dolphin-emu.org",
"Ishiiruka", etc.).
2016-06-18 18:31:40 +02:00
Pierre Bourdon c4f5c471bb Externals: Add libcurl. 2016-06-18 18:31:40 +02:00
Pierre Bourdon fe51de23f1 StringUtil: Add a HexDump function.
Generates a string like the following from a binary blob:

000000: 00 00 04 74 79 70 65 00 09 61 70 70 2d 73 74 61  ...type..app-sta
000010: 72 74                                            rt
2016-06-18 16:37:09 +02:00
Scott Mansell 96ab76f81d TextureCache: Rename functions and add comments to clear up docs 2016-06-18 04:27:16 +12:00
Scott Mansell 94eaacae30 TextureCache: Track efb copies used in a partially updated texture
Fixes a major preformance regression in Skies of Arcadia during
battle transisions.

I had plans for a more advanced version of this code after 5.0,
but here is a minimal implemenation for now.
2016-06-17 23:46:22 +12:00
Chris Burgener 66fe98dbd9 Remove cpack_package_description.txt from Windows builds 2016-06-10 09:50:46 -04:00
Pierre Bourdon c514a48f4d Merge pull request #3776 from EmptyChaos/ar-isoprop-corrupt
ActionReplay: Fix ISOProperties corrupting active code set
2016-06-05 09:29:51 +02:00
Mat M a3e2436446 Merge pull request #3872 from JosJuice/movie-revision-nonhexadecimal
Movie: Improve handling of non-hexadecimal revision strings
2016-06-02 14:13:08 -04:00
JosJuice 9681fee86a Movie: Improve handling of non-hexadecimal revision strings 2016-06-02 18:55:35 +02:00
Matthew Parlane 7a99312687 Merge pull request #3873 from JosJuice/argh
Undo the addition of a translatable string during the string freeze
2016-05-31 08:46:25 +12:00
JosJuice e5ffc91265 Undo the addition of a translatable string during the string freeze 2016-05-30 22:41:08 +02:00
Pierre Bourdon aecf9e16c8 Merge pull request #3871 from Helios747/weird_nvidia_fix
[OGL] Workaround nvidia being weird with GL_MAX_TEXTURE_SIZE
2016-05-30 18:54:17 +02:00
Anthony Serna 0e5852f634 [OGL] Workaround nvidia being weird with GL_MAX_TEXTURE_SIZE 2016-05-30 10:06:19 -05:00
Karol Herbst c0e21871cd EGL: specify version first
allthough this is a mesa bug, this is a simple enough workaround for context
creation fails with EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR set.

Otherwise dolphin will fail to create 3.3+ core context with current mesa
version
2016-05-29 22:12:31 +02:00
Pierre Bourdon c4240692b6 SectorReader: Fix reading the last block of the disc.
Regression from PR #3795.
2016-05-29 18:26:04 +02:00
EmptyChaos 309d0e59f4 ISOProperties/GameListCtrl: Use Global INI Change event.
ISOProperties no longer needs its hack to refresh the game list, the
new INI Modified event can be used instead.
2016-05-30 00:49:11 +10:00
Pierre Bourdon 6ef7414479 Merge pull request #3867 from phire/fix_wii_savestates_some_more
IPC_HLE: Close file handles before savestating. Fixes DKCR crashing.
2016-05-29 16:26:37 +02:00
EmptyChaos 6ab1b27477 ActionReplay: UI Consistency and Cleanup
Cleanup code style.

Move ActionReplay code->INI saving into ActionReplay namespace.

Threadsafety Cleanup: ActionReplay is accessed from the Host, Emu
and CPU Threads so the internal storage needs to be protected by a
lock to prevent vectors/strings being deleted/moved while in use by
the CPU Thread.

UI Consistency: Make ARCodes behave like Gecko Codes - only apply
changes when Apply is pressed. Save changes to INI from CheatsWindow.

ISOProperties/CheatsWindow now synchronize with each other.
2016-05-29 23:33:24 +10:00
EmptyChaos 25b072ff2b ActionReplay: Fix ISOProperties corrupting active code set
ISOProperties loads codes using ActionReplay::LoadCodes which actually applies
the codes to the global state. If a game is running then that games receives
all the codes (and ACTIVE status) from the second game being shown in
ISOProperties which is not desirable.
2016-05-29 23:33:24 +10:00
Pierre Bourdon 0fa9233c1a Merge pull request #3857 from JosJuice/update-language-list
Add more languages, and remove Hebrew because it's very incomplete
2016-05-29 15:22:16 +02:00
Scott Mansell 7d80aaedc7 Cleanup: fix an incorrect variable name.
For consistancy.
2016-05-29 18:14:50 +12:00
Scott Mansell f419faa408 IPC_HLE: Close file handles before savestating. Fixes DKCR crashing.
Donkey Kong Country Returns is writing new data to some files in /tmp
when loading each level. But the savestate code was opening the files
a second time and reading some old and stale data out.

As of #3798, dolphin now correctly restores that stale data to /tmp,
which broke DKCR (and probally countless other games).

This PR closes all file handles before saving and loading savestates,
which flushes the data out and pervents this issue. (old savestates
are corrupted and will still cause crashes if loaded)
2016-05-29 16:48:46 +12:00
Rohit Nirmal 14220ae488 Fix building with PCH disabled. 2016-05-26 13:05:21 -05:00
Mat M 340743d82a Merge pull request #3819 from mimimi085181/netplay-fix-gamecube-port-mapping1
Netplay: Fix gamecube controller mapping
2016-05-25 17:47:32 -04:00
JosJuice 3d62b1ced7 Add more languages, and remove Hebrew because it's very incomplete 2016-05-25 23:33:18 +02:00
sigmabeta c92f7ef173 Fix builds when using newest version of NDK 2016-05-25 14:23:35 -04:00
mimimi085181 1d90719abe Fix latency regression
On master, when polling the 1st in-game controller, Dolphin would poll all the 1st local controllers. With the 1st commit, each client waits its turn, which would dramatically increase the lag.

Now with this commit, it even polls all local controllers at once, so it should have even less latency than master in a few setups. Like one player with 3 controllers and the 2nd one with just one controller.
2016-05-24 22:13:40 +02:00
mimimi085181 ca9027879b Netplay: Fix gamecube controller mapping
This fixes issues with setups like:
Player 1 uses port 1 and player 2 uses port 3, or
player 1 uses port 2 and player 2 uses port 3, so nobody uses port 1
2016-05-24 21:59:36 +02:00
Anthony Serna 44677ce7d5 [UI] Fix Gamelist encoding bug 2016-05-23 17:47:30 -05:00
Mat M 08d45b9fea Merge pull request #3794 from EmptyChaos/frame-advance-race
Core: Add synchronization to state changes (Fix Frame Step and FIFO Player -  Issue 8718)
2016-05-22 15:19:16 -04:00
Markus Wick ff4bc5f33d Merge pull request #3854 from degasus/arm
JitArm64: Implement MMU handling.
2016-05-21 08:46:22 +02:00
Matthew Parlane 25f88bf751 Merge pull request #3823 from Summate/development
Piping the wxMsgAlert through netplay window during netplay ...
2016-05-21 11:16:19 +12:00
Markus Wick ca728d792a Merge pull request #3802 from mathieui/netplay-disable-wiimotes-for-real-i-swear
Disable wiimotes on game start if running in netplay
2016-05-20 12:38:21 +02:00
mathieui ef0f164343 Disable wiimotes on game start if running in netplay
And restore the settings on game quit
2016-05-20 12:05:29 +02:00
Markus Wick de0f93f636 Merge pull request #3851 from JosJuice/revision-20
Movie: Better safety when writing to s_revision
2016-05-20 10:18:30 +02:00
degasus c5e8238cc7 JitArm64: Fix dispatcher with MMU. 2016-05-20 08:32:16 +02:00
degasus 8e902abca3 JitArm64: Implement DSI exception.
Ok, this falls back on all memory instructions, but it's a way to start.
2016-05-20 08:32:16 +02:00
Markus Wick bb6604df76 Merge pull request #3805 from mathieui/gcadapter-unplug-crash
GCAdapter: improve thread safety
2016-05-19 22:58:06 +02:00
mathieui 1bbbe92cd2 GCAdapter: protect some more functions
Reset() and Setup() are not used outside of this namespace
2016-05-19 22:00:49 +02:00
degasus 5db61b4bbb JitArm64: Fix broken block handling. 2016-05-19 19:20:44 +02:00
degasus 37e2e92e33 JitArm64: Handle ISI excepction. 2016-05-19 19:20:44 +02:00
degasus 95ebb2991f JitArm64: Check Exceptions on mtmsr. 2016-05-19 19:20:44 +02:00
degasus 782c68cf00 JitArm64: Clean up LWZ idle skipping. 2016-05-19 19:20:44 +02:00
Stenzek e169d54f3c D3D11: Fix CPU EFB color reads when MSAA is enabled
Also swaps the byte order from RGBA->BGRA to match GL/D3D12, and what
the read handler is expecting.

Depth reads will now return the minimum depth of all samples, instead of
the average of all samples.
2016-05-19 22:51:00 +10:00
Stenzek 89e54fbd6c OGL: Work around slowdown of glMapBufferRange with SSBO on NVIDIA drivers
Using glMapBufferRange to read back the contents of the SSBO is extremely
slow on NVIDIA drivers. This is more noticeable at higher internal
resolutions. Using glGetBufferSubData instead does not seem to exhibit
this slowdown.
2016-05-19 21:24:09 +10:00
JosJuice a399966751 Movie: Better safety when writing to s_revision 2016-05-19 12:29:50 +02:00
Matthew Parlane 24ea2dc2da Merge pull request #3842 from rukai/dolphinQtVSkeepBinaryClean
[Qt] VS build no longer adds all of Data to Binary
2016-05-19 20:49:35 +12:00
degasus c04cff57da GLExtensions: Fix OpenGL ES 3.2 handling. 2016-05-18 23:22:46 +02:00
Markus Wick 22648729c7 Merge pull request #3832 from degasus/android
DriverDetails: Update Qualcomm new driver version.
2016-05-18 21:26:45 +02:00
mathieui 54b4efff6b GCAdapter: improve thread safety
make sure Reset() can’t be run concurrently with AddGCAdapter() or
ResetRumble() (which is called on other threads) which can cause
crashes (issue #9462)
2016-05-18 20:44:01 +02:00
Markus Wick 682af0a86a Merge pull request #3846 from degasus/videosw
VideoSW: Fix XFB config.
2016-05-18 20:14:55 +02:00
Markus Wick da3b03c61d Merge pull request #3829 from phire/timing_madness
Increase Audio DMA Interrupt delay to 200 cycles (Fix assorted Namco games)
2016-05-18 20:14:02 +02:00
degasus 3a452f3cc5 VideoSW: Fix XFB config. 2016-05-18 18:37:44 +02:00
degasus fa3526962d VideoSW: Drop Update in XFB copy. 2016-05-18 18:37:44 +02:00
Markus Wick ae5d6003cd Merge pull request #3758 from phire/minor_core_timing_fix
CoreTiming: Trim max slicelength to the given value.
2016-05-18 17:56:02 +02:00
Markus Wick e2d65778fc Merge pull request #3816 from magumagu/neogamma-hack
Add hack to IPCHLE to make NeoGamma work.
2016-05-18 17:49:58 +02:00
Markus Wick 5a36b7db24 Merge pull request #3811 from magumagu/eslaunch-timing
Fix timing regression affecting ES_LAUNCH.
2016-05-18 17:15:30 +02:00
Markus Wick 60e7c78007 Merge pull request #3840 from degasus/arm
JitArm64: Faster block linking.
2016-05-18 16:49:01 +02:00
rukai f9ef9067c1 [Qt] VS build no longer adds all of Data to Binary 2016-05-14 16:50:25 +10:00
Mat M e5bafeb40a Merge pull request #3821 from mathieui/gcadapter-no-device
Fix a hang with the GC Adapter
2016-05-13 21:36:51 -04:00
degasus 637851fce0 JitArm64: optimize bclrx
the unconditional path is the most common, so no need to switch to far code here.
2016-05-14 00:05:55 +02:00
degasus b6f16352e4 JitArm64: Check downcount on block linking.
This skips one B() call.
2016-05-14 00:04:58 +02:00
degasus 10e716c623 JitCommon: Pass jit block instead of host pointer on linking.
So the JIT may do more fancy stuff.
2016-05-14 00:04:58 +02:00
degasus cf3c65fbd0 JitArm64: Use B() instead of BR() to jumo to ASM.
Avoid indirect jumps as good as possible. This is a noticeable speedup.
2016-05-14 00:04:58 +02:00
degasus b2be9bd7f7 JitArm64: Inline JitAsm in JitArm64.
So they share the same emitter, and so they are in the same 128MB range.
This allows us to use B() to jump to the dispatcher.

However, so we have to regenerate them on every cache clear.
2016-05-14 00:04:58 +02:00
EmptyChaos c1944f623b Core/Movie: Add ability to run code in Host context
EndPlayInput runs on the CPU thread so it can't directly call
UpdateWantDeterminism. PlayController also tries to ChangeDisc
from the CPU Thread which is also invalid. It now just pauses
execution and posts a request to the Host to fix it instead.

The Core itself also did dodgy things like PauseAndLock-ing
from the CPU Thread and SetState from EmuThread which have been
removed.
2016-05-13 09:23:44 +10:00
EmptyChaos e8dfc8e654 Movie: Threadsafety Audit
Fix TASInputDlg which was trying to access the GUI without the GUI
lock from the CPU Thread.
2016-05-13 09:23:44 +10:00
EmptyChaos c1922783f8 Core: Threadsafety Synchronization Fixes (Frame Advance / FifoPlayer)
Fix Frame Advance and FifoPlayer pause/unpause/stop.

CPU::EnableStepping is not atomic but is called from multiple threads
which races and leaves the system in a random state; also instruction
stepping was unstable, m_StepEvent had an almost random value because
of the dual purpose it served which could cause races where CPU::Run
would SingleStep when it was supposed to be sleeping.

FifoPlayer never FinishStateMove()d which was causing it to deadlock.
Rather than partially reimplementing CPU::Run, just use CPUCoreBase
and then call CPU::Run(). More DRY and less likely to have weird bugs
specific to the player (i.e the previous freezing on pause/stop).

Refactor PowerPC::state into CPU since it manages the state of the
CPU Thread which is controlled by CPU, not PowerPC. This simplifies
the architecture somewhat and eliminates races that can be caused by
calling PowerPC state functions directly instead of using CPU's
(because they bypassed the EnableStepping lock).
2016-05-13 09:23:44 +10:00
mathieui 8f0cbefbe5 Disable part of the adapter features for netplay
In order to avoid desyncs
2016-05-12 23:31:51 +02:00
Rukai d9a8318879 Brings visual studio build files up to date with recent Qt changes 2016-05-13 01:18:57 +10:00
Matthew Parlane ec40b38484 Merge pull request #3571 from rukai/dolphinQtVisualStudio
DolphinQt2 Builds on Visual Studio
2016-05-12 22:27:18 +12:00
Matthew Parlane 356f709537 Merge pull request #3810 from mathieui/fix-adapter-recording-savestate
Fix loading save states with input recording with the adapter
2016-05-12 20:53:04 +12:00
mathieui 2a0ba5aaa6 Fix loading save states with input recording with the adapter
Intended fix for issue #9508
2016-05-12 10:45:03 +02:00
mathieui 8d23ebaa6b Revert "Fix netplay desync when using wii-u adapter."
This reverts commit 429ae8fb01.

 Conflicts:
	Source/Core/Core/HW/SI_DeviceGCAdapter.cpp
	Source/Core/Core/HW/SI_DeviceGCAdapter.h
2016-05-12 02:01:35 +02:00
degasus bca0e06a95 OGL: Use coherent mapping on Qualcomm devices. 2016-05-11 23:55:28 +02:00
degasus 7517d126c8 DriverDetails: Drop BUG_BROKENALPHATEST.
This flag is not in use at all.
2016-05-11 21:22:09 +02:00
degasus 6219c39cf5 OGL: Drop QC ES3.1 workaround.
This was never tested well:

HdkR> The tester was most likely trying to load a stale shader cache or something
2016-05-11 20:45:07 +02:00
Matthew Parlane 48c0c2ace6 Merge pull request #3830 from Lionel07/qt-settings-window
[Qt] Settings Window for Qt
2016-05-11 16:43:43 +12:00
Corwin McKnight 321b775f02 [Qt] Settings Window for Qt
AND Fix leftovers from full code, fixed styling and lint
2016-05-10 21:24:53 -07:00
Matthew Parlane 670a1c2694 Merge pull request #3532 from rukai/enterOpenGame
Qt - Enter key opens selected game in the game list.
2016-05-11 08:45:29 +12:00
Matthew Parlane 3f012df6d5 Merge pull request #3615 from rukai/qtCrash
DolphinQt2: Fix crash related to loading gameini
2016-05-11 08:40:00 +12:00
Summate e01bdeddf2 Piping the wxMsgAlert through netplay window during netplay instead of running a blocking messagebox 2016-05-10 05:03:06 -05:00
Matthew Parlane bb6a04dc8e Merge pull request #3713 from stenzek/d3d12-more-fixes
D3D12: Bug fixes, implement bbox, realxfb, perfquery
2016-05-10 21:34:27 +12:00
Scott Mansell 2c95cf0f5a Increase Audio DMA Interrupt delay to 200 cycles.
We really need hardware tests for this one. But this will do as a
quick fix for issue 9509 for 5.0
2016-05-09 14:16:32 +12:00
Mat M c299a6a8cc Merge pull request #3801 from Helios747/the_30_minute_blocker_fix
[UI] Remove browse toolbar button and tweak empty gamelist message
2016-05-08 17:24:40 -04:00
Stenzek ccf9470241 D3D12: Specify read/write ranges when calling Map/Unmap 2016-05-08 23:18:59 +10:00
Stenzek fde7dee652 D3D12: Fix invalid CopyTextureRegion call in CopyRectangleFromTexture
This was occuring when the source texture was larger than the destination
texture, but the source rect was <= dest rect, so the copy is valid.
2016-05-08 23:18:58 +10:00
Stenzek 9bff187547 D3D12: Cleanup startup/shutdown process
Sorts out references that cause some modules to be kept around after
backend shutdown.

Should also solve the issue with errors being thrown due to the config
being loaded after device creation, leading to the incorrect device being
used in a multi-adapter system.
2016-05-08 23:18:58 +10:00
Stenzek 4269abdc3e D3D12: Implement perf query support 2016-05-08 23:18:57 +10:00
Stenzek 25d5da0ea3 D3D12: Remove D3D11 header references 2016-05-08 23:18:56 +10:00
Stenzek 6f3573dda8 D3D12: Implement XFB encoding/decoding (support Real XFB) 2016-05-08 23:18:51 +10:00
Stenzek 3372bfa6ab D3D12: Remove feature level checks
We don't create a device below feature level 11_0 anyway, so no point
checking, we can just assume support.
2016-05-08 12:08:25 +10:00
Stenzek 063761fbd2 D3D12: Don't add padding when allocating within empty StreamBuffer
Resources are already aligned to an address larger than any of our
requirements, anyway.
2016-05-08 12:08:25 +10:00
Stenzek 0c27aae7d3 D3D12: Improve output of shader compiler errors
These were completely broken due to lack of c_str(). We also output
warnings now as well (these can be useful).
2016-05-08 12:08:25 +10:00
Stenzek acfa93372e D3D12: Refactoring and cleanups
Moves render target restoring to RestoreAPIState, this also means no need
to manually restore after allocating in a buffer that caused execution,
because the manager restores it for us.

Remove a method that wasn't used from D3DUtil.cpp, and fixes a few errors
in EFB poke drawing.
2016-05-08 12:08:25 +10:00
Stenzek 7ec1fce741 D3D12: Fix error with >1xIR/MSAA EFB depth access 2016-05-08 12:08:25 +10:00
Stenzek ac1cd8279b D3D12: Implement GPU-based bounding box 2016-05-08 12:08:25 +10:00
Stenzek 32599559db D3D12: Use helper method for binding EFB render targets 2016-05-08 12:08:25 +10:00
Stenzek 984da2d624 D3D12: Use signed ints for viewport origin
Fixes black screen when crop is enabled.
2016-05-08 12:08:25 +10:00
Stenzek a8c4d6c242 D3D12: Allow large texture uploads (>64MiB) by using temporary buffer
This is not optimal, but for those texture packs with extremely large
images, it won't crash. Releasing after the frame completes is an option
too, however, there is the risk of running out of memory by doing this.
2016-05-08 12:08:25 +10:00
magumagu cfce7a2aab Fix IPCHLE to make NeoGamma work.
NeoGamma is explicitly sending a nonsense command to the Bluetooth module;
make sure to respond with something sane.

Fixes issue 9470, a regression from PR #1856.
2016-05-07 11:37:21 -07:00
Matthew Parlane 1e1fce1a03 Merge pull request #3815 from degasus/scm
SCM: Use std::string.
2016-05-07 20:24:59 +12:00
Matthew Parlane 461a48f8e3 Merge pull request #3820 from Lionel07/netplay-elf-title-regression
Fix regression for .elf files in Netplay Game Selector
2016-05-07 19:47:13 +12:00
Corwin Mcknight 453d7777e5 Fix regression for .elf files in Netplay Game Selector
Rearranged code to look nicer, as well
2016-05-06 19:41:40 -07:00
Matthew Parlane 48237b38e8 Merge pull request #3817 from Lionel07/qt-mac
[UI] Enable Qt on Mac
2016-05-06 13:28:11 +12:00
Corwin McKnight 0368fc3837 [Qt]: Enable Qt on Mac OSX.
* Enables Qt on OSX
* Makes it look pretty
2016-05-05 17:03:53 -07:00
Matthew Parlane 1cfeacd5b6 Merge pull request #3793 from mathieui/netplay-disc-num
Add information about disc number in the netplay setup
2016-05-06 09:19:54 +12:00
mathieui f36cd77da4 Add information about disc number in the netplay setup
Previously, two-disc games would appear exactly the same, and not
necessarily in disc order, which made it a pain.
2016-05-05 23:15:00 +02:00
degasus 2030ad4577 SCM: Use std::string.
Those macros may be defined, or not. We should support both cases, so use std::string as it also defines the length of the string.
2016-05-05 00:22:49 +02:00
Matthew Parlane dbd67c6b06 Merge pull request #3809 from Lionel07/netplay-gui-updates
[UI] Make NetPlay UI bigger and neater
2016-05-04 08:45:48 +12:00
Matthew Parlane ea82fcc24f Merge pull request #3658 from Tilka/helpers
Interpreter: simplify some helpers
2016-05-03 22:44:27 +12:00
Matthew Parlane 1634948b6e Merge pull request #3742 from phire/dither
Implement Dithering for video software
2016-05-03 22:41:39 +12:00
Matthew Parlane c32ba0fc06 Merge pull request #3744 from degasus/videosw
VideoSW: Fix special case.
2016-05-03 22:34:00 +12:00
Matthew Parlane e0a5f1bb75 Merge pull request #3791 from spxtr/mw-timer
Use CoreTiming for MemoryWatcher.
2016-05-03 22:30:51 +12:00
magumagu 36f01e141d Fix timing regression affecting ES_LAUNCH.
Scheduling an event for zero cycles in the future actually means zero
cycles with new timing changes, but the code for IPC ACKs was depending on
it meaning "soon".

Fixes #9511.

I'm not at all confident this is actually right... but it seems to work.
2016-05-02 21:56:49 -07:00
Corwin Mcknight 3a76aeb23d [UI] Make NetPlay UI bigger and neater
This commit does 4 things:
* It increases the default small size of the NetPlay window to a larger
and more appealing size.
* It cleans up and reorganizes a bit of the NetPlay Setup UI code.
* It moves the Direct or Transversal Selector to be more appealing and
nice looking.
* The Direct or Transversal also gets a label and nicer text, and a
spacer.
2016-05-02 08:15:44 -07:00
Matthew Parlane a78787ba75 Merge pull request #3730 from lioncash/noncopy
NonCopyable: Minor changes
2016-05-01 11:46:08 +12:00
Matthew Parlane 05e1406e89 Merge pull request #3795 from EmptyChaos/fix-diskreader
DriveReader: Fix View > Show Drives
2016-05-01 11:43:30 +12:00
Matthew Parlane 3d375592a2 Merge pull request #3798 from phire/goto_dino
Fix handling of Wii NAND's /tmp directory during savestate loads.
2016-05-01 11:37:33 +12:00
Anthony Serna 79b902e7e5 [UI] Remove browse toolbar button and tweak empty gamelist message
Removed some related functions
2016-04-30 10:25:46 -05:00
degasus 6f2d8483b7 VideoSW: Fix special case.
I have no clue what this special case shall be, but accessing g_main_cp_state within Flush() is not allowed.
We likely still have a bad behavior, but now it only depends on the current state, not on the next one after flushing.
2016-04-30 13:14:09 +02:00
mathieui 542e7ba158 Make a generic rumble function
Call the appropriate rumble function for each SI Device, Should fix #9331.
Ideally we wouldn’t have to do this, but since the way things are wired,
fixing the root cause it out of the picture for now.
2016-04-30 12:54:31 +02:00
degasus 170a7f1a06 CoreTiming: Trim max slicelength to the given value.
Previously it was underclocking by 50% when there were
no events to schedule.
2016-04-30 19:28:14 +12:00
Matthew Parlane 3df4b09a94 Merge pull request #3797 from phire/casually_delete_some_code
Fix netplay desync when using wii-u adapter.
2016-04-30 17:55:06 +12:00
Mathew Maidment 45e0cb70df Merge pull request #3770 from EmptyChaos/dsp-int-fail
DSP: Fix array out of bounds
2016-04-29 20:07:07 -04:00
Mathew Maidment 2d7dfa060e Merge pull request #3796 from endrift/indtev-simplify
VideoCommon: Workaround Intel OS X bug again
2016-04-29 19:59:45 -04:00
Mathew Maidment 9776b8db43 Merge pull request #3799 from mimimi085181/fix-auto-ir
Make integral auto IR(multiple of 640x528) work as expected
2016-04-29 19:50:21 -04:00
Mathew Maidment b99b685f22 Merge pull request #3800 from phire/unexceptional-exceptions
Make exceptions consistent across all JITs/Interpreters (Fixes Pokemon Box)
2016-04-29 19:48:55 -04:00
Mathew Maidment b420abc908 Merge pull request #3769 from RisingFog/remove_framestep
Remove Unused Framestop Functions
2016-04-29 19:41:25 -04:00
spxtr b9e9a5ee3d Use CoreTiming for MemoryWatcher. 2016-04-28 21:28:15 -07:00
Scott Mansell eb5819f88a Make exceptions consistant across all JITs/Interpeters.
They all handled it diffrently, so I've just moved it into Advance()

This fixes Pokemon Box booting in JIT/JITIL which shared a bug where
exceptions set in a scheduled event would be ignored untill the next
slice (upto 20,000 cycles).
2016-04-28 17:22:52 +12:00
mimimi085181 8c34463f14 Make integral auto IR(multiple of 640x528) work as expected
Right now, it's possible that x and y are scaled differently, if efb and xfb size are not the same.
2016-04-26 23:25:38 +02:00
EmptyChaos 97d570f0c9 DriveReader: Fix View > Show Drives
DriveReader::m_size was never initialized which was indirectly
causing CGameListCtrl to crash Dolphin when it tried to insert a
character at a negative index in a string.

Reading one sector at a time is very inefficient and appears to
be causing timing issues during boot so SectorReader has been
enhanced to support batching.

SectorReader has been given a working cache system.
2016-04-26 21:24:08 +10:00
Scott Mansell 8f4ac5bbad Close all files so /tmp can be deleted on save state load.
Because the file handles were open, the recursive delete was
failing. The previous commit stopped the crash but this should
make the restore actually happen has expected.
2016-04-25 18:29:49 +12:00
Scott Mansell b2f133d2ac make DeleteDirRecursively clean up correctly after failure.
Fixes Metroid prime crashing the second boot after loading
a save state (issue 9496)
2016-04-25 18:28:38 +12:00
Scott Mansell 429ae8fb01 Fix netplay desync when using wii-u adapter.
If the game sent a command to a disconnected controller, the
wii u adapter code would return a diffrent response.

This simply deletes the speclized version of RunBuffer for the
wii-u adapter as the only diffrence was the code which detected
disconnected controllers and returned a error.
2016-04-25 15:26:31 +12:00
Jules Blok 8a21b082d6 Merge pull request #3745 from stenzek/d3d11-texcache
D3D11: Fix EFB MSAA depth buffer copies, StateManager desyncs in some cases
2016-04-24 11:47:32 +02:00
Jeffrey Pfau d6517a761c VideoCommon: Simplify indirect texture lookup code slightly 2016-04-23 22:55:52 -07:00
Jeffrey Pfau aa736bf258 Revert "VideoBackend: Remove extraneous shifts from indirect texture lookups"
This reverts commit 1f1b127b69.
2016-04-23 22:55:42 -07:00
mimimi085181 fcd5170cff XInput: Apply Rumble/Motor output only on changes (again)
Disclaimer: I can't test if this works on xbox one controllers, i don't have one. But i have conformed that this UpdateMotors() is related to rumble for emulated wiimotes.

This partially reverts commit "XInput: Apply immediately as well" (1958a10b6f) from pr # https://github.com/dolphin-emu/dolphin/pull/1560

Hopefully this fixes the xbox one controller rumble issue:
https://bugs.dolphin-emu.org/issues/9071

And in theory it might reduce the used usb bandwidth, as it was originally intended before pr 1560.

@JMC47: Please do a good amount of testing, to see if this breaks rumble for wiimotes or gamecube controllers emulated with xinput devices.
2016-04-23 13:45:10 +02:00
Mathew Maidment bdb9da2104 Merge pull request #3687 from rukai/fixMakerColumn
DolphinWX: Disable 'maker' column hiding
2016-04-21 09:15:10 -04:00
EmptyChaos 49babfb60b CFrame: Fix Confirm Close
Closing Dolphin's main frame and clicking "no" does not clear
m_bClosing which means that pressing the "stop" button triggers
OnClosed which suddenly and unexpectedly closes the main frame.
2016-04-19 15:47:51 +10:00
Rukai 4cd918caf1 DolphinWX: Disable 'maker' column hiding
This was done because showing a column was broken:
Showing a column repopulates the column with no regard for the sorted
order. This results in a seemingly random order.
(actually the order of m_ISO_FILES)
2016-04-17 10:19:25 +10:00
EmptyChaos 32239f500c VideoInterface: Fix registers not being initialized
VideoInterface::Preset was not initializing all registers, this is a problem
because it leaks register settings across games. Xenoblade Chronicles does
not like m_DisplayControlRegister having random bit patterns in it.
2016-04-17 09:35:22 +10:00
Lioncash 4ae4b241ec ChunkFile: Handle bool in a stable way across platforms
bool is not always guaranteed to be the same size on every platform.
On some platforms it may be one byte, on others it can be 8 bytes if the
platform dictates it. It's implementation-defined.

This can be problematic when it comes to storing this
data to disk (it can also be space-inefficient, but that's not really an
issue). Also say for some reason you moved your savestates to another
platform, it's possible they won't load correctly due to differences in size.

This change stores all bools to savestates as if they were a byte in size
and handles the loading of them accordingly.
2016-04-14 22:55:03 -04:00
Pierre Bourdon 4d864ece27 Merge pull request #3759 from JosJuice/dvd-callback-savestates
DVDInterface/DVDThread: Don't store CoreTiming event IDs in savestates
2016-04-14 17:55:52 +02:00
Chris Burgener 02bfc62d1c Fix Windows build not copying certain files 2016-04-12 19:05:17 -04:00
Chris Burgener ab4c3314e7 Only copy relevant files for Windows builds
Fixes issue 9455: https://bugs.dolphin-emu.org/issues/9455
2016-04-12 12:20:23 -04:00
JosJuice be191c0473 DVDInterface/DVDThread: Don't store CoreTiming event IDs in savestates
CoreTiming event types aren't guaranteed to be stable across
runs of Dolphin, so they shouldn't be in savestates.
2016-04-11 22:14:25 +02:00
Pierre Bourdon 2063fc671a Merge pull request #3748 from mimimi085181/partial-updates-paletted-textures
Partial updates for paletted textures
2016-04-11 21:47:24 +02:00
Pierre Bourdon 58d8c734b8 Merge pull request #3773 from phire/if_you_want_100_cycles_ask_for_100_cycles
"Instant" ARAM DMA shouldn't schedule and event too soon.
2016-04-11 21:46:43 +02:00
Pierre Bourdon 61ea5328f7 Merge pull request #3774 from phire/Fix_Metroid_Other_M
Fix Metroid: Other M
2016-04-11 21:43:20 +02:00
degasus ef01f234df PixelShaderGen: Fixes implicit type conversion or PR #3772.
This regression did only happen on OpenGL ES.
2016-04-10 12:49:32 +02:00
Pierre Bourdon c4af588945 Merge pull request #3772 from degasus/shader_opt
PixelShaderGen: Move constant multiplication to constant generation.
2016-04-10 01:20:34 +02:00
mimimi085181 9f625417c0 Partial updates for paletted textures
This pr fixes another regression that happened after pr #3165 was merged. The shadows in mario baseball should now work again.
2016-04-09 18:22:36 +02:00
Pierre Bourdon e98fb0af84 Merge pull request #3752 from mimimi085181/remove-use-only-once-restriction-partial-updates
Remove the restriction to use efb copies only once as partial update
2016-04-09 18:10:20 +02:00
Scott Mansell 5e50c37c13 Alternative fix: promote cycleslate to an s64 everywhere.
Also changed a few functions to be static.
2016-04-10 02:13:06 +12:00
Scott Mansell 28e0607522 Fix Metroid: Other M
During boot of Other M, there is momentarily a period when VICallback's
cycles late is larger than GetTicksPerHalfLine(). Because
GetTicksPerHalfLine() returns a u32 and c++'s weird type promotion rules,
cycleslate gets promoted from a s32 to a u32 and the result of the
substraction is a really large u32.

Before ScheduleEvent accuracy improvements, ScheduleEvent took a s32, so
the result got cast back to the small negitave we expect. But it now takes
a s64 and the u32 to s64 conversion gives us a really large number (around
two seconds) and Other M times out while waiting for something.
2016-04-10 00:10:56 +12:00
Scott Mansell 662ed217d7 "Instant" ARAM DMA shouldn't schedule and event too soon.
Now that the accuracy of ScheduleEvent has changed, 0 cycles will
schedule an event as soon as possible. But this breaks ATV 2.

So we schedule it 100 cycles out (unless it's a really short copy)
2016-04-09 22:34:53 +12:00
degasus 10e4f7e7bf PixelShaderGen: Move constant multiplication to constant generation.
No need to do this within the shader per pixel if it can be done once.
2016-04-09 12:25:00 +02:00
EmptyChaos 80ff82b81a DSP: Fix integer promotion spill 2016-04-08 12:08:17 +10:00
Scott Mansell 365baeccb4 Only force progressive if we are currently in an interlaced video mode
The NES games on the Zelda Collecters Edition disk use a XFB which is
only 256 pixels wide, but has a stide of 640 pixels.

This fits our definition of a interlaced xfb, as a second line of data
could fit in the extra space. The solution is to check that we are
actually in a interlaced video mode before activating the force
progressive hack.
2016-04-06 05:12:53 +12:00
Chris Burgener 3140f9b226 Change GetStatePtr() Return to const 2016-04-05 12:45:48 -04:00
Chris Burgener 54eb8c09f9 Remove Unused Framestop Functions 2016-04-05 12:19:12 -04:00
Pierre Bourdon 3f079fb2c1 Merge pull request #3762 from mimimi085181/partial-updates-efb-copy-before-texutre
Partial texture updates: Allow the efb copy to start before the texture
2016-04-04 14:53:06 +02:00
shuffle2 c63ef18fcc Merge pull request #3760 from lioncash/vs
pch: Update Visual Studio version check
2016-04-03 17:14:45 -07:00
Lioncash 8d9221a71e MathUtilTest: Fix tests on MSVC - Document compiler bug
MSVC's implementation of numeric_limits currently generates incorrect
signaling NaNs. The resulting values are actually quiet NaNs instead.

This commit is based off of a solution by shuffle2. The only
difference is a template specialization for floats is also added
to cover all bases
2016-04-03 19:16:47 -04:00
Mathew Maidment 23f6c64525 Merge pull request #3733 from EmptyChaos/wx-playbtn-fix
WXGUI: Fix disabled play button not fading
2016-04-03 11:26:14 -04:00
mimimi085181 befb2e4809 Partial texture updates: Allow the efb copy to start before the texture
This is an oversight from pr https://github.com/dolphin-emu/dolphin/pull/3266 . Thanks to degasus for pointing this out.

It's possible that MAX_TEXTURE_BINARY_SIZE can be optimised, but i wanted to play it safe considering the 5.0 stable release.
2016-04-02 20:34:49 +02:00
Pierre Bourdon 418b8c03d5 Merge pull request #3763 from JosJuice/boot-clear-memory
Always clear memory when booting
2016-04-02 12:59:24 +02:00
JosJuice 2db2672810 Always clear memory when booting
Reading uninitalized memory is non-deterministic. We used to only
clear the memory when using EmulatedBS2_GC or FifoPlayer, but we
now do it during Memory::Init instead so it always gets done.
2016-04-01 21:35:26 +02:00
Pierre Bourdon 77c05737e9 Merge pull request #3757 from stenzek/amd-glsl-storage-qualifier
ShaderGen: Handle AMD bug with storage qualifiers in interface blocks
2016-04-01 10:05:50 +02:00
Lioncash 33c22ffab7 D3D: Amend code to fix a new VS warning
Fixes warning C4334
2016-03-30 20:59:57 -04:00
Pierre Bourdon 486d3a7114 Merge pull request #3656 from phire/windows-10-sdk-update
Updated D3D12 to build on the newer windows 10 sdk.
2016-03-30 18:37:53 +02:00
Stenzek e6b2212ec0 ShaderGen: Only specify storage qualifier in interface block when needed
Drivers that don't support GL_ARB_shading_language_420pack require that
the storage qualifier be specified even when inside an interface block.

AMD's driver throws a compile error when "centroid in/out" is used within
an interface block.

Our previous behavior was to include the storage qualifier regardless, but
this wasn't working on AMD, therefore we should check for the presence of
the extension and include based on this, instead.
2016-03-30 00:42:50 +10:00
mimimi085181 2dd9e6bfe2 Remove the restriction to apply efb copies only once as partial update
I'm not entirely sure what is happening, but this optimisation is causing an issue in Sonic Riders: Zero Gravity. Apparently the issue would also be fixed by PR#3747, but this PR should also fix similar issues.

Games that use partial updates might get slower with this, so some performance regression testing would be nice. Games like New Super Mario Bros, RS2, Zelda TP and Silent Hill. Testing with high graphics settings makes sense, since this would mostly end up in more work for the GPU.
2016-03-27 04:13:20 +02:00
Scott Mansell fbcac2598a Use a sane default for the controller update rate.
Previously the default queryed the controller 4500 times a second,
Wasn't really a problem for most games as they set it to a sane
value. But fifoplayer didn't, and so in my profile dolphin spends
12% of the cpu time reading the controllers.

This new default value (I just took what the gamecube bios set)
drops that to 1.2% of cpu time and increase the framerate of the
silent hill fifo by 10-12%
2016-03-27 09:02:52 +13:00
Scott Mansell c036cf7a5f Updated D3D12 to build on the newer windows 10 sdk. 2016-03-26 18:11:49 +13:00
Pierre Bourdon bd200bd195 Merge pull request #3736 from BhaaLseN/issue-9135
Rewrite NAND Content handling in ES to fix Issue 9135
2016-03-26 05:00:08 +01:00
Pierre Bourdon 2fd0884347 Merge pull request #3672 from EmptyChaos/d3d-anisotropy
Fix D3D Forced Anisotropy
2016-03-26 03:25:01 +01:00
Pierre Bourdon ae4cb12033 Merge pull request #3719 from Sonicadvance1/workaround_osx_video_drivers
Workaround OS X video driver bug #24983074
2016-03-26 01:43:32 +01:00
Pierre Bourdon 21eb1cd158 Merge pull request #3635 from phire/lazy_comex
Implement BLR Overflow handling for Windows.
2016-03-26 01:42:54 +01:00
Pierre Bourdon 8f74f1f4e9 Merge pull request #3601 from phire/AccurateEventScheduling
Adjust cycle counts so they are accurate to the JIT block level (Fixes OoT virtual console and other games)
2016-03-25 17:02:30 +01:00
Scott Mansell 066b6b0bcb OpenGL: Cache query to max texture size.
This showed up really high when I was profiling things.
2016-03-26 03:14:39 +13:00
Stenzek 53cf42fb06 D3D11: Fix some cases where render target switches desynced StateManager
This was occuring in certain EFB copy patterns, leaving the textures
unbound for the next draw call.
2016-03-26 00:01:26 +10:00
Stenzek 63e4e07683 D3D11: Simplify MSAA depth texture resolving
This also fixes EFB depth buffer copies when MSAA is enabled.
2016-03-26 00:00:39 +10:00
EmptyChaos 0b9a72a62d VideoCommon: Refactor TexMode0 mipmaps disabled test into a helper function 2016-03-24 13:43:29 +11:00
EmptyChaos 902e5cddf7 VideoBackends: Do not use Anisotropy on Point filtered textures.
The D3D backend was always forcing Anisotropic filtering when that is enabled regardless of how the game chose to configure the texture filtering registers; this causes the same issues as "Force Filtering" without Anisotropy, such as causing game UI elements to no longer line up adjacent correctly. Historically, OpenGL's Anisotropy support has always worked "better" than D3D's due to seeming to not have this problem; unfortunately, OpenGL's Anisotropy specification only gives GL_LINEAR based filtering modes defined behavior, with only the mipmap setting being required to be considered. Some OpenGL implementations were implicitly disabling Anisotropy when the min/mag filters were set to GL_NEAREST, but this behavior is not required by the spec so cannot be relied on.
2016-03-24 13:43:29 +11:00
Scott Mansell d61baef2f6 Disable JitArm64's inline timebase implemenation, as it's incorrect.
The interpeted version is correct.
2016-03-24 05:17:10 +13:00
Scott Mansell 27beef1ff4 Store an inverted copy of lastOCfactor.
The inverse operation is more common, especially when games check the
timer rapidly. So we do the division once and store the inverted copy.
2016-03-24 05:17:10 +13:00
Scott Mansell 407f86e01a Mark global variables with g_ prefix 2016-03-24 04:32:12 +13:00
Scott Mansell 67dc26cf1d CoreTiming: Fix 31bit overflow for events scheduling.
Events scheduled more than 4.12 seconds in the future (2.96 seconds for
Wii games) would overflow the sign bit and get scheduled in the past
instead, causing them to fire instantly.
2016-03-24 04:27:14 +13:00
Scott Mansell 2ebbfd6f85 Adjust cycle counts so they are accurate to the jit block level
Previously GlobalTimer was only updated at the end of each slice
when CoreTiming::Advance() was called, so it could be upto 20,000
cycles off.

This was causing huge problems with games which made heavy use of
the time base register, such as OoT (virtual console) and Pokemon
puzzle.

I've also made it so event scheduling will be accurate to the jit
block level, instead of accurate to the slice.
2016-03-24 04:24:53 +13:00
Scott Mansell 51dc779b7c Implement Dithering for video software 2016-03-23 12:29:35 +13:00
BhaaL 0aeac66222 clear the NAND data cache on ES_LAUNCH to avoid leaving files open
also, clear it on Device_ES::Close, just to make sure nothing remains open.
2016-03-20 13:50:19 +01:00
BhaaL a449ef4e11 properly open/close the file to avoid rapid open/close cycles
ES_OPENCONTENT and ES_CLOSECONTENT now call Open and Close respectively,
as the old code did.
2016-03-20 13:10:51 +01:00
BhaaL 8a6d9e1e0b hide the distinction between WAD and File from ES
instead, leave all the management with the NANDContentLoader.

for file data (directly on the NAND), this opens the file on-demand and
returns the requested chunk when asked for it.
for on-the-fly decrypted WAD data, we just keep the decoded buffer in
memory, like we've done before - except that we don't give away any objects
we don't want to.
2016-03-20 13:10:50 +01:00
BhaaL 8fd2f05741 remove all accesses to m_pContent
this fixes the crashes, but leaves the "else" part of ES_READCONTENT
temporarily broken until the next commit.

WAD access that are performed on the encrypted WAD will most likely fail
with this commit.
2016-03-20 13:10:49 +01:00
BhaaL 598c3dbe2f get rid of the cached pointer inside ES
only fixes half the issues, since we still cache a pointer from
SContentAccess.m_pContent to SNANDContent.m_data (which is free'd along
with the rest of the NAND data cached inside the CNANDContentManager when
ClearCache is called)
2016-03-20 13:10:48 +01:00
BhaaL 1e28d06f26 fix some style inconsistencies that drove me nuts 2016-03-20 13:10:47 +01:00
Rukai cc6a7826c0 Implements Emulation MenuBar
Save states, fullscreen, frame advance, screenshot and emulation
controls are available through the MenuBar
2016-03-20 11:44:35 +11:00
Scott Mansell c5b3a2efac Implement BLR Overflow handling for Windows. 2016-03-20 00:41:28 +13:00
Pierre Bourdon 647fec92a0 Merge pull request #3266 from mimimi085181/partial-updates-with-parts-of-efb-copies
Partial texture updates with parts of efb copies
2016-03-18 01:11:59 +01:00
Pierre Bourdon 421a67d7cc Merge pull request #3684 from Sonicadvance1/fix_vertexshadergen_asserts
Fix a few asserts in the VertexShaderGen.
2016-03-17 23:33:53 +01:00
mimimi085181 e4f984d5dd Minor fixes to the partial updates code
- remove an outdated comment about the efb to ram and scaled efb restriction
- when upscaling efb copies, mark the new texture as efb copy
- dx12 fixes for the src box, especially the number of layers for 3D
2016-03-16 22:24:11 +01:00
mimimi085181 80250f47e9 Partial texture updates with parts of efb copies new version 2016-03-16 22:24:10 +01:00
Ryan Houdek a53c0f6995 Merge pull request #3717 from degasus/videosw
VideoSW: Drop stupid state setters.
2016-03-14 09:36:12 -04:00
Ryan Houdek 95e7c247df Merge pull request #3700 from degasus/custom_textures
CustomTextures: Fix loading of the last mipmaps.
2016-03-14 09:35:40 -04:00
EmptyChaos 564341ab3d WXGUI: Fix disabled play button not being faded.
Followed from PR #3333.
2016-03-14 13:42:52 +11:00
Pierre Bourdon f0e25b8477 Merge pull request #3668 from RisingFog/wii_movie_sysconf
Apply Wii Settings on Movie Recording/Playback
2016-03-14 01:42:37 +01:00
Ryan Houdek 03071c0c5c Merge pull request #3711 from degasus/arm
JitArm64: Implement dcbx
2016-03-12 17:38:00 -05:00
Lioncash 2ce6b449d1 NonCopyable: Remove private access specifier
This isn't necessary, as the member functions are deleted.
If someone tries to perform a copy, the compiler will now
indicate that the member functions/constructors are deleted,
rather than inaccessible.
2016-03-12 16:59:45 -05:00
Lioncash 5d74e02286 NonCopyable: Specify const in copy constructor/assignment signatures 2016-03-12 16:59:45 -05:00
Ryan Houdek 4c4eaaa1d6 Merge pull request #3570 from endrift/indtev-reduce-shifting
VideoBackend: Remove extraneous shifts from indirect texture lookups
2016-03-10 13:12:47 -05:00
Ryan Houdek 3ab7806e24 Workaround OS X video driver bug #24983074
OS X's shader compiler has a bug with interface blocks where interface block members don't properly inherit the layout qualifier from the interface
block.
Work around this limitation by explicitly stating the layout qualifier on both the interface block and every single member inside of that block.
2016-03-09 09:11:00 -06:00
Pierre Bourdon a06eaabcdc Merge pull request #3721 from lioncash/net
NetPlayServer: Get rid of some explicit deallocations
2016-03-09 15:29:44 +01:00
Mathew Maidment 1c7f5b139d Merge pull request #3623 from rukai/dolphinQtAbout
DQt2: About Dialog
2016-03-09 03:16:40 -05:00
Lioncash 84b0a930da NetPlayServer: Get rid of some explicit deallocations 2016-03-08 19:31:36 -05:00
Pierre Bourdon 370e91d4c0 Merge pull request #3708 from ismail/miniupnpc-api-16
Fix build with MINIUPNPC_API_VERSION >= 16
2016-03-07 13:49:26 +01:00
degasus ab44d2ec5c VideoSW: Drop SetTevReg for colors. 2016-03-06 11:05:49 +01:00
degasus 7a154181b4 VideoSW: Drop SetScissor().
Just access the global state directly.
2016-03-06 10:24:28 +01:00
degasus 8b0fd623e5 VideoSW: Drop SetViewOffset.
Just use the global state.
2016-03-06 10:22:44 +01:00
Ryan Houdek 40931f5030 Merge pull request #3690 from aserna3/bikeshedding_bait
[Config UI] add "normal speed" to speed limit 100%
2016-03-05 11:55:06 -05:00
degasus 54a4d68c9a JitArm64: implement dcbx 2016-03-05 00:29:38 +01:00
Ryan Houdek 8f75594de7 Merge pull request #3694 from degasus/arm
JitArm64: Small improvements.
2016-03-04 18:01:25 -05:00
Pierre Bourdon 3b6af8c7a5 Merge pull request #3691 from rukai/netplayWiiRemoval
Netplay Wii Remote Removal
2016-03-04 23:45:07 +01:00
degasus 9bf50fb93d JitArm64: Fix mulli.
mulli has no inst.OE
2016-03-04 22:51:47 +01:00
degasus 9ed465f4ac JitArm64: Implement mulhwx 2016-03-04 22:51:46 +01:00
degasus 889a0d396d JitArm64: Align farcode entry points to 16 bytes 2016-03-04 22:49:02 +01:00
degasus eaa0e275db JitArm64: Use immediate WriteExceptionExit more often. 2016-03-04 22:49:01 +01:00
degasus 689205f0a4 JitArm64: small cleanup, no changes 2016-03-04 22:49:01 +01:00
degasus 7b017c6a65 JitArm64: Use a register as PC argument for the dispatcher. 2016-03-04 19:50:12 +01:00
degasus 050932ed23 JitArm64: Rename global registers. 2016-03-04 19:50:12 +01:00
degasus 57d76cefb0 JitArm64: Merge WriteExceptionExit. 2016-03-04 19:50:12 +01:00
degasus 55b9ce9b5b JitArm64: Store memory pointer once, not per block. 2016-03-04 19:50:12 +01:00
degasus 56c8f65bc2 JitArm64: Precheck for exceptions before calling PowerPC::CheckExceptions. 2016-03-04 19:50:12 +01:00
degasus aea48c4591 JitArm64: Drop unused WriteExceptionExit. 2016-03-04 19:50:11 +01:00
degasus c5b0dc98c2 JitArm64: Fix LWZ idle skipping. 2016-03-04 19:50:11 +01:00
Pierre Bourdon c24c278ce9 Merge pull request #3709 from Sonicadvance1/mesa_intel_geometry_shaders
Mark Mesa Intel Sandy Bridge geometry shaders not broken in Mesa 11.2
2016-03-04 18:02:26 +01:00
Ryan Houdek ff0aac82b5 Mark Mesa Intel Sandy Bridge geometry shaders not broken in Mesa 11.2 2016-03-04 10:45:13 -06:00
İsmail Dönmez 20f8b471a8 Fix build with MINIUPNPC_API_VERSION >= 16
miniupnp commit c4991916e5c12a7754e935e71a5313e75af6aeb9 introduced a
4th statusCode parameter to miniwget function. This parameter is set
to a value returned by the UPnP device. We have to check if it's set
to 200 to make sure the result is a success. Also, we now have to check
if descXML is set in the error case and free it.
2016-03-04 10:59:57 +02:00
Ryan Houdek e60f0b3cf0 Merge pull request #3551 from RisingFog/videodump_proper_delay
Properly Handle Video Dumping from Power On
2016-03-03 10:38:36 -05:00
Anthony Serna 8ba9839161 [Config UI] add "normal speed" to speed limit 100% 2016-03-02 19:51:05 -06:00
Pierre Bourdon 265c6408d6 Merge pull request #3686 from Armada651/revert-3578
Revert "Merge pull request #3578 from Armada651/forced-slow-depth"
2016-03-03 02:03:03 +01:00
Pierre Bourdon f752c6e704 Merge pull request #3589 from mathieui/gcadapter-recording
Fix recording a movie with the GC Adapter
2016-03-03 02:02:29 +01:00
degasus 1544e4049d CustomTextures: Fix loading of the last mipmaps.
Non-square textures still have mipmaps down to 1x1.
2016-03-02 23:25:04 +01:00
Mathew Maidment a64dd3659a Merge pull request #3634 from spxtr/DQt22
Stop parenting RenderWidget.
2016-03-02 16:51:37 -05:00
Mathew Maidment c2802f96a6 Merge pull request #3655 from jcowgill/spelling-fixes
Fix some very minor spelling mistakes
2016-03-02 14:04:05 -05:00
Pierre Bourdon 643cf4553f Merge pull request #3692 from EmptyChaos/d3d12-static
D3D12: Fix uninitialized variable in SetSamplerState
2016-03-02 15:52:44 +01:00
Rukai 1b65adcd56 Fully remove wii remote netplay UI code and remove reference to WiimoteReal in NetPlayClient.cpp 2016-03-02 21:02:15 +11:00
Mathew Maidment 3a47845226 Merge pull request #3675 from rohit-n/build-pch
Fix building with PCH disabled.
2016-03-01 18:22:53 -05:00
Dolphin Bot ab50dd1926 Merge pull request #3667 from RisingFog/fix_savestates
Fix savestates if a device is changed after a savestate is made
2016-03-01 15:35:09 +01:00
Ryan Houdek 36b476ed76 Merge pull request #3683 from Sonicadvance1/aarch64_fix_fcmp
[AArch64] Fix fcmp.
2016-03-01 09:29:56 -05:00
Ryan Houdek 344a4ddc9b Merge pull request #3685 from degasus/arm
JitArm64: Optimize addi
2016-03-01 09:29:42 -05:00
Chris Burgener 7991605ad9 Fix savestates if a device is changed after a savestate is made 2016-03-01 09:28:04 -05:00
EmptyChaos cc36dec9b5 D3D12: Cleanup DX12::Renderer::SetSamplerState
Remove uninitialized non-static variable. Replace test to avoid unnecessary state changes with a simpler one.
2016-03-01 23:55:19 +11:00
degasus 64f9941595 EGL: Also check for higher GL versions.
Seems like NVidia just ignores the forward compatible flag.
Additionally, they neither enable any extension which was designed later...
So either compatible profile, or a huge list of core profiles....
2016-03-01 07:55:57 +01:00
Ryan Houdek a8c37e5d6b Remove two more asserts in VertexShaderGen.
As confirmed by a hardware test if we are using the texgen type of COLOR_STRGBC0/STRGBC1 then it sets the texture coordinates to those values
regardless of what the input form or source row is.

Thanks to Ornox for testing again
2016-02-29 16:45:51 -06:00
Ryan Houdek 92e9382e61 Confirm with hardware test that the high bit of the input form is ignored.
Thanks to Ornox for testing
2016-02-29 16:45:51 -06:00
Ryan Houdek e1d36f91fc Fix a few asserts in the VertexShaderGen.
Removes a couple asserts in the vertex shader gen when dealing with the input form.
Typically input form ABC1 is used, so it'll pull in the first three elements and always set the fourth to 1.0
The other input form available is AB11, which sets the last two components to 1.0 (Theoretically).
No titles actually use this input form that we know of except for Project M, but it can have some fairly drastic visual differences.

Confirmed correct by hardware test
2016-02-29 16:43:44 -06:00
Pierre Bourdon 392051bd69 Merge pull request #3679 from JosJuice/seek-log-sign
DVDInterface: Log seek offsets with a more intuitive sign
2016-02-29 16:49:39 +01:00
Pierre Bourdon 07ff8379ba Merge pull request #3647 from stenzek/d3d12-fences
D3D12: Multiple fixes (texture cache, fences, MSAA, CPU EFB access)
2016-02-29 16:49:03 +01:00
Ryan Houdek c82feb6c08 Merge pull request #3626 from Sonicadvance1/more_robust_gcadapter
Improve stability of the Wii U Gamecube Controller adapter under Android.
2016-02-29 09:54:01 -05:00
degasus e2725792d4 JitArm64: Optimize addi 2016-02-29 08:39:24 +01:00
degasus 4478146c80 JitArm64: Split addi from arith_imm.
They ARM assembly has different immediate versions for logic and additions, so there is no use in merging those instructions.
2016-02-29 08:39:14 +01:00
Chris Burgener b1c8198cec Move SetData logic to within SysConf.cpp 2016-02-28 19:42:15 -05:00
Jules Blok 6d1628eda4 Revert "Merge pull request #3578 from Armada651/forced-slow-depth"
This reverts commit e2a1a085b6, reversing
changes made to 2aea549eef.
2016-02-29 00:55:51 +01:00
Pierre Bourdon 961901daae Merge pull request #3355 from mimimi085181/partial-texture-updates-check-dimensions
Partial texture updates: Check the dimensions of the efb copy
2016-02-29 00:49:48 +01:00
Ryan Houdek abaa8fc24d [AArch64] Fix fcmp.
Fixes Luigi's head vanishing. Was due to a mishandling of nans.
Confirmed fixed by hardware test.
2016-02-28 13:15:47 -06:00
Stenzek 0a96e2f531 D3D11: Fix texture dumping, for both single and multi-mip textures 2016-02-28 17:24:47 +10:00
Stenzek c793459b88 D3D12: Fixed issue where EFB copies could end up corrupted after reset
Also prevents previously-released textures from ending up in a descriptor
table.
2016-02-28 17:24:46 +10:00
Stenzek 74275bdfe3 D3D12: Don't keep screenshot/encoder buffers mapped
Readback heaps do not support persistent mapping. See D3D12 docs.
2016-02-28 17:24:09 +10:00
Stenzek c4d79d6db3 D3D12: Add helper method for setting both viewport and scissor rect
Simplfies making changes, as well as keeping the two in sync.
2016-02-28 17:18:46 +10:00
Stenzek 13e143de38 D3D12: Optionally prevent StreamBuffer from executing command list
This applies to callers that do not have full knowledge of the command
list state, and thus, cannot restore it should allocations cause command
list execution. Instead we reallocate a new buffer. Should not happen
often enough for this to be a concern, as it's mainly for the utility
classes.
2016-02-28 17:18:46 +10:00
Stenzek 04257029e0 D3D12: Don't enumerate outputs, it's not used anywhere
The D3D12 backend does not support exclusive fullscreen.
2016-02-28 17:18:45 +10:00
Stenzek 9efe66509d D3D12: Fix crash/errors when switching MSAA modes while running 2016-02-28 17:18:44 +10:00
Stenzek 1d909ec7a4 D3D12: Implement non-blocking EFB access when EFB has not been modified 2016-02-28 17:18:43 +10:00
Stenzek 6bbf836ea9 D3D12: Simplify and fix MSAA EFB depth copy path 2016-02-28 17:18:43 +10:00
Stenzek 649b94338e D3D12: Cleanup/refactoring of teardown process 2016-02-28 17:18:42 +10:00
Stenzek 759b77474d D3D12: Use std::thread for worker thread
Using CreateThread can create issues if any CRT calls are made, as
thread-specific data may not be initialized. Additionally, TerminateThread
is not a good idea for similar reasons, and may not free CRT resources.
2016-02-28 17:18:41 +10:00
Stenzek ffe0e326d2 D3D12: Use stream buffer for CD3DFont 2016-02-28 17:18:40 +10:00
Stenzek 5c1a708977 D3D12: Clean up debug device creation path 2016-02-28 17:18:39 +10:00
Stenzek efbb85da43 D3D12: Improve robustness of command allocator and fence tracking 2016-02-28 17:18:39 +10:00
Stenzek 2f7870b046 D3D12: Don't add fence tracking entries without buffer offset changes 2016-02-28 17:18:38 +10:00
Stenzek 31bc0cf2c3 D3D12: Don't clear texture SRV on destruction, as it may still be in use 2016-02-28 17:18:37 +10:00
degasus 68defb72a3 JitArm64: Don't generate the carry if it's not used any more. 2016-02-27 21:27:29 +01:00
JosJuice 9427d6efb9 DVDInterface: Log seek offsets with a more intuitive sign 2016-02-27 15:20:49 +01:00
Rohit Nirmal 14b0a9cf70 Fix building with PCH disabled. 2016-02-26 13:55:34 -06:00
Pierre Bourdon 1b37b39d64 Merge pull request #3673 from mmastrac/dvd_nobackwardsbuffer
[DVD] Ignore buffer when seeking backwards
2016-02-26 13:14:47 +01:00
Pierre Bourdon 1d07fee367 Merge pull request #3432 from stenzek/bba-tap-win
EXI: Refactor Windows BBA-TAP interface to a read thread, crash fixes, cleanups
2016-02-26 12:46:20 +01:00
mathieui 4fe2886c2c [netplay] Use the device only if it’s a gc controller or similar
(bad things could happen if we wire up the gba with netplay)
2016-02-25 22:58:21 +01:00
mathieui 7b2c54ad93 [Movie] allow recording with any pad
(bongo/dancemat/adapter…)
2016-02-25 22:58:21 +01:00
mathieui d61ef9a95a [SI] add a way to check if the current controller is a gcpad
(or gcpad-compatible)
2016-02-25 22:58:17 +01:00
Matt Mastracci f1a5d6c104 [DVD] Ignore buffer when seeking backwards
Unfortunately this fix re-breaks Arc Rise Fantasia, so we must restore its INI as well.
2016-02-25 12:09:25 -07:00
degasus 3286bbd9bd JitArm64: Track single precision in ps_sel. 2016-02-25 19:47:07 +01:00
degasus 141e299161 JitArm64: Track single precision in fctiwzx. 2016-02-25 19:47:07 +01:00
degasus e0793a274f JitArm64: Track singles in fselx. 2016-02-25 19:47:07 +01:00
degasus b4d0307b25 JitArm64: Remove LoadTo* helpers. 2016-02-25 19:47:07 +01:00
degasus 2112d8dfda JitArm64: Replace REG_IS_LOADED with REG_LOWER_PAIR 2016-02-25 19:47:07 +01:00
degasus c30a66b2d5 JitArm64: Track singles in fabs. 2016-02-25 19:47:07 +01:00
degasus 84395b65f6 JitArm64: Track singles in psq_st. 2016-02-25 19:47:06 +01:00
degasus fe87462be8 JitArm64: Track singles in stfs. 2016-02-25 19:47:06 +01:00
degasus 5fad3d94a0 JitArm64: Track singles in fcmpX. 2016-02-25 19:47:06 +01:00
degasus c8948ff8c7 JitArm64: Track single precision in ps_maddXX. 2016-02-25 19:47:06 +01:00
degasus 7fd68c8761 JitArm64: Track singles in ps_sumX. 2016-02-25 19:47:06 +01:00
degasus ca091b9e92 JitArm64: Track single precision in ps_res. 2016-02-25 19:47:06 +01:00
degasus d185d2f704 JitArm64: Track singles in ps_mulsX. 2016-02-25 19:47:06 +01:00
degasus 6572790d8b JitArm64: Track singles in ps_mergeXX. 2016-02-25 19:47:06 +01:00
degasus 5506295123 JitArm64: Track singles in frspx. 2016-02-25 19:47:06 +01:00
degasus 0efdd5cacd JitArm64: Track singles in paired fp_logic. 2016-02-25 19:47:06 +01:00
degasus 003288a886 JitArm64: Track singles in fp_arith. 2016-02-25 19:47:05 +01:00
degasus ae1b5ff9e8 JitArm64: Track single precision in load/store. 2016-02-25 19:47:05 +01:00
degasus 1e59dc1025 JitArm64: Single precision tracking. 2016-02-25 19:47:05 +01:00
Chris Burgener 4aa6f6c812 Apply Wii Settings on Movie Recording/Playback 2016-02-24 21:22:37 -05:00
Ryan Houdek 0e7401f350 Merge pull request #3639 from ASSympt0te/toggle-frame-limit-changes-fixes
Reword "Toggle Frame Limit" to better explain function
2016-02-24 12:15:11 -05:00
Jules Blok e2a1a085b6 Merge pull request #3578 from Armada651/forced-slow-depth
VideoConfig: Replace FastDepthCalc by ForcedSlowDepth.
2016-02-22 11:29:09 +01:00
Stenzek 1ce38a136d TextureConversionShader: Invert depth for Z24 encoder with D3D 2016-02-22 00:09:07 +10:00
Mathew Maidment bd148e911b Merge pull request #3642 from lioncash/backend
VideoBackendBase: Store video backends as unique_ptr
2016-02-21 04:49:14 -05:00
Sintendo 00cc59e83a VideoInterface: Fix comment typo 2016-02-21 09:39:01 +01:00
Lioncash 1d6ee140f0 VideoBackendBase: Store video backends as unique_ptr 2016-02-20 19:07:40 -05:00
Pierre Bourdon 5fd9604195 Merge pull request #3660 from aserna3/no_wagglesticks_allowed
[Netplay] Disable Wiimotes
2016-02-20 14:30:28 +01:00
Anthony Serna 28fbf6ae03 [Netplay] Disable Wiimotes 2016-02-19 22:15:52 -06:00
Chris Burgener d39d193c0f Properly Handle Video Dumping from Power On 2016-02-19 22:53:58 -05:00
Tillmann Karras 4ecd191a7e VertexShaderGen: turn pseudo-mod into a simple and
The type of posmtx has changed over time: half -> float -> int.
I assume this is supposed to be a modulo.
2016-02-20 03:29:08 +00:00
Tillmann Karras 3b2e170f0b Interpreter: simplify subtable handling 2016-02-20 02:20:41 +00:00
Tillmann Karras b291b0a7c2 Interpreter: simplify mask helper 2016-02-20 01:03:46 +00:00
Tillmann Karras af5ff9941a Interpreter: deduplicate CR0 helper 2016-02-20 01:03:37 +00:00
James Cowgill db8dbae131 Fix some very minor spelling mistakes
Found by Lintian https://lintian.debian.org/
2016-02-19 01:48:10 +00:00
rukai 6349b88fae DolphinQt Builds on Visual Studio 2016-02-18 16:42:05 +11:00
Mathew Maidment 1f2b1caf42 Merge pull request #3633 from spxtr/DQt2
Replace TableProxyModel with TableDelegate.
2016-02-18 00:24:52 -05:00
rukai 704d9cbea5 Enter key opens selected game in the game list. 2016-02-18 16:16:24 +11:00
spxtr dfb0db9d31 Replace TableProxyModel with TableDelegate. 2016-02-17 21:12:24 -08:00
Mathew Maidment 58b3552233 Merge pull request #3616 from rukai/dolphinQtGameContextMenu
DQT2: Add context menu to gamelist
2016-02-18 00:07:22 -05:00
Rukai 7cd1a233eb DQT2: Added context menu to gamelist 2016-02-18 16:04:15 +11:00
Mathew Maidment 05e431d5b5 Merge pull request #3645 from lioncash/dxmem
D3D12: Get rid of most explicit delete and new usages
2016-02-16 22:54:04 -05:00
Mathew Maidment 96e48c3c9f Merge pull request #3644 from lioncash/shadercache
ShaderCache: Minor changes
2016-02-16 22:52:39 -05:00
Chris Burgener 6fe3a3004d Rename Direct3D to Direct3D 11 2016-02-16 22:43:21 -05:00
Mathew Maidment 2e35e79302 Merge pull request #3643 from lioncash/inclass
NativeVertexFormat: Minor changes
2016-02-16 21:47:38 -05:00
Pierre Bourdon d4b67be288 Merge pull request #3640 from Sonicadvance1/glextensions_workaround_trash
Disable some OpenGL 4.5 functions until AMD fixes their trash driver.
2016-02-16 15:41:48 +01:00
Lioncash 6b08194728 D3D12: Get rid of safe deletion macros
Anything these macros provided can be obsoleted by using
the correct standard library types.
2016-02-16 02:09:06 -05:00
Lioncash 626fcf4c15 D3DStreamBuffer: Use size_t within the class interface
A few StreamBuffer instances take arguments that are actually size_t,
and this will cause truncation warnings during argument forwarding
with make_unique.
2016-02-16 02:08:52 -05:00
Lioncash 932dd14418 NativeVertexFormat: Add missing override specifier 2016-02-15 23:41:20 -05:00
Lioncash 69c82f32ff NativeVertexFormat: Use in-class initialization 2016-02-15 23:40:34 -05:00
Lioncash 6c0db9fe3c ShaderCache: Remove unnecessary template type specifications
These are already inferred through the passed in arguments.
2016-02-15 23:32:30 -05:00
Lioncash 53fe5a04ec ShaderCache: Remove unnecessary null checks
We already bail out if the shader compilation fails.
Also, there would have already been a nullptr dereference in
InsertByteCode prior to reaching this point.
2016-02-15 23:29:30 -05:00
Lioncash a22f2e1144 D3DBase: Fix missing return statement 2016-02-15 21:15:43 -05:00
Pierre Bourdon 05f5668bcc Merge pull request #3591 from phire/VC_widescreen
Make all Virtual console games 4:3 (and cleanup GameInis)
2016-02-16 00:41:33 +01:00
hdcmeta 8cc686b360 D3D12: Initial commit for D3D12 backend implementation. 2016-02-15 09:48:25 -08:00
hdcmeta a2e2e36745 D3D12: Additions to VideoCommon to support D3D12 backend. 2016-02-15 09:48:23 -08:00
hdcmeta 9f279f77fc Add missing include, this was previously masked by PCH usage 2016-02-15 09:48:22 -08:00
Ryan Houdek d4dfbbf214 Make sure to get the right function pointer for DSA+buffer_storage 2016-02-15 06:05:38 -06:00
Ryan Houdek 64cb57c5ee Disable a few OpenGL 4.5 functions that AMD fails to expose. 2016-02-15 06:05:09 -06:00
blendmaster345 c61625cdd3 Relabel hotkey option for toggle frame limit to better reflect function 2016-02-15 04:11:21 -06:00
Pierre Bourdon a89d48ad99 Merge pull request #3636 from Sonicadvance1/glextensions_improvements
Glextensions improvements
2016-02-15 10:30:44 +01:00
Pierre Bourdon 14cdf82a69 Merge pull request #3638 from lioncash/mmio
Memmap: Make the MMIO mapping a unique_ptr
2016-02-15 10:29:40 +01:00
Lioncash b36b10fa78 Memmap: Make the MMIO mapping a unique_ptr 2016-02-15 00:02:00 -05:00
Ryan Houdek 2685ebaed1 Add support for GL 4.3 2016-02-14 20:35:38 -06:00
Ryan Houdek e253fafe42 Add support for GL 4.4 2016-02-14 20:16:33 -06:00
Ryan Houdek 87afa2c277 Add support for GL 4.5 2016-02-14 20:15:40 -06:00
Ryan Houdek 23787f709c Change GL 4.2 defines over to the proper naming convention. 2016-02-14 20:01:02 -06:00
spxtr 0d80c6c5f7 Stop parenting RenderWidget. 2016-02-14 17:04:16 -08:00
Matt Mastracci 4e6f58d82e [DVD] Signedness fix in realistic timing path 2016-02-14 14:27:08 -07:00
mimimi085181 bb4d636f34 Copy all layers of textures with CopyRectangleFromTexture 2016-02-14 21:17:06 +01:00
mimimi085181 99555a35ca For partial texture updates check the dimensions of the efb copy and the target texture, not just the binary size.
This should get Donkey Kong Country Returns characters to be as broken as they should be. They will be fixed in a later pr.

Expected result is:
efbtex: characters are always flickering or invisible, no matter what scaling or IR setting
efb2ram: characters are always working properly at 1xIR, no matter what scaling or IR setting
2016-02-14 17:13:51 +01:00
Ryan Houdek cafc879b7c Merge pull request #3617 from degasus/arm
JitArm64: Merge FP functions.
2016-02-13 18:57:01 -05:00
Tillmann Karras 797431dda4 MMIO: correct error message 2016-02-13 17:42:24 +00:00
Ryan Houdek 6cc40b1235 Improve stability of the Wii U Gamecube Controller adapter under Android.
Under failure conditions of the GC Adapter, When interface count is zero and we can't open the device.
Then there were race conditions on shutdown of the threads which could result in crashing.

Make adapter opening more robust like the Mayflash DolphinBar.
Make shutdown more robust by making the read thread control the write thread.
Make sure that there is actual data to be written when kicking the write thread. So it doesn't attempt a write a shutdown.
Make a toast on screen to tell the user that the adapter needs to be unplugged and plugged back in again for it to work.
2016-02-13 08:17:20 -06:00
Rukai 77efb2d134 About dialog displays version numbers and handy links 2016-02-13 14:28:38 +11:00
degasus f259a8d6cf JitArm64: Merge more stuff into ps_maddXX. 2016-02-12 23:26:47 +01:00
Mathew Maidment 5b795c4b20 Merge pull request #3347 from JosJuice/wii-compress-warning-once
DolphinWX: Fixes for compressing multiple games at once
2016-02-12 10:02:25 -05:00
Ryan Houdek b2b0959f23 Geometry shader bug isn't fixed in 11.1.2 for Intel Sandy Bridge 2016-02-12 07:04:09 -06:00
degasus 8b32cd0738 JitArm64: Merge ps_sumX. 2016-02-12 10:09:57 +01:00
degasus 2d8e1bc34d JitArm64: Merge PS stuff into fp_logic. 2016-02-12 10:09:57 +01:00
degasus 52f9912c46 ArmJit64: Merge FP two operant instructions. 2016-02-12 10:09:57 +01:00
degasus 157404fd1e JitArm64: Merge ps_mulsX. 2016-02-12 10:09:57 +01:00
degasus 09af32c063 JitArm64: Merge ps_mergeXX. 2016-02-12 10:09:57 +01:00
degasus 1b6d9dfc4e JitArm64: Merge ps_maddsX. 2016-02-12 10:09:57 +01:00
degasus 19713f7c14 JitArm64: Merge scalar 4-operant instructions. 2016-02-12 10:09:53 +01:00
Mathew Maidment bbb67857d3 Merge pull request #3618 from rukai/dolphinQtBannerSize
DQt2: properly space row height of table gamelist
2016-02-11 21:05:56 -05:00
Ryan Houdek cf6f9de350 Both Intel and Radeon Mesa geometry shader bugs are fixed in 11.1.2 2016-02-11 12:55:55 -06:00
Rukai 26637ed262 Gamelist viewed as a table has a properly spaced row height 2016-02-11 14:14:41 +11:00
Mathew Maidment 585761a456 Merge pull request #3605 from spxtr/DQt2
DQt2: Make paths dialog modeless.
2016-02-10 22:07:20 -05:00
degasus 9c048bbc36 JitArm64: Also merge 3 way FP-PS instructions. 2016-02-10 17:41:25 +01:00
degasus 83eb1d8c31 JitArm64: Merge 3 way FP instructions. 2016-02-10 17:41:25 +01:00
Rukai 0969581bab DolphinQt2: No longer crashes when loading gameini without an EmulationStateId 2016-02-10 22:27:01 +11:00
spxtr 726d6c17af Make paths dialog modeless. 2016-02-09 20:42:06 -08:00
Jens Nyberg 91772492dd VideoCommon: Remove unused pow functions 2016-02-10 02:57:09 +01:00
Aestek b92a80ba1b Fix: segfault in NetPlayServer::GetInterfaceListInternal for ifa_addr-less interfaces
`NetPlayServer::GetInterfaceListInternal` was crashing dolphin with a segfault when encountering a
network interface without `ifa_addr`.
2016-02-08 21:21:27 +01:00
JosJuice 8a2e678ea7 DolphinWX: Don't include skipped items in the compression count 2016-02-08 15:26:25 +01:00
JosJuice 8cad70238c DolphinWX: Don't store compression progress in member variables
Just some extra cleanup.
2016-02-08 15:26:11 +01:00
Jules Blok 9805f70913 VideoConfig: Replace FastDepthCalc by ForcedSlowDepth.
Fast depth is now more accurate than slow depth and should always be used.
The option will be kept in a different form as it is still used as a hack to fix some games.
Also, the slow depth code path will still be relied upon by cards that don't support GL_ARB_clip_control.
2016-02-08 12:26:55 +01:00
Mathew Maidment 08c9e3b7a4 Merge pull request #3602 from OatmealDome/coreaudio
CoreAudioSound: Minor clean up
2016-02-07 22:25:15 -05:00
Ryan Houdek 35d7c2bc78 Merge pull request #3593 from Sonicadvance1/Android_Mayflash_adapter
[Android] Implement support for real Wiimotes with the DolphinBar
2016-02-07 15:51:33 -05:00
Ryan Houdek fe53461611 [Android] Implement support for real Wiimotes with the DolphinBar
This is the only way to get Wiimotes working under Android now.
This, just like the Wii U Gamecube Controller Adapter, completely goes around Android's limitations and talks with the device directly through USBManager.

Couple notes.
Continuous scanning must be enabled otherwise the Wiimotes won't be seen.
The UI doesn't expose support for this yet. One must change the Wiimote source and continuous scanning settings manually.

Testing up to two wiimotes in Taiko No Tatsujin, no reason to believe all four won't work.
2016-02-07 05:31:48 -06:00
Mathew Maidment 76d614eded Merge pull request #3585 from lioncash/inc
VideoCommon: Convert some DataReader includes into forward declarations
2016-02-06 20:52:02 -05:00
Ryan Houdek 36af9981c7 Merge pull request #3595 from Sonicadvance1/Android_headless
[Android] Headless support
2016-02-06 20:08:58 -05:00
OatmealDome 36a20c3535 CoreAudioSound: Replace deprecated parameters
The kAudioUnitParameterFlag_* parameters don't exist on iOS.
2016-02-06 16:48:03 -05:00
OatmealDome 2e24996a9c CoreAudioSound: Only include AudioUnit 2016-02-06 16:47:49 -05:00
Nick Tiberi e7ad0fd600 normalize and check upper/lower bounds of hats input on OS X 2016-02-05 16:40:59 -05:00
Ryan Houdek 2f7e3ae58e CMakeLists cleanup and enable Android headless building. 2016-02-05 11:24:11 -06:00
Ryan Houdek 6305f09467 Use cmake to determine if we are enabling the Android Controller Interface 2016-02-05 10:54:17 -06:00
Ryan Houdek 018625e54f Rearrange GLInterface interface generation.
This will be important when we enable headless on Android
2016-02-05 10:53:32 -06:00
Ryan Houdek 38cb6ba6dc Fix a bug in the Common CMakeLists file
We were overwriting the LIBS variable. Effectively dropping libiconv from the libs.
2016-02-05 10:51:56 -06:00
Ryan Houdek 19cd9ecf16 Fix a few missing includes 2016-02-05 10:50:08 -06:00
Scott Mansell baad10593e GameInis: Allow one ini to cover all VC games for a console
Since all Virtual console releases use the same emulator (though there
are multiple revisions some emulators) and generally need the same
setting, this commit allows the creation of INI files which cover all
Virtual Console games fow each system.

For example, F.ini can provide settings that all NES games have in common
and C.ini will provide settings for all Commadore 64 games.

If needed, a 3 letter ini can override settings for individual games.
2016-02-05 17:35:13 +13:00
Lioncash 1df1ba55bb VideoCommon: Convert some DataReader includes into forward declarations
Gets rid of some indirect inclusions in cpp files.
Also this will reduce the amount of rebuilt files if
changes occur in the DataReader header.
2016-01-31 15:19:20 -05:00
Stenzek a870253cd6 Common: Use C++ random generator for generating MAC addresses 2016-01-31 23:52:47 +10:00
Stenzek 98e5270b3c EXI: Use unique_ptr in CEXIEthernet 2016-01-31 23:52:43 +10:00
Stenzek e75d37ec36 EXI: Fix crash when loading save states with BBA activated 2016-01-31 23:52:40 +10:00
Stenzek ccc70a98f3 EXI: Refactor BBA-TAP interface for Windows to use a read thread
This also has the added benefit of not crashing under most circumstances.
Includes a few other changes, including replacing the atomic<bool> with a
Flag, as well as adding a flag for indicating read thread shutdown.
2016-01-31 23:52:33 +10:00
Ryan Houdek 31523b7e80 Merge pull request #3572 from Sonicadvance1/egl_support_headless
Egl support headless
2016-01-30 11:15:07 -05:00
JosJuice 6a75212e7a DolphinWX: Only show Wii compression warning once
When compressing multiple Wii games, the warning used to be showed
once for each game. Now it only appears once at the beginning.
2016-01-30 13:33:03 +01:00
JosJuice bd326ace5c DolphinWX: Replace GetSelectedISO hack for multiple selections 2016-01-30 13:32:57 +01:00
Pierre Bourdon c2c1f839dd Merge pull request #3574 from palxex/master
fix El Capitan WiimoteReal pairing problem and refresh crash problem
2016-01-30 13:17:08 +01:00
Pierre Bourdon 50221088a9 Merge pull request #3576 from lioncash/boot
BootManager: Minor changes
2016-01-30 13:14:52 +01:00
Pierre Bourdon cf20ff48aa Merge pull request #3480 from phire/memory_stride_too_small
Avoid the "Memory stride too small" assert
2016-01-30 13:11:07 +01:00
Pierre Bourdon 9da8593cf4 Merge pull request #3569 from mathieui/netplay-gcpad-position
[netplay] Fix a regression
2016-01-30 11:54:31 +01:00
Pierre Bourdon ff5d6887d1 Merge pull request #3575 from mathieui/netplay-server-cleanup
Small netplay server cleanup & fix
2016-01-30 11:51:50 +01:00
Ryan Houdek f1ca95eec7 Merge pull request #3553 from Sonicadvance1/more_android_gc_adapter
Implement requesting permission for using the GC Wii U Adapter.
2016-01-29 23:12:37 -05:00
Ryan Houdek 5edc7705fe Merge pull request #3550 from Sonicadvance1/egl_support_core_profile
Support the OpenGL core profile in EGL.
2016-01-29 19:37:24 -05:00
Ryan Houdek c50efb17e5 Merge pull request #3546 from Sonicadvance1/egl_shared_context
Implement shared contexts in the EGL context.
2016-01-29 19:33:52 -05:00
Ryan Houdek ea3a457091 Merge pull request #3573 from degasus/fifoplayer
Fifoplayer: Fix dual core
2016-01-29 16:39:32 -05:00
Ryan Houdek e086928806 Merge pull request #3579 from Sonicadvance1/GLExtesions_gl_4_2
Implement support for GL 4.2 in GLExtensions
2016-01-28 19:25:17 -05:00
Tillmann Karras bf643c98aa Fix warnings 2016-01-28 23:54:11 +00:00
Ryan Houdek e1f21602fd Merge pull request #3426 from Sonicadvance1/ES_fix_framedump
Add support for framedumping to OpenGL ES.
2016-01-28 18:24:32 -05:00
mathieui c7750b287d netplay: default the local pad to a gc controller
if the configured local pad is none, it will make dolphin behave
incorrectly (due to the game expecting inputs from the device while it
doesn’t exist).
2016-01-28 20:24:18 +01:00
Pal Lockheart ea44e0e3ba fix El Capitan WiimoteReal pairing problem and refresh crash problem 2016-01-28 14:29:44 +08:00
mathieui 4529930f91 gcadapter: fix an incorrect mapping for non-local devices
Remote devices would always enter an error path and get disconnected
from the gamecube, breaking netplay in the process.

Culprit is still InGamePadToLocalPad
2016-01-28 02:46:58 +01:00
mathieui b9b4a0c530 gcadapter: set the konga setting properly
if it was used in netplay, it would read memory out of bounds
(due to the mapping method returning 4 if the device was remote) which
was 0 more often than not, causing the device in this position to be a konga.

(which may or not be the gcadapter due to the swap between local and
ingame controllers)
2016-01-28 02:39:55 +01:00
Mathew Maidment 437b3db88e Merge pull request #3514 from lioncash/mixer
Mixer: Minor changes
2016-01-27 19:19:42 -05:00
Ryan Houdek b846ec084e Implement requesting permission for using the GC Wii U Adapter. 2016-01-27 15:08:45 -06:00
Ryan Houdek 628e9bad92 Support a headless EGL option.
This is a new option to support completely headless running of Dolphin without X11 on systems that can properly support it.
2016-01-27 15:04:14 -06:00
Ryan Houdek 184a7a3e0d Include the EGL defines we need for KHR_create_context ourselves.
This is because Google decided it was in their best interest to update eglext.h for android-21/arch-arm only and completely neglect all the other
architectures.
Sucks to suck.
2016-01-27 14:54:44 -06:00
Ryan Houdek 34d0e7835b Support the OpenGL core profile in EGL.
This should make our Mesa EGL users happy.
2016-01-27 14:54:32 -06:00
Ryan Houdek 921c7139c5 Implement support for GL 4.2 in GLExtensions 2016-01-27 13:58:34 -06:00
Ryan Houdek aed693eded Implement shared contexts in the EGL context.
This is being implemented here first under EGL since the infrastructure is already in place for this due to the Android code requiring some bits.
The rest of the interfaces will come in a little bit.

This will be required for threaded shader compiling in the near future.
2016-01-27 13:15:02 -06:00
degasus 231daa2da1 Thread: Limit thread name to 15 bytes on linux. 2016-01-27 07:23:17 +01:00
degasus a4a2928905 FifoPlayer: Sleep while high watermark is set. 2016-01-27 07:23:17 +01:00
Lioncash d7d0673900 BootManager: Vertically align where sensible to do so 2016-01-26 20:54:22 -05:00
Lioncash 0c920f175f BootManager: Simplify SaveConfig
Also std::array-ifies C-array members of ConfigCache
2016-01-26 20:52:57 -05:00
mathieui aaf2be2044 bootmanager: update the supposed-end-of-enum
fixes a bug where gcadapter would fuck up netplay
2016-01-27 01:43:38 +01:00
mathieui 24cb6487d4 [netplay] Fix a regression
Introduced in 6e13496d8, pads would get assigned to their netplay
position, which breaks assumptions. With this behavior, the SI devices
should be mapped properly.
2016-01-27 01:43:31 +01:00
mathieui 8ce9191948 NetPlayServer: Make SendAsyncToClients use an unique_ptr 2016-01-27 01:34:03 +01:00
mathieui 34ae512d91 NetPlayServer: Make pad data unpacking nicer to read 2016-01-27 01:34:03 +01:00
mathieui 1c808a2835 NetPlayServer: Possible out-of-bounds access on invalid input
if a pad or wiimote number was outside bounds (e.g. 42353543232),
it would still have been read from the array, which could lead to
inappropriate consequences, like a segfault.
2016-01-27 01:33:50 +01:00
mathieui 8e1be37feb NetPlayServer: in-class initialization 2016-01-27 01:20:44 +01:00
degasus 159d83c5a9 FifoPlayer: Use more enums. 2016-01-26 19:19:21 +01:00
Jeffrey Pfau 1f1b127b69 VideoBackend: Remove extraneous shifts from indirect texture lookups 2016-01-25 19:27:26 -08:00
Lioncash 488e7bd46a Fifo: Get rid of undefined global
This declaration doesn't have a matching implementation
so it can be removed entirely.
2016-01-25 05:24:03 -05:00
Lioncash 32ce2be2bf Fifo: Make g_use_deterministic_gpu_thread a TU-local variable 2016-01-25 05:24:03 -05:00
Lioncash 5ebd1e215b Fifo: Make g_bSkipCurrentFrame a TU-local variable
This is only ever queried, making it a global isn't necessary.
2016-01-25 05:23:14 -05:00
Mathew Maidment 48e7e5b72e Merge pull request #3567 from lioncash/netplay
NetPlayClient: Minor changes
2016-01-25 05:13:54 -05:00
Mathew Maidment ee0fbdf087 Merge pull request #3558 from lioncash/dvd-global
DVDInterface: Reduce a global variable to translation unit scope
2016-01-25 05:13:08 -05:00
Lioncash c434b5b3a9 NetPlayClient: Use std::array instead of C arrays for buffers 2016-01-25 04:57:21 -05:00
Lioncash 7304c863a6 NetPlayClient: Deduplicate code for player list retrieval 2016-01-25 04:57:20 -05:00
Lioncash e6ad76fa70 NetPlayClient: Extract control mapping checking to its own function 2016-01-25 04:57:19 -05:00
Lioncash 8588c8fd31 NetPlayClient: Make SendAsync take a unique_ptr as a parameter 2016-01-25 04:57:18 -05:00
Lioncash c2deb337aa NetPlayClient: In-class initialize variables where possible 2016-01-25 04:57:17 -05:00
Lioncash 1d8ff504a5 NetPlayClient: Make m_state private
Also turns it into an enum class.
2016-01-25 04:57:16 -05:00
Lioncash 102672a797 NetPlayClient: Make is_connected private
This is only queried, there's no need to expose it for writing.
Even if it was written to, a data member shouldn't be part of
your public API unless its part of a dumb object or trivial struct.
2016-01-25 04:57:04 -05:00
Pierre Bourdon 0bd649248f Merge pull request #3530 from degasus/syncgpufix
Fifo: Fix SyncGPU.
2016-01-25 10:46:08 +01:00
Pierre Bourdon 7b4e965465 Merge pull request #3555 from mathieui/gcadapter_payload
Fix a bug in GCAdapter
2016-01-25 10:42:28 +01:00
Lioncash d9f87b8030 NetPlayClient: Remove unnecessary includes
Replace with needed ones
2016-01-24 21:46:49 -05:00
Lioncash 90f2f48ef6 DVDInterface: Use correct prefix for static local variables 2016-01-24 17:24:33 -05:00
Mathew Maidment bad7242c63 Merge pull request #3559 from lioncash/tcache
TextureCacheBase: Simplify init/comparison of TCacheEntryConfig
2016-01-24 17:18:08 -05:00
Mathew Maidment e9713e19d7 Merge pull request #3561 from lioncash/render
RenderBase: Get rid of an undefined global extern
2016-01-24 17:17:48 -05:00
Mathew Maidment b451b722fb Merge pull request #3562 from lioncash/cpmem
CPMemory: Remove unnecessary extern specifiers from functions
2016-01-24 17:17:31 -05:00
mathieui 07caff35ad Fix a bug in GCAdapter
where the payload size would end up being crazy values on the other
thread. Mirroring the similar commit made for the android side:

2833685fbf
2016-01-24 21:55:20 +01:00
degasus 4295751662 Fifo: More comments for SyncGPU functions. 2016-01-24 11:06:01 +01:00
degasus cf4478dc92 Fifo: Fix SyncGPU.
CBoot::BootUp() did call CoreTiming::Advance which itself blocks on the GPU,
but the GPU thread wasn't started already. This commit moves the SyncGPU
initialization into the Fifo.cpp file and call it after BootUp().
2016-01-24 11:06:01 +01:00
Lioncash e187c55bdd OpcodeDecoder: Add namespace 2016-01-24 01:31:36 -05:00
Lioncash 758cd796a7 CPMemory: Remove unnecessary extern specifiers from functions
These are defined in CPMemory.cpp, as expected. There's no need for
extern
2016-01-24 01:17:43 -05:00
Lioncash 508c521f10 RenderBase: Get rid of an undefined global extern
This doesn't have an implementation, so into
the trash it goes.
2016-01-24 01:07:24 -05:00
Lioncash 59d5935067 TextureCacheBase: Simplify init/comparison of TCacheEntryConfig 2016-01-23 22:57:05 -05:00
Lioncash a2dc22f016 DVDInterface: Make a global a local variable 2016-01-23 18:40:55 -05:00
Ryan Houdek 6e13496d8d Merge pull request #3554 from mathieui/netplay_devices
[netplay] Use the local type of each SI device
2016-01-23 16:03:25 -05:00
Ryan Houdek 1c3c36f285 Merge pull request #3533 from JosJuice/2x-resources
DolphinWX: Support 2x images for all resources
2016-01-23 12:52:05 -05:00
Ryan Houdek a62a9b8161 Fix a bug in GCAdapter_Android where the payload size would end up being crazy values on the opposite thread 2016-01-23 11:40:33 -06:00
mathieui 5e709f3d72 [netplay] Use the local type of each SI device
Instead of using SI_GCcontroller which would make it not work with gc
adapters, bongos, and other stuff.

Trying to fix issue #9263
2016-01-23 17:29:07 +01:00
Mathew Maidment 3f5f52342a Merge pull request #3424 from spxtr/DQt2
DQt2: Add a message if the game list is empty
2016-01-22 22:16:56 -05:00
Ryan Houdek ae4c7661d6 Merge pull request #3212 from mickdermack/pr-recalc-flags
JIT x64: Recalculate flags after add/sub
2016-01-22 12:45:52 -05:00
Lioncash fdf6fb47e0 VideoInterface: specify internal linkage on local variable 2016-01-21 19:25:21 -05:00
mathieui 4b06e92731 A few more asterisks, mostly casts 2016-01-21 22:20:22 +01:00
mathieui f15ffda5a7 Correct ampersands as well 2016-01-21 21:27:56 +01:00
mathieui 3e283ea9f1 More asterisks 2016-01-21 21:16:51 +01:00
mathieui 78aa398e7c Common: asterisks go against the type name
not the variable name
2016-01-21 20:46:25 +01:00
Ryan Houdek 7c3e4b34f3 Merge pull request #3541 from Sonicadvance1/fix_netplay_option_sending
Stops netplay clients from failing to send settings on game start
2016-01-21 08:51:11 -05:00
Ryan Houdek 1a20772ccd Stops netplay clients from failing to send settings on game start
Clients have no need to send their configuration information on start and the server straight out ignores it.
Not to mention it shouldn't try sending a struct as a null terminated string.

Cleans up how the server sends the configuration slightly as well.
2016-01-21 07:20:21 -06:00
Pierre Bourdon 912555968d Merge pull request #3538 from mathieui/pipes_locale
[Pipe input] Make the commands locale-unaware
2016-01-21 14:04:38 +01:00
Lioncash 82147f42af VideoInterface: Correct namespace indentation 2016-01-21 00:40:01 -05:00
Lioncash f45e1bff37 VideoInterface: Change a global into a translation-unit local variable 2016-01-21 00:39:24 -05:00
mathieui 64e2f93f38 [Pipe input] Make the commands locale-unaware
Setting axis values in an automated way should not be locale-aware as
strtod is.
2016-01-20 22:48:22 +01:00
Ryan Houdek 70aa012fef Allow multiple GC adapters on one PC to be used with multiple Dolphin instances.
Previously we would iterate through every GC adapter plugged in to the PC and steal ownership of it.
This causes issues all over the place in the implementation if this happens.
Break on the first adapter we can get access to.
2016-01-20 15:20:17 -06:00
Pierre Bourdon a14c07413f Merge pull request #3515 from booto/wii-region
DiscIO: Use specified Wii region for discs
2016-01-20 19:58:58 +01:00
Pierre Bourdon f98176f38a Merge pull request #3528 from Shugyousha/codedframedeprecated
AVIDump: coded_frame is deprecated
2016-01-20 19:40:31 +01:00
Pierre Bourdon be1a9e4231 Merge pull request #3518 from Sonicadvance1/blacklist_sandy
Blacklist Sandy Bridge on mesa from using geometry shaders.
2016-01-20 19:32:56 +01:00
Ryan Houdek 3dda36bc5b Blacklist Sandy Bridge on mesa from using geometry shaders. 2016-01-20 12:13:21 -06:00
Pierre Bourdon e455ca4d58 Merge pull request #3535 from RisingFog/cya_savestate_memleak
Properly clear JIT cache on save states
2016-01-20 18:02:25 +01:00
Chris Burgener a7a744d33c Properly clear JIT cache on save states 2016-01-20 11:20:15 -05:00
Lioncash 42e9927bca VideoInterface: Fix code style/indentation 2016-01-19 20:16:18 -05:00
JosJuice 53acd063f9 DolphinWX: Support 2x images for all resources 2016-01-20 00:46:10 +01:00
Pierre Bourdon 991d3f6f96 Merge pull request #3525 from lioncash/ptr
DSPEmulator: Make CreateDSPEmulator return a unique_ptr
2016-01-19 23:54:58 +01:00
Silvan Jegen 59f72d3571 AVIDump: coded_frame is deprecated
Setting this is not required anymore as of commit 40cf1bbacc622 of
FFmpeg.

For users of older versions of the libavcodec library we guard the
change with an #if.
2016-01-19 20:38:21 +01:00
Ryan Houdek abb4c64c8f Fix the Exit hotkey.
We were constructing our wxCommandEvent incorrectly and using an ID as an event type instead of the ID.
Works properly now.
2016-01-19 02:04:45 -06:00
Ryan Houdek 7b9eeba168 Merge pull request #3479 from Sonicadvance1/fix_hotkeys
Fix hotkeys not reporting inputs.
2016-01-19 02:15:25 -05:00
Jules Blok 51a36f27e0 Merge pull request #3448 from Armada651/depth-epsilon
VertexShaderManager: Add an epsilon hack to the perspective projection.
2016-01-18 20:56:18 +01:00
Ryan Houdek f73961663e Fix a typo on the size passed in to the IPL descrambler.
Fixes issue #6081
2016-01-18 04:30:30 -06:00
Lioncash 2ff5923334 DSPEmulator: Make CreateDSPEmulator return a unique_ptr 2016-01-17 22:33:21 -05:00
Pierre Bourdon 24c228c6e9 Merge pull request #3523 from lioncash/video
VideoCommon: Header cleanup
2016-01-18 02:24:50 +01:00
Lioncash d9fec92628 VideoCommon: Header cleanup
Also remedies places where the video backends and core rely on things
being indirectly included.
2016-01-17 20:11:45 -05:00
Mathew Maidment a7f35eeb42 Merge pull request #3520 from Sonicadvance1/debugger_address_minsize
Fix debugger address lookup search control.
2016-01-16 11:34:24 -05:00
Ryan Houdek 6754326c6b Fix debugger address lookup search control.
The dumb wxAUI stuff isn't fully implemented for GTK. So the wxAuiToolBar doesn't properly deduce the size it needs to be when it contains a
wxSearchCtrl object.
Force the manager to set its minimum size to something reasonable.
2016-01-16 08:05:24 -06:00
Pierre Bourdon ea2765e010 Merge pull request #3509 from stenzek/negative-indirect
PixelShaderGen: Manually wrap negative indirect texture coordinates
2016-01-16 09:10:33 +01:00
shuffle2 799fce0b03 Merge pull request #3512 from jloehr/Fix-SCMRevGen
Fix SCMRevGen by running system native CScript
2016-01-15 23:56:31 -08:00
Lioncash c70487163f Mixer: Convert defines into concrete variables
Gets defines out of global scope.
2016-01-15 23:41:53 -05:00
Stenzek edebadc093 PixelShaderGen: Use bitwise AND for wrapping indirect texture coordinates
(x % y) is not defined in GLSL when sign(x) != sign(y).
This also has the added benefit of behaving the same as sampler wrapping modes, in regards to negative inputs.
2016-01-15 19:46:38 +10:00
booto 92278886b9 DiscIO: Use specified Wii region for discs 2016-01-15 03:35:10 +08:00
Lioncash fc6a2f490f Mixer: Directly initialize class members 2016-01-14 01:32:31 -05:00
Lioncash 531a3ed09a Mixer: Devirtualize
Nothing in the codebase inherits from this class
2016-01-14 01:32:24 -05:00
Mathew Maidment 87464d432b Merge pull request #3501 from rohit-n/build-pch
Fix building with PCH disabled.
2016-01-13 21:07:51 -05:00
Jules Blok 48b60649af Merge pull request #3495 from Armada651/d3d-float
D3D: Use a 32-bit floating point depth buffer.
2016-01-14 00:39:23 +01:00
Julian Löhr bb5cb7e365 Run system native CScript
Build Events are run in an 32 bit environment, therefore both program files environment strings resolve to the x86 program files folder on 64 Bit systems. If Git is 64 bit and installed into the x64 program files it can't be found by the script.
2016-01-14 00:37:11 +01:00
Jules Blok d54291f2e8 Merge pull request #3506 from stenzek/odd-mips
TextureCacheBase: Change CalculateLevelSize to match D3D/OGL sizes
2016-01-13 23:10:18 +01:00
Jules Blok 55cb6675cc IniFile: Initialize with default value if key does not exist. 2016-01-13 22:51:53 +01:00
Pierre Bourdon 8ee93fc4fa Merge pull request #3507 from lioncash/header
HW: Header cleanup
2016-01-13 14:09:35 +01:00
Jules Blok a307883069 Merge pull request #3505 from Armada651/invert-conversion
TextureConversionShader: Also invert color encoders if they're used to encode depth.
2016-01-13 12:58:44 +01:00
Lioncash f2038b9e90 HW: Remove unnecessary header inclusions 2016-01-13 02:47:32 -05:00
Stenzek 1f3b90d70a TextureCacheBase: Change CalculateLevelSize to match D3D/OGL sizes
This was causing crashes/driver resets when odd-dimension textures were
being loaded, due to the size we were uploading being larger than the size
of the higher-level texture calculated by the runtime.
2016-01-13 12:54:38 +10:00
Pierre Bourdon 8f8134f5f4 Merge pull request #3504 from degasus/master
VideoBackend: Cleanup API a bit.
2016-01-13 01:27:24 +01:00
Jules Blok daabd88d69 TextureConversionShader: Also invert color encoders if they're used to encode depth. 2016-01-13 01:08:27 +01:00
degasus aa430c10d5 VideoState: Simplify dummy wrapper. 2016-01-12 23:28:26 +01:00
degasus 5f244abf28 Fifo: Create a "Fifo" namespace. 2016-01-12 23:28:26 +01:00
degasus c3481a576b VideoBackend: Remove simple wrapper functions. 2016-01-12 23:28:26 +01:00
degasus 0c92603fd5 Merge VideoBackendHardware into VideoBackend.
And rename it to VideoBackendBase because of conflicts within the backends itself.
2016-01-12 23:18:58 +01:00
Lioncash f8fcceb99e Jit: Get rid of indirect includes 2016-01-12 00:12:36 -05:00
Jules Blok 8158d291aa D3D: Use the full depth range for Z pokes. 2016-01-11 22:27:41 +01:00
Jules Blok 129975233f D3D: Use a 32-bit floating point depth buffer. 2016-01-11 22:27:40 +01:00
Rohit Nirmal f9837d4447 Fix building with PCH disabled. 2016-01-11 13:20:47 -06:00
Pierre Bourdon 68094171f8 Merge pull request #3489 from lioncash/interp
Interpreter: Remove unnecessary includes from Interpreter.h
2016-01-11 12:43:25 +01:00
Pierre Bourdon 84c4f75aeb Merge pull request #3498 from lioncash/global
MemTools: Get rid of a global variable
2016-01-11 12:43:01 +01:00
Pierre Bourdon 7c6fe11348 Merge pull request #3499 from lioncash/hle
HLE: Move static variable out of header
2016-01-11 12:42:48 +01:00
Pierre Bourdon 6b25e52f57 Merge pull request #3500 from lioncash/arm
ARM Jit: Use std::tie for SlowmemHandler comparison
2016-01-11 12:42:24 +01:00
Lioncash 984fc7fb39 ARM Jit: Use std::tie for SlowmemHandler comparison 2016-01-11 04:28:16 -05:00
Lioncash 846c904624 HLE: Move static variable out of header
It's only ever used in the implementation file.
2016-01-11 04:11:12 -05:00
Lioncash b688a62143 MemTools: Get rid of a global variable 2016-01-11 03:24:03 -05:00
Lioncash d9a16f7c9c Interpreter: Remove unnecessary includes from Interpreter.h
Previously the JIT code relied on indirect inclusion from this header,
this gets rid of that.
2016-01-10 18:51:12 -05:00
Ryan Houdek 5a549ef663 [Android] Add support for rotation and minimizing the application 2016-01-10 13:00:32 -06:00
Ryan Houdek 6448e5e5ee Add support to EGL to on the fly destroy the resulting surface 2016-01-10 12:28:05 -06:00
Pierre Bourdon e7fbd1fd50 Merge pull request #3439 from Armada651/depth-range
Render: Clamp the z range to the full range.
2016-01-10 19:09:57 +01:00
Pierre Bourdon 20718305db Merge pull request #3484 from Sonicadvance1/mesa_disable_geometry_shaders
Disable geometry shaders on mesa AMD/ATI drivers.
2016-01-10 02:38:33 +01:00
Mathew Maidment ff0e1c3624 Merge pull request #3485 from booto/minor-comment-change
Comment change to reflect what code does
2016-01-09 17:18:59 -05:00
Mathew Maidment 9925d8a947 Merge pull request #3478 from mmastrac/ui_resize_fix
DolphinWX: fixes the window growing slightly on every re-launch
2016-01-09 17:15:35 -05:00
Matt Mastracci 560769ad5d DolphinWX: Fix window growing on every relaunch
Fixes part of #8993 -- the window would grow slightly on every re-launch
because the size was set before the UI was fully initialized.
2016-01-09 14:29:15 -07:00
Pierre Bourdon 98106b717a Merge pull request #3487 from Sonicadvance1/fix_typo
Fix typo in GLExtensions
2016-01-09 22:17:05 +01:00
Ryan Houdek b4eb5d8e3f Disable geometry shaders on mesa AMD/ATI drivers.
Causes misrenderings in games that uses them.
2016-01-09 15:09:37 -06:00
Ryan Houdek 8c37498230 Fix typo in GLExtensions
I had changed a variable name and forgot to update it everywhere.
Should fix Adreno devices.
2016-01-09 15:06:36 -06:00
Lioncash 986108715d JitInterface: Get rid of a global variable 2016-01-09 14:57:50 -05:00
booto b89c79b9f2 Comment change to reflect what code does 2016-01-10 02:42:56 +08:00
Ryan Houdek 54e4d90b6d Fix assert on reset button hit.
Fixes issue 9225.
2016-01-09 11:23:22 -06:00
Pierre Bourdon 5db10d83f7 Merge pull request #3477 from mmastrac/memorywatcher_crash
MemoryWatcher: Initialize m_running
2016-01-09 16:11:42 +01:00
Tillmann Karras 98ea1f773a VideoSW: fix some warnings 2016-01-09 10:38:07 +01:00
Ryan Houdek 3f15aa4b57 Add support for framedumping to OpenGL ES. 2016-01-09 00:21:20 -06:00
Scott Mansell 74b772c3be Avoid the "Memory stride too small" assert
EFB2Tex still has no idea what to do with these weird textures so we
simply disable EFB2Tex when one is encountered.
2016-01-09 18:30:29 +13:00
Ryan Houdek 6862d7c7b2 Fix hotkeys not reporting inputs. 2016-01-08 23:25:36 -06:00
Pierre Bourdon dbe7e6634d Merge pull request #3412 from skidau/CheatSearch-Prev-Value
Added the ability to search on previous value in the Cheat Search.
2016-01-09 06:06:02 +01:00
Pierre Bourdon 39971ec039 Merge pull request #3472 from phire/TVs_dont_have_pixels
Rework the aspect ratio calculation (Fixes 240p mode)
2016-01-09 04:27:16 +01:00
Scott Mansell c49a82bf0a Rework aspect ratio calculations.
They are now based on signal timings rather than pixels, as it
didn't make a lot of sense to do things with pixels.

Now handles all 240i/240p/480i/480p modes without any special
casing.

Despite the diffrent equaions, this should result in the exact same aspect
ratio as the previous code.
2016-01-09 14:30:46 +13:00
Pierre Bourdon bf1c53a6e8 Merge pull request #3451 from RisingFog/libav
Use ffmpeg for Windows Video Dumping instead of VFW
2016-01-09 01:01:05 +01:00
Matt Mastracci a60b24c937 MemoryWatcher: Initialize m_running to false to prevent crashes on OSX in the dtor when it picks up the wrong initial value 2016-01-08 12:20:35 -07:00
Chris Burgener 66595b0ac9 Force XVID FourCC for MPEG4 output 2016-01-08 10:22:19 -05:00
Scott Mansell 9c0dae47ca Normalize aspect ratio calculations to 4:3
Video Interface simply isn't aware about widescreen.
Instead, the render class can multiply by 1.3333333 to get
the 16:9 aspect ratio.
2016-01-08 13:31:48 +13:00
Chris Burgener c34fb3edf0 Use ffmpeg for Windows Video Dumping instead of VFW 2016-01-07 18:37:58 -05:00
Jules Blok db551c55a2 FrameBufferManager: Fix typo in stereoscopic MSAA shader. 2016-01-07 20:05:12 +01:00
Pierre Bourdon 89bb4b1288 Merge pull request #3460 from JosJuice/platform-icon-padding
Adjust the size of the Wii platform icon and padding of all platform icons
2016-01-07 00:50:06 +01:00
Pierre Bourdon bff79df363 Merge pull request #3429 from sepalani/debug_vector_fix
Debug Builds: Fixed vector assertion
2016-01-07 00:48:40 +01:00
Pierre Bourdon e668fd7a02 Merge pull request #3465 from Sonicadvance1/Android_move_jni
Move Android JNI bits from DolphinWX to the Android folder.
2016-01-07 00:47:39 +01:00
Pierre Bourdon 7c91dbe239 Merge pull request #3467 from mathieui/netplay_version_commit_hash
Use the current commit hash in the netplay version
2016-01-07 00:45:11 +01:00
Pierre Bourdon 22555312de Merge pull request #3464 from Armada651/stereo-warnings
VideoConfig: Don't give warnings for per-game stereoscopy parameters.
2016-01-07 00:35:14 +01:00
Pierre Bourdon 4553f723ff Merge pull request #3466 from JosJuice/game-list-empty-condition
DolphinWX: Unify the condition for the game list being empty
2016-01-07 00:33:32 +01:00
mathieui 40c7a2fb7d Use the current commit hash in the netplay version
So that it contains the current commit and not an arbitrary date that
may or may not be up-to-date. This will cause tears as people will not
be able to use netplay with one diverging commit that does not touch
anything related. On the other hand, users can’t be trusted.
2016-01-07 00:17:05 +01:00
JosJuice 85ab84935a Use the English name for DK Bongos in the English version of Dolphin
Tarukonga is Japanese. People who don't speak Japanese are unlikely to
understand it.
2016-01-07 00:12:25 +01:00
Ryan Houdek 74478addeb Move Android JNI bits from DolphinWX to the Android folder. 2016-01-06 15:36:44 -06:00
JosJuice dcde91cdd8 DolphinWX: Unify the condition for the game list being empty
When there are no games to display in the game list, DolphinWX shows a
message instead. Clicking the message will perform an action. If the game
list truly is empty, the message and action are for opening a browse
dialog, but if the user has hidden some games, they are instead for
unhiding all games. However, the condition for checking which message to
display lacked some parts that are in the condition for checking which
action to use, so the two could be different in rare cases. This PR fixes
that by breaking out the two conditions to a new unified function.
2016-01-06 22:25:30 +01:00
Jules Blok 1e111421e9 VideoConfig: Don't give warnings for per-game stereoscopy parameters. 2016-01-06 22:21:12 +01:00
degasus efbe5bc4b6 VideoSW: Use more VideoCommon
Now we require lots of empty functions, but this removes by far more duplicated code.
2016-01-06 22:10:29 +01:00
Ryan Houdek 7fcb5a803b Merge pull request #3359 from degasus/ini
VideoConfig: Use "GFX.ini" for both D3D and OGL.
2016-01-06 16:02:23 -05:00
Markus Wick 05fdf0398b Merge pull request #3313 from degasus/videosw
VideoSW: Clear Vertex data before usage
2016-01-06 21:56:02 +01:00
degasus ad1f7576ad VideoConfig: Use "GFX.ini" for both D3D and OGL.
They share the same format, so there is no need to separate their configs.
2016-01-06 21:43:11 +01:00
Ryan Houdek 0a42a0ab1b Merge pull request #3428 from Sonicadvance1/proper_glextensions
Make GLExtensions no longer require slghtly modified GL headers
2016-01-06 15:24:47 -05:00
Ryan Houdek 342496563d Merge pull request #3455 from Sonicadvance1/GC_adapter_android
[Android] Add support for the Wii U Gamecube adapter under Android.
2016-01-06 15:07:09 -05:00
JosJuice e6cee3a130 DolphinWX: Re-add some padding for platform icons
The padding on the right was changed from 3px to 0px by fd2d505. 1px is
needed for counteracting the white 1px line to the left of the game list.
2016-01-06 21:06:36 +01:00
Mathew Maidment 87e753b104 Merge pull request #3459 from JosJuice/custom-texture-all-regions-2
HiresTextures: Refactor getting directory
2016-01-06 14:19:33 -05:00
Ryan Houdek b49683b2e8 Merge pull request #3357 from JosJuice/no-xpm
DolphinWX: Stop using XPM images
2016-01-06 13:37:03 -05:00
JosJuice 03091ce180 HiresTextures: Refactor getting directory 2016-01-06 19:35:16 +01:00
Ryan Houdek adffa5fbec Merge pull request #3457 from booto/si-sampling
[RFC] SI: Base SI sampling on VSync & horiz lines
2016-01-06 13:02:38 -05:00
booto a1db1a2082 SI: Base SI sampling on VSync & horiz lines 2016-01-06 23:47:20 +08:00
JosJuice 42237dc511 Merge pull request #3456 from JosJuice/custom-texture-all-regions
HiresTextures: Also look for directories with 3-character IDs
2016-01-06 14:43:49 +01:00
JosJuice a2b45a4b82 HiresTextures: Also look for directories with 3-character IDs
People who make texture packs usually release them using a specific ID
(for instance SX4E01). Users who have a different version of the game
(like the PAL version SX4P01) then need to rename the custom texture
folder to match. This is a lot simpler than renaming every texture file,
as was required with the old texture format, but it's still something
that users can forget to do. To make that unnecessary, this change makes
it possible to use three-character region-free IDs for custom texture
folders, similarly to how game INIs can use three-character IDs. Once
most people have updated to Dolphin versions that include this change,
those who make texture packs will be able to name them with
three-character IDs, removing the need for users to rename anything.
2016-01-06 14:33:36 +01:00
Markus Wick 86b0e7e4f2 Merge pull request #3356 from degasus/master
Throttler: Rename "framelimiter" to "emulation speed".
2016-01-06 14:21:55 +01:00
Ryan Houdek e62503c873 [Android] Add support for the Wii U Gamecube adapter under Android.
No way to properly enable it from an end user perspective yet.
Doesn't require root.
This same sort of system can be used for the Dolphinbar in the future for real wiimote support.
2016-01-06 01:10:54 -06:00
Ryan Houdek 6e503bebc4 Add a stubbed GCAdapter namespace.
This cleans up a bunch of #ifdef checks in places.
2016-01-06 00:57:08 -06:00
Ryan Houdek af6a5ddafe Fixup typo in GCAdapter 2016-01-06 00:41:00 -06:00
Ryan Houdek 1dcc199a63 Fix GCPad recalibration shortcut.
Dolphin has supported the recalibration shortcut (X+Y+Start) for quite a long while. So if someont's axises are terrible, you could easily
recalibrate.
Games even get the initial calibration upon boot(Most of the time).

While changing over the GCAdapter code, I was testing to make sure the reset and calibration shortcuts still worked, turns out they didn't work at
all.
Looking in to the problem, we capture the combination properly, and we wait three seconds until we actually fire that off recalibration.
The problem is for Nintendo's SDK to properly handle recalibrating, we need to send back data saying that it needs to recalibrate.
On hardware this is done as part of the 64bits of data the controller sends back to us.
On holding of the controller, bit 61 of the return value is set, which the Nintendo SDK catches, and then signals immediately afterwards a CMD_ORIGIN
command in order to recalibrate the controller.
We were outright ignoring this bit, so the library wasn't ever recalibrating. I suspect in the past the class itself used to use the calibration data
to to offset the data, but somewhere along the lines it got munged out of existence.

The Gamecube adapter does this shortcut in a bit of a unique way, instead of sending the command and having the library support it and what have you.
Once holding the shortcut for the amount of time, the adapter reports back that the controller has actually been disconnected. Then when you let go of
the combination, the adapter states that a new device has been connected to that port, and the recalibration happens because a new device is
"connected."

This fixes controller calibration for both emulated GC controllers and also the Wii Gamecube Adapter.
2016-01-06 00:41:00 -06:00
Anthony Serna 2ee84a20fe [UI] Remove DolphinQt 2016-01-05 19:42:02 -06:00
degasus 3ff4ec275a Throttler: Rename "framelimiter" to "emulation speed".
We don't throttle by frames, we throttle by coretiming speed.
So looking up VI for calculating the speed was just very wrong.
The new ini option is a float, 1.0f for fullspeed.
In the GUI, percentual values are used.
2016-01-05 23:39:05 +01:00
Ryan Houdek 49410576e9 Make the Wii U Gamecube adapter work with less magic.
The Wii U Gamecube controller adapter setup has always been a bit weird. It tries to be as automatic as possible to make the user experience as easy
as possible.
The problem with this approach is that it brings a large disconnect in the user experience because you have the Gamecube controller setup with regular
gamepads and then for some reason below that you have a "direct connect" option which will cause the Gamecube Adapter to overwrite the regular inputs
if something was connected.
While this works and allows the user to only click one checkbox to get the device working, it breaks the user's experience because they don't really
know what "direct connect" means and won't look it up to figure out what it is. Just expecting the device to work (At least one occurence of this in
the IRC channel in the last week).

This way around also had the terrible nature of making the code more filthy than it needed to be. The GCAdapter namespace was parasitic and hooked in
to the regular GC Controller SI class to overwrite the data that it was getting from the default configuration.
Now instead we have a specific SIDevice class for the Wii U Gamecube adapter. This class is fairly simple and is a child of the regular SI Gamecube
Pad device and only reimplements what it needs to.
This also gives the ability to configure controllers individually, which allows the user to configure rumble individually per pad input.

Overall the code is cleaner, and it fits more in line with how the rest of Dolphin works.
2016-01-05 13:44:37 -06:00
Ryan Houdek 6e932af831 Add two missing values that can fit in GCPadStatus 2016-01-05 13:44:37 -06:00