Commit Graph

37964 Commits

Author SHA1 Message Date
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
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
Mai
4f5a6ee461 Merge pull request #11109 from Pokechu22/code-widget-symbol-update
Debugger/CodeWidget: Update callstack/callers/calls on symbol changes
2022-09-29 09:00:19 -04:00
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
3182d9178c FatFsUtil: Add ability to provide callbacks for the FatFs code. 2022-09-29 05:16:21 +02:00
dafe2c785a Merge pull request #9481 from Sintendo/jit64boolx
Jit64: boolX constant optimizations
2022-09-28 23:40:26 +02:00
95615ab91b Merge pull request #11096 from Sintendo/arm64boolx
JitArm64: boolX constant optimizations
2022-09-28 21:58:06 +02:00
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
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
dd3db9437c Merge pull request #11104 from vpelletier/drop_chiperase_comment
EXI_DeviceMemoryCard: Drop comment about ChipErase behaviour
2022-09-28 21:51:50 +02:00
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
d9cd819a76 Merge pull request #11086 from smurf3tte/dtr_patch
GameSettings: Add patch for Dead to Rights audio
2022-09-27 13:27:50 -04:00
d4709ce0ba Android: Remove unnecessary Context parameters 2022-09-27 19:09:47 +02:00
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
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
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
f857fa6529 Android: Add s prefix to static variables in GameFileCacheManager 2022-09-27 18:47:54 +02:00
b7c292ac56 Merge pull request #11102 from JMC47/goldeneyedefer
Goldeneye 007 (Wii) - Disable Defer EFB Copies
2022-09-27 18:01:35 +02:00
ea7db4bb0a Goldeneye 007 (Wii) - Disable Defer EFB Copies
Defer EFB Copies causes visual issues in this game, so let's disable it.
2022-09-27 02:56:28 -04:00
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
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
94a77bc573 DolphinQt: Only enable the backend multithreading checkbox if the backend supports it 2022-09-26 19:25:11 -07:00
a6c00c7633 D3D12: Fix backend multithreading incorrectly being marked as supported 2022-09-26 19:24:52 -07:00
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
39569392bd VideoCommon: Add statistics for draw done and token commands 2022-09-26 16:19:54 -07:00
67ed4fa92d Common/Image: Add unit to log message 2022-09-26 15:04:15 -07:00
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
9ca1c0f533 Merge pull request #11094 from Sintendo/arm64bind2regimm
JitArm64: Skip redundant imm to register writes
2022-09-25 21:45:46 +02:00
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
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
199d2be939 Translation resources sync with Transifex 2022-09-24 23:34:33 +02:00
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
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
571e300e9e Merge pull request #11047 from AdmiralCurtiss/netplay-save-options-rework
Netplay: Simplify save data options.
2022-09-24 20:26:05 +02:00