Commit Graph

14042 Commits (9f6892271f3903baa2680eef9c5497f878a69de5)

Author SHA1 Message Date
Lioncash f2a680ca89 sdl_impl: Make use of std::move on std::string where applicable
Avoids redundant copies.
5 years ago
Lioncash e92164e6a0 sdl_impl: Make use of insert_or_assign() where applicable
Avoids churning ParamPackage instances.
5 years ago
Lioncash f3ac088345 sdl_impl: Prevent type truncation in BuildAnalogParamPackageForButton() default arguments
We need to add the 'f' suffix to make the right hand side a float and
not a double.
5 years ago
Lioncash 2e2dde2f95 sdl_impl: Simplify make_tuple call
The purpose of make_tuple is that you don't need to explicitly type out
the types of the things that comprise said tuple.

Given this just returns default values, we can simplify this a bit.
5 years ago
Lioncash 2680526e6b sdl_impl: Mark FromEvent() as a const member function
This doesn't modify internal member state, so it can be marked as const.
5 years ago
LC 57d9ef5a89
Merge pull request #4600 from lioncash/prototype
input_common/main: Remove unimplemented prototype
5 years ago
Lioncash 98f5d8a713 input_common/main: Remove unnecessary headers 5 years ago
Lioncash 4b9b203c09 input_common/main: Remove unimplemented prototype
I forgot to remove this in the rebase when removing most of the global
variables within the input common codebase.
5 years ago
ReinUsesLisp fe90c4fd7b vk_device: Blacklist AMD proprietary from VK_EXT_extended_dynamic_state
Vertex binding's <stride> is bugged on AMD's proprietary drivers when
using VK_EXT_extended_dynamic_state. Blacklist it for now while we
investigate how to report this issue to AMD.
5 years ago
bunnei 45b73ba840
Merge pull request #4544 from lioncash/input-sub
input_common: Eliminate most global state
5 years ago
bunnei 40320a1d84
Merge pull request #4586 from yuzu-emu/tsan-cpu-interrupt
cpu_interrupt_handler: Make is_interrupted an atomic
5 years ago
german 1be18dc110 Fix orientation errors and improve drift correction 5 years ago
german e6fc3b5662 Address comments 5 years ago
german 2d207ec609 Implement a basic class for motion devices 5 years ago
Lioncash 9e1b0af259 input_common: Eliminate most global state
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.
5 years ago
bunnei 3db9a25977
Merge pull request #4530 from Morph1984/mjolnir-p1
Project Mjölnir: Part 1 - Input Rewrite
5 years ago
bunnei 3f7b0e0772
Merge pull request #4577 from lioncash/asserts
common/assert: Make use of C++ attribute syntax
5 years ago
bunnei 9864da7d43
Merge pull request #4524 from lioncash/memory-log
shader/memory: Amend UNIMPLEMENTED_IF_MSG without a message
5 years ago
bunnei 1bb8c27a70
Merge pull request #4569 from ReinUsesLisp/glsl-cmake
video_core/host_shaders: Add CMake integration for string shaders
5 years ago
Morph 8ffc491546 input_common/main: Add "/Mouse" to the display name 5 years ago
bunnei 1e2a92918b
Merge pull request #4555 from ReinUsesLisp/fix-primitive-topology
vk_state_tracker: Fix primitive topology
5 years ago
Lioncash 7b50c48df7 memory_manager: Make use of [[nodiscard]] in the interface 5 years ago
Lioncash d12d59f62a memory_manager: Make operator+ const qualified
This doesn't modify member state, so it can be marked as const.
5 years ago
Morph f5f30781ae configure_input_player: Fix modifier scale button mapping 5 years ago
Morph 1bd70d73c0 configuration/input: Add support for mouse button clicks
Supports the Left, Right, Middle, Backward and Forward mouse buttons.
5 years ago
Morph eb149ec696 controllers/npad: Fix inconsistencies with controller connection statuses 5 years ago
Morph 334ef2efdd controllers/npad: Fix LibNX controller connection statuses
This allows homebrew applications to be able to properly detect connected controllers.
5 years ago
Morph e7c174b426 controllers/npad: Fix LedPattern for P1-4 5 years ago
Morph de79897f04 input_common: Fix directional deadzone values
The hardware tested value is 0.5 which translates to SHRT_MAX / 2
5 years ago
Morph efa0b7a056 Address feedback 5 years ago
Morph f0fac0c7fb Project Mjölnir: Part 1
Co-authored-by: James Rowe <jroweboy@gmail.com>
Co-authored-by: Its-Rei <kupfel@gmail.com>
5 years ago
Lioncash f60d5aac3e gc_poller: Resolve compilation warnings on MSVC
We just need to make our intentional implicit truncations explicit.
5 years ago
ReinUsesLisp ccdd84a778 hle/scheduler: Fix data race in is_context_switch_pending
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.
5 years ago
ReinUsesLisp 36eade7f4c 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 f119ef798b 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 56ac22f737 cpu_interrupt_handler: Misc style changes 5 years ago
ReinUsesLisp ea7bda25ba cpu_interrupt_handler: Make is_interrupted an atomic
Fixes a race condition detected from tsan
5 years ago
bunnei 902bf6d37d
Merge pull request #4574 from lioncash/const-fn
memory_manager: Mark IsGranularRange() as a const member function
5 years ago
bunnei dd828607e0
Merge pull request #4563 from lioncash/rcache
registered_cache: Make use of designated initializers
5 years ago
bunnei b798813eee
Merge pull request #4548 from lioncash/color
common/color: Migrate code over to the Common namespace
5 years ago
bunnei bb752df736
Merge pull request #4542 from ReinUsesLisp/gpu-init-base
video_core: Initialize renderer with a GPU
5 years ago
bunnei 6fd3a1bf85
Merge pull request #4562 from lioncash/loop
cpu_manager: Make use of ranged for where applicable
5 years ago
Lioncash 504175e5b6 common_funcs: Add missing XOR operators to DECLARE_ENUM_FLAG_OPERATORS
Ensures that the full set of bitwise operators are available for types
that make use of this macro.
5 years ago
Lioncash 3bfaabdbdd common/assert: Make use of C++ attribute syntax
Normalizes the syntax used for attributes
5 years ago
Lioncash bafef3d1c9 async_shaders: Mark getters as const member functions
While we're at it, we can also mark them as nodiscard.
5 years ago
Lioncash 5bce81c3d6 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 bae4e6c2f5 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
Lioncash f3bb52c0a9 video_core/fence_manager: Remove unnecessary includes
Avoids pulling in unnecessary things that can cause rebuilds when they
aren't required.
5 years ago
bunnei ab350b8975
Merge pull request #4561 from lioncash/key-constexpr
key_manager: Make data arrays constexpr
5 years ago
ReinUsesLisp 91df2beee3 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 0eaf7e1daa 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 42a00877a2
Merge pull request #4549 from lioncash/files
vfs_real: Avoid redundant map lookups
5 years ago
bunnei 9619964e8c
Merge pull request #4559 from lioncash/webresult
web_service: Move web_result.h into web_service
5 years ago
Lioncash 4c1a95ed61 fsp_srv: Resolve -Wunused-but-set-variable warning
We can just log out the parameters in the meantime.
5 years ago
Lioncash 01d1b5cdaf file_sys: Replace inclusions with forward declarations where applicable
Same behavior, minus unnecessary inclusions where not necessary.
5 years ago
Lioncash 85db5f4091 fsp_srv: Resolve -Wmaybe_uninitialized warning in OpenSaveDataFileSystem()
Initialize id to a deterministic value and also mark the unreachable
cases in the switch with UNREACHABLE().
5 years ago
Lioncash 67a8e73101 registered_cache: Make use of ends_with for string suffix checking
Simplifies code.
5 years ago
Lioncash f83c6e1e0c registered_cache: Make use of designated initializers
Removes the need for comments to indicate the fields being assigned.
5 years ago
bunnei cfb7fd395c
Merge pull request #4560 from lioncash/convert
core_timing: Resolve sign conversion warning
5 years ago
Lioncash b62a8ca43e key_manager: Make data arrays constexpr
We can convert these maps into constexpr arrays to eliminate some
runtime static constructors.
5 years ago
Lioncash 544fbd5c84 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 79504f1a39 core_timing: Remove unused header 5 years ago
Lioncash 25cd5d9dda core_timing: Move clock initializer into constructor initializer list
Same behavior, minus unnecessary zeroing out of the pointer.
5 years ago
Lioncash 2624b1eae6 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 ca5ed50655 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 da53bcee60 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.
5 years ago
bunnei baff9ffcac
Merge pull request #4521 from lioncash/optionalcache
gl_shader_disk_cache: Make use of std::nullopt where applicable
5 years ago
bunnei 66ac7cf730
Merge pull request #4541 from MerryMage/yolo
dynarmic: Add unsafe optimizations
5 years ago
bunnei 53fbf8e206
Merge pull request #4523 from lioncash/self-assign
macro-interpreter: Resolve -Wself-assign-field warning
5 years ago
ReinUsesLisp aed6011d7c 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 3ea3de4ecd
Merge pull request #4546 from lioncash/telemetry
common/telemetry: Migrate namespace into the Common namespace
5 years ago
bunnei 3b8a8cf825
Merge pull request #4547 from lioncash/header-concept
common/concepts: Move <type_traits> include out of the Common namespace
5 years ago
bunnei acbae572d3
Revert "common/time_zone: Simplify GetOsTimeZoneOffset()" 5 years ago
bunnei b1fa647f28
Merge pull request #4539 from lioncash/disc
common: Silence two discarded result warnings
5 years ago
bunnei 2d2e235bcf
Merge pull request #4522 from lioncash/vulk-copy
vulkan/wrapper: Avoid unnecessary copy in EnumerateInstanceExtensionProperties()
5 years ago
Lioncash f6bb905182 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 551882e512 vfs_real: Resolve sign conversion warnings 5 years ago
Lioncash ed9ae5a977 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
Lioncash e864aa25d5 common/color: Migrate code over to the Common namespace
No external code makes use of this header, so we can freely change the
namespace.
5 years ago
Lioncash 999fc2fece common/concepts: Move <type_traits> include out of the Common namespace
This is a compiler/linker error waiting to happen.
5 years ago
bunnei bea9ed2548
Merge pull request #4381 from Morph1984/fix-open-folder-installed-title
main: Fix Open Save/Mod Locations for installed titles
5 years ago
bunnei 00573fb2c9
Merge pull request #4532 from lioncash/object-name
configuration_shared: Simplify name lookup in highlighting functions
5 years ago
bunnei 56c6a5def8
Merge pull request #4535 from lioncash/fileutil
common/fileutil: Convert namespace to Common::FS
5 years ago
bunnei 0c885249df
Merge pull request #4537 from lioncash/tz
common/time_zone: Simplify GetOsTimeZoneOffset()
5 years ago
bunnei 3472c00b3b
Merge pull request #4540 from lioncash/tr3
configure_hotkeys: Don't translate empty strings
5 years ago
bunnei 0530dd6ea1
Merge pull request #4494 from lioncash/transcode
aes_util: Make use of non-template variant of Transcode
5 years ago
Rodrigo Locatti d8a90e6536
Merge pull request #4531 from lioncash/overload
yuzu: Make use of qOverload where applicable
5 years ago
David cbaf1bc711
Merge pull request #4443 from ameerj/vk-async-shaders
vulkan_renderer: Async shader/graphics pipeline compilation
5 years ago
bunnei bbb5623f52
Merge pull request #4515 from lat9nq/pgs-menubar-config
main: Add an option to modify the currrent game's configuration
5 years ago
David a91acd5365
Merge pull request #4520 from lioncash/pessimize
async_shaders: Resolve -Wpessimizing-move warning
5 years ago
ameerj fde8102a41 Remove unneeded newlines, optional Registry in shader params
Addressing feedback from Rodrigo
5 years ago
Ameer J f49ffdd648 Morph: Update worker allocation comment
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
5 years ago
ameerj 1b829fbd7a move thread 1/4 count computation into allocate workers method 5 years ago
ameerj 31a76410e8 Address feedback, add shader compile notifier, update setting text 5 years ago
ameerj c02464f64e Vk Async Worker directly emplace in cache 5 years ago
ameerj 4539073ce1 Address feedback. Bruteforce delete duplicates 5 years ago
ameerj 6ac97405df Vk Async pipeline compilation 5 years ago
MerryMage 836ec9176a dynarmic: Add unsafe optimizations 5 years ago
Lioncash e23289d869 configure_hotkeys: Don't translate empty strings
There's no need to translate an empty string. This just gives
translators unnecessary work.
5 years ago
Lioncash c4ed791164 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.
5 years ago