Commit Graph

29019 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
02a967f786 InputCommon: Add equality operators to RawValue. 2022-09-24 01:44:21 +02:00
24a1fe32f1 InputCommon: Make RawValue constructors constexpr. 2022-09-24 01:38:09 +02:00
70485472b1 Common/Matrix: Add equality operators to TVec2/3/4. 2022-09-24 01:38:01 +02:00
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
34858e934f BBA/BuiltIn: Ignore UPnP request to itself 2022-09-23 20:54:26 +04:00
df53ebb59f BBA/BuiltIn: Fix a crash during network stack exhaustion 2022-09-23 18:59:27 +04:00
9860b68b9c Common: Add [[nodiscard]] to GetStringT(). 2022-09-23 14:58:18 +02:00
4cb8914ad3 VolumeVerifier: Add missing assignment to summary_text. 2022-09-23 14:57:55 +02:00
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
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
75c50223f2 Merge pull request #11078 from Minty-Meeo/mapfloat-tweak
Use std::llround in MapFloat
2022-09-23 04:18:03 +02:00
b0ac5ac6af Merge pull request #10949 from Zopolis4/reprecated
Resolve C++20 deprecation warnings
2022-09-22 21:56:24 -04:00
73dfcc15a5 Use std::llround in MapFloat
I don't see why not.
2022-09-22 11:30:32 -05:00
717c36bc43 WinUpdater: Check OS and VC++ Redist versions. 2022-09-20 15:57:50 -07:00
270ffa7351 Qt/WiimoteControllersWidget: Refresh GUI on settings change and refactor a bit. 2022-09-20 23:47:16 +02:00
a5dbf6b60d Qt/GamecubeControllersWidget: Refresh GUI on settings change and refactor a bit. 2022-09-20 23:46:45 +02:00
019dc86b6f Qt/CommonControllersWidget: Refresh GUI on settings change. 2022-09-20 23:46:36 +02:00
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
6203c101f8 JitArm64: Enforce correct alignment of SPR_TL 2022-09-20 18:55:28 +02:00
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
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
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
0d095b4d9b Netplay: Simplify save data options. 2022-09-20 01:37:32 +02:00
39314ac162 Add more logging around Wii save copying for Netplay. 2022-09-20 01:37:31 +02:00
1eb3aaa548 VideoCommon: Use std::array in PortableVertexDeclaration 2022-09-19 16:28:24 -05:00
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
dae56a24b8 VideoBackends:D3D12: Dynamic vertex loader support 2022-09-19 16:28:24 -05:00
936b4d5d0d VideoBackends:Vulkan: Dynamic vertex loader support 2022-09-19 16:28:24 -05:00
7edc8b4e79 VideoBackends:Metal: Don't set primitive on ubershaders 2022-09-19 16:28:24 -05:00
99533d2840 VideoCommon: Add separate pipeline usage for UberShaders 2022-09-19 16:28:24 -05:00
d289e9c51c VideoCommon: Compile a few extra pipelines 2022-09-19 16:28:24 -05:00
d3dae1cd7e VideoBackends:Metal: Dynamic vertex loader support 2022-09-19 16:28:24 -05:00
4c629c2bee VideoCommon: Add dynamic vertex loader to ubershaders 2022-09-19 16:28:23 -05:00
c21f2512c8 HW: Move g_SRAM to System. 2022-09-19 21:47:15 +02:00