Commit graph

15854 commits

Author SHA1 Message Date
FearlessTobi
eb54f262b5 Add LGTM static analyzer config file
Co-Authored-By: Valeri <v19930312@gmail.com>
2020-08-28 17:01:43 +02:00
bunnei
fc797d39df Merge pull request #4544 from lioncash/input-sub
input_common: Eliminate most global state
2020-08-28 09:57:50 -04:00
bunnei
9fd13dd80a Merge pull request #4586 from yuzu-emu/tsan-cpu-interrupt
cpu_interrupt_handler: Make is_interrupted an atomic
2020-08-28 09:21:47 -04:00
Lioncash
affbf8e188 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.
2020-08-27 16:11:17 -04:00
bunnei
c76a188f47 Merge pull request #4530 from Morph1984/mjolnir-p1
Project Mjölnir: Part 1 - Input Rewrite
2020-08-27 14:58:44 -04:00
bunnei
a8ab0af067 Merge pull request #4577 from lioncash/asserts
common/assert: Make use of C++ attribute syntax
2020-08-27 11:09:02 -04:00
bunnei
ab46e0986e Merge pull request #4524 from lioncash/memory-log
shader/memory: Amend UNIMPLEMENTED_IF_MSG without a message
2020-08-27 00:16:10 -04:00
bunnei
a36b8c6405 Merge pull request #4569 from ReinUsesLisp/glsl-cmake
video_core/host_shaders: Add CMake integration for string shaders
2020-08-26 22:57:39 -04:00
Morph
4ca910101f input_common/main: Add "/Mouse" to the display name 2020-08-26 22:41:51 -04:00
bunnei
8a4d19af75 Merge pull request #4555 from ReinUsesLisp/fix-primitive-topology
vk_state_tracker: Fix primitive topology
2020-08-26 22:19:52 -04:00
Rodrigo Locatti
9e5b4cd63e Merge pull request #4593 from lioncash/const2
memory_manager: Make operator+ const qualified
2020-08-27 01:15:48 +00:00
Lioncash
ad83996932 memory_manager: Make use of [[nodiscard]] in the interface 2020-08-26 20:15:03 -04:00
Lioncash
4ccecf6fec memory_manager: Make operator+ const qualified
This doesn't modify member state, so it can be marked as const.
2020-08-26 20:11:58 -04:00
Morph
0d6a2a37d2 configure_input_player: Fix modifier scale button mapping 2020-08-26 02:32:32 -04:00
Morph
bc37d84a84 configuration/input: Add support for mouse button clicks
Supports the Left, Right, Middle, Backward and Forward mouse buttons.
2020-08-26 02:32:32 -04:00
Morph
9b0f5da0c6 controllers/npad: Fix inconsistencies with controller connection statuses 2020-08-26 02:32:32 -04:00
Morph
4d6a8f3e8f controllers/npad: Fix LibNX controller connection statuses
This allows homebrew applications to be able to properly detect connected controllers.
2020-08-26 02:32:32 -04:00
Morph
9fc2eb2ee0 controllers/npad: Fix LedPattern for P1-4 2020-08-26 02:32:32 -04:00
Morph
5e4f03f663 input_common: Fix directional deadzone values
The hardware tested value is 0.5 which translates to SHRT_MAX / 2
2020-08-26 02:32:32 -04:00
Morph
24ce544120 Address feedback 2020-08-26 02:32:32 -04:00
Morph
9e431a2a88 qt_themes: Fix Midnight Blue theme
Co-authored-by: Its-Rei <kupfel@gmail.com>
2020-08-26 02:32:32 -04:00
Morph
34a209d15c Project Mjölnir: Part 1
Co-authored-by: James Rowe <jroweboy@gmail.com>
Co-authored-by: Its-Rei <kupfel@gmail.com>
2020-08-26 02:32:32 -04:00
ReinUsesLisp
ad0306e520 cpu_interrupt_handler: Misc style changes 2020-08-26 02:43:26 +00:00
ReinUsesLisp
7eb6cc742a cpu_interrupt_handler: Make is_interrupted an atomic
Fixes a race condition detected from tsan
2020-08-26 02:43:15 +00:00
bunnei
531f3c9f94 Merge pull request #4582 from lioncash/xbyak
externals: Update Xbyak to 5.95
2020-08-25 22:02:20 -04:00
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.
2020-08-25 18:16:52 -04:00
bunnei
ce74cce2ea Merge pull request #4572 from lioncash/xbyak
externals: Update xbyak to v5.941
2020-08-25 11:24:32 -04:00
bunnei
6d9165c252 Merge pull request #4574 from lioncash/const-fn
memory_manager: Mark IsGranularRange() as a const member function
2020-08-25 11:24:13 -04:00
bunnei
73566a5cb2 Merge pull request #4565 from lioncash/memset
microprofile: Don't memset through std::atomic types
2020-08-25 11:23:16 -04:00
bunnei
e0b4361aaf Merge pull request #4563 from lioncash/rcache
registered_cache: Make use of designated initializers
2020-08-25 10:07:33 -04:00
bunnei
043fe3c02f Merge pull request #4548 from lioncash/color
common/color: Migrate code over to the Common namespace
2020-08-25 10:07:13 -04:00
bunnei
d196957ae2 Merge pull request #4542 from ReinUsesLisp/gpu-init-base
video_core: Initialize renderer with a GPU
2020-08-24 22:56:11 -04:00
bunnei
420c6d11be Merge pull request #4562 from lioncash/loop
cpu_manager: Make use of ranged for where applicable
2020-08-24 17:58:41 -04:00
Lioncash
4861eb64aa common/assert: Make use of C++ attribute syntax
Normalizes the syntax used for attributes
2020-08-24 04:15:10 -04:00
Rodrigo Locatti
6d5e0def0d Merge pull request #4573 from lioncash/label
gl_texture_cache: Take std::string by reference in DecorateViewName()
2020-08-24 01:40:22 -03:00
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.
2020-08-24 00:37:57 -04:00
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.
2020-08-23 23:36:33 -04:00
Rodrigo Locatti
8e4e98eeb5 Merge pull request #4571 from lioncash/fence
video_core/fence_manager: Remove unnecessary includes
2020-08-24 00:32:29 -03:00
Lioncash
6ab6ce5be5 externals: Update xbyak to v5.941
Keeps the tracked submodule up to date with the latest release.
2020-08-23 22:47:41 -04:00
Lioncash
d62357c8ae video_core/fence_manager: Remove unnecessary includes
Avoids pulling in unnecessary things that can cause rebuilds when they
aren't required.
2020-08-23 21:44:50 -04:00
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.
2020-08-23 21:19:01 -04:00
bunnei
18cce1dc8a Merge pull request #4561 from lioncash/key-constexpr
key_manager: Make data arrays constexpr
2020-08-23 20:41:05 -04:00
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.
2020-08-23 21:37:20 -03:00
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.
2020-08-23 21:23:54 -03:00
bunnei
88cf35db7d Merge pull request #4549 from lioncash/files
vfs_real: Avoid redundant map lookups
2020-08-23 19:08:36 -04:00
bunnei
52a7dbf5eb Merge pull request #4559 from lioncash/webresult
web_service: Move web_result.h into web_service
2020-08-23 17:54:43 -04:00
Lioncash
942badd1e7 registered_cache: Make use of ends_with for string suffix checking
Simplifies code.
2020-08-23 11:25:45 -04:00
Lioncash
a185b6cf21 registered_cache: Make use of designated initializers
Removes the need for comments to indicate the fields being assigned.
2020-08-23 10:26:20 -04:00
bunnei
5a675f4633 Merge pull request #4560 from lioncash/convert
core_timing: Resolve sign conversion warning
2020-08-23 02:11:14 -04:00
Lioncash
ebe30ea145 key_manager: Make data arrays constexpr
We can convert these maps into constexpr arrays to eliminate some
runtime static constructors.
2020-08-22 22:47:24 -04:00