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
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
e479f92418
Common/FileUtil: Add CreateDirs() function as a wrapper around std::filesystem::create_directories().
2023-02-24 20:32:18 +01:00
616d57e7fc
Common/FileUtil: Add Copy() function as a wrapper around std::filesystem::copy().
2023-02-24 20:32:18 +01:00
2c2fb869a2
use std-provided randomness for JitArm64 unittests
...
decreases runtime significantly and lessens dependency on mbedtls
2023-02-22 12:55:12 -08:00
e52aa52a66
Common/FileUtil: Rename Copy() to CopyRegularFile().
...
This is to clarify that it can only copy files, not folders.
2023-02-22 11:43:58 +01:00
b381df700c
Merge pull request #11577 from JosJuice/android-armeabi-v7a
...
Android: Fix armeabi-v7a build
2023-02-17 17:57:38 +01:00
90b676d368
Android: Fix armeabi-v7a build
...
This very much isn't a build configuration that we're going to ship,
but I want to be able to tell people that they can build it on their
own if they really want to see how terribly it performs :)
Just like before, you'll need to edit two lines in app/build.gradle to
define ENABLE_GENERIC=ON and actually enable armeabi-v7a if you want an
armeabi-v7a build. This commit just fixes some compilations errors that
crop up if you do so.
2023-02-17 16:58:24 +01:00
8802f96b7e
Fix uninitialized variable warnings (C26495)
2023-02-15 19:18:39 -08:00
0758e00cfe
Common/FileUtil: Revert behavior of CreateFullPath().
...
This was accidentally changed in 7e6436db34
.
2023-02-15 02:21:50 +01:00
5f929d00eb
Merge pull request #11560 from phire/EventHook_construct_on_first_use
...
HookableEvent: Switch to construct on first use
2023-02-14 01:01:03 +01:00
8f91cb62e6
Merge pull request #11426 from shuffle2/stdfs
...
fileutil: use std::filesystem
2023-02-14 00:50:34 +01:00
05181f6b88
HookableEvent: Switch to construct on first use
...
A registration might happen during static initialization, which opens
us up to issues with ordering of static initialization.
2023-02-13 18:48:43 +13:00
7cecb28bdf
DolphinQt: Properly lock CPU before accessing emulated memory
...
This fixes a problem I was having where using frame advance with the
debugger open would frequently cause panic alerts about invalid addresses
due to the CPU thread changing MSR.DR while the host thread was trying
to access memory.
To aid in tracking down all the places where we weren't properly locking
the CPU, I've created a new type (in Core.h) that you have to pass as a
reference or pointer to functions that require running as the CPU thread.
2023-02-12 11:27:50 +01:00
2f6e7d497d
ENetUtil: Add check for valid socket in SendPacket().
2023-02-10 19:32:40 +01:00
258151fe5a
Merge pull request #11523 from degasus/OGL_KHR_subgroup
...
VideoBackend/OGL: Prefer KHR_shader_subgroup over NV_shader_thread.
2023-02-10 04:47:20 -05:00
49a84cbc4c
Resolve various "no previous declaration" warnings
2023-02-09 16:23:01 -08:00
17d7b75a9b
Merge pull request #11544 from jmallach/spng
...
Allow building against system libspng
2023-02-09 14:47:58 +01:00
4b2aa948e6
VideoBackend/OGL: Prefer KHR_subgroup over NV_shader_thread.
...
While the NV extension is totally fine, the KHR extension should be able to support more hardware.
For NVIDIA, the hardware either supports both or neither, it just needs a driver from the last two years.
For AMD, the drivers from late 2022-12 seems to bring support for the KHR extension.
For Intel, the KHR is also supported for some years.
2023-02-09 13:27:02 +01:00
aaad0cd39f
Merge pull request #11539 from phire/improve_workqueuethread
...
Various WorkQueueThread improvements
2023-02-09 20:00:04 +13:00
ccf92a3e56
Merge pull request #11522 from phire/KillRendererWithFire
...
Kill Renderer (with phire)
2023-02-09 19:59:16 +13:00
59a4b026f6
Better documentation for HookableEvent.
2023-02-09 18:36:20 +13:00
8c8bd0e7ac
Rename to HookableEvent. Because naming conflict
2023-02-09 18:36:20 +13:00
60f2b5af7b
Apply suggestions from code review
...
Co-authored-by: Mai <mathew1800@gmail.com >
Co-authored-by: BhaaL <bhaalsen@gmail.com >
Co-authored-by: iwubcode <iwubcode@users.noreply.github.com >
2023-02-09 18:36:20 +13:00
43b6a49012
Apply suggestions from code review
...
Co-authored-by: Mai <mathew1800@gmail.com >
2023-02-09 18:36:20 +13:00
31cfe8250d
Lint fixes
2023-02-09 18:36:20 +13:00
4d164fcb77
Allow building against system libspng
2023-02-06 13:30:46 +01:00
2ff155f742
Optimise cond_var predicate order
...
m_items.empty() is by far the most likely reason for a notification.
2023-02-05 17:20:00 +13:00
271ffde71d
Prevent WaitForCompletion shutdown deadlock.
...
Adjust shutdown order to prevent potential deadlocks
when one thread calls Shutdown, and another calls WaitForCompletion.
2023-02-05 17:17:16 +13:00
9c012b09b3
Address review feedback
2023-02-05 16:52:53 +13:00
7c4fcc30a3
WorkQueueThread: provide name and function at same time
2023-02-04 15:56:27 +13:00
6594532f10
WorkQueueThread: rework Cancel/Shutdown workflow
...
- Cancel doesn't shut down anymore.
Allowing it to be used multiple times thoughout the life of
the WorkQueue
- Remove Clear, so we only have Cancel semantics
- Add IsCancelling so work items can abort early if cancelling
- Replace m_cancelled and m_thread.joinable() guars with m_shutdown.
- Rename Flush to WaitForCompletion (As it's ambiguous if a function
called flush should be blocking or not)
- Add documentation
2023-02-04 14:58:12 +13:00
acdb0c5be1
WorkQueueThread: Implement thread name
...
Otherwise we will end up with a dozen threads named "WorkQueueThread"
2023-02-04 14:58:12 +13:00
94a0c50bf8
WorkQueueThread: Rework without Flags/Events
2023-02-04 14:31:16 +13:00
9affbfe683
WorkQueueThread: Implement proper Flush
...
and rename the existing Flush to FlushOne.
2023-02-04 14:31:16 +13:00
9badcc6eb8
WorkQueueThread: Add Push
2023-02-04 14:31:16 +13:00
512273a507
WorkQueueThread: Add flush capability
2023-02-04 14:31:16 +13:00
7240290382
CommonPaths: Add Steam-specific user directory
2023-01-31 17:57:09 -05:00
59a44bea50
CommonPaths: Split platform-specific definitions for user directories into two blocks
2023-01-31 17:57:09 -05:00
af33d4f13f
CommonPaths: Split PORTABLE_USER_DIR into "portable" and "embedded" to accomodate macOS
2023-01-31 17:57:09 -05:00
7f962a4146
UICommon: Use NORMAL_USER_DIR for Windows
2023-01-31 17:57:09 -05:00
5e3d77adae
CommonPaths: Rename DOLPHIN_DATA_DIR to NORMAL_USER_DIR
2023-01-31 17:57:08 -05:00
846eef2a05
CommonPaths: Rename USERDATA_DIR to PORTABLE_USER_DIR
2023-01-31 17:57:08 -05:00
854a73dee0
CMake/MSVC: Fix PCH disabled build
2023-01-31 23:21:07 +13:00
154cb4f722
Introduce an Event system to VideoCommon
...
A lot of the remaining complexity in Renderer is the massive Swap function
which tries to handle a bunch of FrameBegin/FrameEnd events.
Rather than create a new place for it. This event system will try
to distribute it all over the place
2023-01-31 19:41:24 +13:00