ReinUsesLisp
6bf10ea8cf
hle/kernel: Fix data race in GetCurrentHostThreadID
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.
5 years ago
ReinUsesLisp
d2a084b683
common/thread: Fix data race in is_set
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.
5 years ago
ReinUsesLisp
56b58b8f8b
externals/microprofile: Fix data race in g_bUseLock
As reported by tsan, g_bUseLock had a data race. Fix this using an
atomic boolean.
5 years ago
ReinUsesLisp
ad0306e520
cpu_interrupt_handler: Misc style changes
5 years ago
ReinUsesLisp
7eb6cc742a
cpu_interrupt_handler: Make is_interrupted an atomic
Fixes a race condition detected from tsan
5 years ago
bunnei
531f3c9f94
Merge pull request #4582 from lioncash/xbyak
externals: Update Xbyak to 5.95
5 years ago
Lioncash
b4081937a5
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.
5 years ago
bunnei
ce74cce2ea
Merge pull request #4572 from lioncash/xbyak
externals: Update xbyak to v5.941
5 years ago
bunnei
6d9165c252
Merge pull request #4574 from lioncash/const-fn
memory_manager: Mark IsGranularRange() as a const member function
5 years ago
bunnei
73566a5cb2
Merge pull request #4565 from lioncash/memset
microprofile: Don't memset through std::atomic types
5 years ago
bunnei
e0b4361aaf
Merge pull request #4563 from lioncash/rcache
registered_cache: Make use of designated initializers
5 years ago
bunnei
043fe3c02f
Merge pull request #4548 from lioncash/color
common/color: Migrate code over to the Common namespace
5 years ago
bunnei
d196957ae2
Merge pull request #4542 from ReinUsesLisp/gpu-init-base
video_core: Initialize renderer with a GPU
5 years ago
bunnei
420c6d11be
Merge pull request #4562 from lioncash/loop
cpu_manager: Make use of ranged for where applicable
5 years ago
Lioncash
4861eb64aa
common/assert: Make use of C++ attribute syntax
Normalizes the syntax used for attributes
5 years ago
Rodrigo Locatti
6d5e0def0d
Merge pull request #4573 from lioncash/label
gl_texture_cache: Take std::string by reference in DecorateViewName()
5 years ago
Lioncash
9a974b8cb9
memory_manager: Mark IsGranularRange() as a const member function
This doesn't modify internal member state, so it can be marked as const.
5 years ago
Lioncash
18732e9822
gl_texture_cache: Take std::string by reference in DecorateViewName()
LabelGLObject takes a string_view, so we don't need to make copies of
the std::string.
5 years ago
Rodrigo Locatti
8e4e98eeb5
Merge pull request #4571 from lioncash/fence
video_core/fence_manager: Remove unnecessary includes
5 years ago
Lioncash
6ab6ce5be5
externals: Update xbyak to v5.941
Keeps the tracked submodule up to date with the latest release.
5 years ago
Lioncash
d62357c8ae
video_core/fence_manager: Remove unnecessary includes
Avoids pulling in unnecessary things that can cause rebuilds when they
aren't required.
5 years ago
Lioncash
72f6214e9b
microprofile: Don't memset through std::atomic types
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.
5 years ago
bunnei
18cce1dc8a
Merge pull request #4561 from lioncash/key-constexpr
key_manager: Make data arrays constexpr
5 years ago
ReinUsesLisp
ecde168452
video_core/host_shaders: Add CMake integration for string shaders
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.
5 years ago
ReinUsesLisp
82f88a0203
gl_shader_util: Use std::string_view instead of star pointer
This allows us passing any type of string and hinting the length of the
string to the OpenGL driver.
5 years ago
bunnei
88cf35db7d
Merge pull request #4549 from lioncash/files
vfs_real: Avoid redundant map lookups
5 years ago
bunnei
52a7dbf5eb
Merge pull request #4559 from lioncash/webresult
web_service: Move web_result.h into web_service
5 years ago
Lioncash
942badd1e7
registered_cache: Make use of ends_with for string suffix checking
Simplifies code.
5 years ago
Lioncash
a185b6cf21
registered_cache: Make use of designated initializers
Removes the need for comments to indicate the fields being assigned.
5 years ago
bunnei
5a675f4633
Merge pull request #4560 from lioncash/convert
core_timing: Resolve sign conversion warning
5 years ago
Lioncash
ebe30ea145
key_manager: Make data arrays constexpr
We can convert these maps into constexpr arrays to eliminate some
runtime static constructors.
5 years ago
Lioncash
beca7a0429
cpu_manager: Make use of ranged for where applicable
We can simplify a few loops by making use of ranged for.
5 years ago
Lioncash
96214f8600
core_timing: Remove unused header
5 years ago
Lioncash
aae74a55da
core_timing: Move clock initializer into constructor initializer list
Same behavior, minus unnecessary zeroing out of the pointer.
5 years ago
Lioncash
41c74f4f0c
core_timing: Resolve sign conversion warning
This constant is only ever assigned to downcount, which is a s64, not a
u64.
5 years ago
Lioncash
77d6d3bf4b
web_service: Move web_result.h into web_service
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.
5 years ago
ReinUsesLisp
1c61cf29b6
video_core: Initialize renderer with a GPU
Add an extra step in GPU initialization to be able to initialize render
backends with a valid GPU instance.
6 years ago
bunnei
7401b78840
Merge pull request #4521 from lioncash/optionalcache
gl_shader_disk_cache: Make use of std::nullopt where applicable
5 years ago
bunnei
915aeb2550
Merge pull request #4541 from MerryMage/yolo
dynarmic: Add unsafe optimizations
5 years ago
bunnei
39c24d07df
Merge pull request #4523 from lioncash/self-assign
macro-interpreter: Resolve -Wself-assign-field warning
5 years ago
ReinUsesLisp
39cab995e3
vk_state_tracker: Fix primitive topology
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.
5 years ago
bunnei
ded348b94a
Merge pull request #4546 from lioncash/telemetry
common/telemetry: Migrate namespace into the Common namespace
5 years ago
bunnei
bb17f99ce6
Merge pull request #4547 from lioncash/header-concept
common/concepts: Move <type_traits> include out of the Common namespace
5 years ago
bunnei
b0564d12b2
Merge pull request #4552 from yuzu-emu/revert-4537-tz
Revert "common/time_zone: Simplify GetOsTimeZoneOffset()"
5 years ago
bunnei
55d11a0bfd
Revert "common/time_zone: Simplify GetOsTimeZoneOffset()"
5 years ago
bunnei
c35a7e8b3a
Merge pull request #4539 from lioncash/disc
common: Silence two discarded result warnings
5 years ago
bunnei
02b8956639
Merge pull request #4522 from lioncash/vulk-copy
vulkan/wrapper: Avoid unnecessary copy in EnumerateInstanceExtensionProperties()
5 years ago
Lioncash
ecb9029c6a
common/telemetry: Migrate namespace into the Common namespace
Migrates the Telemetry namespace into the Common namespace to make the
code consistent with the rest of our common code.
5 years ago
Lioncash
d9fc3abc1f
vfs_real: Resolve sign conversion warnings
5 years ago
Lioncash
182739ce1b
vfs_real: Avoid redundant map lookups
Avoids some trivially avoidable map lookups by keeping the result of
find operations around and querying them.
5 years ago