Commit Graph

39421 Commits

Author SHA1 Message Date
51ee05cb35 Android: Use input override system for touch controls
This is the first step of getting rid of the controller indirection
on Android. (Needing a way for touch controls to provide input
to the emulator core is the reason why the controller indirection
exists to begin with as far as I understand it.)
2022-10-03 22:04:09 +02:00
b296248b49 DolphinQt: Use input override system for TAS input windows
This lets the TAS input code use a higher-level interface for
overriding inputs instead of having to fiddle with raw bits.
WiiTASInputWindow in particular was messy with how much
controller code it had to re-implement.
2022-10-03 22:04:09 +02:00
8fd25259ee ControllerEmu: Round input floats instead of casting, part 2
Like 3bc4968 but for Wii Remote extensions. I'm doing this to ensure
that TAS input values will still roundtrip after the next commit.
2022-10-03 22:04:08 +02:00
cb16d20f2d ControllerEmu: Add new "input override" system 2022-10-03 22:00:21 +02:00
f4f189c51f JitArm64: Rename BindToRegister parameters for clarity 2022-10-03 21:41:34 +02:00
cb6d476538 Merge pull request #11106 from vpelletier/dsp_doc_bloop
docs/DSP: Trivial adjustment to BLOOP{,I} sub-operation order
2022-10-03 11:29:03 -07:00
23806f8d60 Merge pull request #11070 from AdmiralCurtiss/netplay-wiimotes
Netplay: Redesign Wiimote data exchange.
2022-10-02 18:00:10 -04:00
e137f7f878 WiimoteEmu: Rewrite serialization of DesiredWiimoteState to optimize for network bandwidth. 2022-10-02 23:25:15 +02:00
ae4b89441c Qt/WiimoteControllersWidget: Disable remote Wiimote configuration during netplay. 2022-10-02 23:25:15 +02:00
a1563f2def Netplay: Implement batching for Wiimotes. 2022-10-02 23:25:10 +02:00
aade584180 Netplay: Completely rewrite Wiimote syncing logic to be similar to the GameCube controller one. 2022-10-02 23:22:02 +02:00
f8518b2ff6 WiimoteEmu: Add serialization for DesiredWiimoteState. 2022-10-02 23:14:36 +02:00
a2dadbb2f0 Wiimote: Separate the Input system state update from the emulated state update. 2022-10-02 23:14:36 +02:00
bb5943ae77 Wiimote: Separate the Wiimote index in the Input system from the index of the Wiimote in the emulated system. 2022-10-02 23:14:36 +02:00
b67ffb9ab5 WiimoteEmu: Make Reset() deterministic under WantsDeterminism(). 2022-10-02 23:14:36 +02:00
466f0b377b WiimoteEmu: Update extensions from DesiredWiimoteState. 2022-10-02 23:14:35 +02:00
e7543a9e05 WiimoteEmu: Update MotionPlus status from DesiredWiimoteState. 2022-10-02 23:14:35 +02:00
26fd4ea361 WiimoteEmu: Update IR camera status from DesiredWiimoteState. 2022-10-02 23:14:35 +02:00
9669722dfc WiimoteEmu: Update accelerometer status from DesiredWiimoteState. 2022-10-02 23:14:35 +02:00
a39f82cb1f WiimoteEmu: Update button status from DesiredWiimoteState. 2022-10-02 23:14:34 +02:00
52424fe327 Qt: Allow opening controller settings during netplay. 2022-10-02 23:14:34 +02:00
bc47a9a31a Qt/WiimoteControllersWidget: Disable potentially breaking stuff during netplay. 2022-10-02 23:13:26 +02:00
37ae9ab524 Qt/GamecubeControllersWidget: Disable dropdowns during netplay. 2022-10-02 23:10:43 +02:00
42775eed36 JitArm64: Fix BindToRegister in case Immediate && !set_dirty
Fixes a Rogue Squadron II regression from 9d73583.

This set_dirty stuff is pretty tricky to reason about. I thought I
was clever when coming up with set_dirty, but maybe I was too clever
for my own good...
2022-10-02 22:38:00 +02:00
15393f0344 Merge pull request #11115 from AdmiralCurtiss/dsp-globals
HW: Move DSP variables to Core::System.
2022-10-01 23:07:00 -07:00
95cace837a HW: Move DSP variables to Core::System. 2022-10-02 05:13:55 +02:00
c84835c53c Merge pull request #11114 from JosJuice/jitarm64-divwx-imm
JitArm64: Fix divwx BindToRegister condition
2022-10-02 01:10:48 +02:00
6911e1b730 Merge pull request #11113 from DivineWinds/translate_tooltip
DolphinQt/HacksWidget: Make backend name in GPU Texture Decoding/Bounding Box tooltip translatable
2022-10-02 00:16:25 +02:00
2f0358a75e Merge pull request #10547 from AdmiralCurtiss/save-state-threading
Core/State: Rewrite threading behavior when multiple Save requests are happening.
2022-10-02 00:16:03 +02:00
f3a23db0e0 Core/State: Minor cleanup around the undo load state buffer. 2022-10-02 00:01:01 +02:00
e0d30e371c Core/State: Rewrite threading behavior when multiple Save requests are happening. Should improve responsiveness when eg. mashing a save state button. 2022-10-02 00:00:29 +02:00
79efd5df1e Common/WorkQueueThread: Make Shutdown() public, so users can wait for all currently queued tasks to finish when shutting down the thread. 2022-10-01 23:58:52 +02:00
4e204a9a1a VideoCommon: Remove special treatment for Android in video settings 2022-10-01 20:53:02 +02:00
8984777749 JitArm64: Call GetImm before BindToRegister
In case the register we're binding is the same as the immediate register,
we should fetch the immediate before calling BindToRegister. The way
the register cache currently works, calling GetImm after BindToRegister
actually does work, but it's better to not rely on it.
2022-10-01 20:44:51 +02:00
8902d2fe3a JitArm64: Fix divwx BindToRegister condition
a is being used both as an immediate and as a register here.
Since it's being used as a register, it must be loaded.
2022-10-01 19:29:41 +02:00
779fe13e62 VideoCommon: Update EFB peek cache on draw done and tokens
Massively improves performance in Mario Galaxy on Android.
2022-10-01 18:08:38 +02:00
37892a8611 DolphinQt/HacksWidget: Make backend name in GPU Texture Decoding/Bounding Box tooltip translatable 2022-10-01 12:32:49 +03:00
c196c47e81 Merge pull request #11090 from K0bin/submit-rework
Vulkan: Raise number of command buffers
2022-09-30 20:15:25 -04:00
e5fb9c9adf VideoBackends:Vulkan: Raise number of command buffers
Avoid waiting for earlier submissions when we flush more often.
The vertex manager will flush more often if the game accesses the EFB
on the CPU, to give the GPU a head start.
2022-10-01 01:26:04 +02:00
fba7d35f94 VideoBackends:Vulkan: Associate descriptor pool with frame rather than command buffer 2022-10-01 01:26:04 +02:00
ed75a58061 VideoBackends:Vulkan: Decouple available command buffers from frames in flight 2022-10-01 01:26:04 +02:00
e8fa867f14 VideoBackends:Vulkan: Only synchronize with submission thread when necessary
We only need to synchronize with the submission thread
when submitting on the GPU thread or when waiting for a command buffer.
2022-10-01 01:26:04 +02:00
2e6d8d6575 VideoBackends:Vulkan: Fix validation error around surface_capabilities2 2022-10-01 01:26:03 +02:00
68eda7f887 Merge pull request #11084 from K0bin/qcom-workaround
Vulkan: Workaround slow vkCmdCopyImageToBuffer on QCom
2022-09-30 15:33:00 -04:00
81c817c54d VideoBackends:Vulkan: Workaround slow vkCmdCopyImageToBuffer on QCom driver 2022-09-30 21:13:42 +02:00
099e6c9ab6 docs/DSP: Trivial adjustment to BLOOP{,I} sub-operation order
Noticed while tracing in a BLOOP using DSPSpy with $st{0..3} unmasked.
BLOOPI assumed to follow the pattern.
2022-09-30 11:07:41 +00:00
12142c4fa8 DSPSpy: Add st3 BLOOP{,I} tests. 2022-09-30 11:07:41 +00:00
556d18f865 DSPSpy: Unhide stack registers
The screen real-estate is already reserved, the values are dumped and
restored by the on-DSP code, why not make something out of these values ?
Allows following:
- where exactly send_back was called from ($st1)
- the boundaries and progress of the innermost BLOOP{,I} ($st0, 2 and 3)
  up to send_back's call
2022-09-30 11:07:41 +00:00
487a11fd2c Merge pull request #11110 from JosJuice/jit64-boolx-formatting-fixes
Jit64: boolX formatting fixes
2022-09-29 21:41:57 +02:00
481ddd1308 NetworkCaptureLogger: Allow PCAP shared read access on Windows 2022-09-29 23:08:25 +04:00