Lioncash
a31702acaf
arithmetic_integer_immediate: Make use of std::move where applicable
...
Same behavior, minus any redundant atomic reference count increments and
decrements.
2020-09-24 13:28:45 -04:00
bunnei
e6abc97da3
Merge pull request #4674 from ReinUsesLisp/timeline-semaphores
...
renderer_vulkan: Make unconditional use of VK_KHR_timeline_semaphore
2020-09-23 18:24:27 -07:00
german
c3fb504201
Use different timing for motion
2020-09-23 19:09:33 -05:00
bunnei
d9aa237df7
Merge pull request #4618 from german77/GcAdapterAutoMap
...
Add automap feature for GC adapter
2020-09-23 15:55:26 -07:00
Lioncash
2da5a0c30d
shader/registry: Silence a -Wshadow warning
2020-09-23 15:10:25 -04:00
Lioncash
34af344aad
shader/registry: Remove unnecessary namespace qualifiers
...
Using statements already make these unnecessary.
2020-09-23 15:08:34 -04:00
Rodrigo Locatti
c89aa6b431
Merge pull request #4702 from lioncash/doc-warn
...
memory: Resolve a -Wdocumentation warning
2020-09-23 19:07:47 +00:00
Rodrigo Locatti
d108368c35
Merge pull request #4701 from lioncash/unused-proto
...
install_dialog: Remove unused function prototype
2020-09-23 19:07:27 +00:00
Rodrigo Locatti
ff25dcb617
Merge pull request #4700 from lioncash/copies
...
game_list: Eliminate redundant argument copies
2020-09-23 19:06:47 +00:00
Lioncash
b050a95af8
shader/registry: Make use of designated initializers where applicable
...
Same behavior, less repetition.
2020-09-23 15:06:25 -04:00
Lioncash
3abd28c35a
memory: Resolve a -Wdocumentation warning
...
memory doesn't exist as a parameter any more.
2020-09-23 13:39:27 -04:00
Lioncash
4464a33c93
install_dialog: Make use of [[nodiscard]] where applicable
...
Allows the compiler to warn against cases where the return value isn't
used (which would be a bug).
2020-09-23 13:22:04 -04:00
Lioncash
3fbbfd0561
install_dialog: Remove unused function prototype
...
This function doesn't have an implementation, so it can be removed to
prevent others from unintentionally using it.
2020-09-23 13:20:12 -04:00
Lioncash
ab1b7eefc8
game_list: Make game list function naming consistent
...
Makes the naming consistent with the rest of the functions that are
present.
2020-09-23 11:28:11 -04:00
Lioncash
2827ce5194
game_list: Eliminate redundant argument copies
...
Several functions can be taken by const reference to avoid copies
2020-09-23 11:20:12 -04:00
Lioncash
cc4e8c247d
control_flow: emplace elements in place within TryQuery()
...
Places data structures where they'll eventually be moved to to avoid
needing to even move them in the first place.
2020-09-22 22:54:36 -04:00
Lioncash
13df9625be
control_flow: Make use of std::move in InsertBranch()
...
Avoids unnecessary atomic increments and decrements.
2020-09-22 22:48:09 -04:00
Lioncash
e457001dce
General: Make use of std::nullopt where applicable
...
Allows some implementations to avoid completely zeroing out the internal
buffer of the optional, and instead only set the validity byte within
the structure.
This also makes it consistent how we return empty optionals.
2020-09-22 17:32:33 -04:00
Lioncash
485eec243d
ips_layer: Eliminate a redundant copy in Parse()
...
Prevents unnecessary copying of the line being parsed.
2020-09-22 16:38:45 -04:00
bunnei
292693b696
Merge pull request #4675 from Morph1984/fix-boot-multicontent
...
submission_package: Account for multi-content NSPs
2020-09-21 16:36:46 -07:00
Morph
152b529a00
acc: Stub LoadOpenContext
...
This is used in multiple games such as:
- Clubhouse Games: 51 Worldwide Classics
- Grandia HD Collection
- XCOM 2 Collection
- Baldur's Gate 1/2
- Dr Kawashima's Brain Training
- Super Mario 3D All-Stars
2020-09-21 01:01:02 -04:00
Rodrigo Locatti
24d77012ce
Merge pull request #4692 from ReinUsesLisp/remove-vsync
...
renderer_opengl: Remove emulated mailbox presentation
2020-09-21 00:21:32 +00:00
bunnei
24b421b14c
Merge pull request #4683 from Morph1984/NpadHandheldActivationMode-impl
...
hid: Implement Get/SetNpadHandheldActivationMode
2020-09-20 12:39:20 -07:00
ReinUsesLisp
f4dbeb72d7
renderer_opengl: Remove emulated mailbox presentation
...
Emulated mailbox presentation was causing performance issues on
Nvidia's OpenGL driver. Remove it.
2020-09-20 16:29:41 -03:00
bunnei
1a3f019bad
Merge pull request #4643 from FearlessTobi/decrease-pad-update-interval
...
Test: Decrease pad_update_ns
2020-09-19 00:39:50 -07:00
ReinUsesLisp
22fb70406f
vk_query_cache: Hack counter destructor to avoid reserving queries
...
This is a hack to destroy all HostCounter instances before the base
class destructor is called. The query cache should be redesigned to have
a proper ownership model instead of using shared pointers.
For now, destroy the host counter hierarchy from the derived class
destructor.
2020-09-19 01:47:29 -03:00
ReinUsesLisp
7c747f9bea
renderer_vulkan: Make unconditional use of VK_KHR_timeline_semaphore
...
This reworks how host<->device synchronization works on the Vulkan
backend. Instead of "protecting" resources with a fence and signalling
these as free when the fence is known to be signalled by the host GPU,
use timeline semaphores.
Vulkan timeline semaphores allow use to work on a subset of D3D12
fences. As far as we are concerned, timeline semaphores are a value set
by the host or the device that can be waited by either of them.
Taking advantange of this, we can have a monolithically increasing
atomic value for each submission to the graphics queue. Instead of
protecting resources with a fence, we simply store the current logical
tick (the atomic value stored in CPU memory). When we want to know if a
resource is free, it can be compared to the current GPU tick.
This greatly simplifies resource management code and the free status of
resources should have less false negatives.
To workaround bugs in validation layers, when these are attached there's
a thread waiting for timeline semaphores.
2020-09-19 01:46:37 -03:00
german
9f70da1a9b
Add automap feature for GC adapter
2020-09-18 16:51:16 -05:00
Lioncash
e486fc26a8
fermi_2d: Make use of designated initializers
...
Same behavior, less repetition. We can also ensure all members of Config
are initialized.
2020-09-18 13:55:21 -04:00
Morph
505ce79b9d
hid: Implement Get/SetNpadHandheldActivationMode
...
- Used in Clubhouse Games: 51 Worldwide Classics
2020-09-18 10:10:30 -04:00
Morph
a769682977
configure_input_player: Fixes motion mapping using ConfigureButtonClick
2020-09-18 03:56:31 -04:00
bunnei
cfa3badd54
Merge pull request #4647 from Morph1984/readd-context-menu
...
configure_input_player: Re-add "Clear" context menu option
2020-09-17 22:59:13 -07:00
Morph
5435e0ee39
am: Stub GetPreviousProgramIndex
...
- Used in Super Mario 3D All-Stars
2020-09-17 22:03:02 -04:00
Morph
8be3c010bb
configure_input_player: Re-add "Clear" context menu option
...
The context menu was removed in Mjölnir Part 1 as part of the input rewrite as we were unaware of it's usage statistics.
However, as this was the only way to clear the inputs of individual buttons, this PR will re-add it back in.
2020-09-17 21:57:06 -04:00
Morph
0b72422a10
submission_package: Account for multi-content NSPs
...
Previously we assumed a submission package can only contain one Program NCA with a single TitleID.
However, Super Mario 3D All-Stars contains four Program NCAs, each with their unique TitleIDs.
This accounts for the existence of multi-content games such as this one.
- Fixes booting Super Mario 3D All-Stars from the games list.
2020-09-17 20:44:51 -04:00
Rodrigo Locatti
2ca7e7160a
Merge pull request #4670 from lioncash/initializer
...
arm_dynarmic_cp15: Initialize member variables
2020-09-17 21:20:53 +00:00
Rodrigo Locatti
c1fdda9ff9
Merge pull request #4665 from lioncash/sm-kernel
...
service/sm: Eliminate dependency on the global system instance
2020-09-17 21:20:39 +00:00
Rodrigo Locatti
3a962913c7
Merge pull request #4666 from lioncash/unused-func
...
service: Remove unused funcation
2020-09-17 21:19:48 +00:00
Rodrigo Locatti
70b922675e
Merge pull request #4671 from lioncash/nfp-copy
...
command_generator/nfp: Eliminate unnecessary copies
2020-09-17 21:19:12 +00:00
Rodrigo Locatti
3f649be2b0
Merge pull request #4672 from lioncash/narrowing
...
decoder/texture: Eliminate narrowing conversion in GetTldCode()
2020-09-17 21:17:54 +00:00
Rodrigo Locatti
ede7edd764
Merge pull request #4673 from lioncash/fallthrough
...
decode/image: Eliminate switch fallthrough in DecodeImage()
2020-09-17 21:17:16 +00:00
bunnei
9a2553c952
Merge pull request #4594 from german77/MotionHID
...
hid/configuration: Implement motion controls to HID
2020-09-17 12:39:01 -07:00
Lioncash
888cca3dfc
decode/image: Eliminate switch fallthrough in DecodeImage()
...
Fortunately this didn't result in any issues, given the block that code
was falling through to would immediately break.
2020-09-17 15:12:18 -04:00
Lioncash
8f587c15ac
decoder/texture: Eliminate narrowing conversion in GetTldCode()
...
The assignment was previously truncating a u64 value to a bool.
2020-09-17 15:04:17 -04:00
Lioncash
6632af0301
audio_core/command_generator: Use const references where applicable
...
In a lot of cases, we can make use of const references rather than
non-const references.
While we're in the area we can silence some truncation and sign
conversion warnings.
2020-09-17 13:52:55 -04:00
Lioncash
d0b648ecf8
audio_core/command_generator: Avoid an unnecessary copy in GenerateFinalMixCommand()
2020-09-17 13:45:24 -04:00
Lioncash
45a608088c
nfp: Eliminate two unnecessary copies
...
GetAmiiboBuffer() returns by const reference, so we can use a reference
instead of taking the returned buffer by value.
2020-09-17 13:35:55 -04:00
Lioncash
4d0fa3544f
arm_dynarmic_cp15: Initialize member variables
...
Ensures that the member variables are always initialized to a
deterministic value on creation.
2020-09-17 13:03:49 -04:00
Lioncash
43a09c9bfc
control_metadata: Resolve typo in Portuguese language name
...
This isn't used anywhere, so this is a trivial fix.
2020-09-17 11:45:30 -04:00
Lioncash
341c612474
service: Remove unused funcation
...
This is now completely unused, so it can be removed.
2020-09-17 11:03:26 -04:00
Lioncash
e4747039da
service/sm: Slightly more efficient string name validation
...
We can check the end of the string first for null-termination, rather
than the beginning of the string.
2020-09-17 10:54:12 -04:00
Lioncash
95e8dff0d7
service/sm: Eliminate dependency on the global system instance
2020-09-17 10:43:54 -04:00
bunnei
bf6614c189
Merge pull request #4653 from ReinUsesLisp/gc-warns
...
gc_adapter: Disable MSVC nonstandard extension warning on libusb.h
2020-09-16 22:33:58 -07:00
bunnei
78267273ec
Merge pull request #4663 from ReinUsesLisp/wswitch
...
video_core: Enforce -Werror=switch
2020-09-16 20:43:23 -07:00
Lioncash
7824da5961
file_sys/romfs_factory: Eliminate usage of the global system accessor
2020-09-16 19:15:19 -04:00
Lioncash
e45b727db5
file_sys/bis_factory: Eliminate usage of the global system accessor
2020-09-16 18:16:04 -04:00
Lioncash
279b79c880
loader/nso: Remove unnecessary [[maybe_unused]]
2020-09-16 18:09:01 -04:00
ReinUsesLisp
ee7e70cfbc
video_core: Enforce -Werror=switch
...
This forces us to fix all -Wswitch warnings in video_core.
2020-09-16 17:48:01 -03:00
Lioncash
bcb796ee92
core/loader: Remove dependencies on the global system instance
...
Now all that remains is:
18 instances in file_sys code
14 instances in GDB stub code (this can be tossed wholesale)
4 instances in HLE code
2 instances in settings code.
2020-09-16 08:46:59 -04:00
Rodrigo Locatti
d05ab5ec3c
Merge pull request #4658 from lioncash/copy3
...
nca_patch: Reduce stack usage size within SearchBucketEntry()
2020-09-16 00:25:11 +00:00
Lioncash
80e57658ac
nca_patch: Significantly reduce the stack usage size within SearchBucketEntry()
...
Previously this function was using ~16KB of stack (16528 bytes), which
was caused by the function arguments being taken by value rather than by
reference.
We can make this significantly lighter on the stack by taking them by
reference.
2020-09-15 09:10:58 -04:00
Lioncash
a92c6ddd22
nca_patch: Make SearchBucketEntry() internally linked
...
This is only used internally and doesn't depend on any class state, so
we can make it fully internal.
2020-09-15 09:06:46 -04:00
Lioncash
15fa8f52fc
cheat_engine: Convert ExtractName into a non-template function
...
We don't need to create two separate instantiations of the same code, we
can simply make the character template argument a regular function
parameter.
2020-09-15 03:24:44 -04:00
Lioncash
6711031e7d
cheat_engine: Remove unnecessary system argument to CheatParser's Parse function
...
This isn't used within the function at all in any implementations, so we
can remove it entirely.
2020-09-15 03:20:40 -04:00
Lioncash
5c77fffc80
patch_manager: Resolve implicit truncations in FormatTitleVersion()
...
We make it explicit that we're truncating arithmetic here to resolve
compiler warnings (even if the sizes weren't u32/u64 arithmetic
generally promotes to int :<)
2020-09-14 19:19:59 -04:00
Lioncash
7abb47303e
patch_manager: Make use of type aliases
...
We can use these to avoid typing the same type redundantly. This way, if
these ever change, only a single location needs to be modified.
2020-09-14 19:17:50 -04:00
Lioncash
e8092e4099
patch_manager: Make a few functions internally linked
...
These functions are only used within this translation unit, so we can
make them internally linked.
2020-09-14 19:04:51 -04:00
ReinUsesLisp
67dd8466b3
gc_adapter: Disable MSVC nonstandard extension warning on libusb.h
...
Pragma disable zero-sized array nonstandard extension warning on MSVC.
2020-09-14 19:38:08 -03:00
Lioncash
767fcd8a81
crypto/key_manager: Remove dependency on the global system accessor
...
We can supply the content provider as an argument instead of hardcoding
a global accessor in the implementation.
2020-09-14 16:49:59 -04:00
Lioncash
f700c48cc0
kernel: Remove all dependencies on the global system instance
...
With this, the kernel finally doesn't depend directly on the global
system instance anymore.
2020-09-14 14:03:13 -04:00
bunnei
35a0ff1d6f
Merge pull request #4636 from lioncash/kernel-hle
...
service: Remove two usages of the global system accessor
2020-09-14 09:17:10 -07:00
bunnei
7b536a07f2
Merge pull request #4323 from ReinUsesLisp/no-spin
...
kernel/scheduler: Use std::mutex instead of spin lock
2020-09-11 23:23:53 -07:00
bunnei
cbe7cdf7ca
Merge pull request #4634 from lioncash/blocking
...
bsd: Resolve a few warnings
2020-09-11 15:17:34 -07:00
bunnei
b205c01a95
Merge pull request #4310 from ogniK5377/apollo-1-prod
...
audio_core: Apollo Part 1, AudioRenderer refactor
2020-09-11 10:57:27 -04:00
bunnei
c2ad9f6fc9
Merge pull request #4597 from Morph1984/mjolnir-p2
...
Project Mjölnir: Part 2 - Controller Applet
2020-09-10 19:28:23 -04:00
bunnei
0e021082fc
Merge pull request #4608 from lioncash/sign3
...
configure_input_player: Resolve sign conversion warnings in UpdateMappingWithDefaults()
2020-09-10 13:56:16 -04:00
FearlessTobi
b3d2fd39d3
Test: Decrease pad_update_ns
...
There have been reports of quite heavy input lag in the past.
Compared to Citra for example, our pad_update_ns value is very high.
So let's decrease it and see if it helps with this problem.
2020-09-10 16:38:53 +02:00
Rodrigo Locatti
8fcafa37a8
Merge pull request #4633 from ReinUsesLisp/gpu-init
...
video_core: Remove all Core::System references in renderer
2020-09-10 02:28:54 +00:00
Lioncash
054735e3fe
service: Remove two usages of the global system accessor
...
Removes more instances of reliance on global state.
2020-09-07 03:18:45 -04:00
Lioncash
14d5340a9d
gc_adapter: Make DeviceConnected() a const member function
...
This doesn't modify instance state, so it can be made const.
2020-09-07 02:49:13 -04:00
Lioncash
b1c64e8c4f
bsd: Resolve unused value within SendToImpl
...
Previously the address provided to SendToImpl would never be propagated
to SendTo(). This fixes that.
2020-09-07 01:06:30 -04:00
Lioncash
0bf0d9d3c3
bsd: Resolve sign comparison warnings
2020-09-07 01:06:27 -04:00
Lioncash
3467cfb357
sockets_translate: Make use of designated initializers
...
Same behavior, less typing.
2020-09-07 00:53:10 -04:00
Lioncash
2c196e7c6e
blocking_worker: Make use of templated lambda
...
We can simplify this a little by explicitly specifying the typename for
the lambda function.
2020-09-07 00:47:46 -04:00
Lioncash
0d180e23f0
blocking_worker: Resolve -Wdocumentation warning
2020-09-07 00:45:53 -04:00
bunnei
16737bc8b6
Merge pull request #4606 from lioncash/constexpr
...
game_list_p: Mark some constants as constexpr
2020-09-06 23:19:38 -04:00
ReinUsesLisp
8efb2c5537
video_core: Remove all Core::System references in renderer
...
Now that the GPU is initialized when video backends are initialized,
it's no longer needed to query components once the game is running: it
can be done when yuzu is booting.
This allows us to pass components between constructors and in the
process remove all Core::System references in the video backend.
2020-09-06 05:28:48 -03:00
bunnei
a6945afa54
Merge pull request #4397 from ReinUsesLisp/bsd
...
services: Implement most of bsd:s and GetCurrentIpAddress from nifm
2020-09-05 22:40:59 -04:00
Morph
55db7a4e0a
configure_input: Hook up the motion button and checkbox
...
This allows toggling motion on or off, and allows access to the motion configuration.
Also changes the [waiting] text for motion buttons to Shake! as this is how motion is connected to a player.
2020-09-05 09:46:34 -04:00
german
b26bc3864a
Minor cleanup
2020-09-05 09:42:21 -04:00
german
82eb4be33b
Add cemu hook changes related to PR #4609
2020-09-04 21:48:13 -05:00
german
17b48f8d42
Remove RealMotionDevice
2020-09-04 21:48:13 -05:00
Morph
4c09c78391
configure_input_player: Show/hide motion buttons based on the controller
2020-09-04 21:48:13 -05:00
Morph
a04a7174c7
controllers/npad: Simplify motion entry assignment
...
Simplifies the motion assignment in the Dual Joycon entry and assigns index 1 of the motion entry (Motion 2) for the right joycon.
2020-09-04 21:48:13 -05:00
german
876e6fc255
Include HID and configuration changes related to motion
2020-09-04 21:48:03 -05:00
Morph
ce1c6f2eea
hid: Implement MergeSingleJoyasDualJoy
...
- Used in multiple games such as Super Mario Odyssey.
2020-09-04 15:38:33 -04:00
Morph
0ce52a8070
applets/controller: Resolve several compiler warnings
...
Resolves -Wsign-compare and -Wunused-variable
2020-09-04 12:23:26 -04:00
Morph
5c853d4dc7
Address feedback
2020-09-04 12:23:25 -04:00
Morph
0efbd23445
clang-format
2020-09-04 12:23:25 -04:00
Morph
b9cde4fa6d
applets/controller: Set min_players to have a minimum value of 1.
...
- Some games like Shipped have a minimum requirement of 0 connected players and is undesired behavior. We must require a minimum of 1 player connected regardless of what games may ask.
2020-09-04 12:23:25 -04:00