| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Abstracts most of the input mechanisms under an InputSubsystem class
that is managed by the frontends, eliminating any static constructors
and destructors. This gets rid of global accessor functions and also
allows the frontends to have a more fine-grained control over the
lifecycle of the input subsystem.
This also makes it explicit which interfaces rely on the input subsystem
instead of making it opaque in the interface functions. All that remains
to migrate over is the factories, which can be done in a separate
change.
|
|
Project Mjölnir: Part 1 - Input Rewrite
|
|
common/assert: Make use of C++ attribute syntax
|
|
shader/memory: Amend UNIMPLEMENTED_IF_MSG without a message
|
|
video_core/host_shaders: Add CMake integration for string shaders
|
|
|
|
vk_state_tracker: Fix primitive topology
|
|
memory_manager: Make operator+ const qualified
|
|
|
|
This doesn't modify member state, so it can be marked as const.
|
|
We can place the external in an inner folder and manage the custom files
necessary to integrate it with CMake directly. This allows us to
directly change how we use it with our build system, as opposed to
needing to change a fork.
|
|
|
|
Supports the Left, Right, Middle, Backward and Forward mouse buttons.
|
|
|
|
This allows homebrew applications to be able to properly detect connected controllers.
|
|
|
|
The hardware tested value is 0.5 which translates to SHRT_MAX / 2
|
|
|
|
Co-authored-by: Its-Rei <kupfel@gmail.com>
|
|
Co-authored-by: James Rowe <jroweboy@gmail.com>
Co-authored-by: Its-Rei <kupfel@gmail.com>
|
|
We just need to make our intentional implicit truncations explicit.
|
|
As reported by tsan, SelectThreads could write to
is_context_switch_pending holding a mutex while SwitchToCurrent reads it
without holding any.
It is assumed that the author didn't want an atomic here, so the code is
reordered so that whenever is_context_switch_pending is read inside
SwitchToContext, the mutex is locked.
|
|
As reported by tsan, host_thread_ids could be read while
any of the RegisterHostThread variants were called.
To fix this, lock the register mutex when yuzu is running in multicore
mode and GetCurrentHostThreadID is called.
|
|
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.
|
|
As reported by tsan, g_bUseLock had a data race. Fix this using an
atomic boolean.
|
|
|
|
Fixes a race condition detected from tsan
|
|
We shouldn't be tracking personal forks of repositories when upstream
can be managed directly.
|
|
externals: Update Xbyak to 5.95
|
|
5.95 contains a potentially backward-compatibility breaking change, so
we should be updating to this to ensure that our code remains
forward-compatible.
|
|
externals: Update xbyak to v5.941
|
|
memory_manager: Mark IsGranularRange() as a const member function
|
|
microprofile: Don't memset through std::atomic types
|
|
registered_cache: Make use of designated initializers
|
|
common/color: Migrate code over to the Common namespace
|
|
video_core: Initialize renderer with a GPU
|
|
cpu_manager: Make use of ranged for where applicable
|
|
Ensures that the full set of bitwise operators are available for types
that make use of this macro.
|
|
Normalizes the syntax used for attributes
|
|
While we're at it, we can also mark them as nodiscard.
|
|
gl_texture_cache: Take std::string by reference in DecorateViewName()
|
|
This doesn't modify internal member state, so it can be marked as const.
|
|
LabelGLObject takes a string_view, so we don't need to make copies of
the std::string.
|
|
video_core/fence_manager: Remove unnecessary includes
|
|
Keeps the tracked submodule up to date with the latest release.
|
|
Avoids pulling in unnecessary things that can cause rebuilds when they
aren't required.
|
|
Two of the members of the MicroProfileThreadLog contains two std::atomic
instances. Given these aren't trivially-copyable types, we shouldn't be
memsetting the structure, given implementation details can contain other
members within it.
To avoid potential undefined behavior on platforms, we can use aggregate
initialization to zero out the members while still having well-defined
behavior.
While we're at it we can also silence some sign conversion warnings.
|