Rodrigo Locatti
c307ae2402
Merge pull request #4701 from lioncash/unused-proto
...
install_dialog: Remove unused function prototype
2020-09-23 19:07:27 +00:00
Rodrigo Locatti
6d9661939f
Merge pull request #4700 from lioncash/copies
...
game_list: Eliminate redundant argument copies
2020-09-23 19:06:47 +00:00
Lioncash
ffeb4ef83e
shader/registry: Make use of designated initializers where applicable
...
Same behavior, less repetition.
2020-09-23 15:06:25 -04:00
Lioncash
b14d344dfc
memory: Resolve a -Wdocumentation warning
...
memory doesn't exist as a parameter any more.
2020-09-23 13:39:27 -04:00
Lioncash
aa35e51fcd
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
e107870bc8
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
f43a1da808
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
d264b7375c
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
0dc6967ff1
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
fcd0145eb5
control_flow: Make use of std::move in InsertBranch()
...
Avoids unnecessary atomic increments and decrements.
2020-09-22 22:48:09 -04:00
Lioncash
ff45c39578
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
a881efbf26
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
53829d4cbd
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
7a504a9365
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
a2eb44db82
Merge pull request #4692 from ReinUsesLisp/remove-vsync
...
renderer_opengl: Remove emulated mailbox presentation
2020-09-21 00:21:32 +00:00
bunnei
754109fd54
Merge pull request #4683 from Morph1984/NpadHandheldActivationMode-impl
...
hid: Implement Get/SetNpadHandheldActivationMode
2020-09-20 12:39:20 -07:00
ReinUsesLisp
7003090187
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
8a85a562ed
Merge pull request #4643 from FearlessTobi/decrease-pad-update-interval
...
Test: Decrease pad_update_ns
2020-09-19 00:39:50 -07:00
ReinUsesLisp
4f5bbe56ba
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
58b0ae84b5
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
c5e257017f
Add automap feature for GC adapter
2020-09-18 16:51:16 -05:00
Lioncash
91bca9eb0b
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
ab961e0701
hid: Implement Get/SetNpadHandheldActivationMode
...
- Used in Clubhouse Games: 51 Worldwide Classics
2020-09-18 10:10:30 -04:00
Morph
70499b8cbd
configure_input_player: Fixes motion mapping using ConfigureButtonClick
2020-09-18 03:56:31 -04:00
bunnei
8568f44ffa
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
40a72e9cd5
am: Stub GetPreviousProgramIndex
...
- Used in Super Mario 3D All-Stars
2020-09-17 22:03:02 -04:00
Morph
65d9def873
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
41c2f5200c
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
53fc5d0190
Merge pull request #4670 from lioncash/initializer
...
arm_dynarmic_cp15: Initialize member variables
2020-09-17 21:20:53 +00:00
Rodrigo Locatti
9bdca01c27
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
8100275309
Merge pull request #4666 from lioncash/unused-func
...
service: Remove unused funcation
2020-09-17 21:19:48 +00:00
Rodrigo Locatti
131532b570
Merge pull request #4671 from lioncash/nfp-copy
...
command_generator/nfp: Eliminate unnecessary copies
2020-09-17 21:19:12 +00:00
Rodrigo Locatti
31461589c5
Merge pull request #4672 from lioncash/narrowing
...
decoder/texture: Eliminate narrowing conversion in GetTldCode()
2020-09-17 21:17:54 +00:00
Rodrigo Locatti
9f51242524
Merge pull request #4673 from lioncash/fallthrough
...
decode/image: Eliminate switch fallthrough in DecodeImage()
2020-09-17 21:17:16 +00:00
bunnei
3f6d83b27c
Merge pull request #4594 from german77/MotionHID
...
hid/configuration: Implement motion controls to HID
2020-09-17 12:39:01 -07:00
Lioncash
4944d48ee8
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
ffc66f089d
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
362e2940be
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
9539e4d8fd
audio_core/command_generator: Avoid an unnecessary copy in GenerateFinalMixCommand()
2020-09-17 13:45:24 -04:00
Lioncash
aca3621146
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
1ee9ceb5af
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
02b8b6677a
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
8bbd82863d
service: Remove unused funcation
...
This is now completely unused, so it can be removed.
2020-09-17 11:03:26 -04:00
Lioncash
057aa6275d
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
78b1bc3b61
service/sm: Eliminate dependency on the global system instance
2020-09-17 10:43:54 -04:00
bunnei
fcd0925ecf
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
1eae35621e
Merge pull request #4663 from ReinUsesLisp/wswitch
...
video_core: Enforce -Werror=switch
2020-09-16 20:43:23 -07:00
Lioncash
a62c1999c5
file_sys/romfs_factory: Eliminate usage of the global system accessor
2020-09-16 19:15:19 -04:00
Lioncash
0e80567bef
file_sys/bis_factory: Eliminate usage of the global system accessor
2020-09-16 18:16:04 -04:00
Lioncash
aa8d6fc041
loader/nso: Remove unnecessary [[maybe_unused]]
2020-09-16 18:09:01 -04:00
ReinUsesLisp
eb914b6c50
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
113a3972a6
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
004bfefeb5
Merge pull request #4658 from lioncash/copy3
...
nca_patch: Reduce stack usage size within SearchBucketEntry()
2020-09-16 00:25:11 +00:00
Lioncash
66fc037ef2
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
99b372a6c5
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
3a8464cde2
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
ba7eb5abf4
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
33e4a0b6c1
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
a4392c24cf
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
637ab14ae6
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
bc8ace9917
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
e0dd440b1f
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
ec2a6e5ba8
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
042567e4b2
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
5fc6bf96d8
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
ec634b6a88
Merge pull request #4634 from lioncash/blocking
...
bsd: Resolve a few warnings
2020-09-11 15:17:34 -07:00
bunnei
324029d4f9
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
03179ecafe
Merge pull request #4597 from Morph1984/mjolnir-p2
...
Project Mjölnir: Part 2 - Controller Applet
2020-09-10 19:28:23 -04:00
bunnei
41b8ecdeb6
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
57162e1df3
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
663ea382da
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
ffdf8c0cb3
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
c715fc4c5e
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
40968e3993
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
cd643ab5c9
bsd: Resolve sign comparison warnings
2020-09-07 01:06:27 -04:00
Lioncash
180fa6859f
sockets_translate: Make use of designated initializers
...
Same behavior, less typing.
2020-09-07 00:53:10 -04:00
Lioncash
188a3cf74c
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
9652973db2
blocking_worker: Resolve -Wdocumentation warning
2020-09-07 00:45:53 -04:00
bunnei
841b295ad0
Merge pull request #4606 from lioncash/constexpr
...
game_list_p: Mark some constants as constexpr
2020-09-06 23:19:38 -04:00
ReinUsesLisp
9e87193725
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
e126021ffe
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
5b6268d26a
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
797564599f
Minor cleanup
2020-09-05 09:42:21 -04:00
german
6ee8eab670
Add cemu hook changes related to PR #4609
2020-09-04 21:48:13 -05:00
german
0774b17846
Remove RealMotionDevice
2020-09-04 21:48:13 -05:00
Morph
8e18b61972
configure_input_player: Show/hide motion buttons based on the controller
2020-09-04 21:48:13 -05:00
Morph
df3cbd4758
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
ff679f3d17
Include HID and configuration changes related to motion
2020-09-04 21:48:03 -05:00
Morph
0e33b19ae0
hid: Implement MergeSingleJoyasDualJoy
...
- Used in multiple games such as Super Mario Odyssey.
2020-09-04 15:38:33 -04:00
Morph
b65456b958
applets/controller: Resolve several compiler warnings
...
Resolves -Wsign-compare and -Wunused-variable
2020-09-04 12:23:26 -04:00
Morph
076e4d44c3
Address feedback
2020-09-04 12:23:25 -04:00
Morph
1ec71b6ea0
clang-format
2020-09-04 12:23:25 -04:00
Morph
f95ea04995
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
Morph
371226448a
applets/controller: Modify heuristic to account for certain games
...
Now left and right joycons have the same priority (meaning both needs to be supported by the game).
Explanation of the new heuristic:
Assign left joycons to even player indices and right joycons to odd player indices.
We do this since Captain Toad Treasure Tracker expects a left joycon for Player 1 and a right Joycon for Player 2 in 2 Player Assist mode.
2020-09-04 12:23:25 -04:00
Morph
6597b3817c
main: Apply settings after applet configuration is complete.
2020-09-04 12:23:25 -04:00
Morph
7299356f37
applets/controller: Implement fallback applet for the SDL frontend
...
Implement the fallback applet for the SDL frontend, connecting only the minimum amount of players required.
2020-09-04 12:23:25 -04:00
Morph
72b2f5d34f
applets/controller: Load configuration prior to setting up connections
...
This avoids unintentionally changing the states of elements while loading them in.
2020-09-04 12:23:25 -04:00
Morph
aeec0f8a38
applets/controller: Make 8 a static constexpr value of NUM_PLAYERS
...
Avoids repetitive usages of the int literal '8' or calls to player_widgets.size()
2020-09-04 12:23:25 -04:00
Morph
5ce3015945
applets/controller: Implement "Explain Text"
...
"Explain Text" is additional text that is shown for each player in the controller applet.
2020-09-04 12:23:25 -04:00
Morph
5219615418
Project Mjölnir: Part 2 - Controller Applet
...
Co-authored-by: Its-Rei <kupfel@gmail.com>
2020-09-04 12:23:25 -04:00