Commit graph

16599 commits

Author SHA1 Message Date
Lioncash
72d5a883a1 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.
2020-08-28 19:11:17 -04:00
ReinUsesLisp
a7ea965de5 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.
2020-08-28 19:14:57 -03:00
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
german
f327977dfa Fix orientation errors and improve drift correction 2020-08-27 17:19:21 -05:00
german
dbf0608afd Address comments 2020-08-27 17:19:21 -05:00
german
0e11d1c09a Implement a basic class for motion devices 2020-08-27 17:19:21 -05: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
Lioncash
0b10f86706 externals: Track upstream libusb
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.
2020-08-26 02:45:11 -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
Lioncash
fa4a1718a7 gc_poller: Resolve compilation warnings on MSVC
We just need to make our intentional implicit truncations explicit.
2020-08-25 23:03:12 -04:00
ReinUsesLisp
8f050dd1d9 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.
2020-08-26 02:56:05 +00:00
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.
2020-08-26 02:52:50 +00:00
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.
2020-08-26 02:50:51 +00:00
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.
2020-08-26 02:47:54 +00: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
Lioncash
a90b1235ad externals: Untrack non-upstream variant of libusb
We shouldn't be tracking personal forks of repositories when upstream
can be managed directly.
2020-08-25 22:19:15 -04: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
M&M
c6f9cad218 logging/settings: Increase maximum log size to 100 MB and add extended 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.
2020-08-24 21:39:56 -07: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
50c1158d21 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.
2020-08-24 04:42:43 -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
Lioncash
e95290cfaf async_shaders: Mark getters as const member functions
While we're at it, we can also mark them as nodiscard.
2020-08-24 01:15:50 -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