Commit Graph

30654 Commits

Author SHA1 Message Date
9f3b9acad9 PowerPC.cpp: No need to explicitly initialize ppcState.
"ppcState{}" is stored in the .data segment, which means the full ~4 MB
is stored in the executable.

"ppcState" is stored in the .bss segment, which means it only stores a
note that tells it to allocate and zero ~4 MB at runtime.
2019-12-29 23:45:02 -05:00
afe2e7de0f VolumeVerifier.cpp: Verify that the string arrays are sorted before using std::binary_sort().
Debug builds only, since this is wrapped in assert().
2019-12-29 23:42:55 -05:00
d660aba20f VolumeVerifier.cpp: Use arrays of string_view objects instead of strings.
string_view is a thin wrapper around C strings, so it's more efficient
for constant strings than C++ strings.

The unordered_set<> also adds extra runtime overhead. For small arrays,
a simple linear search works. For larger arrays, std::binary_search()
works better than linear but without the unordered_set<> overhead.

ShouldBeDualLayer(): Removed a duplicate "SK8X52" entry.
2019-12-29 23:42:55 -05:00
aad8aab698 Jit64: Disable the fast address check if fastmem is disabled.
This was a huge speedup with disabled fastmem, but it still requires the fastmem arena.
So let's disable it for now, even if this commit has a huge performance hit with disabled fastmem.
2019-12-28 13:41:57 +01:00
d735943aa2 Jit64: Use safe memory helpers for psq_l* without fastmem.
RMEM won't help if there is no fastmem arena, so let's use our memory helpers.
2019-12-28 13:41:57 +01:00
74cb692591 Jit64: Only activate dcbz fastpath with fastmem.
The code is safe not to create memory errors, but it accesses the fastmem area.
2019-12-28 13:41:57 +01:00
c6019f9814 PowerPC/Jit: Create fastmem arena on init. 2019-12-28 13:41:57 +01:00
ccbadf6e72 Core: Refactor fastmem arena construction.
This shall be called by the Jit, not by the emulation start itself.
2019-12-28 13:41:57 +01:00
9d88180df7 MMU: Use the Memory helpers for physical memory.
physical_base is a fastmem helper. Its access is unsafe and might not be available without a Jit.
2019-12-28 12:57:51 +01:00
d744c5a148 Compile fixes for Windows-on-ARM64 2019-12-28 19:20:41 +10:00
6fcb1c6c46 Add an ARM64 target to Visual Studio projects 2019-12-28 19:20:41 +10:00
5a65031611 Add a Win32 NoGUI platform and project 2019-12-28 08:56:27 +10:00
0755f92979 Merge pull request #8534 from JosJuice/netplay-index-empty-strings
Properly check for missing netplay session name/region
2019-12-25 21:52:22 -08:00
0341288af2 Merge pull request #8525 from Techjar/axwii-ub
HW/DSPHLE: Fix struct aliasing undefined behavior in AX ucode
2019-12-24 08:35:28 +01:00
0c12dbe860 DolphinQt: Properly save netplay session settings when changed 2019-12-23 23:14:13 +01:00
8e278b8053 Check presence of name and region in NetPlayServer 2019-12-23 23:14:13 +01:00
2fa4ef729f DolphinQt: Check presence of region in NetPlaySetupDialog 2019-12-23 23:14:13 +01:00
5c996dec89 DualShockUDPClient: downgrade spurious NOTICE_LOGs 2019-12-23 18:36:18 +01:00
eae959238e HW/DSPHLE: Fix struct aliasing undefined behavior in AX ucode
This fixes Old AX Wii games having no audio when compiled under VS2019.
This also includes some minor code cleanup and moving a function to
avoid duplication.
2019-12-22 14:48:47 -05:00
79092cdda0 Common/BitUtils: Implement BitCast(To|From)Array 2019-12-22 14:48:47 -05:00
21f42fafb7 MacOS: Fixes configuration hang; bump MacOS SDK.
Removed conditional use of std::mutex instead of std::shared_mutex on MacOS.

Because MacOS < 10.12 did not support std::shared_mutex, a previous commit
naïvely substituted std::mutex, which does not have the same behavior.

Reverses PR #8273, which substitues std::mutex for std::shared_mutex on
macOS, and results in several bugs that seem to only affect MacOS

- https://bugs.dolphin-emu.org/issues/11919
- https://bugs.dolphin-emu.org/issues/11842
- https://bugs.dolphin-emu.org/issues/11845

This change eliminates conditional code for MacOS in the core configuration
layer code and enables the use of modern language features that are more
secure and thread-safe.
2019-12-22 00:49:17 -05:00
6a0067fd26 FrameDump: Set first_frame if movie frame number <= 1
The frame number is incremented before the first frame is swapped out.

Fixes ffmpeg creating invalid video files on output if the emulator only
runs for a single frame, e.g. FifoCI.
2019-12-22 11:54:34 +10:00
222bc6a443 Include <memory> for std::unique_ptr in DXContext.h 2019-12-19 14:25:12 -08:00
74dedc57fd Merge pull request #8519 from JosJuice/setupwiimemory-region-override
Boot: Optionally allow preserving region settings in setting.txt
2019-12-19 20:47:56 +10:00
6f5d770bdd Merge pull request #8524 from shuffle2/update-externals
Update externals
2019-12-19 20:41:49 +10:00
d9c4bf499f remove x86 targets from sln 2019-12-19 00:43:48 -08:00
e3a30fbdf2 update minilzo to 2.10 2019-12-18 22:20:11 -08:00
3cf2857aac Merge pull request #8520 from lioncash/analyst-tidy
PowerPC/PPCAnalyst: Remove unimplemented LogFunctionCall prototype
2019-12-15 12:07:38 +01:00
7c12081693 PowerPC/PPCAnalyst: Remove unimplemented LogFunctionCall prototype
This doesn't have an implementation, so it can be removed.
2019-12-15 00:23:32 -05:00
208c6a3011 Boot: Optionally allow preserving region settings in setting.txt
See the discussion in https://bugs.dolphin-emu.org/issues/11930.
(This probably doesn't really fix that issue, but it's something
I thought would make sense anyway.)
2019-12-14 19:03:20 +01:00
ad5ad7c0c4 Merge pull request #8515 from Simonx22/gradle-353
Android: update to Gradle 3.5.3
2019-12-14 16:26:20 +01:00
6cd2f5a76d Merge pull request #8501 from lioncash/byteswap
GCMemcard: Remove byteswapping functions and macros
2019-12-14 14:28:01 +01:00
49fcc71565 Merge pull request #8506 from lioncash/cache
PPCCache: Make arrays constexpr where applicable
2019-12-14 14:25:06 +01:00
a980a39807 Merge pull request #8518 from stenzek/more-wiimote-reset-crashes
Core: Reset Wiimotes/rumble/memwatcher on emu thread
2019-12-13 13:44:22 +10:00
0cb3257d3f Merge pull request #8435 from firodj/pr-fix-macos-qt-plugin-cocoa
DolphinQt: Fix qt.qpa.plugin on MacOS
2019-12-10 17:41:02 +01:00
e5485ca499 Core: Reset wiimotes/rumble on emu thread instead of main thread
This was causing a race which was crashing the FifoCI runners. The main
thread called Stop() which in turn called ResetAllWiimotes() while the
emu thread was still exiting, also shutting down the Wiimote class.

By shifting the reset to the emu thread, all cleanup operations happen
on the same thread where they were initialized.
2019-12-09 20:07:00 +10:00
c602cb2e2f Core: Reset memory watcher on same thread which allocates it 2019-12-09 20:06:14 +10:00
e05bc33899 Vulkan: Call VertexManagerBase initialize 2019-12-09 19:16:15 +10:00
07c43b192f D3D12: Call VertexManagerBase initialize 2019-12-09 19:16:04 +10:00
a21fb96638 Merge pull request #8516 from JosJuice/scrub-unencrypted-again
Fix scrubbing unencrypted Wii disc images (for real this time)
2019-12-08 12:25:16 -08:00
711b36075c Fix scrubbing unencrypted Wii disc images (for real this time)
Unlike what my past self apparently thought, % is in fact not the
"round down" operator.

https://bugs.dolphin-emu.org/issues/11906
2019-12-08 19:41:40 +01:00
bac8c060b5 Merge pull request #8508 from lioncash/fmt-tex
VideoCommon/TextureConverterShaderGen: Convert over to fmt
2019-12-07 18:41:14 -08:00
9ef50a1d4b Merge pull request #8509 from lioncash/shader-str
VideoCommon/FramebufferShaderGen: Minor clean up
2019-12-07 18:40:56 -08:00
19ea546a0a Merge pull request #8511 from lioncash/if-constexpr
VideoCommon/OpcodeDecoding: Make use of if constexpr
2019-12-07 18:40:15 -08:00
fdb78b64e1 Merge pull request #8513 from lioncash/bounding-box
VideoCommon/BoundingBox: Make interface for querying bounding box data
2019-12-07 18:40:02 -08:00
b39756dbce Merge pull request #8512 from lioncash/index
VideoCommon/IndexGenerator: Eliminate static state
2019-12-07 18:38:06 -08:00
345152b148 Android: update to Gradle 3.5.3 2019-12-06 12:13:53 -05:00
81edcca8db Common/Network: Use std::nullopt in StringToMacAddress
Prevents unnecessary zeroing out of std::optional's internal buffer in
some implementations.
2019-12-06 09:59:11 -05:00
cbfacc41ba Common/Network: Remove unused header inclusions
Removes unused header dependencies.
2019-12-06 09:51:28 -05:00
f06461d208 Common/Network: Make StringToMacAddress use a string_view
This function only ever reads the contents of the string in a non-owning
manner, so we can change the parameter over to being a string view.
2019-12-06 09:45:25 -05:00