Commit Graph

26172 Commits

Author SHA1 Message Date
spycrab
0b8ac0a22f
Merge pull request #7971 from Techjar/go-away-golf-ui
Qt/NetPlayDialog: Don't create golf UI when host input authority is disabled
2019-04-09 13:14:54 +02:00
spycrab
a06c7df927
Merge pull request #7954 from Techjar/netplay-disable-bba
Disable BBA in NetPlay
2019-04-09 13:13:05 +02:00
spycrab
627a1a90c1
Merge pull request #7938 from Techjar/netplay-pending-start-stall
NetPlay: Fix hosting being stuck if player leaves during pending start
2019-04-09 13:07:17 +02:00
spycrab
746849f891
Merge pull request #7964 from Techjar/fix-netplayindex-segfault
UICommon/NetPlayIndex: Fix random segfaults after quitting NetPlay
2019-04-09 12:45:58 +02:00
Techjar
cd6c918973 Qt/NetPlayDialog: Don't create golf UI when host input authority is disabled 2019-04-08 07:09:20 -04:00
spycrab
75f1a5d0cc Qt/NetPlayBrowser: Various small fixes 2019-04-08 00:01:23 +02:00
Jordan Woyak
5efb717873 InputCommon: Clean up how numeric settings are handled. Add units of measure to UI. Eliminate hidden magic values of the IR cursor. 2019-04-07 09:32:49 -05:00
Techjar
c90df946ba NetPlay: Add cancel button for chunked data transfers 2019-04-07 06:22:33 -04:00
Techjar
7870704087 NetPlay: Fix hosting being stuck if player leaves during pending start
The logic didn't account for the case where a player leaves, so the
host would be left in a dangling state where the UI is disabled but the
game won't start, requiring a full restart of Dolphin to fix.
2019-04-07 06:22:31 -04:00
Techjar
dc552f2cbb UICommon/NetPlayIndex: Fix random segfaults after quitting NetPlay
We can't join a detached thread, so NetPlayIndex gets deleted before
the notification thread exits, creating a race condition. We switch to
using Common::Event because just sleeping leaves the UI hung on the
thread join for a few seconds.
2019-04-06 17:23:37 -04:00
JMC47
75e74315e6
Merge pull request #7689 from jordan-woyak/sdl-improve
ControllerInterface: SDL cleanups/fixes
2019-04-06 14:53:51 -04:00
spycrab
ca5eac0c63 Common/HttpRequest: Fix EscapeComponent leaking memory 2019-04-06 13:27:49 +02:00
spycrab
23986d48f7
Merge pull request #7945 from spycrab/np_browser
Qt/NetPlay: Implement session/server browser
2019-04-06 12:36:29 +02:00
spycrab
094bf0d2ff Qt/NetPlay: Integrate NetPlayIndex 2019-04-06 12:27:30 +02:00
JMC47
a7ee00ae25
Merge pull request #7960 from Techjar/netplay-fix-segfault-on-exit
Qt/MainWindow: Fix segfault on exit while NetPlay is open
2019-04-05 11:48:07 -04:00
spycrab
e44433c2f6
Merge pull request #7955 from Techjar/netplay-golf-mode
NetPlay golf mode
2019-04-05 17:25:23 +02:00
Techjar
6c393f9ff4 Add imgui golf mode overlay 2019-04-05 07:01:03 -04:00
Techjar
1a12876330 NetPlay: Implement golf mode
This is an extension of host input authority that allows switching the
host (who has zero latency) on the fly, at the further expense of
everyone else's latency. This is useful for turn-based games where the
latency of players not on their turn doesn't matter.

To become the so-called golfer, the player simply presses a hotkey.
When the host is the golfer, latency is identical to normal host input
authority.
2019-04-05 07:01:03 -04:00
Techjar
ab6583b430 Qt/MainWindow: Fix segfault on exit while NetPlay is open 2019-04-05 03:12:25 -04:00
JosJuice
bfde5b931e
Merge pull request #7956 from spycrab/fix_np_chat_escape
Qt/NetPlayDialog: Fix messages being html-escaped for NetPlay Chat
2019-04-03 18:50:33 +02:00
spycrab
923151e3e3
Merge pull request #7949 from spycrab/turbo_btn
Qt/TAS: Implement turbo mode
2019-04-03 18:43:11 +02:00
Techjar
a318c55cec PixelShaderGen: Fix bounding box coordinates being offset by 1 pixel 2019-04-03 10:09:05 -04:00
JMC47
a2df9beb9f
Merge pull request #7924 from jordan-woyak/info-widget-fix
DolphinQt: Fix unused widgets in InfoWidget from being visible.
2019-04-02 19:59:44 -04:00
spycrab
628d72c67d Qt/NetPlayDialog: Fix messages being html-escaped for NetPlay Chat 2019-04-02 23:23:38 +02:00
CrystalGamma
b00a7045aa PowerPC: Thread state through float helpers 2019-04-02 19:59:29 +02:00
CrystalGamma
95b06d183e PowerPC: Thread state through the address helpers 2019-04-02 19:52:59 +02:00
Techjar
e2f1da5210 NetPlay: Move host input authority logic to client
This is a prerequisite for golf mode, as the client needs to be in
control of sending pad states.
2019-04-02 08:17:13 -04:00
Techjar
980c076c67 Disable BBA in NetPlay 2019-04-01 09:14:28 -04:00
Stenzek
474500f07e Vulkan: Prevent submission of command buffer with open queries 2019-04-01 20:49:42 +10:00
Stenzek
f2d8c8d2a8 D3D12: Fix rare case where command list was executed with open queries 2019-04-01 20:49:24 +10:00
Stenzek
92f1f553d1 D3D12: Fix case where perf queries weren't flushed 2019-04-01 20:13:39 +10:00
JMC47
42964e8531
Merge pull request #7921 from zackhow/fixir
Android: Fix touch IR
2019-03-31 23:15:04 -04:00
Connor McLaughlin
32e330eb35
Merge pull request #7950 from stenzek/out-of-range-efb-copies
BPStructs: Gracefully handle out-of-range EFB copies
2019-04-01 13:08:11 +10:00
Stenzek
113bd60fe7 Implement D3D12 backend 2019-04-01 11:24:55 +10:00
Jordan Woyak
2b6d718636 InputCommon: Fix Win32 init race. 2019-03-31 07:46:58 -05:00
Stenzek
378b605669 BPStructs: Gracefully handle out-of-range EFB copies
Since the copy X and Y coordinates/sizes are 10-bit, the game can configure a
copy region up to 1024x1024. Hardware tests have found that the number of bytes
written does not depend on the configured stride, instead it is based on the
size registers, writing beyond the length  of a single row. The data written
for the pixels which lie outside the EFB bounds does not wrap around instead
returning different colors based on the pixel format of the EFB.

This suggests it's not based on coordinates, but instead on memory addresses.
The effect of a within-bounds size but out-of-bounds offset
(e.g. offset 320,0, size 640,480) are the same.

As it would be difficult to emulate the exact behavior of out-of-bounds reads,
instead of writing the junk data, we don't write anything to RAM at all for
over-sized copies, and clamp to the EFB borders for over-offset copies.
2019-03-31 22:05:53 +10:00
spycrab
039b1baa3a Qt/TAS: Implement turbo mode 2019-03-31 05:27:34 +02:00
Connor McLaughlin
39139a52e7
Merge pull request #7939 from Techjar/no-more-disabled-gfx-features
Qt/HacksWidget: Fix backend feature support checks
2019-03-31 11:59:34 +10:00
spycrab
0866ec3fb0
Merge pull request #7948 from spycrab/open_failed_warn
Qt/GameConfigEdit: Show warning if opening in an external editor fails
2019-03-31 03:37:54 +02:00
spycrab
74c1e92640 Qt/GameConfigEdit: Show warning if opening in an external editor fails 2019-03-31 03:30:41 +02:00
JMC47
735a705e4d
Merge pull request #7776 from jordan-woyak/wm_devicechange
Add hotplug support to DInput and XInput controller backends
2019-03-30 18:41:46 -04:00
spycrab
3d84dbe649 Qt/GCMemcardManager: Don't bold the header 2019-03-30 20:22:04 +01:00
spycrab
0279d12055 Core/NetPlayServer: Integrate NetPlayIndex 2019-03-30 17:13:57 +01:00
spycrab
622ba68595 Core/Config: Add index entries to NetPlaySettings 2019-03-30 17:13:57 +01:00
spycrab
827e40d78a UICommon: Add NetPlayIndex helper 2019-03-30 17:13:57 +01:00
spycrab
3dbf44417a Common/HttpRequest: Implement EscapeComponent 2019-03-30 17:13:57 +01:00
JosJuice
c885fed9da DiscIO: Make Korean GC checks in Enums.cpp less fragile 2019-03-30 12:45:28 +01:00
JosJuice
c028a84531 Volume: Add a GetCertificateChain function 2019-03-30 12:45:28 +01:00
JosJuice
abb3c5bccd VolumeWad: Implement GetTicket 2019-03-30 12:45:17 +01:00
JosJuice
cf9ab6ddcc DiscExtractor: Make P prefix for partition names optional
Also added constants for common partition types.
2019-03-30 12:45:17 +01:00
JosJuice
3014dadfa8 DiscIO: Add way of checking whether blob data size is accurate 2019-03-30 12:45:17 +01:00
JMC47
0bce1c509d
Merge pull request #7942 from jordan-woyak/gc-adapter-calib-fix
HW/SI: GCAdapter calibration fix.
2019-03-30 06:37:23 -04:00
Stenzek
3c455de799 FramebufferManager: Fix broken EFB peeks in GL with MSAA on 2019-03-30 03:14:29 +10:00
spycrab
963370d7e6
Merge pull request #7941 from 8times9/contextmenu
Qt/GameList: Set consistent capitalization for context menu
2019-03-29 21:09:49 +01:00
Jordan Woyak
4ee999723e DolphinQt: Make MD5 result text box read only. 2019-03-29 12:31:09 -05:00
Stenzek
b685a66753 Vulkan: Fix crash when checking subgroup support on Mesa 2019-03-30 00:18:26 +10:00
Jordan Woyak
eadbdd6bc3 ControllerInterface/Win32: Prevent devcies from losing their "id" on a hotplug event. 2019-03-29 09:04:16 -05:00
Stenzek
a6bb06174f Vulkan: Fix library load failure on Android 2019-03-29 23:36:53 +10:00
Michael M
d26c1ce24d Add hotplug support to DInput and XInput controller backends 2019-03-29 08:01:40 -05:00
Michael M
92ca6e124e Add ControllerInterface::Win32 to wrap XInput and DInput 2019-03-29 08:01:39 -05:00
Techjar
5d37b2b951 Qt/HacksWidget: Fix backend feature support checks 2019-03-29 08:45:21 -04:00
Jordan Woyak
a015851b02 HW/SI: GCAdapter calibration fix. 2019-03-29 06:15:58 -05:00
Stenzek
604ab67c7f Vulkan: Simplify perf queries using vkGetQueryPoolResults 2019-03-29 20:54:44 +10:00
Stenzek
6d40ea8553 Vulkan: Fix barrier validation layer errors for bounding box 2019-03-29 20:54:44 +10:00
Stenzek
23a655217c Vulkan: Fix validation layer error for unbound texture layouts 2019-03-29 20:54:44 +10:00
Stenzek
087b11e780 TextureCacheBase: Fix possible crash on shutdown with deferred EFB copies 2019-03-29 20:54:44 +10:00
Stenzek
427dd45151 Vulkan: Simplify command buffer fence tracking 2019-03-29 20:54:44 +10:00
Connor McLaughlin
f3fadd7302
Merge pull request #7869 from stenzek/d3dcommon
D3D: Move sharable D3D11/D3D12 code to common library
2019-03-29 20:40:06 +10:00
Connor McLaughlin
78cf615a9b
Merge pull request #7937 from Techjar/netplay-defer-efb-invalidation
NetPlay: Synchronize EFB access cache options
2019-03-29 20:31:15 +10:00
Stenzek
d66d778bae PixelShaderGen: Use subgroup reduction operations for bounding box 2019-03-29 20:06:56 +10:00
Stenzek
6561850f2b Vulkan: Support subgroup reduction operations via GL_KHR_shader_subgroup 2019-03-29 20:06:56 +10:00
Stenzek
86da282570 OGL: Support subgroup reduction operations via GL_NV_shader_thread_shuffle 2019-03-29 20:06:56 +10:00
Connor McLaughlin
1304e963ad
Merge pull request #7895 from stenzek/framebuffer-corruption
FramebufferManager: Don't discard in ReinterpretPixelData
2019-03-29 20:03:13 +10:00
Connor McLaughlin
154eeae8ae
Merge pull request #7915 from stenzek/bbox-scaled-update
VideoBackends: Scale bounding box rectangle in the pixel shader
2019-03-29 19:59:25 +10:00
Stenzek
d0d010f854 D3D11: Make stateman a unique_ptr 2019-03-29 19:55:00 +10:00
Stenzek
3b86c93285 VertexManagerBase: Increase vertex/uniform buffer sizes
ZTP was uploading 10MB+ of uniforms per frame, reducing paralellism by
forcing GPU waits.
2019-03-29 19:52:38 +10:00
Stenzek
2a4bca8b4a VideoBackends: Verify validity before doing full renderer init
Prevents attempting to create invalid MSAA configurations, for example.
2019-03-29 19:52:38 +10:00
Stenzek
1151a1238f D3D11: Use ComPtr smart pointer where possible 2019-03-29 19:52:38 +10:00
Stenzek
3d8014beb5 D3D11: Use D3DCommon where appropriate 2019-03-29 19:52:38 +10:00
Stenzek
ea15080d8f Add D3DCommon (shared code between D3D11 and D3D12) 2019-03-29 19:52:38 +10:00
Stenzek
f6641b7e4f Vulkan: Use Common::DynamicLibrary 2019-03-29 19:52:38 +10:00
Stenzek
a4f7c04470 Common: Add DynamicLibrary helper class 2019-03-29 19:52:33 +10:00
8times9
8c37214bee Qt/GameList: Set consistent capitalization for context menu 2019-03-28 21:22:46 -05:00
Stenzek
e9cfcf4632 ShaderCache: Don't create invalid logic op pipelines
uint_output will never be set unless logic ops are enabled. Also clears
the bits so we're not compiling unused pixel shaders on the other
backends.
2019-03-28 20:35:02 +10:00
Stenzek
5732769a3c ShaderCache: Set correct primitive in dummy ubershader pipelines 2019-03-28 20:35:02 +10:00
Stenzek
7dd9d74eec RenderBase: Add EFBHasAlphaChannel() helper 2019-03-28 20:35:02 +10:00
Techjar
6e5d92e3c3 NetPlay: Synchronize EFB access cache options 2019-03-28 00:53:07 -04:00
spycrab
9b6c9252e4
Merge pull request #7932 from spycrab/qt_tas_fixes
Qt/TAS: Some fixes
2019-03-27 18:37:35 +01:00
JosJuice
6a18bf4d2e
Merge pull request #7935 from JosJuice/cli-arg-movie
DolphinQt: Add support for the --movie parameter
2019-03-27 18:34:24 +01:00
JMC47
b4b0ebae27
Merge pull request #7934 from stenzek/stretched-efb-peeks
FramebufferManager: Fix EFB peek cache stretching last tile
2019-03-27 10:53:47 -04:00
Stenzek
92fa6c34cd FramebufferManager: Fix EFB pokes being offset by 1 in D3D 2019-03-27 23:28:34 +10:00
JosJuice
6451496776 DolphinQt: Add support for the --movie parameter
Regression from DolphinWX.
2019-03-27 14:26:17 +01:00
Stenzek
c28393d6f9 FramebufferManager: Fix EFB peek cache stretching last tile 2019-03-27 22:12:40 +10:00
JMC47
a1f53716dc
Merge pull request #7893 from jordan-woyak/mapping-ui-cleanup
DolphinQ: Mapping UI cleanups.
2019-03-26 20:30:30 -04:00
spycrab
e222b91953
Merge pull request #7929 from spycrab/np_chat_toggle
NetPlayChatUI: Add activate chat hotkey
2019-03-26 22:35:26 +01:00
spycrab
f7897778ff NetPlayChatUI: Add activate chat hotkey 2019-03-26 18:13:32 +01:00
spycrab
4ad67f471c Qt/TAS: Improve layout 2019-03-26 01:18:11 +01:00
spycrab
04583b17da Qt/TAS: Fix issue #11620 2019-03-26 00:38:25 +01:00
JMC47
e636b3e712
Merge pull request #7871 from jordan-woyak/wm-real-cleanup
WiimoteReal: Improve state changes and code cleanups.
2019-03-25 19:28:22 -04:00
spycrab
fdb8b4af13 Qt/NetPlayDialog: Change buffer size message color 2019-03-25 10:09:21 +01:00