LC
b5ed2d408c
Merge pull request #4461 from comex/thread-names
...
Fix thread naming on Linux, which limits names to 15 bytes.
2020-08-31 15:31:48 -04:00
ReinUsesLisp
c573920c01
vk_device: Fix driver id check on AMD for VK_EXT_extended_dynamic_state
...
'driver_id' can only be known on Vulkan 1.1 after creating a logical
device. Move the driver id check to disable
VK_EXT_extended_dynamic_state after the logical device is successfully
initialized.
The Vulkan device will have the extension enabled but it will not be
used.
2020-08-30 20:22:48 -03:00
Lioncash
a5dcccfdd2
externals: Update Xbyak to 5.96
...
I made a request on the Xbyak issue tracker to allow some constructors
to be constexpr in order to avoid static constructors from needing to
execute for some of our register constants.
This request was implemented, so this updates Xbyak so that we can make
use of it.
2020-08-30 05:09:48 -04:00
bunnei
e9b9fc4674
Merge pull request #4601 from lioncash/const3
...
sdl_impl: Minor cleanup
2020-08-29 23:23:41 -04:00
bunnei
37faf24c3f
Merge pull request #4605 from lioncash/copy3
...
bootmanager: Prevent unnecessary copies in TouchUpdateEvent()
2020-08-29 23:22:39 -04:00
FearlessTobi
d1e1ea0fef
Address second batch of reviews
2020-08-30 00:43:25 +02:00
Lioncash
92c162126b
configure_input_player: Resolve sign conversion warnings in UpdateMappingWithDefaults()
...
Prevents sign mismatch warnings in the loop conditionals.
2020-08-29 16:43:12 -04:00
FearlessTobi
0aa6ec4276
Reolve reorder warning
2020-08-29 22:06:47 +02:00
FearlessTobi
d176feffad
Address review comments and fix code compilation
2020-08-29 20:56:51 +02:00
Lioncash
1aba91e993
bootmanager: Prevent unnecessary copies in TouchUpdateEvent()
...
The list of points is returned by const reference, so we don't need to
make a copy of every element in the list.
2020-08-29 14:33:10 -04:00
Lioncash
fae65d8a72
game_list_p: Avoid string churn in GameListItemPath data()
2020-08-29 14:30:49 -04:00
Lioncash
cde658cb27
game_list_p: Mark some constants as constexpr
...
Consistency change with how we mark constants in the rest of the
codebase.
2020-08-29 14:23:41 -04:00
FearlessTobi
e6bd1fd1b8
yuzu: Add motion and touch configuration
2020-08-29 18:56:34 +02:00
LC
ce43139eb7
Merge pull request #4604 from lioncash/lifetime
...
yuzu/main: Amend lifetime issues with InputSubsystem
2020-08-29 01:33:29 -04:00
Lioncash
bcd3c79eca
yuzu/main: Amend lifetime issues with InputSubsystem
...
Due to the way Qt performs destruction of parent/child widgets, we need
to make the lifetime of the input subsystem shared across the main
window and the render window.
2020-08-29 00:58:11 -04:00
Morph
403e36fab2
yuzu/configuration: Fix index out of bounds for default_analogs
2020-08-29 00:24:47 -04:00
Lioncash
69fa6b4906
sdl_impl: Reduce allocations in GetButtonMappingForDevice()
...
These maps can be constexpr arrays of std::pair.
2020-08-28 21:24:17 -04:00
Lioncash
f2a680ca89
sdl_impl: Make use of std::move on std::string where applicable
...
Avoids redundant copies.
2020-08-28 21:14:54 -04:00
Lioncash
e92164e6a0
sdl_impl: Make use of insert_or_assign() where applicable
...
Avoids churning ParamPackage instances.
2020-08-28 21:13:26 -04:00
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.
2020-08-28 21:08:08 -04:00
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.
2020-08-28 21:04:18 -04:00
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.
2020-08-28 20:58:49 -04:00
LC
57d9ef5a89
Merge pull request #4600 from lioncash/prototype
...
input_common/main: Remove unimplemented prototype
2020-08-28 20:10:33 -04:00
Lioncash
98f5d8a713
input_common/main: Remove unnecessary headers
2020-08-28 19:23:19 -04:00
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.
2020-08-28 19:11:17 -04:00
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.
2020-08-28 19:14:57 -03:00
bunnei
45b73ba840
Merge pull request #4544 from lioncash/input-sub
...
input_common: Eliminate most global state
2020-08-28 09:57:50 -04:00
bunnei
40320a1d84
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
1be18dc110
Fix orientation errors and improve drift correction
2020-08-27 17:19:21 -05:00
german
e6fc3b5662
Address comments
2020-08-27 17:19:21 -05:00
german
2d207ec609
Implement a basic class for motion devices
2020-08-27 17:19:21 -05:00
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.
2020-08-27 16:11:17 -04:00
bunnei
3db9a25977
Merge pull request #4530 from Morph1984/mjolnir-p1
...
Project Mjölnir: Part 1 - Input Rewrite
2020-08-27 14:58:44 -04:00
bunnei
3f7b0e0772
Merge pull request #4577 from lioncash/asserts
...
common/assert: Make use of C++ attribute syntax
2020-08-27 11:09:02 -04:00
bunnei
9864da7d43
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
1bb8c27a70
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
8ffc491546
input_common/main: Add "/Mouse" to the display name
2020-08-26 22:41:51 -04:00
bunnei
1e2a92918b
Merge pull request #4555 from ReinUsesLisp/fix-primitive-topology
...
vk_state_tracker: Fix primitive topology
2020-08-26 22:19:52 -04:00
Lioncash
7b50c48df7
memory_manager: Make use of [[nodiscard]] in the interface
2020-08-26 20:15:03 -04:00
Lioncash
d12d59f62a
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
f5f30781ae
configure_input_player: Fix modifier scale button mapping
2020-08-26 02:32:32 -04:00
Morph
1bd70d73c0
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
eb149ec696
controllers/npad: Fix inconsistencies with controller connection statuses
2020-08-26 02:32:32 -04:00
Morph
334ef2efdd
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
e7c174b426
controllers/npad: Fix LedPattern for P1-4
2020-08-26 02:32:32 -04:00
Morph
de79897f04
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
efa0b7a056
Address feedback
2020-08-26 02:32:32 -04:00
Morph
f0fac0c7fb
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
f60d5aac3e
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
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.
2020-08-26 02:56:05 +00:00
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.
2020-08-26 02:52:50 +00:00
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.
2020-08-26 02:50:51 +00:00
ReinUsesLisp
56ac22f737
cpu_interrupt_handler: Misc style changes
2020-08-26 02:43:26 +00:00
ReinUsesLisp
ea7bda25ba
cpu_interrupt_handler: Make is_interrupted an atomic
...
Fixes a race condition detected from tsan
2020-08-26 02:43:15 +00:00
bunnei
902bf6d37d
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
dd828607e0
Merge pull request #4563 from lioncash/rcache
...
registered_cache: Make use of designated initializers
2020-08-25 10:07:33 -04:00
bunnei
b798813eee
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
bb752df736
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
6fd3a1bf85
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
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.
2020-08-24 04:42:43 -04:00
Lioncash
3bfaabdbdd
common/assert: Make use of C++ attribute syntax
...
Normalizes the syntax used for attributes
2020-08-24 04:15:10 -04:00
Lioncash
bafef3d1c9
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
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.
2020-08-24 00:37:57 -04:00
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.
2020-08-23 23:36:33 -04:00
Lioncash
f3bb52c0a9
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
bunnei
ab350b8975
Merge pull request #4561 from lioncash/key-constexpr
...
key_manager: Make data arrays constexpr
2020-08-23 20:41:05 -04:00
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.
2020-08-23 21:37:20 -03:00
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.
2020-08-23 21:23:54 -03:00
bunnei
42a00877a2
Merge pull request #4549 from lioncash/files
...
vfs_real: Avoid redundant map lookups
2020-08-23 19:08:36 -04:00
bunnei
9619964e8c
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
4c1a95ed61
fsp_srv: Resolve -Wunused-but-set-variable warning
...
We can just log out the parameters in the meantime.
2020-08-23 17:16:32 -04:00
Lioncash
01d1b5cdaf
file_sys: Replace inclusions with forward declarations where applicable
...
Same behavior, minus unnecessary inclusions where not necessary.
2020-08-23 17:02:55 -04:00
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().
2020-08-23 16:37:57 -04:00
Lioncash
67a8e73101
registered_cache: Make use of ends_with for string suffix checking
...
Simplifies code.
2020-08-23 11:25:45 -04:00
Lioncash
f83c6e1e0c
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
cfb7fd395c
Merge pull request #4560 from lioncash/convert
...
core_timing: Resolve sign conversion warning
2020-08-23 02:11:14 -04:00
Lioncash
b62a8ca43e
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
Lioncash
544fbd5c84
cpu_manager: Make use of ranged for where applicable
...
We can simplify a few loops by making use of ranged for.
2020-08-22 22:43:19 -04:00
Lioncash
79504f1a39
core_timing: Remove unused header
2020-08-22 22:12:37 -04:00
Lioncash
25cd5d9dda
core_timing: Move clock initializer into constructor initializer list
...
Same behavior, minus unnecessary zeroing out of the pointer.
2020-08-22 20:26:48 -04:00
Lioncash
2624b1eae6
core_timing: Resolve sign conversion warning
...
This constant is only ever assigned to downcount, which is a s64, not a
u64.
2020-08-22 20:26:45 -04:00
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.
2020-08-22 19:29:54 -04:00
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.
2020-08-22 01:51:45 -03:00
bunnei
baff9ffcac
Merge pull request #4521 from lioncash/optionalcache
...
gl_shader_disk_cache: Make use of std::nullopt where applicable
2020-08-21 23:56:55 -04:00
bunnei
66ac7cf730
Merge pull request #4541 from MerryMage/yolo
...
dynarmic: Add unsafe optimizations
2020-08-21 23:06:21 -04:00
bunnei
53fbf8e206
Merge pull request #4523 from lioncash/self-assign
...
macro-interpreter: Resolve -Wself-assign-field warning
2020-08-21 18:25:53 -04:00
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.
2020-08-20 23:07:30 -03:00
bunnei
3ea3de4ecd
Merge pull request #4546 from lioncash/telemetry
...
common/telemetry: Migrate namespace into the Common namespace
2020-08-20 14:29:13 -04:00
bunnei
3b8a8cf825
Merge pull request #4547 from lioncash/header-concept
...
common/concepts: Move <type_traits> include out of the Common namespace
2020-08-19 23:29:45 -04:00
bunnei
acbae572d3
Revert "common/time_zone: Simplify GetOsTimeZoneOffset()"
2020-08-19 18:27:31 -04:00
bunnei
b1fa647f28
Merge pull request #4539 from lioncash/disc
...
common: Silence two discarded result warnings
2020-08-18 22:03:09 -04:00
bunnei
2d2e235bcf
Merge pull request #4522 from lioncash/vulk-copy
...
vulkan/wrapper: Avoid unnecessary copy in EnumerateInstanceExtensionProperties()
2020-08-18 19:31:35 -04:00
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.
2020-08-18 15:08:32 -04:00
Lioncash
551882e512
vfs_real: Resolve sign conversion warnings
2020-08-18 14:58:33 -04:00
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.
2020-08-18 14:58:29 -04:00
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.
2020-08-18 14:27:41 -04:00
Lioncash
999fc2fece
common/concepts: Move <type_traits> include out of the Common namespace
...
This is a compiler/linker error waiting to happen.
2020-08-18 14:24:54 -04:00
bunnei
bea9ed2548
Merge pull request #4381 from Morph1984/fix-open-folder-installed-title
...
main: Fix Open Save/Mod Locations for installed titles
2020-08-18 12:54:06 -04:00
bunnei
00573fb2c9
Merge pull request #4532 from lioncash/object-name
...
configuration_shared: Simplify name lookup in highlighting functions
2020-08-18 00:45:02 -04:00
bunnei
56c6a5def8
Merge pull request #4535 from lioncash/fileutil
...
common/fileutil: Convert namespace to Common::FS
2020-08-17 22:35:30 -04:00