Commit Graph

27308 Commits

Author SHA1 Message Date
Léo Lam 6a93223283 evdev: Always unref received udev devices
Whenever udev_monitor_receive_device() returns a non-null pointer,
the device must be unref'd after use with udev_device_unref().

We previously missed some unref calls for non-evdev devices.
2018-02-05 01:01:05 +01:00
Mat M 32360e23e0
Merge pull request #6356 from spycrab/qt_mapping_nsaving
Qt/MappingButton: Save settings when a mapping is changed
2018-02-04 18:53:00 -05:00
Léo Lam 0822bb347d evdev: Don't leak eventfd on shutdown 2018-02-04 22:48:38 +01:00
Greg V be716a680f Do not link to libusbhid on FreeBSD/NetBSD
Both libusbhid (system library) and libhidapi (3rd party library)
provide a function called hid_init. Dolphin was being linked to both.

The WiimoteScannerHidapi constructor was calling hid_init without
arguments. libusbhid's hid_init expects one argument (a file path).
It was being called as if it was defined without arguments, which
resulted in a garbage path being passed in, and because of that,
the Qt GUI was failing to launch with the following error:
'dolphin-emu-qt2: @ : No such file or directory'
2018-02-05 00:46:59 +03:00
Léo Lam 9a3705f82d evdev: Fix select() call
It's not guaranteed that the eventfd is smaller than the monitor fd,
because fds are not always monotonically allocated. To select()
correctly in all cases, use the max between the monitor fd and eventfd.
2018-02-04 22:45:28 +01:00
spycrab f253c1ea32 Qt/MappingButton: Save settings when a mapping is changed 2018-02-04 22:03:38 +01:00
Léo Lam 3deb8ce074 HLE: Use enum classes for HookType and HookFlag 2018-02-04 14:50:55 +01:00
Léo Lam a184ab93b6 HLE: Remove an unused function
There is nothing using PanicAlert in either official titles or libogc.
2018-02-04 14:41:55 +01:00
Léo Lam 44391ad2fe
Merge pull request #6353 from spycrab/qt_fix_invdev
Qt/MappingWindow: Fix invalid device being selected by default
2018-02-04 12:54:14 +01:00
spycrab 489f478751 Qt/MappingWindow: Fix invalid device being selected by default 2018-02-03 20:21:44 +01:00
Anthony 32d206362f
Merge pull request #6351 from spycrab/qt_fix_switch
Qt: Work around broken drivers that don't allow backend switching
2018-02-03 09:18:16 -08:00
spycrab 7c5e464584 Qt: Work around broken drivers that don't allow backend switching 2018-02-03 14:19:12 +01:00
Jules Blok 51d3de6787
Merge pull request #6349 from booto/codehandler
Update codehandler to stash registers that may get clobbered
2018-02-03 12:21:20 +01:00
Léo Lam 2ab29e8284
Merge pull request #6311 from cbdevnet/master
Have dolphin-emu-nogui conform to the _NET_WM_PID protocol
2018-02-03 10:42:49 +01:00
booto 8d1d8afd32 Clean up codehandler formatting 2018-02-03 13:09:31 +08:00
booto aae8634a58 Clean up codehandler a little; stash msr on stack to preserve 2018-02-03 13:07:25 +08:00
cbdev 6182ab6a6a dolphin-emu-nogui: Conform to the _NET_WM_PID protocol 2018-02-03 03:43:42 +01:00
Stenzek cf5bf3899f
Merge pull request #6345 from spycrab/qt_fix_fsw
Qt/FileystemWidget: Fix crash when right-clicking GC disc
2018-02-03 00:56:55 +10:00
Stenzek e20eac72f4
Merge pull request #6347 from spycrab/qt_update_defiso
Qt/Settings: Update default gamelist path textbox when changed
2018-02-03 00:55:45 +10:00
Stenzek 3e494baff2
Merge pull request #6346 from spycrab/qt_dbg_checkbox
Qt/NewBreakpointDialog: Fix radio button weirdness
2018-02-03 00:50:30 +10:00
Stenzek 75583ab098
Merge pull request #6350 from spycrab/qt_gc_selbug
Qt/GameCubePane: Fix file selection
2018-02-03 00:48:08 +10:00
Jules Blok 4515f1d70d
Merge pull request #6348 from stenzek/fog
BPMemory: Handle fog configuration where both A and C are infinity/NaN
2018-02-02 15:32:52 +01:00
spycrab 3f4a3b2456 Qt/GameCubePane: Fix file selection 2018-02-02 12:32:55 +01:00
Stenzek 260d5b7aa7 BPMemory: Handle fog configuration where both A and C are infinity/NaN
The console appears to behave against standard IEEE754 specification
here, in particular around how NaNs are handled. NaNs appear to have no
effect on the result, and are treated the same as positive or negative
infinity, based on the sign bit.

However, when the result would be NaN (inf - inf, or (-inf) - (-inf)),
this results in a completely fogged color, or unfogged color
respectively. We handle this by returning a constant zero for the A
varaible, and positive or negative infinity for C depending on the sign
bits of the A and C registers. This ensures that no NaN value is passed
to the GPU in the first place, and that the result of the fog
calculation cannot be NaN.
2018-02-01 17:40:39 +10:00
Anthony 1264daae9b
Merge pull request #6327 from spycrab/qt_memcard_manager
Qt: Implement GameCube memcard manager
2018-01-31 13:22:40 -08:00
spycrab 28ad12bf30 Qt/Settings: Update default gamelist path textbox when changed 2018-01-31 19:58:02 +01:00
spycrab 8f43f379a0 Qt/NewBreakpointDialog: Fix radio button weirdness 2018-01-31 19:28:44 +01:00
spycrab 8a612bf285 Qt/FileystemWidget: Fix crash when right-clicking GC disc 2018-01-31 13:51:46 +01:00
Stenzek 987bec2fd5
Merge pull request #6342 from spycrab/qt_rw_flicker
Qt/RenderWidget: Avoid flickering
2018-01-31 12:43:19 +10:00
Léo Lam d04b179111
Merge pull request #6344 from spycrab/qt_gc_mcselector
Qt/GameCubePane: Fix memory card selector
2018-01-30 17:49:13 +01:00
Léo Lam 1271241be9
Merge pull request #6343 from spycrab/qt_clock_running
Qt/AdvancedPane: Add ability to change clock speed while the game is …
2018-01-30 17:27:01 +01:00
spycrab 50eb8a5c81 Qt/AdvancedPane: Add ability to change clock speed while the game is running 2018-01-30 12:08:44 +01:00
spycrab 350c1f999c Qt/GameCubePane: Fix memory card selector 2018-01-30 10:23:57 +01:00
spycrab e5994706eb Qt/RenderWidget: Avoid flickering 2018-01-30 10:05:50 +01:00
Léo Lam 3bceb3c52a
Merge pull request #6328 from spycrab/qt_fix_gc_amnesia
Qt/GameCubePane: Various fixes
2018-01-29 21:58:59 +01:00
Stenzek fe5150cc31
Merge pull request #6303 from TraceBullet/auto-adjust-window-size
Fix Auto-Adjust Window Size option making the window too large
2018-01-29 17:28:44 +10:00
spycrab 21db1e9504 Qt: Implement GameCube memory manager 2018-01-29 01:01:25 +01:00
Mat M f3826b4e92
Merge pull request #6337 from spycrab/qt_fix_debugger
Qt/RegisterColumn: Fix value columns not being editable
2018-01-28 16:42:46 -05:00
spycrab d0b64745d8 Qt/RegisterColumn: Fix value columns not being editable 2018-01-28 17:10:33 +01:00
spycrab 28e0388658 Qt/GameCubePane: Fix EXIDevices resetting to Nothing 2018-01-27 15:09:14 +01:00
Stenzek 15efd42eba Jit64: Don't flush PC in exception block
These blocks can only be executed as a result of a DSI exception from a
loadstore, where we now flush the PC register prior to the loadstore.
2018-01-27 22:32:57 +10:00
Stenzek 8933fe599c Jit64: Update PC before slowmem reads as well as writes 2018-01-27 22:29:39 +10:00
Stenzek 7f3c31d78d Jit64: Set correct PC when emitting slowmem trampoline 2018-01-27 18:19:42 +10:00
Stenzek 505d30be3d DolphinWX: Move fullscreen switch to after startup is complete
This means that any error messages won't be hidden by the fullscreen
window.
2018-01-27 14:17:14 +10:00
Stenzek c790077c13 VideoBackend: Remove PeekMessages method
The video thread and backend no longer create any windows, therefore
there will never be any messages dispatched to their thread.
2018-01-27 13:53:55 +10:00
Stenzek d96e8c9d76 VideoBackends: Combine Initialize/Prepare and Cleanup/Shutdown methods
Also allows the work previously done in Prepare to return a failure
status.
2018-01-27 13:53:55 +10:00
Stenzek 04027a7da7 Core: Improve ordering of boot
- Smplification of graphics backend startup/shutdown.
- Don't send complete message until CPU is ready to execute.
- Remove redundant stop message.
- Remove OSD message with backend name.
2018-01-27 13:53:55 +10:00
Stenzek f9053527a9 Core: Don't spawn an extra thread in single-core mode
We don't need a message pump thread for the video backend, as the window
is created on the UI thread, not the "idle" emu thread.
2018-01-27 13:53:55 +10:00
Stenzek c81ac1a81d
Merge pull request #6332 from stenzek/frame-dump-crash
Renderer: Fix crash on shutdown when frame dumping or taking screenshots
2018-01-27 12:27:46 +10:00
TraceBullet ab6f932347 Fix Auto-Adjust Window Size option making the window too large 2018-01-26 10:47:19 -05:00