Pokechu22
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
Admiral H. Curtiss
e137f7f878
WiimoteEmu: Rewrite serialization of DesiredWiimoteState to optimize for network bandwidth.
2022-10-02 23:25:15 +02:00
Admiral H. Curtiss
ae4b89441c
Qt/WiimoteControllersWidget: Disable remote Wiimote configuration during netplay.
2022-10-02 23:25:15 +02:00
Admiral H. Curtiss
a1563f2def
Netplay: Implement batching for Wiimotes.
2022-10-02 23:25:10 +02:00
Admiral H. Curtiss
aade584180
Netplay: Completely rewrite Wiimote syncing logic to be similar to the GameCube controller one.
2022-10-02 23:22:02 +02:00
Admiral H. Curtiss
f8518b2ff6
WiimoteEmu: Add serialization for DesiredWiimoteState.
2022-10-02 23:14:36 +02:00
Admiral H. Curtiss
a2dadbb2f0
Wiimote: Separate the Input system state update from the emulated state update.
2022-10-02 23:14:36 +02:00
Admiral H. Curtiss
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
Admiral H. Curtiss
b67ffb9ab5
WiimoteEmu: Make Reset() deterministic under WantsDeterminism().
2022-10-02 23:14:36 +02:00
Admiral H. Curtiss
466f0b377b
WiimoteEmu: Update extensions from DesiredWiimoteState.
2022-10-02 23:14:35 +02:00
Admiral H. Curtiss
e7543a9e05
WiimoteEmu: Update MotionPlus status from DesiredWiimoteState.
2022-10-02 23:14:35 +02:00
Admiral H. Curtiss
26fd4ea361
WiimoteEmu: Update IR camera status from DesiredWiimoteState.
2022-10-02 23:14:35 +02:00
Admiral H. Curtiss
9669722dfc
WiimoteEmu: Update accelerometer status from DesiredWiimoteState.
2022-10-02 23:14:35 +02:00
Admiral H. Curtiss
a39f82cb1f
WiimoteEmu: Update button status from DesiredWiimoteState.
2022-10-02 23:14:34 +02:00
Admiral H. Curtiss
52424fe327
Qt: Allow opening controller settings during netplay.
2022-10-02 23:14:34 +02:00
Admiral H. Curtiss
bc47a9a31a
Qt/WiimoteControllersWidget: Disable potentially breaking stuff during netplay.
2022-10-02 23:13:26 +02:00
Admiral H. Curtiss
37ae9ab524
Qt/GamecubeControllersWidget: Disable dropdowns during netplay.
2022-10-02 23:10:43 +02:00
JosJuice
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
Admiral H. Curtiss
95cace837a
HW: Move DSP variables to Core::System.
2022-10-02 05:13:55 +02:00
Admiral H. Curtiss
c84835c53c
Merge pull request #11114 from JosJuice/jitarm64-divwx-imm
...
JitArm64: Fix divwx BindToRegister condition
2022-10-02 01:10:48 +02:00
Admiral H. Curtiss
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
Admiral H. Curtiss
f3a23db0e0
Core/State: Minor cleanup around the undo load state buffer.
2022-10-02 00:01:01 +02:00
Admiral H. Curtiss
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
Admiral H. Curtiss
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
Robin Kertels
4e204a9a1a
VideoCommon: Remove special treatment for Android in video settings
2022-10-01 20:53:02 +02:00
JosJuice
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
JosJuice
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
Robin Kertels
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
DivineWinds
37892a8611
DolphinQt/HacksWidget: Make backend name in GPU Texture Decoding/Bounding Box tooltip translatable
2022-10-01 12:32:49 +03:00
JMC47
c196c47e81
Merge pull request #11090 from K0bin/submit-rework
...
Vulkan: Raise number of command buffers
2022-09-30 20:15:25 -04:00
Robin Kertels
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
Robin Kertels
fba7d35f94
VideoBackends:Vulkan: Associate descriptor pool with frame rather than command buffer
2022-10-01 01:26:04 +02:00
Robin Kertels
ed75a58061
VideoBackends:Vulkan: Decouple available command buffers from frames in flight
2022-10-01 01:26:04 +02:00
Robin Kertels
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
Robin Kertels
2e6d8d6575
VideoBackends:Vulkan: Fix validation error around surface_capabilities2
2022-10-01 01:26:03 +02:00
JMC47
68eda7f887
Merge pull request #11084 from K0bin/qcom-workaround
...
Vulkan: Workaround slow vkCmdCopyImageToBuffer on QCom
2022-09-30 15:33:00 -04:00
Robin Kertels
81c817c54d
VideoBackends:Vulkan: Workaround slow vkCmdCopyImageToBuffer on QCom driver
2022-09-30 21:13:42 +02:00
Vincent Pelletier
12142c4fa8
DSPSpy: Add st3 BLOOP{,I} tests.
2022-09-30 11:07:41 +00:00
Vincent Pelletier
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
JosJuice
2e8d775df1
Jit64: boolX formatting fixes
2022-09-29 20:27:15 +02:00
Mai
1f2ec9afd6
Merge pull request #11052 from Tilka/shinkansen
...
Add emulated Shinkansen controller
2022-09-29 09:21:27 -04:00
Mai
e3e6c3dfa4
Merge pull request #11088 from JosJuice/uicommon-set-enable-alert
...
Move a SetEnableAlert call to UICommon
2022-09-29 09:09:29 -04:00
Mai
6805c9dd0d
Merge pull request #11108 from AdmiralCurtiss/fat-fs-callbacks
...
FatFsUtil: Add ability to provide callbacks for the FatFs code.
2022-09-29 09:08:12 -04:00
Mai
0c19a1d87c
Merge pull request #11100 from Pokechu22/software-settings-merge
...
Use the same settings for the software renderer as other backends
2022-09-29 09:05:51 -04:00
Mai
3fab5b2338
Merge pull request #11097 from JosJuice/android-launch-wii-menu-check
...
Android: Improve checking in MainPresenter.launchWiiSystemMenu
2022-09-29 09:03:46 -04:00
Mai
865348cfb1
Merge pull request #11103 from JosJuice/android-gamefilecache-not-null
...
Android: Allocate GameFileCache on GUI thread
2022-09-29 09:02:47 -04:00
Pokechu22
87f84d4f54
Debugger/CodeWidget: Update callstack/callers/calls on symbol changes
...
Before, only the symbols box would update. However, if you edit the symbol of a function in the call stack (which seems like something that would happen reasonably often while debugging), the call stack would be out of date until it was updated by clicking on it. Callers and calls were more of an edge case; for them to be out of date, you would need to right-click on an instruction in a function other than the one containing the currently-selected instruction (though it would also affect recursive functions).
2022-09-28 21:01:37 -07:00
Admiral H. Curtiss
3182d9178c
FatFsUtil: Add ability to provide callbacks for the FatFs code.
2022-09-29 05:16:21 +02:00
Admiral H. Curtiss
dafe2c785a
Merge pull request #9481 from Sintendo/jit64boolx
...
Jit64: boolX constant optimizations
2022-09-28 23:40:26 +02:00
Admiral H. Curtiss
95615ab91b
Merge pull request #11096 from Sintendo/arm64boolx
...
JitArm64: boolX constant optimizations
2022-09-28 21:58:06 +02:00
Admiral H. Curtiss
32bdc54869
Merge pull request #11101 from Pokechu22/backend-multithreading-enabled
...
DolphinQt: Only enable the backend multithreading checkbox if the backend supports it
2022-09-28 21:57:37 +02:00
Admiral H. Curtiss
4de70f1e99
Merge pull request #11099 from Pokechu22/draw_done_and_token_stats
...
VideoCommon: Add statistics for draw done and token commands
2022-09-28 21:56:54 +02:00
Vincent Pelletier
85d2358157
EXI_DeviceMemoryCard: Drop comment about ChipErase behaviour
...
Tested on an official DOL-014 (251 blocks) memory card by executing the
0xf4 command on a card with content along its entire length and then
dumping the whole card: it reads as 0xff all the way through.
Therefor, the current implementation is already consistent with hardware.
2022-09-28 11:55:46 +00:00
JosJuice
d4709ce0ba
Android: Remove unnecessary Context parameters
2022-09-27 19:09:47 +02:00
JosJuice
45901f64b5
Android: Use synchronized methods for GameFileCache
...
Compared to the previous solution of using big `synchronized` blocks,
this makes GameFileCacheManager's executor thread release and re-lock
the lock when possible, giving the GUI thread a chance to do a
(comparatively) quick getOrAdd call if it needs to.
2022-09-27 19:06:10 +02:00
JosJuice
51debaeb47
Revert "Android: Don't hold gameFileCache lock during updateAdditionalMetadata"
...
This reverts commit fb265b610d
.
The optimization in that commit is safe when the executor thread is
writing and the GUI thread is reading, but I had failed to take into
account that it's unsafe when the GUI thread is writing and the executor
thread is reading. (The native UpdateAdditionalMetadata function loops
through m_cached_files, which is unsafe if another thread is adding
elements to m_cached_files simultaneously.)
Losing out on this optimization isn't too bad, because
719930bb39
makes it very unlikely that
both threads will want the lock at the same time.
2022-09-27 19:06:05 +02:00
JosJuice
481df6b660
Android: Allocate GameFileCache on GUI thread
...
This is intended to fix https://bugs.dolphin-emu.org/issues/13053 ,
which is a crash caused by sGameFileCache being null when addOrGet
is called.
2022-09-27 18:47:54 +02:00
JosJuice
f857fa6529
Android: Add s prefix to static variables in GameFileCacheManager
2022-09-27 18:47:54 +02:00
Pokechu22
3d0cd8b076
DolphinQt: Remove software renderer settings widget
...
Thus, the software renderer uses the same settings as everything else, fixing https://bugs.dolphin-emu.org/issues/13051 .
2022-09-26 19:43:57 -07:00
Pokechu22
b90d23158f
Software: Fix mipmaps and uneven strides in SWTexture
...
I think this is only used for texture dumping, but this resolves some failed assertions and glitchy results.
2022-09-26 19:43:57 -07:00
Pokechu22
94a77bc573
DolphinQt: Only enable the backend multithreading checkbox if the backend supports it
2022-09-26 19:25:11 -07:00
Pokechu22
a6c00c7633
D3D12: Fix backend multithreading incorrectly being marked as supported
2022-09-26 19:24:52 -07:00
Pokechu22
56fce3ba8a
Software: Remove dedicated texture/frame dumping infrastructure
...
Texture dumping can already be done using VideoCommon's system (and in fact the same setting already enabled *both* of these). Dumping objects/TEV stages/texture fetches doesn't currently have an equivalent, but could be added to the FIFO player instead.
2022-09-26 18:25:54 -07:00
Pokechu22
39569392bd
VideoCommon: Add statistics for draw done and token commands
2022-09-26 16:19:54 -07:00
Pokechu22
67ed4fa92d
Common/Image: Add unit to log message
2022-09-26 15:04:15 -07:00
JosJuice
2c216c9a2b
Android: Improve checking in MainPresenter.launchWiiSystemMenu
...
Not only SystemMenuNotInstalledDialogFragment requires directory
initialization to have completed, but also isSystemMenuInstalled.
2022-09-25 22:15:15 +02:00
Bram Speeckaert
4914ff25d6
JitArm64: boolX constant optimizations
...
A (partial) port of #9481 to ARM64. This commit adds special cases for
immediate values equal to 0 or 0xFFFFFFFF, allowing for more efficient
or no code to be generated.
2022-09-25 14:58:26 +02:00
Bram Speeckaert
9d73583ea3
JitArm64: Skip redundant imm to register writes
...
When a guest register is an immediate, it may be necessary to move this
value into a register. This is handled by gpr.R(), which lacks context
on how the register will be used. This leads to cases where the
immediate is written to a register, only for it to be overwritten. Take
for example this code generated by srwx:
0x5280031b mov w27, #0x18
0x53187edb lsr w27, w22, #24
gpr.BindToRegister() does have this context through the do_load
parameter, but didn't handle immediates. By adding this logic, we can
intelligently skip the write when do_load is false.
2022-09-25 10:04:51 +02:00
Admiral H. Curtiss
f106bc150a
Merge pull request #11083 from sepalani/bba-check
...
BBA/BuiltIn: Fix a crash during network stack exhaustion
2022-09-24 20:30:46 +02:00
Admiral H. Curtiss
63975556a4
Merge pull request #10175 from dreamsyntax/pause-on-panic
...
Core/DolphinQt: Add Pause on Panic Option for DSI Exceptions and Unknown Instruction
2022-09-24 20:28:09 +02:00
Admiral H. Curtiss
571e300e9e
Merge pull request #11047 from AdmiralCurtiss/netplay-save-options-rework
...
Netplay: Simplify save data options.
2022-09-24 20:26:05 +02:00
JosJuice
04072f0ce6
Integrate "Ignore for this session" better with config system
...
Because of the previous commit, this is needed to stop DolphinQt from
forgetting that the user pressed ignore whenever any part of the config
is changed.
This commit also changes the behavior a bit on DolphinQt: "Ignore for
this session" now applies to the current emulation session instead of
the current Dolphin launch. This matches how it already worked on
Android, and is in my opinion better because it means the user won't
lose out on important panic alerts in a game becase they played another
game first that had repeated panic alerts that they wanted to ignore.
For Android, this commit isn't necessary, but it makes the code cleaner.
2022-09-24 13:03:45 +02:00
JosJuice
16c71b9a35
Move a SetEnableAlert call to UICommon
...
This fixes a problem where changing the Use Panic Handlers setting on
Android wouldn't take effect until the app was restarted.
2022-09-24 12:35:10 +02:00
Admiral H. Curtiss
02a967f786
InputCommon: Add equality operators to RawValue.
2022-09-24 01:44:21 +02:00
Admiral H. Curtiss
24a1fe32f1
InputCommon: Make RawValue constructors constexpr.
2022-09-24 01:38:09 +02:00
Admiral H. Curtiss
70485472b1
Common/Matrix: Add equality operators to TVec2/3/4.
2022-09-24 01:38:01 +02:00
Admiral H. Curtiss
3fa9fdf57a
Merge pull request #11075 from AdmiralCurtiss/controller-gui-refresh
...
Qt/Controllers: Refresh GUI on settings change.
2022-09-24 00:14:54 +02:00
Sepalani
34858e934f
BBA/BuiltIn: Ignore UPnP request to itself
2022-09-23 20:54:26 +04:00
Sepalani
df53ebb59f
BBA/BuiltIn: Fix a crash during network stack exhaustion
2022-09-23 18:59:27 +04:00
Admiral H. Curtiss
9860b68b9c
Common: Add [[nodiscard]] to GetStringT().
2022-09-23 14:58:18 +02:00
Admiral H. Curtiss
4cb8914ad3
VolumeVerifier: Add missing assignment to summary_text.
2022-09-23 14:57:55 +02:00
Admiral H. Curtiss
f426e3cd79
Merge pull request #11039 from TryTwo/PR_MemoryWidget_MiniMenu
...
Debugger MemoryWidget: Create mini-menu at top of sidebar.
2022-09-23 04:22:10 +02:00
Admiral H. Curtiss
b7855a3a56
Merge pull request #11073 from Hibyehello/Fix-Metal-init
...
Add Metal as backend option with Vulkan Disabled
2022-09-23 04:21:23 +02:00
Admiral H. Curtiss
75c50223f2
Merge pull request #11078 from Minty-Meeo/mapfloat-tweak
...
Use std::llround in MapFloat
2022-09-23 04:18:03 +02:00
Admiral H. Curtiss
79c5d1b003
Merge pull request #10780 from OatmealDome/steam-windows
...
msbuild: Add property for creating Steam builds on Windows
2022-09-23 04:14:23 +02:00
JMC47
b0ac5ac6af
Merge pull request #10949 from Zopolis4/reprecated
...
Resolve C++20 deprecation warnings
2022-09-22 21:56:24 -04:00
Minty-Meeo
73dfcc15a5
Use std::llround in MapFloat
...
I don't see why not.
2022-09-22 11:30:32 -05:00
Admiral H. Curtiss
270ffa7351
Qt/WiimoteControllersWidget: Refresh GUI on settings change and refactor a bit.
2022-09-20 23:47:16 +02:00
Admiral H. Curtiss
a5dbf6b60d
Qt/GamecubeControllersWidget: Refresh GUI on settings change and refactor a bit.
2022-09-20 23:46:45 +02:00
Admiral H. Curtiss
019dc86b6f
Qt/CommonControllersWidget: Refresh GUI on settings change.
2022-09-20 23:46:36 +02:00
JMC47
22197c09a3
Merge pull request #10781 from tellowkrinkle/UberVertexLoader
...
VideoCommon: Add dynamic vertex loader for ubershaders to reduce pipeline count
2022-09-20 17:14:07 -04:00
JosJuice
6203c101f8
JitArm64: Enforce correct alignment of SPR_TL
2022-09-20 18:55:28 +02:00
TellowKrinkle
ee692abbe1
VideoBackends:Metal: Use BitField for stuffing bits in pipeline ids
...
Also removes cullmode all handling, it's handled in CPU and DX11 backend doesn't specially handle it either
2022-09-20 01:45:18 -05:00
Admiral H. Curtiss
d04e1ca96a
Merge pull request #11058 from shuffle2/updater-inflate
...
Updater: Move inflate intermediate buffer to heap and enlarge
2022-09-20 02:45:50 +02:00
JMC47
3b10bf04ac
Merge pull request #10808 from Pokechu22/vertex-loader-direct-normals-with-index3
...
VideoCommon: Fix direct normal+tangent+binormal with index3 set
2022-09-19 19:47:37 -04:00
Admiral H. Curtiss
0d095b4d9b
Netplay: Simplify save data options.
2022-09-20 01:37:32 +02:00
Admiral H. Curtiss
39314ac162
Add more logging around Wii save copying for Netplay.
2022-09-20 01:37:31 +02:00
TellowKrinkle
1eb3aaa548
VideoCommon: Use std::array in PortableVertexDeclaration
2022-09-19 16:28:24 -05:00
TellowKrinkle
28b31b8327
VideoBackends:Vulkan: Make dynamic vertex loader optional
...
Makes it easier to disable in the future if support for VK_EXT_vertex_input_dynamic_state is added
2022-09-19 16:28:24 -05:00
TellowKrinkle
dae56a24b8
VideoBackends:D3D12: Dynamic vertex loader support
2022-09-19 16:28:24 -05:00