Commit Graph

3967 Commits

Author SHA1 Message Date
f1ad43afaf Common/CommonFuncs: Move interface into Common namespace
Gets these functions out of the global namespace.
2023-04-18 19:23:04 -04:00
2e7f0d002e Merge pull request #11760 from Minty-Meeo/embracing-nullptr
Embrace nullptr over NULL and 0
2023-04-18 22:14:11 +02:00
d861b8caca Config: Add setting for SD card file size when converting. 2023-04-18 11:04:26 +02:00
467b961e9c IOS/Network/KD: Implement GetSchedulerStat 2023-04-17 11:38:42 -04:00
get
a5d06fde4b Embrace nullptr over NULL and 0 2023-04-15 16:07:05 -05:00
784a216927 Common/MathUtil: Move IntLog2 into MathUtil namespace
Gets this out of the global namespace.
2023-04-15 03:35:05 -04:00
5e0c20f8a5 Common/MathUtil: Remove MathFloatVectorSum()
This isn't used anywhere and not really a generic utility, so we can get
rid of it.

This also lets us remove MathUtil.cpp, since this was the only thing
within that file.
2023-04-15 03:25:38 -04:00
e9dbb93cb5 Merge pull request #11756 from lioncash/ini
Common/IniFile: Move interface into Common namespace
2023-04-14 20:52:30 +02:00
ae18aa0639 Merge pull request #11687 from Minty-Meeo/warnings
Resolve GCC/Clang Warnings
2023-04-14 01:29:46 +01:00
e4caace6bb Common/IniFile: Move interface into Common namespace
Gets this out of the global namespace and into the Common namespace
2023-04-13 10:19:28 -04:00
f5bdfdde1a Common/UPnP: Move interface into Common namespace
Keeps these utilities consistent with the rest of most of the Common
library.
2023-04-12 14:15:58 -04:00
244918acb8 Resolve [-Wdeprecated-declarations] 2023-04-12 03:59:57 -05:00
efd06a85d2 Resolve [-Wunused-but-set-variable] 2023-04-12 03:59:57 -05:00
09e11b8067 Common: Rename ENetUtil.cpp/.h to ENet.cpp/.h 2023-04-11 11:48:46 -04:00
64ce2012e3 Common/ENetUtil: Move interface into Common namespace
Rather than just being under a separate ENetUtil namespace, we can unify
this into the common namespace as Common::ENet.
2023-04-11 09:12:04 -04:00
948a548fb2 Merge pull request #11720 from Pokechu22/hookable-event-recursive-mutex
HookableEvent: Use std::recursive_mutex instead of std::mutex
2023-04-10 22:50:44 +02:00
2bb619a508 Resolve [-Wstringop-overflow=] 2023-04-10 14:21:15 -05:00
1cf30055b2 Resolve [-Wsign-compare] 2023-04-10 14:21:15 -05:00
23843583bf PowerPC: Refactor to class, move to System. 2023-04-09 21:48:37 +02:00
b9595a2230 CMake: Use find_package and imported targets for Iconv
Fixes us forgetting to add its include directories, which could result in linking to a dylib from MacPorts while using the system's header, and failing to link because they use different function names
2023-04-08 21:43:03 -05:00
Mai
aaedc2827d Merge pull request #11735 from Pokechu22/cmake-no-spirv-cross-on-linux
CMake: Don't include SPIRV-Cross except on Windows and macOS
2023-04-06 23:11:14 -04:00
Mai
74da38916e Merge pull request #11729 from AdmiralCurtiss/redundant-mov
Jit64: Fix possibly redundant MOV in ABI_CallFunctionPR().
2023-04-06 21:42:28 -04:00
56fcc97f6d CMake: Check WIN32 instead of CMAKE_SYSTEM_NAME STREQUAL Windows 2023-04-06 18:37:45 -07:00
b08d259d5c Common: Relicense TypeUtils to CC0
I am the sole contributor (apart from e149ad4f0a which only changed the license header).
2023-04-05 19:01:11 -07:00
2ac7b5a523 Jit64: Fix possibly redundant MOV in ABI_CallFunctionPR(). 2023-04-05 20:00:37 +02:00
d8fabd37fb Merge pull request #11417 from K0bin/vk-submit-thread-cleanup
VideoBackends:Vulkan: Clean up submission thread using WorkQueueThread
2023-04-04 22:02:39 +02:00
c71a4c2751 Merge pull request #11719 from AdmiralCurtiss/enet-update
Update ENet to 8ae0e85298fafdb20777b4eb4241218f52f775b0
2023-04-04 22:00:45 +02:00
07d2f3d305 Added Initial Achievement Settings
Added AchievementSettings in Config with RA_INTEGRATION_ENABLED, RA_USERNAME, and RA_API_TOKEN. Includes code to load and store from Achievements.ini file in config folder.
2023-04-03 21:17:44 -04:00
9e0755a598 HookableEvent: Use std::recursive_mutex instead of std::mutex
This fixes a crash when recording fifologs, as the mutex is acquired when BPWritten calls AfterFrameEvent::Trigger, but then acquired again when FifoRecorder::EndFrame calls m_end_of_frame_event.reset(). std::mutex does not allow calling lock() if the thread already owns the mutex, while std::recursive_mutex does allow this.

This is a regression from #11522 (which introduced the HookableEvent system).
2023-04-02 15:51:21 -07:00
1e1041f299 NetPlay: Limit ENet's MTU to 1392 as a workaround for dropped packets over VPN via WireGuard, see https://github.com/lsalzman/enet/issues/132 2023-04-02 17:23:10 +02:00
8dabd1a025 PowerPC/MMU: Refactor to class, move to System. 2023-03-28 03:47:51 +02:00
2edb69f89f Merge pull request #11682 from lioncash/queue
Common: Move FixedSizeQueue into Common namespace
2023-03-24 12:55:10 +01:00
3961afdbb9 windows: temporarily hardcode VCToolsVersion to 14.34.31931.0
this should be reverted after next beta is built
see https://bugs.dolphin-emu.org/issues/13206
2023-03-22 10:42:32 -07:00
0f326c6067 Common: Move FixedSizeQueue into Common namespace
Gets this out of the global namespace.
2023-03-22 01:23:15 -04:00
0888c93d48 Common: Move FPU-related helpers into Common namespace
Makes these utilities' namespace consistent with the majority of the
Common library.
2023-03-21 10:58:13 -04:00
9d422d14d5 WorkQueueThread: Fix WaitForCompletion 2023-03-20 16:31:40 +01:00
14a93d24e1 Common: Add constexpr Fill function 2023-03-16 18:36:25 -07:00
Mai
4281606838 Merge pull request #11641 from JosJuice/android-remove-old-config
Android: Remove support for the old config system
2023-03-14 15:48:04 -04:00
3006c23c85 Core/CPUThreadGuard: Fetch System from Guard. 2023-03-13 18:13:20 +01:00
53e7090f55 Migrate game INI profile setting to new config system 2023-03-11 17:51:58 +01:00
901f12c935 HookableEvents: Add [[nodiscard]] to Register 2023-03-06 00:12:26 +13:00
95ce41ac56 Merge pull request #11399 from JosJuice/jit-one-stack
Jit: Don't use a second stack
2023-03-03 22:27:16 +01:00
bf079d6d3a [[unlikely]] ASSERT
and other ASSERT usage changes
2023-03-02 19:54:15 -06:00
e2bd7d1d95 Common/FatFsUtil: Close temp file before deleting it on conversion failure. 2023-02-28 20:31:56 +01:00
435d8c39ee Common/FatFsUtil: Add callback for cancelling SD card conversion. 2023-02-28 20:31:51 +01:00
86c1f6e1e7 Jit: Don't use a second stack
This second stack leads to JNI problems on Android, because ART fetches
the address and size of the original stack using pthread functions
(see GetThreadStack in art/runtime/thread.cc), and (presumably) treats
stack addresses outside of the original stack as invalid. (What I don't
understand is why some JNI operations on the CPU thread work fine
despite this but others don't.)

Instead of creating a second stack, let's borrow the approach ART uses:
Use pthread functions to find out the stack's address and size, then
install guard pages at an appropriate location. This lets us get rid
of a workaround we had in the MsgAlert function.

Because we're no longer choosing the stack size ourselves, I've made some
tweaks to where the put the guard pages. Previously we had a stack of
2 MiB and a safe zone of 512 KiB. We now accept stacks as small as 512 KiB
(used on macOS) and use a safe zone of 256 KiB. I feel like this should
be fine, but haven't done much testing beyond "it seems to work".

By the way, on Windows it was already the case that we didn't create
a second stack... But there was a bug in the implementation!
The code for protecting the stack has to run on the CPU thread, since
it's the CPU thread's stack we want to protect, but it was actually
running on EmuThread. This commit fixes that, since now this bug
matters on other operating systems too.
2023-02-28 20:29:46 +01:00
bdb19085c4 Common: Add utility function for case-insensitive string comparison. 2023-02-28 00:56:33 +01:00
a11b9d585f Common/FileUtil: Remove obsolete CopyDir() function. 2023-02-26 23:17:10 +01:00
5367bf394c Common/FileUtil: Add Move() function. 2023-02-26 23:17:09 +01:00
884917a6d5 Common/FileUtil: Use non-throwing overload of is_directory() in CreateDir() and CreateFullPath(). 2023-02-24 20:32:19 +01:00