Commit Graph

26777 Commits

Author SHA1 Message Date
container1234 5cff714b77 Qt/Debugger: Add TB, XER and GQRs to Registers Window 2018-01-09 18:09:01 +09:00
Markus Wick 22f469697b
Merge pull request #6290 from JosJuice/invalid-aspect-ratio
Treat invalid aspect ratio setting values as Auto
2018-01-08 13:46:30 +01:00
JosJuice 1557e6ab05 Specify underlying types for enums that get casted from integers
Otherwise we might get UB if the value we cast is larger than the
max value of the underlying type that the compiled picked for the enum.

I haven't done any extensive check through Dolphin to find cases
of this, I'm just fixing the cases I already know of.
2018-01-08 12:14:18 +01:00
Markus Wick 29e8806d09
Merge pull request #6268 from degasus/xfb_copy
VideoCommon: Apply the yscale as upscaling of the XFB.
2018-01-08 11:21:31 +01:00
Vincent Duvert 3abc288e02 macOS: Add errno setting in set_report (HID)
IsDeviceUsable in IOhidapi.cpp uses errno to detect if hid_write failed because of an unconnected Wiimote on a Dolphinbar (it expects errno == EPIPE in this case).
macOS’s implementation of hid_write detected this specific error (IOHIDDeviceSetReport returns kUSBHostReturnPipeStalled) but didn’t set errno so the check failed.
This add errno assignment to failure cases of macOS’s hid_write.
2018-01-07 11:14:51 +01:00
Vincent Duvert 8d5810a103 macOS: Use unique IDs for HID paths
If available, use the system-generated unique ID for HID device paths instead of a transport/vid/pid/location tuple.
The Mayflash Dolphinbar registers four HID devices (regardless of the number of connected Wiimotes) which had the same path with the previous path building method, causing a bit of confusion when detecting and connecting to Wiimotes.
The unique IDs do not change if the computer is suspended and resumed, but do change if the HID device is unplugged/replugged.
2018-01-07 11:00:01 +01:00
JosJuice a2404c42a1 Treat invalid aspect ratio setting values as Auto 2018-01-06 12:53:53 +01:00
Markus Wick 56d153f548 VideoCommon: Apply the yscale as upscaling of the XFB. 2018-01-06 10:36:33 +01:00
Markus Wick dc08b73db1
Merge pull request #6141 from JonnyH/WIP/shader-framebuffer-fetch2
Implement dual-source blending in shader
2018-01-05 23:42:43 +01:00
Markus Wick 1cf1e7cde0
Merge pull request #6286 from JosJuice/game-list-cache-vector
DolphinWX: Speed up in-memory operations on game list cache
2018-01-05 23:37:41 +01:00
JosJuice 6ad04fc589
Merge pull request #6288 from JosJuice/boot-savestate-thread
Don't involve host thread when booting from savestate
2018-01-05 21:45:28 +01:00
mahdihijazi 409ae4c444 [Android] Replace current file browser
1. Allow users to pick games dircetory from external storage.
2. Better UX experince to distinguish between selecting a directory or
a game. The later is needed when we implement change disk for android.
2018-01-05 21:43:19 +01:00
JosJuice af51063a9a DolphinWX: Rewrite the logic for adding/removing games from cache
Thanks to degasus for coming up with most of this faster design.
2018-01-05 19:52:14 +01:00
Jonathan Hamilton c709f3c2d1 Standardise some enums from ALL_CAPS to CamelCase 2018-01-05 10:03:58 -08:00
Jonathan Hamilton ceb1f8c8cb Enable shader_framebuffer_fetch blend path on ubershaders
Tested on a linux Intel Skylake integrated graphics with
blend_func_extended force-disabled, as it's the only platform I have
that doesn't crash with ubershaders and supports fb_fetch
2018-01-05 09:56:46 -08:00
Jonathan Hamilton 8d68adcaf3 Workaround qualcomm driver bug
It seems it doesn't like modifying inout variables in place - so instead
use a temporary for ocol0/ocol1 and only write them once at the end of
the shader
2018-01-05 09:56:46 -08:00
Jonathan Hamilton 29a9ed043b Implement dual-source blending in shader
For some GLES drivers that don't support dual-source blending, but do
support GL_EXT_shader_framebuffer_fetch, this might be useful.
2018-01-05 09:56:46 -08:00
Markus Wick 11976526d1
Merge pull request #6283 from JosJuice/qt-vs-launch
Fix launching DolphinQt2 from Visual Studio
2018-01-05 15:34:33 +01:00
Markus Wick ff8893b1a9
Merge pull request #6277 from vladfi1/surfaceless_egl
Surfaceless egl rendering.
2018-01-05 15:20:35 +01:00
JosJuice c492a5a86a Don't involve host thread when booting from savestate
Suggested by https://github.com/dolphin-emu/dolphin/pull/6271#discussion_r159868704
2018-01-05 14:14:12 +01:00
Markus Wick e705d43312
Merge pull request #6270 from mahdihijazi/suppport_restore_state
[Android] Support restore emulator state
2018-01-05 13:45:36 +01:00
Léo Lam e31f8f8ecb
Merge pull request #6284 from JosJuice/qt-gamefilecache-mutex
DolphinQt2: Don't use a mutex in GameFileCache
2018-01-04 22:44:53 +01:00
spycrab 2167a45c24 Qt/Mapping: Implement Microphone widget 2018-01-04 18:42:42 +00:00
JosJuice 04cefc6ed3 DolphinWX: Use vector instead of list for game list cache
The advantage of std::list is that elements can be removed from the
middle efficiently, but we don't actually need that, because the
ordering of the elements doesn't matter for us. We can just replace the
element we want to remove with the last element and then call pop_back.

Replacing list with vector should speed up looping through the elements.
2018-01-04 17:14:35 +01:00
JosJuice e44b64b82c DolphinQt2: Don't use a mutex in GameFileCache
GameTracker's usage of GameFileCache is thread-safe even without
using a mutex. All of its access to GameFileCache happens on the
thread m_load_thread, except for the call to GameFileCache::Load,
which finishes before m_load_thread starts executing.
2018-01-04 16:33:15 +01:00
JosJuice 9988652d86 Fix launching DolphinQt2 from Visual Studio
Starting with 5.0-5504, trying to launch DolphinQt2 from Visual Studio
shows the error message "The operation could not be completed. Undefined
error" instead of launching the exe file. (The exe gets created
correctly, it just doesn't get launched. It's possible to work around
the problem by launching the exe manually outside of Visual Studio, but
then you won't have an attached debugger automatically.) This commit
fixes that by removing headers from DolphinQt2.vcxproj's ClInclude list
that already are in the QtMoc list. (The problem was originally about
LogWidget.h and LogConfigWidget.h, but 5.0-5600 made the problem be
about CheatWarningWidget.h and GeckoCodeWidget.h instead.)
2018-01-04 13:03:47 +01:00
Léo Lam 637fbec35d
Merge pull request #6274 from myfreeweb/freebsd-libusb-no-detach
passthrough: do not detach kernel driver on FreeBSD
2018-01-04 10:39:58 +01:00
mahdihijazi 42fa129552 [Android] Fix refreshing the games list after adding a directory
This was a regression from the time we introrduced the Platform enums.
2018-01-03 19:39:28 +01:00
Léo Lam c749125be5
Merge pull request #6276 from vladfi1/encode
Allow users to specify the encoder used for framedumping.
2018-01-03 13:35:03 +01:00
Vlad Firoiu 330881ae80 Allow users to specify the encoder used for framedumping. 2018-01-03 13:23:10 +01:00
Léo Lam 1f89d91deb
Merge pull request #6280 from spycrab/qt_screensaver
Qt: Toggle Screensaver
2018-01-03 13:13:18 +01:00
spycrab adada16603 Qt: Toggle Screensaver 2018-01-03 12:38:34 +01:00
spycrab 0dd52ca7ab UICommon: Move screensaver code to UICommon 2018-01-03 12:38:33 +01:00
Markus Wick 075a226961
Merge pull request #4437 from sepalani/d3d11_fix_debug_build
MAX_XFB_HEIGHT: PAL value off by two fixed
2018-01-03 08:53:26 +01:00
Pierre Bourdon fd13851df2
Merge pull request #6076 from spycrab/qt_debugger
Qt: Implement Debugger (part 1 of ∞)
2018-01-03 03:44:27 +01:00
Markus Wick cb168b1843
Merge pull request #6134 from ligfx/soundstreamlifecycle
SoundStream: change Start/Stop lifecycle to Init/SetRunning/destruct
2018-01-02 09:58:36 +01:00
spycrab afa69a5876 Qt: Implement "AR Codes" 2018-01-01 21:44:49 +00:00
Léo Lam 26a9957285
Merge pull request #6278 from spycrab/qt_fix_icon
Qt/KDE: Fix icon
2018-01-01 17:07:11 +01:00
spycrab 4f4021686e Qt/KDE: Fix icon 2018-01-01 12:31:53 +00:00
Sepalani 44935c23e0 MAX_XFB_HEIGHT: PAL value off by two fixed 2017-12-30 20:22:10 +01:00
JosJuice a4be51109c Translation resources sync with Transifex 2017-12-30 11:26:05 +01:00
Vlad Firoiu 45ac9b678d Require WINDOW_BIT if we have a window handle. 2017-12-29 23:20:16 -05:00
Vlad Firoiu eb59267196 Surfaceless egl rendering. 2017-12-29 19:35:43 -05:00
mahdihijazi 136e835fb4 [Android] Support restore emulator state after the emulation screen is killed
1) Most of the times the native heap is kept around even after the activity
is killed, we can ask the native code if it is still running and resume
the emulation if that is the case.

2) In case the native heap is freed and the emulation can't resume we used
a temporary state to load on the game boot.

I couldn't find a way to test this, if you want to test this schnario,
add this block to EmulationFragment.

public void onDestroy()
{
	stopEmulation();
	super.onDestroy();
}

onDestroy is only called if the acivity killed by the OS and not be rotation
change whihch in this case will make sure to kill the emulation and start
again when the activiy is re-created.
2017-12-28 23:50:25 +01:00
JosJuice 82a6701f79 Optionally delete savestate that gets loaded at boot 2017-12-28 23:15:48 +01:00
Leo Lam 257da9980e
Merge pull request #6275 from JosJuice/android-reliable-init
Android: Always run HandleInit logic on app start
2017-12-28 20:45:10 +01:00
spycrab b63ec57c1e Qt: Connect debugging widgets 2017-12-28 19:08:38 +01:00
spycrab 8795b342d1 Qt/Debugger: Implement "Breakpoints" window 2017-12-28 19:08:38 +01:00
spycrab 08716be43b Qt/Debugger: Implement "Watch" window 2017-12-28 19:07:56 +01:00
spycrab ec37ce093f Qt/Debugger: Implement "Registers" window 2017-12-28 19:07:18 +01:00