Commit Graph

15110 Commits

Author SHA1 Message Date
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