Commit Graph

19079 Commits

Author SHA1 Message Date
Lioncash 20fcfd0ed8 DolphinWX: Separate the information panel from ISOProperties
Makes the information panel self-contained.

This was done first, as opposed to isolating the GameConfig panel--the
first panel in the group--as this panel had code all over the place in
ISOProperties, so I figured it'd be best to fix this one up first.
2016-12-01 21:21:46 -05:00
Mat M 2e7c90eeb5 Merge pull request #4450 from PEmu1/fifo-player-capitalization
Update FIFO Player Window Capitalization
2016-12-01 21:09:44 -05:00
Anthony 0705c53681 Merge pull request #4340 from sepalani/step_timeout
CodeWindow: Fix step out issues
2016-12-01 13:32:44 -06:00
Anthony ffe20705dd Merge pull request #4362 from ligfx/osxhotplug
ControllerInterface: enable hotplugging on macOS
2016-12-01 00:29:56 -06:00
Michael Maltese 7ed8fb95c5 ControllerInterface: enable hotplugging on macOS 2016-11-30 22:27:46 -08:00
Anthony a95e3c875e Merge pull request #4343 from ligfx/fixsdlcrash
ControllerInterface: Fix crashes when using SDL controllers
2016-11-30 20:47:38 -06:00
Stenzek e2018f2208 Merge pull request #4480 from stenzek/vulkan-streambuffer-reuse
Vulkan: Fix stream buffer re-use problems
2016-12-01 12:38:31 +10:00
Michael Maltese 3e69d066f5 ControllerInterface: replace Reinitialize with RefreshDevices
The SDL backend crashes when you close a joystick after SDL_Quit has
been called. Some backends don't need to be shutdown and
re-initialized everytime, we can just ask to enumerate devices again.
2016-11-30 16:07:55 -08:00
Michael Maltese cebb4d84f2 ControllerInterface: clear devices before shutting down backends
The SDL backend faults if it tries to close a joystick after SDL_Quit
has been called.
2016-11-30 16:07:54 -08:00
Hector Martin 90c2dec02d Wii IPC HLE: do not clobber memory when launching a new title
It's questionable whether ES_LAUNCH should write *anything* to the
command structure at all, ever, given that it never actually returns
it back through the mailbox. But it *definitely* shouldn't write
anything to it if it has just launched a DOL, because otherwise it might
clobber code/data from the just-loaded application.
2016-12-01 06:55:15 +09:00
Hector Martin 288e75f672 Wii IPC HLE: Fix IPC missing reply fail 2016-12-01 06:38:51 +09:00
Hector Martin 2b906e3fc4 DOL/ELF loaders: enable HID4.SBE in Wii mode
When booting "cooked" executables, BATs should already be set up and
enabled. They should only really be disabled when booting NAND contents
in real mode.
2016-12-01 06:36:53 +09:00
Hector Martin a6742d9cf7 ELF boot: scan segments for Wii mode detection, not sections 2016-12-01 06:36:53 +09:00
Hector Martin 3f11879640 ES HLE / WAD boot: hardcode the entrypoint
NAND titles are always started at address 0x3400 with translation off.
The entrypoint in the DOL is ignored.
2016-12-01 06:36:53 +09:00
Stenzek ca691a9d95 Vulkan: Allow re-use of uniform buffers when doing per-stage uploads
This is safe now because we invalidate the pointers after submitting a
command buffer.
2016-11-30 23:34:46 +10:00
Stenzek 6a4eba1153 Vulkan: Replace explicit command buffer submits with wrapper function
Should we ever introduce anything else that has to be done when a command
buffer is executed (e.g. invalidating constants from previous commit), we
don't have to update all the callers.
2016-11-30 23:14:36 +10:00
Stenzek 3adeacb78d Vulkan: Fix case where uniforms could be overwritten
If a draw caused a command buffer submission, the current uniform storage
should not be used for the new command buffer.
2016-11-30 23:14:35 +10:00
Stenzek 4c11735bd5 Vulkan: Fix case where a draw's vertices could be overwritten
This could happen because the vertex memory was already committed, if a
uniform buffer allocation failed and caused a command buffer to be
executed, it would be associated with the previous command buffer rather
than the buffer containing the draw that consumed these vertices.
2016-11-30 22:45:00 +10:00
Stenzek 37550501cc Vulkan: Fix incorrect handling of buffer wrap-around in StreamBuffer
This was happening when a fence wait happened mid-frame. The data written
between the fence being queued and the allocation occuring was incorrectly
assumed to be consumed by the GPU.
2016-11-30 22:44:52 +10:00
Sean Maas 8647639746 Android: Fix Wii bindings resetting everything 2016-11-29 22:27:40 -05:00
JosJuice 3cfc49a613 Merge pull request #4472 from JosJuice/revert-absolute-path
IOS HLE: Replace broken path traversal prevention
2016-11-29 18:34:22 +01:00
aldelaro5 f705d8378e Fix the order of the name of the hotkeys 2016-11-29 11:51:55 -05:00
Stenzek aadc77c493 Merge pull request #3649 from stenzek/wgl-core-shared
GLInterface: Implement core and shared context creation for WGL
2016-11-29 22:59:31 +10:00
Mat M eebe4ef1fd Merge pull request #4461 from aldelaro5/hotkey-config-redo
Redo every input configuration dialog
2016-11-29 07:39:28 -05:00
Stenzek 7353cae707 GLInterface: Implement core and shared context creation for WGL 2016-11-29 20:04:32 +10:00
aldelaro5 32a0dae257 Completely redo All configuration dialog
Hotkeys

Make a new class that inherits from InputConfigDialog with a specialised constructor.  The changes are mainly the top portion and it now uses tabs to categorise the hotkeys.

Redo the GCPad configuration dialog

The layout is similar, but it now allows flexibility to change it more easily.

Redo the GC Keyboard configuration dialog

Same layout.

Redo completely the Wiimote configuration dialog

Separated the controls into 2 tabs to make them less imposing overall.

Redo the Nunchuk configuration dialog

Similar layout, except for 2 control group sizers.

Redo the Classic controller configuration dialog

Same layout.

Redo the Guitar input configuration dialog

Stacked 2 sets of group together.

Redo the Turntable configuration dialog

More stacked groups and the window is much less wide.
2016-11-28 08:26:34 -05:00
aldelaro5 03e0cae9b7 Prepare for having different extensions dialogs
Just setting up a switch on the type so that different dialogs can be instantiated.  This also makes the extension type an enum because I don't see why not here and finally, it removes ControlGroupSizer.  This removal allows to not dynamically generate the UI, but instead, let the specialised constructors do the layout.
2016-11-28 08:26:34 -05:00
aldelaro5 00f680b830 Add flexibility to InputConfigDialog
Removed the unecessary forced tabbed layout, removed the layout part of the constructor and remade some method in preparation for tabbed styled input dialog such as the new hotkey configuration one.  It breaks every inputconfigDialog, but this will get fixed in the next commits.

Also moved to a folder since there will be many more files created in the next commits so it gives better separation.
2016-11-28 08:26:27 -05:00
Stenzek 0212741574 Merge pull request #4436 from stenzek/vulkan-full-ir-framedump
VideoBackends: Internal resolution frame dumping
2016-11-28 22:05:16 +10:00
Stenzek 49e807b71f Merge pull request #4459 from stenzek/nogui-resize-notify
DolphinNoGUI: Receive resize events and notify backend when this occurs
2016-11-28 22:04:21 +10:00
Stenzek b81dee8b9a OGL: Support full-resolution frame dumping 2016-11-28 21:54:56 +10:00
Stenzek 93221e7f48 OGL: Move frame rendering procedures to seperate methods 2016-11-28 21:54:56 +10:00
Stenzek 1c1a686f63 Vulkan: Support full resolution frame dumping 2016-11-28 21:54:55 +10:00
Stenzek adc22a5e20 VideoCommon: Add method for calculating full-scale framedump rectangles 2016-11-28 21:54:54 +10:00
Stenzek 8d48319414 Vulkan: Validate the pipeline cache before using it
This ensures that if a user changes adapters or vendors we're not passing
invalid data to the driver.
2016-11-28 21:21:55 +10:00
Stenzek 9604b336c8 Vulkan: Don't destroy the device's pipeline cache on MSAA mode change
The user could switch back again, and this would mean this data would be
lost. Disk space is cheap, and it's not going to be much.
2016-11-28 21:21:54 +10:00
Stenzek aac66a1b61 Vulkan: Implement a pipeline UID cache
This stores enough information to recreate the pipeline, including the
shader UIDs, blend/depth/rasterization state, primitive and vertex format.
2016-11-28 21:21:53 +10:00
Stenzek 6db0ee9561 VideoCommon: Remove backbuffer size parameters from methods
We have the s_backbuffer_{width,height} fields to represent this, so
there's no point in passing them as parameters every time.
2016-11-28 20:14:59 +10:00
Stenzek a83ca587c6 VideoCommon: Make FramebufferManagerBase::GetTargetSize public 2016-11-28 20:14:59 +10:00
Stenzek a0a62c0f46 VideoConfig: Add option for full-resolution frame dumping 2016-11-28 20:14:59 +10:00
Stenzek 681294586b Merge pull request #4455 from stenzek/png-frame-dumping
VideoCommon: Support dumping frames to images
2016-11-28 20:03:50 +10:00
Stenzek e66373b7ff Merge pull request #4456 from stenzek/vulkan-framedump-fix-2
Vulkan: Fix black borders in frame dumps
2016-11-28 20:03:08 +10:00
Markus Wick 8dddc00ab0 Merge pull request #4474 from leoetlino/fewer-config-includes
Remove unnecessary ConfigManager includes
2016-11-28 10:01:13 +01:00
Léo Lam 72e3f1ecec Remove unnecessary ConfigManager includes
Making changes to ConfigManager.h has always been a pain, because
it means rebuilding half of Dolphin, since a lot of files depend on
and include this header.

However, it turns out some includes are unnecessary. This commit
removes ConfigManager includes from files which don't contain
SConfig or GPUDeterminismMode or GPU_DETERMINISM (which means the
ConfigManager include is not used).

(I've also had to get rid of some indirect includes.)
2016-11-27 22:38:38 +01:00
JosJuice 0c6fd47460 Add unit test for StringUtil's newly added JoinStrings 2016-11-27 22:11:14 +01:00
JosJuice 841e5893f4 IOS HLE: Add unit test for path/filename escaping 2016-11-27 22:11:05 +01:00
JosJuice 7a4f19ed98 IOS HLE: Correct handling of paths that don't start with / 2016-11-27 22:10:41 +01:00
Anthony 6c275d472e Merge pull request #4410 from SeannyM/android-inputbind
Android: Reimplement input binding
2016-11-26 18:00:57 -06:00
Sean Maas a90731e2ae Android: Add input binding menus 2016-11-26 18:29:33 -05:00
Sean Maas d10b336b0a Android: Add InputBindingSetting class
Also update MotionAlertDialog to work with the new setting, and remove the
old InputBindingPreference.
2016-11-26 18:29:25 -05:00
JosJuice c74c317ab5 IOS HLE: More robust escaping of NAND paths
Prevents path traversal without needing an absolute path
function, and also improves accuracy (character sequences
like ../ appear to have no special meaning in IOS).

This removes the creation and usage of /sys/replace,
because the new escapes are too complicated to all
be representable in its format and because no other
NAND handling software seems to use /sys/replace.
2016-11-26 22:49:46 +01:00
JosJuice de355a8521 Revert "IOS HLE: Prevent accessing host file system"
This reverts commit 141f3bfb3a.
The implementation of getting absolute paths wasn't working
on non-Windows systems, which is a huge problem for IOS HLE.
2016-11-26 15:50:28 +01:00
Anthony c84ab13e81 Merge pull request #4375 from leoetlino/ipc-hle-small-cleanup
IPC_HLE: Small cleanup
2016-11-25 17:50:14 -06:00
Anthony 6473a485d0 Merge pull request #4460 from linkmauve/no-miniupnpc
NetPlay: Fix build when miniupnpc is disabled
2016-11-25 16:28:27 -06:00
aldelaro5 7e99d03b7f Add the ability to get partial input group
For hotkeys, changed HotkeyManager to allow to get and make partial groups of hotkeys.

Also preserved the old configuration naming scheme for the ini, this is done to preserve compatibility with the older groups structure.

Add the ability to get GCPad control groups

Used like the HotkeyManager methods, this is used for the new GCPad configuration dialog.

Add the ability to get groups of Keyboard input

Same reasons as the previous ones.

Add ability to get groups of Wiimote input

Add the ability to get extensions group

This needed to pass to 3 classes.  Will be used for their respective dialogs.
2016-11-25 02:37:22 -05:00
Anthony 11243ac358 Merge pull request #4470 from aldelaro5/fix-slowdown-logs
Change the patch engine log to be debug level log
2016-11-24 16:25:53 -06:00
Léo Lam 5b44b37902 IPC_HLE: USB_KBD: Use the correct log type
Fixes logging to use the correct log type; it was originally STM
(likely an oversight).
2016-11-24 20:23:52 +01:00
Léo Lam 20f2955ad9 IPC_HLE: Remove dead code (Wiimote and emulated BT)
Neither needed or used in the emulated Bluetooth code.
2016-11-24 20:23:52 +01:00
Léo Lam f82051a365 IPC_HLE: In-class initialise member variables 2016-11-24 20:23:52 +01:00
Léo Lam 3263831928 IPC_HLE: Clean up includes (IWYU)
Apply automated fixes by include-what-you-use (IWYU) (with some minor
changes).

IPC_HLE should now be essentially free of indirect includes.
2016-11-24 20:23:51 +01:00
Léo Lam 1e94fdba3c IPC_HLE: Device: Separate implementation from declaration
I know there is already #3521, but it currently needs a rebase and I
needed to add something to IPC_HLE_Device properly, that is, without
putting everything in the header, so this commit cleans up
IPC_HLE_Device first. (And only IPC_HLE_Device: the rest will still
be handled by #3521.)

Also fixes a few indirect includes (removing unused header includes
from IPC_HLE_Device.h broke building)
2016-11-24 20:19:19 +01:00
Léo Lam 741a638f3e IPC_HLE: USB_VEN: Clean up (includes and naming) 2016-11-24 20:19:18 +01:00
Léo Lam b0377f02f0 IPC_HLE: Deduplicate syscall reply enqueue function
This is something that was copy-pasted across the IPC_HLE code
(because it's often used). Since all of the duplicated pieces of code
do the same thing as the previous EnqueueReply, except that they also
write to command_address + 0 and + 8 (to write the correct reply type),
this commit changes EnqueueReply to do that instead of having it
duplicated all over IPC HLE.
2016-11-24 20:19:18 +01:00
JosJuice 9bfea4a0f2 Merge pull request #4447 from JosJuice/hthh-hle-issues
Fix exploitable HLE problems reported by hthh
2016-11-24 15:53:23 +01:00
aldelaro5 c6b3c67ea1 Change the patch engine log to be debug level log
It was apparently causing heavy slowdowns on game even though it wouldn't spam much, probably caused by the amount of additional check caused by the logs levels changes.
2016-11-23 00:58:07 -05:00
Stenzek 6d0b9b816f VideoCommon: Support dumping frames to images
This is mainly for potential Android fifoci usage, and thus is not
exposed anywhere in the UI. To enable, set DumpFramesAsImages under
Settings in GFX.ini.
2016-11-23 12:07:49 +10:00
Ryan Meredith 6d55aebcf7 Typo_Fix 2016-11-21 23:23:48 -05:00
Emmanuel Gil Peyrot c4cd0d444a NetPlay: Fix build when miniupnpc is disabled. 2016-11-19 15:36:26 +00:00
Stenzek 1aecf90765 DolphinNoGUI: Receive resize events and notify backend when this occurs
Solves the viewport sizing issue for backends that cannot tell when the
window is resized (Vulkan on NV at least).
2016-11-19 23:03:20 +10:00
Stenzek d6d3341183 D3D: Fix strided XFB copies 2016-11-19 20:29:51 +10:00
Stenzek 6b88a854a7 Vulkan: Handle strided XFB copies
Where src_rect.width * 2 != dst_stride.
2016-11-19 20:29:47 +10:00
Léo Lam 165e3a9936 IPC_HLE: Fix emulated BT crash (uninitialised memory)
When the emulated BT device is created, m_HCIEndpoint (which is a
CtrlBuffer)'s m_cmd_address is not initialised to 0. So it ends up
being a random value. This is normally not an issue… but the
emulated Bluetooth code relies on m_cmd_address to know whether the
HCI endpoint is still valid.

This is a problem with ES_Launch, because the bt_emu class is
destructed and re-constructed, and while m_cmd_address is still
uninitialised, the ES_Launch code disconnects all Wii remotes,
which triggers a HCI event and hence the bug.
2016-11-19 00:11:41 +01:00
Stenzek 725ef4c5dc Vulkan: Pass target_rect to framebuffer draw methods
Fixes the black borders in frame dumps when the window was not sized to
the framebuffer aspect ratio.
2016-11-18 22:55:22 +10:00
hthh 4d2f058fe8 DolphinWX: Fix toolbar creation on macOS 2016-11-18 21:32:12 +11:00
Markus Wick 6c16f1be8a Merge pull request #4416 from stenzek/vulkan-cmdpool
Vulkan: Use multiple command pools, one per frame
2016-11-16 10:25:10 +01:00
Markus Wick 71be84e074 Merge pull request #4452 from stenzek/jmp-self-idle-loop
Jit64: Treat branch-to-self instruction as an idle loop
2016-11-16 10:24:29 +01:00
Sean Maas 128c1f04ad Android: Specify ini file for every setting
Load all the inis at once, choose which one to write to, and save them all
at the same time. This allows us to modify settings from different files
on the same settings page.
2016-11-14 18:34:06 -05:00
Stenzek 3c92b35422 Vulkan: Use multiple command pools, one per frame
Instead of resetting two command buffers, now we only have to call
vkResetCommandPool once at the start of a frame.

NV's recommends using one pool per frame/thread. May offer a very small
boost in performance on some systems.
2016-11-15 00:40:15 +10:00
Stenzek e83bf5705a JitArm64: Don't emit normal block exit for branch-to-self instructions
The normal block exit is redundant as the exception exit will jump out of
the block first, meaning this code is never executed.
2016-11-15 00:28:14 +10:00
Stenzek c657134c86 Jit64: Treat branch-to-self instruction as an idle loop 2016-11-15 00:26:59 +10:00
Stenzek bd67adb362 Vulkan: Use correct sample count for EFB pokes with MSAA enabled 2016-11-14 20:24:16 +10:00
Stenzek 89176fe2ab Vulkan: Fix crash on EFB poke 2016-11-14 20:19:59 +10:00
Markus Wick 6a2e1e9986 Merge pull request #4429 from SeannyM/android-invert-settings
Android: Fix inverted EFB settings
2016-11-14 10:07:10 +01:00
Pringo f848418efa Update FIFO Player Window Capitalization 2016-11-13 20:44:18 -08:00
Jules Blok 99de9fbe33 Merge pull request #4443 from Armada651/exclusive-ui
D3D: Move exclusive mode switching to UI thread.
2016-11-14 01:45:07 +01:00
Jules Blok 7e35a47b51 Cosmetics. 2016-11-13 22:17:40 +01:00
Markus Wick bc98ec77be Merge pull request #4441 from stenzek/vulkan-max-image-count
Vulkan: Handle maxImageCount of zero when creating swap chain
2016-11-13 14:12:32 +01:00
Markus Wick c723532f0d Merge pull request #4430 from stenzek/vulkan-no-relaxed-vsync
Vulkan: Don't use FIFO_RELAXED present mode for vsync.
2016-11-13 14:10:58 +01:00
JosJuice 141f3bfb3a IOS HLE: Prevent accessing host file system 2016-11-13 10:03:23 +01:00
JosJuice a79c449493 Avoid buffer over-reads in /dev/net/ip/top
Also fixes the less serious problem of buffer overflows
in emulated memory when BufferOutSize is less than 2.
2016-11-13 08:44:05 +01:00
JosJuice b47e607105 HLE_OS: More bounds checking in GetStringVA 2016-11-12 19:17:15 +01:00
JosJuice 3d80d454ce HLE_OS: Implement %n in GetStringVA
%n writes to a pointer that's provided as a parameter.
We didn't have a custom implementation of this before,
meaning that %n would trigger a write to the host
memory instead of the emulated memory!
2016-11-12 19:16:55 +01:00
JosJuice 656999d4c2 Correct bounds checking for /dev/sdio/slot0
The bounds checks in IOCtl were using 0x200 as the size of
m_Registers, which is more than the actual size, 0x200 / 4.

This commit turns m_Registers into an std::array to allow
for a correct and obvious way of getting its size.
2016-11-12 19:09:03 +01:00
Jules Blok aa0e4472c0 Frame: Move exclusive mode switching to helper function. 2016-11-11 21:24:08 +01:00
Lioncash f207c01586 NetPlayLauncher: Add missing #pragma once 2016-11-11 14:58:20 -05:00
Jules Blok aab6b70868 MainAndroid: Remove obsolete Host_RequestFullscreen() function 2016-11-11 20:48:19 +01:00
Jules Blok d8201a7e8b Frame: Remove exclusive mode OSD messages. 2016-11-11 20:36:11 +01:00
Jules Blok d7cf5e28b6 Frame: Use PauseAndLock when switching fullscreen modes.
This allows us to regain exclusive mode directly from OnActive().
2016-11-11 20:36:10 +01:00
Jules Blok 9909babe2c D3DBase: Create the swapchain in fullscreen mode if enabled. 2016-11-11 20:36:10 +01:00
Jules Blok 0028ee96b3 Host: Remove the Host_RequestFullscreen() method.
No longer needed, since the exclusive mode switch is now handled synchronously on the CPU thread.
2016-11-11 20:36:09 +01:00
Jules Blok 0a194f8a3e VideoConfig: Remove fullscreen flags.
These weren't actually settings, they were used as a bad way to communicate with the GPU thread.
2016-11-11 20:36:09 +01:00
Jules Blok c21efa0cad D3D: Move exclusive mode switching to UI thread.
This prevents deadlocks when switching to exclusive mode.
And it also allows the CPU thread to block until we've completed the switch.
2016-11-11 20:36:04 +01:00
Jules Blok f0ce3275af Merge pull request #4439 from Armada651/yield-ui
CPU: Fix deadlocks by periodically yielding to the UI message pump.
2016-11-11 20:30:31 +01:00
Lioncash cd9520f458 CodeWindow: In-class initialize variables where applicable 2016-11-11 13:31:36 -05:00
Lioncash 492b82042d CodeWindow: Remove unused parameter from constructor 2016-11-11 13:20:47 -05:00
Stenzek 160fee6791 Vulkan: Handle maxImageCount of zero when creating swap chain
anv seems to set this to zero, which is fine according to the spec, but
we were using it as a maximum, which was resulting in a swap chain
without any buffers being created.
2016-11-11 23:33:40 +10:00
Jules Blok 20d49ba97f DolphinQt2: Implement Host_YieldToUI(). 2016-11-11 13:42:18 +01:00
Jules Blok 05a3f927ee CPU: Fix deadlocks by periodically yielding to the UI message pump. 2016-11-11 13:37:03 +01:00
Jules Blok 8203ea929b BlockingLoop: Yield to UI message pump while waiting. 2016-11-11 13:37:02 +01:00
Lioncash 2d9ef3412a GCAdapterConfigDiag: Mark OnUpdateAdapter parameter as unused. 2016-11-10 20:19:53 -05:00
Lioncash 1ae9027a6b GCAdapterConfigDiag: Rename UpdateAdapter to OnUpdateAdapter
Uses the general naming convention for event functions.
2016-11-10 20:18:59 -05:00
Lioncash c5c7ff9fd6 GCAdapterConfigDiag: Make functions private where applicable
These don't need to be in the public interface.
2016-11-10 20:12:02 -05:00
Mat M c77d4a765d Merge pull request #4425 from lioncash/ipc
IPC_HLE: Move NWC24Config and WiiNetConfig to their own source files
2016-11-10 16:55:43 -05:00
Jules Blok 03878a44e1 Merge pull request #4433 from Armada651/the-emu-that-runs-faster-than-its-race-condition
FrameTools: Avoid deadlock in UpdateGUI().
2016-11-10 16:50:13 +01:00
Lioncash 97bd77c928 Frame: Remove unused menu variable
This has been unused since the introduction of the MainMenuBar class
that abstracts away all of the wxMenuBar UI loading.
2016-11-10 07:33:52 -05:00
Mat M 0b9562b0d5 Merge pull request #4434 from lioncash/path
PathConfigPane: Eliminate main frame global usage
2016-11-10 07:31:31 -05:00
degasus 193dd97759 VideoCommon: Drop FlipImageData.
This function isn't used any more, and good code shouldn't use it at all. Use negative strides instead.
2016-11-10 12:59:22 +01:00
degasus 3816207d7b OGL: Fix frame dump on emulation close. 2016-11-10 12:59:22 +01:00
degasus 21774bdc81 OGL: Only flush the frame dumping thread on dumping.
This fixes the screenshot stutter, as this needs more than a frame.
So we won't stall on the png writing at all until emulation stops or
a new screenshot is requested.
2016-11-10 12:59:22 +01:00
degasus 52caa4f2f5 VideoCommon/Render: Inplace frame dump encoding.
This increase the performance of good backends a bit, but slows down the bads one a lot.
Let's fix those backends instead of forcing stupid memcpy in the common code.
2016-11-10 12:59:19 +01:00
Stenzek 38c3ca5cd4 Vulkan: Implement asynchronous frame dumping 2016-11-10 01:07:46 +10:00
Lioncash be04215857 FrameTools: Clean up variable naming in UpdateLoadWiiMenuItem 2016-11-08 21:22:17 -05:00
Lioncash 2acf3570e0 PathConfigPane: Eliminate main frame global usage 2016-11-08 21:19:24 -05:00
Jules Blok de50fead5c FrameTools: Avoid deadlock in UpdateGUI(). 2016-11-09 01:45:30 +01:00
Mat M e05553acfc Merge pull request #4428 from lioncash/event
DolphinWX: Move common wxUpdateUIEvent functions to WxEventUtils
2016-11-08 17:11:16 -05:00
Markus Wick 5378b6ab85 Merge pull request #4345 from degasus/framedump_threaded
Renderer: Threaded frame dumping.
2016-11-08 11:01:40 +01:00
degasus 741debe229 OGL: Avoid reallocation of frame dumping PBO. 2016-11-07 22:32:54 +01:00
degasus f6a6cc9c67 OGL: Use PBO for framedump, with async readback. 2016-11-07 22:17:32 +01:00
degasus a47332bf8a VideoCommon/Render: Use a flag for screenshot. 2016-11-07 22:16:34 +01:00
degasus d79840078f Renderer: Threaded frame dumping. 2016-11-07 22:11:13 +01:00
Stenzek c09ce029df Vulkan: Don't use FIFO_RELAXED present mode for vsync. 2016-11-07 19:22:27 +10:00
Sepalani 744b993dcd CodeWindow: Fix step out issues 2016-11-06 20:30:24 +00:00
Sean Maas beff65854a Android: Fix inverted EFB settings 2016-11-06 12:50:56 -05:00
Lioncash 5022c0dfb5 DolphinWX: Move common wxUpdateUIEvent functions to WxEventUtils 2016-11-06 09:02:59 -05:00
Mat M 136a10482f Merge pull request #4427 from lioncash/config-update
DolphinWX: Enable/disable config UI options based on core state
2016-11-06 08:21:02 -05:00
Lioncash c2d00d25fe DolphinWX: Make the main config dialog modeless 2016-11-06 08:04:54 -05:00
Markus Wick 3924a99942 Merge pull request #4423 from degasus/framedump
Framedump: Use an object for the framedumping state.
2016-11-06 02:07:08 +01:00
Lioncash bfa9cc2736 DolphinWX: Enable/disable config UI options based on core state 2016-11-05 11:14:37 -04:00
Mat M 0ad4e70fc5 Merge pull request #4422 from lioncash/codewindow-menu
CodeWindow: Migrate more menubar handling code to CFrame
2016-11-05 08:19:28 -04:00
Lioncash b19842eec3 IPC_HLE: Move NWC24Config and WiiNetConfig to their own source files
Makes for a cleaner separation of functionality, as well as removing
multiple includes from the main header file. It also gets a bunch of
structs and enums out of the global namespace.

Coincidentally, this also gets rid of an indirect include cycle that
could have broken compilation of Core.cpp in the future, since it was
relying on IPC network includes to resolve functions in Common/NandPaths.h.

This makes it easier to separate out the individual net classes in a
follow-up. Separating these out would also make it less of a pain to
figure out what's going on, since you wouldn't need to sift through 1000+
lines of code.i
2016-11-05 03:12:07 -04:00
Lioncash 9543b9d20d CodeWindow: Rename GetMenuBar() to GetParentMenuBar() 2016-11-04 22:02:36 -04:00
Lioncash 07e3835a49 GeneralConfigPane: rename cpu_cores to m_cpu_cores 2016-11-04 21:57:46 -04:00
degasus 3c65c5f2c5 AVIDump: Drop frames which are delayed over a savestate. 2016-11-04 18:39:50 +01:00
degasus be29090aae AVIDump: Add a struct for the state.
So AddFrame use no global state and can be threaded well.
2016-11-04 18:35:42 +01:00
degasus dad5041737 AVIDump: Inline OSD error handling.
This fixes a review feedback in PR #4345.
2016-11-04 18:03:14 +01:00
degasus 03d8efc270 AVIDump: Merge redundant variables.
They were always the same. We also don't scale at all.
2016-11-04 18:03:14 +01:00
degasus 112e18a5d1 AVIDump: Drop stored frame.
This used an invalid pointer, which was only valid within AddFrame.

This drops a feature which shall dump the last frame as it might was dropped before.
A good implementation however should "overwrite" the last frame if the time matches.
But this needs to delay every frame a bit.
2016-11-04 18:03:14 +01:00
JosJuice d88295d5a1 Merge pull request #4421 from Pringo/wiimote-log
Change "Wiimote" to "Wii Remote" in Logs
2016-11-04 17:03:11 +01:00
Markus Wick 234691abf7 Merge pull request #4385 from leoetlino/disable-bt-check
Disable descriptor check for BT passthrough in some cases
2016-11-04 14:38:19 +01:00
Stenzek ac2971b30e Merge pull request #4374 from stenzek/vulkan-xfb
Vulkan: Cleanup and implement XFB support
2016-11-04 23:11:10 +10:00
Markus Wick d2fdafa155 Merge pull request #4415 from degasus/arm
JitArm64: Also push/pop gpr.R(addr).
2016-11-04 09:33:53 +01:00
Lioncash 5d4c714662 CodeWindow: Hide GetMenuBar()
This eliminates public usage of the GetMenuBar() function in CodeWindow.
The benefit of this is it also gets rid of the need to perform direct
access across the config dialog and the main frame. It also gets rid of
the use of the main_frame global.

GetMenuBar() will be removed entirely from CodeWindow in a follow-up that
also removes any related remnants of code made obsolete with its removal.
2016-11-04 00:09:47 -04:00
Lioncash 5ae6c21c2e CodeWindow: Eliminate explicit menu item updating from CodeWindow
Gets rid of more menu-related code from CodeWindow and puts it back in
CFrame where it belongs.

This turns the previous menu update function within CodeWindow into one
that simply updates the debugger font for its managed controls. It also
improves how the font is actually updated. Previously, fonts would change,
however this wouldn't actually reflect onto the respective controls until
a refresh or update event occurred. Since codeview, callstack, symbols,
callers, and calls windows are all managed by a wxAuiManager instance,
calling Update() on it after the font has been set will reflect font
changes immediately.
2016-11-04 00:01:45 -04:00
Pringo 93bdab64fa Change "Wiimote" to "Wii Remote" in Logs 2016-11-03 17:58:28 -07:00
Stenzek c880c37244 Vulkan: Rename screenshot buffer to frame dump buffer.
Name makes more sense given the methods it calls in the base class.
2016-11-03 22:38:48 +10:00
Stenzek 9aed27cdcf Vulkan: Combine frame dumping and present into one command buffer.
Small optimization that should make things slightly more efficient when
frame dumping is enabled.
2016-11-03 22:38:48 +10:00
Stenzek 690a6deeb3 Vulkan: Fix swapped top/bottom images in TAB stereo mode 2016-11-03 22:33:24 +10:00
Stenzek 70eb904536 Vulkan: Fix incorrect geometry shader input/output usage 2016-11-03 22:33:24 +10:00
Stenzek 5250f3c6a4 Vulkan: Add missing call to ObjectCache::RecompileSharedShaders
This was causing issues when the stereo mode was changed at runtime.
2016-11-03 22:33:24 +10:00
Stenzek d67877d27e Vulkan: Fix fast clear path not being used in all cases 2016-11-03 22:33:24 +10:00
Stenzek 5182e6b549 Vulkan: Implement virtual/real XFB support 2016-11-03 22:33:24 +10:00
Stenzek 3593fa27ab Vulkan: Move CopyRectangleFromTexture to TextureCache 2016-11-03 22:01:55 +10:00
Stenzek 01b3c0f036 Vulkan: Make TextureCache::TCacheEntry public 2016-11-03 22:01:54 +10:00
Stenzek b066d51dfa Vulkan: Remove parameters/members of single-instance classes
There's not a lot of point in passing these around or storing them
(texture cache/state tracker mainly) as there will only ever be a single
instance of the class.

Also adds downcast helpers such as Vulkan::Renderer::GetInstance().
2016-11-03 22:01:54 +10:00
shuffle2 ab9f539233 Merge pull request #4387 from aldelaro5/gpr1-and-gpr2-friendly-labels
Add precision about the names of r1, r2 and r13 for the register view
2016-11-03 02:29:40 -07:00
degasus abe9c30d3d JitArm64: Also push/pop gpr.R(addr).
This fixes slowmem load instruction with update.
2016-11-02 22:38:03 +01:00
JosJuice 25070d149e Merge pull request #4412 from JosJuice/more-debug-text
More debug text fixes
2016-11-02 17:58:59 +01:00
JosJuice 3c6742f66f More debug text fixes
Also a few small non-debug text changes.
2016-11-02 17:46:52 +01:00
Markus Wick 342c053bf5 Merge pull request #4368 from JosJuice/updatewantdeterminism-loadinput
Movie: Add missing calls to UpdateWantDeterminism
2016-11-02 16:26:48 +01:00
Markus Wick 9ce1cdde98 Merge pull request #4414 from linkmauve/single-newline
Remove double newlines at the end of *_LOG messages
2016-11-02 12:20:46 +01:00
aldelaro5 2f5d00450a Add precision about the names of r1, r2 and r13 for the register view
In the code view, it would never say r1 or r2, but rather sp (stack pointer) and rtoc (register of the table of content) respectively.  In the register view, all it says is the register number.  This is an inconvenience considering it might not be obvious which register belongs to which of these terms.

Also make r13 named the "sda" for small data area with the same convention as above.
2016-11-02 01:13:00 -04:00
Emmanuel Gil Peyrot c9e6b05ce9 Core: Remove double newlines at the end of *_LOG messages. 2016-11-02 02:09:33 +00:00
Markus Wick 24fa4c9e57 Merge pull request #4400 from degasus/master
JitArm64: Store the carry flag within the host flag.
2016-11-01 23:29:50 +01:00
Jules Blok 49ac577ac0 Merge pull request #4388 from ligfx/portaudio_static
CMake: build PortAudio as static library
2016-11-01 18:32:12 +01:00
degasus 5a8c52ce3a JitArm64: Fix srawx. 2016-11-01 11:55:06 +01:00
degasus 0a3e5a0fe8 JitArm64: srawix cleanups. 2016-10-31 23:40:09 +01:00
degasus c69903eb42 JitArm64: CR field cleanup. 2016-10-31 23:40:09 +01:00
degasus 3405f5ac1a JitArm64: Optimize carry behavior of srawix. 2016-10-31 23:40:09 +01:00
degasus 0d78f5926f JitArm64: Keep carry in the host flag for all integer instructions. 2016-10-31 23:40:08 +01:00
degasus f449541e65 JitArm64: Implement derefered carry usage. 2016-10-31 23:40:08 +01:00
degasus 4d88f5410e JitArm64: Store carry within the host carry flag. 2016-10-31 23:40:08 +01:00
Markus Wick 1c9ed79c6a Merge pull request #4409 from sigmabeta/android-tv-screenshot-errors
[Android TV] Fix a screenshot glitch on game selector
2016-10-31 23:34:41 +01:00
shuffle2 41477c9ef5 Merge pull request #3080 from LAGonauta/openal-32bit-fixed-point-support
OpenAL 32-bit fixed point support
2016-10-31 13:07:35 -07:00
Jules Blok 2058a49465 PixelShaderGen: Remove unused global variable. 2016-10-31 15:02:08 +01:00
Jules Blok 086f839435 DriverDetails: Make the bug identifiers humanly readable. 2016-10-31 15:02:08 +01:00
JosJuice 479b909935 Merge pull request #4381 from JosJuice/small-debug-text
DolphinWX: Small debug text fixes
2016-10-31 13:13:51 +01:00
Markus Wick b9e4f67d3a Merge pull request #4405 from xrix4096/mac-unknown-joyaxis
Make analog triggers on PS3 controllers accessible on Mac
2016-10-31 13:01:47 +01:00
Markus Wick 2afa877119 Merge pull request #4376 from leoetlino/warning-fix
Warning fixes
2016-10-31 12:57:03 +01:00
Markus Wick b9e4370023 Merge pull request #4383 from Sintendo/minor-text-fixes
Fix minor comment typos
2016-10-31 12:51:42 +01:00
Markus Wick 4f5d0cd450 Merge pull request #4391 from Pringo/wii-remote
Change "Wiimote" to "Wii Remote" in Interface
2016-10-31 12:49:16 +01:00
Markus Wick 4eb5892e1a Merge pull request #4399 from JosJuice/unify-getgctime
EXI_DeviceIPL: Unify GetGCTime epoch handling
2016-10-31 12:47:06 +01:00
Markus Wick d5ca153c26 Merge pull request #4401 from JosJuice/rename-getuniqueid
DiscIO/SConfig: Rename GetUniqueID to GetGameID
2016-10-31 12:39:27 +01:00
Markus Wick 22779473bc Merge pull request #4402 from Armada651/dualsrc-bug
OGL: Fall back to the old dual-source blending behaviour.
2016-10-31 12:37:09 +01:00
sigmabeta 64cf56dda3 Clear screenshot in game grid before attempting to render on Android TV devices 2016-10-30 18:53:57 -04:00
JosJuice d80086adf5 Add debug i18n comments and revise existing i18n comments 2016-10-30 16:37:29 +01:00
Chris Pritchard 9da9ba616b Use the IOHIDElement cookie as a part of the axis name for unknown axis. Previously the 'usage' value was used to identify the axis by name, but this is not unique. For example on a PS3 controller *all* axis other than the well known ones return a usage of '1' so there are 30 or more axis all named "1". This stops things such as analog triggers being usable.
Using the element cookie uniquely identifies each axis and allows them to be assigned successfully as controls
2016-10-30 10:36:53 +00:00
Jules Blok d0e60492cf PixelShaderGen: Don't use a global variable. 2016-10-30 00:48:02 +02:00
Jules Blok d778400133 DriverDetails: Add OS X to the dual-source blending bug. 2016-10-30 00:47:02 +02:00
JosJuice 9950209bbf EXI_DeviceIPL: Unify GetGCTime epoch handling 2016-10-29 18:30:00 +02:00
Jules Blok ce9f717045 OGL: Fall back to the old dual-source blending behaviour. 2016-10-29 18:00:22 +02:00