Age | Commit message (Collapse) | Author |
|
externals: Update Xbyak to 5.96
|
|
common_funcs: Add missing XOR operators to DECLARE_ENUM_FLAG_OPERATORS
|
|
Also amend the copyright notice to yuzu's instead of Dolphin's, which was mistakenly copy-pasted from another file.
|
|
input_common: Add a basic class for motion devices
|
|
common/thread: Fix data race in is_set
|
|
Fix thread naming on Linux, which limits names to 15 bytes.
|
|
I made a request on the Xbyak issue tracker to allow some constructors
to be constexpr in order to avoid static constructors from needing to
execute for some of our register constants.
This request was implemented, so this updates Xbyak so that we can make
use of it.
|
|
|
|
Project Mjölnir: Part 1 - Input Rewrite
|
|
common/assert: Make use of C++ attribute syntax
|
|
Co-authored-by: James Rowe <jroweboy@gmail.com>
Co-authored-by: Its-Rei <kupfel@gmail.com>
|
|
As report by tsan, Event::Set can write is_set while WaitFor and friends
are reading from it. To address this issue, make is_set an atomic.
|
|
common/color: Migrate code over to the Common namespace
|
|
Ensures that the full set of bitwise operators are available for types
that make use of this macro.
|
|
Normalizes the syntax used for attributes
|
|
This is the only place it's actively used. It's also more appropriate
for web-related structures to be within the web service target.
Especially given this one doesn't rely on anything in the common
library.
|
|
common/telemetry: Migrate namespace into the Common namespace
|
|
common/concepts: Move <type_traits> include out of the Common namespace
|
|
|
|
common: Silence two discarded result warnings
|
|
Migrates the Telemetry namespace into the Common namespace to make the
code consistent with the rest of our common code.
|
|
No external code makes use of this header, so we can freely change the
namespace.
|
|
This is a compiler/linker error waiting to happen.
|
|
common/fileutil: Convert namespace to Common::FS
|
|
Migrates a remaining common file over to the Common namespace, making it
consistent with the rest of common files.
This also allows for high-traffic FS related code to alias the
filesystem function namespace as
namespace FS = Common::FS;
for more concise typing.
|
|
These are intentionally discarded internally, since the rest of the
public API allows querying success. We want all non-internal uses of
these functions to be explicitly checked, so we can signify that we
intentionally want to discard the return values here.
|
|
We can simplify this function down into a single line with the use of
fmt. A benefit with the fmt approach is that the fmt variant of
localtime is thread-safe as well, making GetOsTimeZoneOffset()
thread-safe as well.
|
|
Seems like all compilers don't support std::span yet.
|
|
Now that clang-format makes [[nodiscard]] attributes format sensibly, we
can apply them to several functions within the common library to allow
the compiler to complain about any misuses of the functions.
|
|
lz4_compression/zstd_compression: Make use of std::span in interfaces
|
|
General: Tidy up clang-format warnings part 2
|
|
|
|
common/virtual_buffer: drop unused includes
|
|
|
|
This makes it more inline with its currently unavailable standardized
analogue std::derived_from.
While we're at it, we can also make the template match the requirements
of the standardized variant as well.
|
|
partition_data_manager: Make data arrays constexpr
|
|
Previously the constructor for all of these would run at program
startup, consuming time before the application can enter main().
This is also particularly dangerous, given the logging system wouldn't
have been initialized properly yet, yet the program would use the logs
to signify an error.
To rectify this, we can replace the literals with constexpr functions
that perform the conversion at compile-time, completely eliminating the
runtime cost of initializing these arrays.
|
|
- In `SetCurrentThreadName`, when on Linux, truncate to 15 bytes, as (at
least on glibc) `pthread_set_name_np` will otherwise return `ERANGE` and
do nothing.
- Also, add logging in case `pthread_set_name_np` returns an error
anyway. This is Linux-specific, as the Apple and BSD versions of
`pthread_set_name_np return `void`.
- Change the name for CPU threads in multi-core mode from
"yuzu:CoreCPUThread_N" (19 bytes) to "yuzu:CPUCore_N" (14 bytes) so it
fits into the Linux limit. Some other thread names are also cut off,
but I didn't bother addressing them as you can guess them from the
truncated versions. For a CPU thread, truncation means you can't see
which core it is!
|
|
logging/backend: Make use of designated initializers
|
|
On DragonFly and NetBSD build fails with
src/common/virtual_buffer.cpp
src/common/virtual_buffer.cpp:16:10: fatal error: sys/sysinfo.h: No such file or directory
#include <sys/sysinfo.h>
^~~~~~~~~~~~~~~
|
|
common/atomic_ops: Don't cast away volatile from pointers
|
|
Same behavior, less code.
|
|
WriteBuffer (#4465)
* ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer
With the support of C++20, we can use concepts to deduce if a type is an STL container or not.
* More agressive concept for stl containers
* Add -fconcepts
* Move to common namespace
* Add Common::IsBaseOf
|
|
screenshots: Option to save screenshots immediately in a specified directory + Linux workaround
|
|
Preserves the volatility of the pointers being casted.
|
|
virtual_buffer: Mark size parameter of FreeMemoryPages() as [[maybe_unused]]
|
|
This function was relocated to log.h as a constexpr function, so this
can be removed.
|
|
Allows compressing the data and size parameters into one.
|
|
Allows condensing the data and size parameters into a single argument.
|
|
This isn't used on Windows, but is used on non-Windows operating
systems.
|