Commit Graph

25365 Commits

Author SHA1 Message Date
3feea108db DiscIO: Decrease RAM usage during zstd compression
By calling ZSTD_CCtx_setPledgedSrcSize, we can let zstd know
how large a chunk is going to be before which start compressing
it, which lets zstd avoid allocating more memory than needed
for various internal buffers. This greatly reduces the RAM usage
when using a high compression level with a small chunk size,
and doesn't have much of an effect in other circumstances.

A side effect of calling ZSTD_CCtx_setPledgedSrcSize is that
zstd by default will write the uncompressed size into the
compressed data stream as metadata. In order to save space,
and since the decompressed size can be figured out through
the structure of the RVZ format anyway, we disable writing
the uncompressed size by setting ZSTD_c_contentSizeFlag to 0.
2020-10-07 16:40:06 +02:00
d64fc67b04 Show NKitness in file format string
To make people more aware that they're not using a normal disc image.
2020-10-06 19:35:00 +02:00
63f5fa6e19 Replace geckocodes.org with mirror codes.rc24.xyz 2020-10-05 22:18:04 +02:00
LC
c2975c8cb5 Merge pull request #9131 from JosJuice/nkit-mgs
Add Metal Gear Solid: The Twin Snakes to NKit warning message
2020-10-05 10:50:48 -04:00
568f226937 Add Metal Gear Solid: The Twin Snakes to NKit warning message
Unlike Super Paper Mario, this game doesn't crash as soon as you
try to start it, but rather if you try to skip a certain cutscene.
Thanks to JMC for letting me know about this.
2020-10-04 12:22:27 +02:00
4fff04db3c Core: Load custom textures after inputs has been loaded and avoid sending force texture reload during startup for dynamic textures. This ensures that custom texture loading only happens once and users don't see any weird flashes on startup 2020-10-03 17:10:36 -05:00
fd3af4c5d3 InputCommon: Introducing the "Dynamic Input Texture". Configuration links an emulated input action to an image based on what host key is defined for that emulated input. Specific regions are called out in configuration that mark where to replace an input button with a host key image. 2020-10-03 17:10:35 -05:00
8a1539f948 VideoCommon: Make a reusable free function for getting top level directories that have a matching gameid text file underneath 2020-10-03 17:10:35 -05:00
3499cedde4 Jit64: fselx - Skip MOVAPS + MOVSD (SSE4.1)
For the non-packed variant of this instruction, a MOVSD instruction was
generated to copy only the lower 64 bits of XMM1 to the destination
register. This was done in order to keep the destination register's
upper half intact.

However, when register c and the destination register are the same,
there is no need for this copy. Because the registers match and due to
the way the mask is generated, BLENDVPD will end up taking the upper
half from the destination register, as intended.

Additionally, the MOVAPS to copy Rc into XMM1 can also be skipped.

Before:
66 0F 57 C0          xorpd       xmm0,xmm0
F2 41 0F C2 C6 06    cmpnlesd    xmm0,xmm14
41 0F 28 CE          movaps      xmm1,xmm14
66 41 0F 38 15 CA    blendvpd    xmm1,xmm10,xmm0
F2 44 0F 10 F1       movsd       xmm14,xmm1

After:
66 0F 57 C0          xorpd       xmm0,xmm0
F2 41 0F C2 C6 06    cmpnlesd    xmm0,xmm14
66 45 0F 38 15 F2    blendvpd    xmm14,xmm10,xmm0
2020-10-03 18:28:41 +02:00
9ac324aed3 Jit64: fselx - Skip MOVSD (AVX)
For the non-packed variant of this instruction, a MOVSD instruction was
generated to copy only the lower 64 bits of XMM1 to the destination
register. This was done in order to keep the destination register's
upper half intact.

However, when register c and the destination register are the same,
there is no need for this copy. Because the registers match and due to
the way the mask is generated, VBLENDVPD will end up taking the upper
half from the destination register, as intended.

Before:
66 0F 57 C0          xorpd       xmm0,xmm0
F2 41 0F C2 C6 06    cmpnlesd    xmm0,xmm14
C4 C3 09 4B CA 00    vblendvpd   xmm1,xmm14,xmm10,xmm0
F2 44 0F 10 F1       movsd       xmm14,xmm1

After:
66 0F 57 C0          xorpd       xmm0,xmm0
F2 41 0F C2 C6 06    cmpnlesd    xmm0,xmm14
C4 43 09 4B F2 00    vblendvpd   xmm14,xmm14,xmm10,xmm0
2020-10-03 18:28:27 +02:00
a8df2caba9 Merge pull request #9125 from stenzek/vulkan-validation
Vulkan: Use VK_LAYER_KHRONOS_validation for validation
2020-10-02 20:18:13 +10:00
ee13e6ec80 Improved responsiveness when refreshing game list. 2020-10-01 22:10:16 +02:00
4ca92464c0 **Refresh** and **Purge Game List Cache** now correctly enabled/disabled as notified by GameListRefreshRequested and GameListRefreshCompleted. 2020-10-01 22:09:45 +02:00
bada677c5a Avoid using unnecessary RunOnObject() calls in GameTracker's worker thread to prevent deadlocks on shutdown. 2020-10-01 22:09:45 +02:00
dc7b92651f Ensured that GameTracker's internal worker thread is flushed on exit to avoid crashes when accessing stale, already-destroyed data, and to favor responsiveness. 2020-10-01 22:09:45 +02:00
213610e95d Extended WorkQueueThread class with Clear(), Cancel() and IsCancelled(). 2020-10-01 22:09:45 +02:00
5b757024c4 GameListModel instance ownership transferred back to the GameList instance. The GameListModel instance will be passed as a constructor parameter where needed. 2020-10-01 22:09:45 +02:00
0d02e70d4a Removed all references to GameListModel from the Settings component. 2020-10-01 22:09:45 +02:00
6675186520 Socket: Set SO_NOSIGPIPE on macOS 2020-10-01 13:25:34 +04:00
24bb947eff Vulkan: Use VK_LAYER_KHRONOS_validation for validation
VK_LAYER_LUNARG_standard_validation is deprecated.
2020-10-01 17:21:46 +10:00
31524288e3 Merge pull request #9116 from jordan-woyak/fix-wm-netplay
Core/NetPlay: Fix Wii Remote syncing.
2020-09-30 17:42:30 -04:00
fa866062ca DolphinQt/Debugger: Fix DBAT and IBAT registers in RegisterWidget 2020-09-29 22:11:21 -07:00
ebdcddfcd0 Merge pull request #9120 from JosJuice/controller-defaults
Fix controller defaults being empty on fresh run
2020-09-29 18:38:11 -04:00
623340bbbb Fix controller defaults being empty on fresh run
A very early call to Config::Save is now creating empty
controller INI files.

https://bugs.dolphin-emu.org/issues/12283
2020-09-29 21:49:22 +02:00
0295d470b1 ControllerEmu: Increase "IMUPointer" "Total Yaw" default value to match that of regular "Point" settings.
Removed "Total Yaw" from included Wii remote input profile to take on the default value.
2020-09-28 18:09:34 -05:00
f766c89a08 ControllerEmu: Increase Total Yaw/Pitch default values to compensate for new FOV and to reach screen edges in the Wii Menu. 2020-09-28 18:09:34 -05:00
f9280d0f66 ControllerInterface/Wiimote: Add "IR Distance" input providing a calculated distance from sensor bar in meters. 2020-09-28 18:09:34 -05:00
761f7798c9 WiimoteEmu: Increase Camera FOV constants to 42 by 31.5 degrees. 2020-09-28 18:09:34 -05:00
1063c4e940 MathUtil: Add Population (vs Sample) versions of Variance and StandardDeviation to RunningVariance. 2020-09-28 18:09:33 -05:00
8f8509afc3 Core/NetPlay: Fix Wii Remote syncing. 2020-09-27 13:10:19 -05:00
6cb14a9a54 Merge pull request #9115 from jordan-woyak/default-modifiers
Core: Unbreak default keyboard mappings.
2020-09-26 10:20:57 -05:00
24771aac5a Core: Unbreak default keyboard mappings. 2020-09-26 08:25:56 -05:00
aea0239071 Merge pull request #9109 from stenzek/msaa-efb-readback
FramebufferManager: Fix EFB readbacks with MSAA on
2020-09-26 17:46:16 +10:00
431eb4d60d ExpressionParser: Improve hotkey suppression logic. Allow activation with simultaneous press of modifier and final input. 2020-09-25 22:51:33 -05:00
44927da420 ExpressionParser: Replace ScopeGuard with custom deleter unique_ptr. 2020-09-25 22:51:33 -05:00
48b76ff90f InputCommon: Improve input detection to produce buton combinations. 2020-09-25 22:51:32 -05:00
d8ad8c3861 InputCommon: Make hotkeys and input detection aware of Ctrl -> L_Ctrl / R_Ctrl hierarchy. 2020-09-25 20:29:18 -05:00
aae913fbc6 InputCommon: Clean up modifier ignoring logic. 2020-09-25 20:29:18 -05:00
f7bf26cd60 Core: Clean up default hotkey expressions. 2020-09-25 20:29:18 -05:00
f015c99a51 ControllerInterface: Add platform consistent names for modifier keys. 2020-09-25 20:29:18 -05:00
d2729df281 ExpressionParser: Allow duplicate and superset modifier hotkeys to function. 2020-09-25 20:29:18 -05:00
b3acc7403f InputCommon: Support detecting combinations of inputs. (Hotkeys) 2020-09-25 20:29:18 -05:00
e6ba495486 ExpressionParser: Suppress inputs when hotkey modifiers are pressed. 2020-09-25 20:29:18 -05:00
52547379c9 ExpressionParser: Add Hotkey syntax. 2020-09-25 20:29:18 -05:00
991eb6ae83 Android: Use DialogFragment for AlertMessage 2020-09-25 11:50:04 -04:00
880f7ca6bb FramebufferManager: Fix EFB readbacks with MSAA on
Regression from #8827.
2020-09-25 20:58:02 +10:00
LC
a9b15dfe3c Merge pull request #9107 from JosJuice/qt-disc-0
DolphinQt: Use 1-based disc numbering in InfoWidget
2020-09-23 12:29:15 -04:00
54e570a95f Merge pull request #8902 from JosJuice/android-convert
Android: Add disc image conversion
2020-09-23 12:27:43 -04:00
0ddd296cd9 DolphinQt: Use 1-based disc numbering in InfoWidget 2020-09-23 11:42:22 +02:00
402643fe4c VolumeVerifier: Call CheckDiscSize from Finish 2020-09-23 11:19:03 +02:00