Commit Graph

18713 Commits

Author SHA1 Message Date
shuffle2 472d5078e6 Merge pull request #4351 from leoetlino/no-idea-device
IPC_HLE: Remove unused _Unimplemented_Device_ device
2016-10-15 22:35:10 -07:00
shuffle2 1e9f052ea5 Merge pull request #4357 from ligfx/notresponsibleforhw
HW: Don't be responsible for g_controller_interface
2016-10-15 22:18:20 -07:00
shuffle2 ce5c8c28b2 Merge pull request #4302 from leoetlino/graceful-fixes
Minor fixes to graceful shutdown
2016-10-15 21:47:07 -07:00
Sean Maas 662cedfb78 Android: Fix some settings 2016-10-15 23:14:48 -04:00
shuffle2 d2d4edf964 Merge pull request #4352 from lioncash/fwd
NANDContentLoader: Add IOFile forward declaration
2016-10-15 16:38:58 -07:00
Michael Maltese a082e9324f HW: Don't be responsible for g_controller_interface
Currently, `g_controller_interface` is initialized and shut down by each
of `GCKeyboard`, `GCPad`, `Wiimote`, and `HotkeyManager`.

This 1) is weird conceptually, because it necessitates passing a pointer
to the native window to each of those classes, which don't need it, and
2) can cause issues when controller backends are initialized or shutdown
multiple times in succession.
2016-10-15 16:37:39 -07:00
Léo Lam a0a246bf3e Only attempt a graceful shutdown when there's a STM hook
For Wii graceful shutdown to work, the emulated software has to open
the STM event hook and install a hook. Without this, there is no way
to inform them about the shutdown, so trying to do a graceful shutdown
and requiring the use of the shutdown fallback (exiting a second time
to force) is pointless.
2016-10-15 22:28:07 +02:00
Léo Lam 48ff76d495 DolphinWX: Update GUI properly after unpausing
If an unpause was forced by the graceful shutdown code, the UI was
previously not updated.
2016-10-15 21:58:55 +02:00
Léo Lam fa009ab6f6 DolphinWX: Exit after closing main window or on signal
Previously Dolphin would only exit if the main window is closed,
and Confirm on Stop is enabled.

This makes Dolphin's behaviour more consistent by always exiting
if the main window is closed or on shutdown signal.
2016-10-15 21:58:55 +02:00
Sepalani 771fa943dc BreakPoints: ClearAllTemporary uses valid iterators 2016-10-15 19:21:41 +01:00
JosJuice a6bb1b642a DVDInterface: Better memory locality for DTK byteswapping 2016-10-15 15:28:23 +02:00
JosJuice e1f6ab5592 DVDThread: Remove s_dvd_thread_done_working and fix race condition
s_dvd_thread_done_working makes the logic more complicated,
and degasus pointed out a race condition that can happen if
the CPU thread calls WaitForIdle right in between the DVD
thread executing done_working.Set() and done_working.Reset()
while there is work left to do. To avoid this, let's just get
rid of s_dvd_thread_done_working. It's a relic from the old
DVDThread design. Thanks to the last few commits, WaitUntilIdle
only gets called rarely (disc change and savestate), so it's
not a problem if WaitUntilIdle ends up being slower.
2016-10-15 15:28:15 +02:00
JosJuice f1879cc356 DVDInterface: Reorder variables
Might as well do this while I'm already breaking
savestate compatibility.
2016-10-15 15:28:11 +02:00
JosJuice 98fb037dee DVDInterface: Handle DTK beyond 4 GiB
Might as well do this while I'm already breaking
savestate compatibility.
2016-10-15 15:28:06 +02:00
JosJuice a450e33fb3 DVDInterface: Read DTK data in DVDThread 2016-10-15 15:28:02 +02:00
JosJuice 28bfd52d3a DVDInterface: Prepare for reading DTK data in DVDThread 2016-10-15 15:27:54 +02:00
JosJuice aabb17b7c9 DVDThread: Use queues
This makes it possible to submit a read without waiting for
the previous read to finish.
2016-10-15 15:27:16 +02:00
degasus 1cc1876002 Revert "Merge pull request #4286 from shuffle2/Aestek-clean-osd"
This reverts commit 5c0fa4db4f, reversing
changes made to b8731eb818.
2016-10-15 12:44:37 +02:00
degasus b8a1611f4a Revert "Merge pull request #4287 from shuffle2/typo-fix"
This reverts commit 6bff97ea30, reversing
changes made to 5c0fa4db4f.
2016-10-15 12:33:27 +02:00
JosJuice a2f352c422 DVDThread: Use structs for requests and results
This is a preparation for adding a queue to DVDThread.
Currently, s_read_request and s_read_result act somewhat like
queues that only can contain one object.
2016-10-15 11:32:11 +02:00
Lioncash d9eb7c4e80 NANDContentLoader: Add IOFile forward declaration
This would previously fail to compile when included in files that do not
include FileUtil.h due to lack of a type declaration.

This moves the constructor and destructor into the cpp file in order to
satisfy the requirements of unique_ptr construction and deletion. That is,
unique_ptr requires a concrete type at the point of construction and
destruction. If the constructor or destructor is left in the header, then
at the point of construction or destruction, IOFile will still be
considered an incomplete type, as unique_ptr's deleter will still only be
able to see the forward declaration, which it can't use.
2016-10-14 20:27:22 -04:00
Léo Lam 8e78477631 IPC_HLE: Remove unused _Unimplemented_Device_ device
Unless I'm misreading the code, it doesn't look like this serves any
purpose, and is only polluting the logs.

_Unimplemented_Device_ looked like a device name that was picked to
be used somewhere else in Dolphin, but this doesn't seem to be the case
since 2012 (d95e31a removed the only other usage of this fake device).
2016-10-14 23:27:55 +02:00
Markus Wick 183f3c3759 Merge pull request #4332 from leoetlino/sync-sysconf-on-exit
ConfigManager: Sync Dolphin settings to SYSCONF on exit
2016-10-14 09:57:10 +02:00
Sean Maas f981098438 Android: On-screen classic controller + Wii controller select
It's now possible to switch between a horizontal or vertical Wiimote
with no extension, a Wiimote with a Nunchuk, a Classic Controller,
or a GameCube Controller when running a Wii game.
2016-10-13 21:31:36 -04:00
shuffle2 3a52885e7a Merge pull request #4349 from container1234/bba
EXI: Fix incorrect byte order when writing 3-byte data to BBA_WRTXFIFOD
2016-10-13 15:59:31 -07:00
Mat M 14facbc438 Merge pull request #4339 from lioncash/wx-menu
DolphinWX: Move debugger menu item creation to CFrame
2016-10-13 15:45:20 -04:00
container1234 5716d2bc0e Fix incorrect byte order when writing 3byte data to BBA_WRTXFIFOD 2016-10-13 23:33:17 +09:00
Markus Wick 5541237b74 Merge pull request #4346 from degasus/framedump_sw
VideoSW: Use VideoCommon frame dumping.
2016-10-13 16:05:08 +02:00
Sean Maas 126117cdf7 Android: Use the light theme for emulation 2016-10-12 22:45:03 -04:00
Mat M b15bcc6aa0 Merge pull request #4341 from degasus/syncgpufix
SyncGPU: Fix savestate.
2016-10-12 07:23:38 -04:00
degasus df5eff9ab7 VideoSW: Use VideoCommon frame dumping. 2016-10-11 22:32:06 +02:00
Markus Wick 7d5363ffa8 Merge pull request #4337 from degasus/framedump
AVIDump: Move CoreTiming into caller.
2016-10-11 22:25:28 +02:00
Rohit Nirmal dc1b35fa4b Fix building with PCH disabled. 2016-10-11 14:25:14 -05:00
degasus 22681ad975 SyncGPU: Fix savestate. 2016-10-11 18:29:53 +02:00
Lioncash 6a67b571cc DolphinWX: Move creation of debugger menu items into CFrame
Unifies the creation of all the menus into the main frame class.
Now it isn't spread out across the main frame and the code window.

This doesn't alter the placement of the handling functions, as this would
involve unrelated changes, since it would require modifying where
window-related variables are placed. This will be amended in a follow up
changeset.
2016-10-10 19:53:33 -04:00
Lioncash 6420a1c715 Frame: Separate menu creation into individual functions
Keeps related menu items together based on top level menu. This will be
more convenient in the future when debugger menu bar item handling is
moved to CFrame, as it won't be a huge amount of code in one function.

This also makes it easier to locate menu bar code whenever it needs to be
changed.
2016-10-10 16:45:31 -04:00
Jules Blok ab5054c34e VideoBackends: Always enable dual-source blending if supported. 2016-10-10 17:32:51 +02:00
Jules Blok 93109df654 PixelShaderGen: Use dual source blending to do 8-bit blending. 2016-10-10 15:34:55 +02:00
Jules Blok d61ae5a88a PixelShaderGen: Only set dither uid bit if actually used. 2016-10-10 14:32:21 +02:00
Jules Blok 23d9d91411 VideoConfigDiag: True color means 24-bit, not hw color. 2016-10-10 14:32:21 +02:00
Jules Blok e8cddae132 VideoConfig: Turn on ForceTrueColor by default. 2016-10-10 14:31:53 +02:00
Jules Blok 365e88e311 VideoConfig: Add an option to force RGB8 EFB format. 2016-10-10 14:31:53 +02:00
Jules Blok 31a4ee7bfc PixelShaderGen: Always truncate the alpha channel to 6-bit. 2016-10-10 14:30:14 +02:00
Jules Blok 9bc466a443 PixelShaderGen: Add support for dithering. 2016-10-10 14:30:14 +02:00
Jules Blok b958457e51 PixelShaderGen: Add support for RGBA6 EFB format truncation. 2016-10-10 14:27:30 +02:00
degasus 9f264c0872 AVIDump: Move CoreTiming into caller. 2016-10-10 12:03:18 +02:00
Markus Wick a583d36c7f Merge pull request #4326 from degasus/framedump
Framedump: Merge screenshot code with framedumping.
2016-10-10 11:48:57 +02:00
Michael Maltese c253076564 AudioConfigPane: clang-format 2016-10-09 19:34:11 -07:00
Michael Maltese 78655e5fed AudioConfigPane: gray-out extra text for disabled controls 2016-10-09 19:33:50 -07:00
Michael Maltese a0ebafe9a9 AudioConfigPane: move DPL2 decoding into 'Backend Settings' 2016-10-09 19:22:18 -07:00
Michael Maltese 45903b7b4d AudioCommon: SupportsDPL2Decoder, SupportsLatencyControl, SupportsVolumeChanges 2016-10-09 19:18:16 -07:00
Michael Maltese 4834a90e63 AudioConfigPane: dedupe code into ToggleBackendSpecificControls 2016-10-09 19:10:24 -07:00
Sean Maas 05f78a7707 Android: Add custom control scaling
Also put all touch control settings under a "Configure Controls" submenu
so the in-game menu isn't so cluttered.
2016-10-09 19:00:32 -04:00
Michael Maltese 6b2f6e3884 InputConfigDialog: use SelectObjectAsSource in UpdateBitmaps
Fixes issue [Configuring an Emulated Wiimote crashes the application on
OS X 10.12 Sierra][1]

[1]: https://bugs.dolphin-emu.org/issues/9832
2016-10-09 15:31:42 -07:00
Léo Lam 8a0b292f07 ConfigManager: Sync Dolphin settings to SYSCONF on exit
4319 made Dolphin not read/write directly to the SYSCONF and read
settings from the SYSCONF at boot, and only write Dolphin settings
to the SYSCONF at emulation startup.

However, this also made it a bit confusing, because if settings were
changed, then Dolphin was exited without starting a game in between,
the settings wouldn't actually get persisted. This is fixed by
syncing Dolphin settings with the SYSCONF when Dolphin exits.
2016-10-09 17:15:24 +02:00
shuffle2 c8cb1fa7d7 Merge pull request #4319 from leoetlino/sysconf
Don't read/store settings directly from/to SYSCONF (and fix config restore)
2016-10-09 02:34:52 -07:00
shuffle2 3ec91a4e33 Merge pull request #4330 from ligfx/no_vulkan_on_mac
Don't build Vulkan video backend on macOS
2016-10-08 20:58:18 -07:00
Helios747 7efb272629 [UI] Remove idle skipping from game properties 2016-10-08 18:16:15 -05:00
shuffle2 23b5a41e0e Merge pull request #4313 from lioncash/u8
HW: Change u8 pad specifier params to int where applicable
2016-10-08 14:10:10 -07:00
Markus Wick a86b2c15d8 Merge pull request #4322 from Helios747/I_hate_features
Remove Frameskip
2016-10-08 21:41:43 +02:00
degasus 64927a2f81 Renderer: Merge screenshot logic into VideoCommon. 2016-10-08 19:38:57 +02:00
anthony b427ead0cc Remove Frameskip 2016-10-08 11:49:51 -05:00
degasus 21e42c68c4 Renderer: Remove write-only variable.
Sorry, merge failure.
2016-10-08 18:26:43 +02:00
degasus db0509560e AVIDump: Hard code rgba. 2016-10-08 18:16:32 +02:00
degasus 0864ef4352 VideoCommon: Add custom stride for framedumping. 2016-10-08 15:44:54 +02:00
degasus 1ef5ba0c53 D3D: Skip redundant format convertions. 2016-10-08 15:40:49 +02:00
degasus b5a91e1dfa Framedumps: Add finish() function to limit memory lifetime. 2016-10-08 15:39:22 +02:00
degasus ebc617882b VideoCommon: Drop RepeatFrameDumpFrame helper.
This was needed with fixed framerate dumping. As we now synchronize the frames, the last one will just get padded.
2016-10-08 15:39:21 +02:00
sigmabeta 01b8a937ff Fix games being invisible in the game list on non-TV devices 2016-10-08 08:57:32 -04:00
Léo Lam afd2f58e29 Don't read/store settings directly from/to SYSCONF
Instead of directly reading/storing settings from/to the SYSCONF, we
now store Wii settings to Dolphin's own configuration, and apply them
on boot. This prevents issues with settings not being saved, being
overridden and lost (if the user opens a dialog that writes to the
SYSCONF while a game is running).

This also fixes restoring settings from the config cache after a
graceful shutdown; for some reason, settings were only restored
after a normal shutdown.

Fixes issue 9825 and 9826
2016-10-08 14:37:55 +02:00
Markus Wick b0acf1bf8f Merge pull request #4323 from degasus/png
ImageWriter: Don't use inplace alpha truncation.
2016-10-08 12:10:40 +02:00
degasus d078309827 ImageWriter: Don't use inplace alpha truncation.
This may lead to errors in the D3D backend, as we overwrite read-only memory.
2016-10-08 12:02:49 +02:00
Markus Wick 6e8901de17 Merge pull request #4315 from stenzek/vulkan-aspect
Vulkan: Handle forced aspect ratio changes at runtime
2016-10-08 11:53:22 +02:00
Stenzek 176b00ded7 Vulkan: Handle forced aspect ratio changes at runtime 2016-10-08 18:59:46 +10:00
Markus Wick 0e5fc56bc9 Merge pull request #4316 from lioncash/debug
DebugInterface: Make GetRawMemoryString return a std::string
2016-10-08 10:48:45 +02:00
Markus Wick 1a2d71cb58 Merge pull request #4310 from lioncash/dsptable
DSPRegisterView: Minor changes
2016-10-08 10:40:14 +02:00
Markus Wick 4ba1100f31 Merge pull request #4269 from degasus/singlecore
Fifo: Fix SyncGPU on dual core mode.
2016-10-08 01:26:34 +02:00
Léo Lam 39fd6dcd5b Fix missing includes
Aren't indirect includes great?
2016-10-07 23:46:41 +02:00
degasus 8c999f9ee8 VideoCommon: Mark framedump variables as private.
And rename them to the new naming scheme.
2016-10-07 23:17:21 +02:00
degasus e82cf46436 Vulkan: Use VideoCommon framedump helpers. 2016-10-07 23:17:16 +02:00
degasus 6b08830a95 D3D12: Use VideoCommon framedump helpers. 2016-10-07 23:15:10 +02:00
degasus 64b648f6c8 D3D: Use VideoCommon framedumping helpers. 2016-10-07 23:10:36 +02:00
degasus a530708bb1 OGL: Use VideoCommon framedump helpers. 2016-10-07 23:09:10 +02:00
degasus f45ddddf1c VideoCommon: Add shared framedumping code. 2016-10-07 23:07:40 +02:00
degasus 34d733d376 OGL/Render: Drop write-only variable. 2016-10-07 21:44:52 +02:00
Markus Wick 5e027a0817 Merge pull request #4314 from lioncash/dsp-interface
DSPEmulator: Move common variable into base class
2016-10-07 18:27:09 +02:00
Lioncash ee71d70738 DebugInterface: Make GetRawMemoryString return a std::string 2016-10-07 10:26:26 -04:00
Lioncash 8b29b09f24 DSPLLE: in-class initialize variables 2016-10-07 09:13:56 -04:00
Lioncash aaa1da5abc DSPEmulator: Move common variable into base class 2016-10-07 08:55:54 -04:00
Lioncash 9cab4e414c HW: Change u8 pad specifier params to int where applicable
Using u8 as indexers is kind of silly, since the rest of the public API
essentially uses int for this sort of thing. Changing these to int also
gets rid of quite a few implicit truncations.

This also allows for getting rid of similar silliness in the netplay API.
2016-10-07 08:14:12 -04:00
Michael Maltese f301ebf780 Don't build Vulkan video backend on macOS
There's no official implementation of the Vulkan API,
and Dolphin currently isn't set-up to work with the
single, commercially-available third-party implementation.
2016-10-06 16:53:55 -07:00
Markus Wick 3245ca236a Merge pull request #4307 from stenzek/vulkan-palette-srcformat
Vulkan: Use correct source format to determine palette size
2016-10-06 21:29:28 +02:00
Markus Wick ff1d70d708 Merge pull request #4308 from aldelaro5/memcheck-gui-relabel
Label debugger memchecks as "Memory Breakpoints" in the GUI
2016-10-06 21:29:14 +02:00
Lioncash 2ba0d6eb77 DSPRegisterView: Get rid of magic numbers 2016-10-06 13:02:49 -04:00
Lioncash 5dedd0a85b DSPRegisterView: Make DSPRegisterView's constructor explicit 2016-10-06 12:36:32 -04:00
Lioncash 2781ae5af1 DSPRegisterView: Mark classes as final
These aren't intended to be extended upon.
2016-10-06 12:35:31 -04:00
Lioncash 66fd347d2e DSPRegisterView: Move private members below public API 2016-10-06 12:29:37 -04:00
Lioncash f935485158 DSPRegisterView: Get rid of explicit memsets 2016-10-06 12:29:32 -04:00
Markus Wick f028b7079e Merge pull request #4252 from degasus/android
Android: Update the gradle file to use android studio 2.2 cmake.
2016-10-06 18:13:09 +02:00
aldelaro5 549060c5b4 Label debugger memchecks as "Memory Breakpoints" in the GUI
This is done to remove confusions among potential debugger users and to also make it more accurately tell what this feature is actually doing.  Despite being true that it is using a memcheck (and it certianly checks that memory), the idea being to break on a memory access isn't really obvious especially considering that memchecks are also used in full MMU emulation to handle exceptions.  It also doesn't help that memchecks are now supported in every builds.

It also changes the corresponding log because this log would be wanted by the user which means it should be more obvious that it was caused by the "memory breakpoint".
2016-10-06 10:51:43 -04:00