| Age | Commit message (Collapse) | Author |
|
The hardware tested value is 0.5 which translates to SHRT_MAX / 2
|
|
|
|
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.
|
|
|
|
Fixes a race condition detected from tsan
|
|
memory_manager: Mark IsGranularRange() as a const member function
|
|
registered_cache: Make use of designated initializers
|
|
common/color: Migrate code over to the Common namespace
|
|
logging option
The extended logging option is automatically disabled on boot but can be enabled afterwards, allowing the log file to go up to 1 GB during that session.
This commit also fixes a few errors that are present in the general debug menu.
|
|
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.
|
|
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.
|
|
Avoids pulling in unnecessary things that can cause rebuilds when they
aren't required.
|
|
key_manager: Make data arrays constexpr
|
|
Add the necessary CMake code to copy the contents in a string source
shader (GLSL or GLASM) to a header file then consumed by video_core
files.
This allows editting GLSL in its own files without having to maintain
them in source files.
For now, only OpenGL presentation shaders are moved, but we can add
GLASM presentation shaders and static SPIR-V generation through
glslangValidator in the future.
|
|
This allows us passing any type of string and hinting the length of the
string to the OpenGL driver.
|
|
vfs_real: Avoid redundant map lookups
|
|
web_service: Move web_result.h into web_service
|
|
We can just log out the parameters in the meantime.
|
|
Same behavior, minus unnecessary inclusions where not necessary.
|
|
Initialize id to a deterministic value and also mark the unreachable
cases in the switch with UNREACHABLE().
|
|
Simplifies code.
|
|
Removes the need for comments to indicate the fields being assigned.
|
|
core_timing: Resolve sign conversion warning
|
|
We can convert these maps into constexpr arrays to eliminate some
runtime static constructors.
|
|
We can simplify a few loops by making use of ranged for.
|
|
|
|
Same behavior, minus unnecessary zeroing out of the pointer.
|
|
This constant is only ever assigned to downcount, which is a s64, not a
u64.
|
|
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.
|
|
Add an extra step in GPU initialization to be able to initialize render
backends with a valid GPU instance.
|
|
gl_shader_disk_cache: Make use of std::nullopt where applicable
|
|
dynarmic: Add unsafe optimizations
|
|
macro-interpreter: Resolve -Wself-assign-field warning
|
|
State track the current primitive topology with a regular comparison
instead of using dirty flags.
This fixes a bug in dirty flags for this particular state and it also
avoids unnecessary state changes as this property is stored in a
frequently changed bit field.
|
|
Enable the required capabilities to use Vulkan 1.0 without validation
errors and disable those that are not compatible with it.
|
|
This commit doesn't make yuzu compatible with Vulkan 1.0 yet, it only
creates an 1.0 instance.
|
|
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
|
|
vulkan/wrapper: Avoid unnecessary copy in EnumerateInstanceExtensionProperties()
|