bunnei
ddaecce2f5
hle: kernel: GlobalSchedulerContext: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
ea30e22ef1
hle: kernel: Use C++ style comments in KScheduler, etc.
2020-12-06 00:03:24 -08:00
bunnei
c3c09d9a35
kernel: KScopedSchedulerLockAndSleep: Remove unused ctor.
2020-12-06 00:03:24 -08:00
bunnei
31243d2b7a
kernel: time_manager: Add missing lock guards.
2020-12-06 00:03:24 -08:00
bunnei
de522657dd
hle: kernel: Migrate to KScopedSchedulerLock.
2020-12-06 00:03:24 -08:00
bunnei
61e017a026
hle: kernel: Separate KScopedSchedulerLockAndSleep from k_scheduler.
2020-12-06 00:03:24 -08:00
bunnei
4f16c961c9
hle: kernel: Separate KScheduler from GlobalSchedulerContext class.
2020-12-06 00:03:24 -08:00
bunnei
039844bbb9
hle: kernel: Rewrite scheduler implementation based on Mesopshere.
2020-12-06 00:03:24 -08:00
bunnei
abc079aca1
hle: kernel: physical_core: Clear exclusive state after each run.
...
- This is closer to pre-multicore behavior, and works a bit better.
2020-12-06 00:03:24 -08:00
bunnei
1ffab4019b
hle: kernel: Port KAbstractSchedulerLock from Mesosphere.
2020-12-06 00:03:24 -08:00
bunnei
0c9f4d749c
hle: kernel: svc: Remove reschedule on svcBreak.
...
- This breaks things, and is unnecessary, since emulation will be done at this point.
2020-12-06 00:03:24 -08:00
bunnei
cd66ac3af5
hle: kernel: process: Add schedule count tracking, to be used for yield impl.
2020-12-06 00:03:24 -08:00
bunnei
5f00b01a5d
hle: kernel: svc: Remove unnecessary hack in svcSleep.
2020-12-06 00:03:24 -08:00
bunnei
11e7b74858
common: Port KPriorityQueue from Mesosphere.
2020-12-06 00:03:24 -08:00
bunnei
ba09b4d69d
hle: kernel: Port KAffinityMask from Mesosphere.
2020-12-06 00:03:24 -08:00
Lioncash
5db4785535
video_core: Resolve more variable shadowing scenarios pt.3
...
Cleans out the rest of the occurrences of variable shadowing and makes
any further occurrences of shadowing compiler errors.
2020-12-05 16:02:23 -05:00
Morph
6efd390668
applets: Resolve variable shadowing
2020-12-05 08:37:13 -05:00
Chloe Marcec
6d887d0d92
system_version: Update to 11.0.0
2020-12-05 16:08:03 +11:00
Morph
ce2a7beb05
nim: Stub IsLargeResourceAvailable
...
- Used by Immortals Fenyx Rising
2020-12-04 09:53:21 -05:00
bunnei
c1f4f013fe
Merge pull request #4996 from bunnei/use-4jits
...
Kernel: Refactor to use 4-instances of Dynarmic & various cleanups and improvements
2020-12-03 15:32:45 -08:00
bunnei
4547af2ba5
Merge pull request #5000 from lioncash/audio-error
...
audio_core: Make shadowing and unused parameters errors
2020-12-02 23:08:43 -08:00
Lioncash
29db886722
audio_core: Make shadowing and unused parameters errors
...
Moves the audio code closer to enabling warnings as errors in general.
2020-12-03 00:54:31 -05:00
bunnei
eba344f859
Merge pull request #4937 from german77/multiUDP
...
InputCommon: Add multiple udp server support
2020-12-01 11:47:37 -08:00
bunnei
0c0c14ca1e
Merge pull request #4939 from german77/MouseInput
...
InputCommon: Implement full mouse support
2020-11-29 22:59:50 -08:00
bunnei
3edaafa295
kernel: scheduler: Minor cleanup to remove duplicated code.
2020-11-29 01:31:52 -08:00
bunnei
64cb411dda
kernel: time_manager: Protect access with a mutex.
2020-11-29 01:31:52 -08:00
bunnei
b2de57e93e
hle: kernel: thread: Remove unused "Running" state.
2020-11-29 01:31:52 -08:00
bunnei
a5b73195c9
core: arm: Implement InvalidateCacheRange for CPU cache invalidation.
2020-11-29 01:31:52 -08:00
bunnei
5114c6f3ac
hle: kernel: time_manager: Avoid a crash on process exit.
2020-11-29 01:31:51 -08:00
bunnei
026a8dd832
hle: kernel: AddressArbiter: Remove unused code.
2020-11-29 01:31:51 -08:00
bunnei
e7c2a66ecd
hle: kernel: SynchronizationObject: Use atomic_bool for is_signaled.
2020-11-29 01:31:51 -08:00
bunnei
b92d8acd2f
common: fiber: Use boost::context instead of native fibers on Windows.
2020-11-29 01:31:51 -08:00
bunnei
aaffe73f47
hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.
2020-11-29 01:31:51 -08:00
bunnei
276a0f7b8c
Merge pull request #4998 from Morph1984/bioshock-patch
...
hid: Check if applet_resource exists in InitializeVibrationDevice
2020-11-28 23:20:23 -08:00
german
2a93b187a6
Add missing types to NpadCommunicationMode
2020-11-28 21:56:02 -06:00
bunnei
4e480c2990
Merge pull request #5021 from german77/StubCommunicationMode
...
HID: Stub set and get NpadCommunicationMode
2020-11-28 15:22:46 -08:00
bunnei
1161176ff7
Merge pull request #5011 from lioncash/file-str2
...
core: Reduce string copies in GetGameFileFromPath()
2020-11-27 17:23:00 -08:00
Lioncash
c06510376a
core: Eliminate remaining usages of the global system instance
...
Removes all remaining usages of the global system instance. After this,
migration can begin to migrate to being constructed and managed entirely
by the various frontends.
2020-11-27 11:40:45 -05:00
Lioncash
acf893542a
savedata_factory: Eliminate usage of the global system instance
...
Now there's only two meaningful instances left in core.
2020-11-27 09:45:08 -05:00
german
d9d2a0aac7
Stub set and get NpadCommunicationMode
2020-11-26 21:35:11 -06:00
Lioncash
346271b80b
service: Eliminate usages of the global system instance
...
Completely removes all usages of the global system instance within the
services code by passing in the using system instance to the services.
2020-11-26 20:03:11 -05:00
Lioncash
064f17c5b1
core: Reduce string copies in GetGameFileFromPath()
...
Eliminates some minor string churn where applicable. Also eliminates an
unnecessary vector copy.
2020-11-26 14:05:13 -05:00
bunnei
a20ffebc80
Merge pull request #4975 from comex/invalid-syncpoint-id
...
nvdrv, video_core: Don't index out of bounds when given invalid syncpoint ID
2020-11-26 01:27:24 -08:00
german
56a8fee35a
Implement full mouse support
2020-11-25 23:59:30 -06:00
bunnei
a265c454f3
Merge pull request #4981 from ogniK5377/ioctl-ctrl
...
nvservices: Reintroducee IoctlCtrl
2020-11-25 21:48:57 -08:00
german
6708e0ec0e
Add multiple udp server support
2020-11-25 23:44:41 -06:00
Rodrigo Locatti
d9c847bdde
Merge pull request #4976 from comex/poll-events
...
Overhaul EmuWindow::PollEvents to fix yuzu-cmd calling SDL_PollEvents off main thread
2020-11-25 20:44:53 -03:00
Morph
9b00708d96
hid: Check if applet_resource exists in InitializeVibrationDevice
2020-11-25 13:33:30 -05:00
bunnei
bd0a2db49a
Merge pull request #4978 from bunnei/shutdown-crash
...
core: cpu_manager: Fix shutdown crash when closing before emulation starts.
2020-11-25 01:20:01 -08:00
bunnei
28843b094f
core: cpu_manager: Fix shutdown crash when closing before emulation starts.
2020-11-24 15:25:39 -08:00
bunnei
faffc3144c
service: am: Implement ExecuteProgram and required stubs.
...
- This is used by Super Mario 3D All-Stars.
2020-11-24 15:17:43 -08:00
bunnei
9f8d7748d9
core: loader: Implement support for loading indexed programs.
2020-11-24 15:16:24 -08:00
bunnei
5f53d285aa
hle: services: Fix a crash with improper NVFlinger lifetime management. ( #4977 )
...
* hle: services: Fix a crash with improper NVFlinger lifetime management.
- This crash would happen when attempting to shutdown yuzu early on in boot.
2020-11-24 14:31:58 -08:00
comex
00f2c7fbb9
nvdrv, video_core: Don't index out of bounds when given invalid syncpoint ID
...
- Use .at() instead of raw indexing when dealing with untrusted indices.
- For the special case of WaitFence with syncpoint id UINT32_MAX,
instead of crashing, log an error and ignore. This is what I get when
running Super Mario Maker 2.
2020-11-24 12:59:41 -05:00
Rodrigo Locatti
4f1f4ecef7
Merge pull request #4942 from lioncash/system
...
core: Make use of [[nodiscard]] with the System class
2020-11-24 04:26:59 -03:00
Rodrigo Locatti
2717355678
Merge pull request #4972 from lioncash/unused4
...
svc: Remove unnecessary [[maybe_unused]] tag
2020-11-24 04:25:59 -03:00
Chloe Marcec
f8d84ecae2
nvservices: Reintroducee IoctlCtrl
...
Fixes regression caused by #4907 which caused games like Breath of the Wild 1.0.0 not to boot.
2020-11-24 16:40:23 +11:00
bunnei
2ac1148798
Fix warnings in core/frontend/input.h with [[maybe_unused]]
...
Fixes build break due to #4927
2020-11-23 18:11:21 -08:00
bunnei
ec40411cfe
Merge pull request #4927 from lioncash/input-error
...
input_common: Treat warnings as errors
2020-11-23 17:25:53 -08:00
comex
bb729eefce
Overhaul EmuWindow::PollEvents to fix yuzu-cmd calling SDL_PollEvents off main thread
...
EmuWindow::PollEvents was called from the GPU thread (or the CPU thread
in sync-GPU mode) when swapping buffers. It had three implementations:
- In GRenderWindow, it didn't actually poll events, just set a flag and
emit a signal to indicate that a frame was displayed.
- In EmuWindow_SDL2_Hide, it did nothing.
- In EmuWindow_SDL2, it did call SDL_PollEvents, but this is wrong
because SDL_PollEvents is supposed to be called on the thread that set
up video - in this case, the main thread, which was sleeping in a
busyloop (regardless of whether sync-GPU was enabled). On macOS this
causes a crash.
To fix this:
- Rename EmuWindow::PollEvents to OnFrameDisplayed, and give it a
default implementation that does nothing.
- In EmuWindow_SDL2, do not override OnFrameDisplayed, but instead have
the main thread call SDL_WaitEvent in a loop.
2020-11-23 17:58:49 -05:00
bunnei
7781ef2038
Merge pull request #4451 from slashiee/extended-logging
...
logging/settings: Increase maximum log size to 100 MB and add extended logging option
2020-11-23 13:34:15 -08:00
Lioncash
b038dcf23c
svc: Remove unnecessary [[maybe_unused]] tag
...
The parameter is used in this function, so this suppression isn't
necessary.
2020-11-23 10:17:20 -05:00
Lioncash
c8aec32f12
input_common: Treat warnings as errors
...
Migrates over warnings as errors for input common to match how the
common library treats warnings as errors.
2020-11-22 04:50:03 -05:00
bunnei
c0ca8b9fa4
Merge pull request #4944 from lioncash/system-rem
...
patch_manager: Remove usages of the global system instance
2020-11-21 22:12:34 -08:00
bunnei
7e733589be
Merge pull request #4907 from ogniK5377/nvdrv-cleanup
...
core: Make nvservices more standardized
2020-11-20 22:15:44 -08:00
bunnei
2f0eb8d38c
olsc: Move member initialization to after member functions.
2020-11-20 10:50:50 -08:00
bunnei
655892e84b
hle: service: Stub OLSC Initialize and SetSaveDataBackupSettingEnabled functions.
...
- Used by Animal Cross: New Horizons v1.6.0 update, minimal stub gets this update working.
2020-11-19 12:36:09 -08:00
Lioncash
b4b63c878f
patch_manager: Remove usages of the global system instance
...
With this, only 19 usages of the global system instance remain within
the core library.
We're almost there.
2020-11-18 09:36:48 -05:00
Lioncash
82ef99b107
core: Remove unused private Init function for the System class
...
This isn't used, so it can be removed.
2020-11-18 02:09:08 -05:00
Lioncash
637aa4ddef
core: Make use of [[nodiscard]] with the System class
...
Given this is a central class, we should flag cases where the return
value of some functions not being used is likely a bug.
2020-11-18 02:06:44 -05:00
Morph
2d3476dd7f
hid: Reimplement Begin/EndPermitVibrationSession
...
Upon further investigation, these commands allow temporary vibrations even when the "Controller Vibration" system setting is disabled. As a result, vibrations are allowed when either the system setting or this flag is set to true. Therefore, we can only block vibrations when both flags are set to false.
2020-11-15 23:33:21 -05:00
Morph
7adf26daf0
controllers/npad: Load input devices on init
2020-11-15 23:33:21 -05:00
Morph
75ee0c94a0
general: Fix compiler warnings on linux and miscellaneous changes
2020-11-15 23:33:21 -05:00
Morph
bd42b2093c
controllers/npad: Remove the old vibration filter
...
Previously we used a vibration filter that filters out amplitudes close to each other. It turns out there are cases where this results into vibrations that are too inaccurate. Remove this and move the 100Hz vibration filter (Only allowing a maximum of 100 vibrations per second) from sdl_impl to npad when enable_accurate_vibrations is set to false.
2020-11-15 23:33:21 -05:00
Morph
6f80c78568
hid: Implement InitializeVibrationDevice and IsVibrationDeviceMounted
2020-11-15 23:33:20 -05:00
Morph
ad3905fe27
input_common: Add VibrationDevice and VibrationDeviceFactory
...
A vibration device is an input device that returns an unsigned byte as status.
It represents whether the vibration device supports vibration or not.
If the status returns 1, it supports vibration. Otherwise, it does not support vibration.
2020-11-15 23:33:20 -05:00
Morph
cce389221b
configure_input: Add per-player vibration
...
Allows for enabling and modifying vibration and vibration strength per player.
Also adds a toggle for enabling/disabling accurate vibrations.
Co-authored-by: Its-Rei <kupfel@gmail.com>
2020-11-15 23:33:20 -05:00
Morph
ee8ec56291
settings: Remove global vibration strength modifier
...
This will be replaced in favor of per-player vibration strength modifiers.
2020-11-15 23:33:20 -05:00
Morph
bb0a55c4db
hid: Mark Begin/EndPermitVibrationSession as stubs
...
The implementation of these commands seem incomplete and causes rumble in Super Mario Party to stop working since only EndPermitVibrationSession is called. Thus, these are better off being marked as a stub until this can be investigated more thoroughly.
2020-11-15 23:33:20 -05:00
Morph
cd2f8d7e4a
controllers/npad: Send an empty vibration on destruction/deactivation
...
This stops all controllers from continuously vibrating when emulation is stopped.
2020-11-15 23:33:20 -05:00
Morph
193418c57f
hid: Stub IsVibrationDeviceMounted
...
- Used in Super Mario Odyssey
2020-11-15 23:33:20 -05:00
Morph
ed9df522ec
controllers/npad: Add heuristics to reduce rumble state changes
...
Sending too many state changes in a short period of time can cause massive performance issues.
As a result, we have to use several heuristics to reduce the number of state changes to minimize/eliminate this performance impact while maintaining the quality of these vibrations as much as possible.
2020-11-15 23:33:20 -05:00
Morph
06bc7678ba
configure_input: Hook up the vibration percentage spinbox
...
This allows setting the vibration strength percentage anywhere from 1% to 100%.
Also hooks up the remaining motion button and checkbox in the Controller Applet.
2020-11-15 23:33:20 -05:00
Morph
3281c3b1cb
controllers/npad: Stop games from vibrating incorrect controllers
...
Fixes vibration in 1-2 Switch and potentially other games where they would vibrate both players' joycons at the same time.
2020-11-15 23:33:20 -05:00
Morph
f474cab023
hid: Fix controller rumble based on new research
...
This fixes the issue where rumble is only sent to the first controller.
Now, individual controllers can receive their own rumble commands.
2020-11-15 23:33:20 -05:00
Morph
82d901ae8b
hid: Pop a struct of parameters instead of popping individual parameters
...
Some parameters need to be doubleword aligned due to the presence of the applet_resource_user_id.
Previously, this value was invalid in many commands where it was not doubleword aligned when popped.
2020-11-15 23:33:20 -05:00
Morph
dc7a9a7be2
hid: Reorder all HID commands
...
Reorders all HID commands in command id order.
2020-11-15 23:33:20 -05:00
Morph
c9937559f4
hid: Implement GetVibrationDeviceInfo
...
The first u32 describes the vibration device type which is a Linear Resonant Actuator used in Nintendo Switch controller hardware.
The second u32 describes the vibration device position, in this case distinguishing between left and right vibration actuators.
Pro Controllers have 2 LRAs each that can vibrate independently of each other, which means they have 2 distinct vibration device handles to distinguish between the two actuators.
Similarly for joycons, the left joycon can be distinguished from the right joycon through the vibration device handle since each joycon has 1 LRA.
2020-11-15 23:33:20 -05:00
Morph
8a35dd51ee
hid: Stub InitializeVibrationDevice
2020-11-15 23:33:20 -05:00
Morph
294f3dd914
controllers/npad: Rename NPadType to NpadStyleSet
...
This more accurately represents the underlying type and avoids confusion with NpadType
2020-11-15 23:33:20 -05:00
Morph
f279871f0b
controllers/npad: Add DeviceHandle struct
...
A DeviceHandle describes a vibration device or six-axis sensor based on the npad type, npad id, and device index/position
2020-11-15 23:33:20 -05:00
Morph
1c1a83a20d
settings: Preparation for per-game input settings
2020-11-15 23:33:20 -05:00
Morph
0a85f0fd25
controllers/npad: Connect a controller on init if none are connected
2020-11-15 23:33:19 -05:00
bunnei
6c12c7afc9
Merge pull request #4895 from Morph1984/cave-story-plus-applet-fix
...
applets/controller: Introduce additional checks for mode and caller
2020-11-12 21:55:06 -08:00
bunnei
ca2f385e38
Merge pull request #4901 from bunnei/caps-stub
...
hle: service: caps_u: Stub GetAlbumFileList3AaeAruid.
2020-11-09 21:20:08 -08:00
Chloe Marcec
d8f879952c
Addressed issues
2020-11-10 15:57:36 +11:00
Chloe Marcec
f0b74aa725
core: Make nvservices more standardized
2020-11-10 15:57:35 +11:00
Rodrigo Locatti
88898861a6
Merge pull request #4909 from lioncash/interrupt
...
cpu_interrupt_handler: Mark move contructor/assignment as deleted
2020-11-08 22:09:40 -03:00
Lioncash
e7fe020ace
ipc_helpers: Remove usage of the global system instance
...
Resolves numerous deprecation warnings throughout the codebase due to
inclusion of this header. Now building core should be significantly less
noisy (and also relying on less global state).
This also uncovered quite a few modules that were relying on indirect
includes, which have also been fixed.
2020-11-08 15:58:11 -05:00
Lioncash
9568c94a11
cpu_interrupt_handler: Mark move contructor/assignment as deleted
...
The interrupt handler contains a std::atomic_bool, which isn't copyable
or movable, so the special move member functions will always be deleted,
despite being defaulted.
This can resolve warnings on clang and GCC.
2020-11-08 15:37:04 -05:00
Morph
a7bee25d73
applets: Rename LibraryAppletVersion to ControllerAppletVersion
2020-11-08 10:04:12 -05:00
Morph
02b6d04d64
applets/controller: Pop normal data for StrapGuide and FirmwareUpdate
2020-11-08 09:35:25 -05:00
Morph
5c26e16783
applets/controller: Introduce additional checks for mode and caller
...
Some games like Cave Story+ set invalid values in the ControllerPrivateArg's mode and caller fields.
Use other fields to determine the appropriate mode and caller should either or both fields be invalid.
2020-11-08 09:35:25 -05:00
Morph
eca32e90db
applets/controller: Add ControllerUpdateFirmwareArg struct
2020-11-08 09:35:25 -05:00
bunnei
d52953b66e
Merge pull request #4903 from bunnei/remove-gpu-integrity
...
video_core: dma_pusher: Remove integrity check on command lists.
2020-11-08 02:48:22 -08:00
LC
d52a8168a2
Merge pull request #4906 from lat9nq/log-cpu-accuracy
...
settings: log value of CPU_Accuracy
2020-11-07 17:01:33 -05:00
lat9nq
ec0f96cdd1
settings: log value of CPU_Accuracy
2020-11-07 16:14:10 -05:00
bunnei
0b6324b3a6
video_core: dma_pusher: Remove integrity check on command lists.
...
- This seems to cause softlocks in Breath of the Wild.
2020-11-07 00:08:19 -08:00
bunnei
08056a8c3d
Merge pull request #4888 from lioncash/unicorn-remove
...
core: Remove usage of unicorn
2020-11-06 22:39:05 -08:00
bunnei
479a52a8d4
hle: service: caps_u: Stub GetAlbumFileList3AaeAruid.
...
- This works similiar to GetAlbumContentsFileListForApplication.
- Since we do not implement the album, this should be safe to stub for now.
- Used by Super Smash Bros. Ultimate (newer updates) in World of Light.
2020-11-06 22:23:15 -08:00
Lioncash
4c3b3b3cd1
settings: Simplify initializer of resolution factor
...
This can use a braced initializer to accomplish the same thing with less
code.
2020-11-05 22:07:10 -05:00
bunnei
653b82fbc3
Merge pull request #4889 from lioncash/setting-global
...
core/settings: Move configuring_global behind an API
2020-11-04 17:09:19 -08:00
bunnei
97547d70f5
Merge pull request #4858 from lioncash/initializer
...
General: Resolve a few missing initializer warnings
2020-11-04 12:10:10 -08:00
Lioncash
b1de33af75
core/settings: Move configuring_global behind an API
...
Rather than have directly modified global state here, we can make it an
implementation detail and have an interface that changes are queried
through.
2020-11-04 04:16:37 -05:00
Chloe
c16acdfb9b
Merge pull request #4869 from bunnei/improve-gpu-sync
...
Improvements to GPU synchronization & various refactoring
2020-11-04 18:36:55 +11:00
Lioncash
5c55f3b585
core: Remove usage of unicorn
...
Unicorn long-since lost most of its use, due to dynarmic gaining support
for handling most instructions. At this point any further issues
encountered should be used to make dynarmic better.
This also allows us to remove our dependency on Python.
2020-11-03 20:22:05 -05:00
bunnei
04f9045b01
Merge pull request #4878 from bunnei/unload-nrr
...
hle: service: ldr: Implement UnloadNrr.
2020-11-03 08:52:40 -08:00
bunnei
f8b764dbf2
fixup! hle service: nvdrv: nvhost_gpu: Update to use SyncpointManager and other improvements.
2020-11-01 01:52:38 -07:00
bunnei
0e90fce8d4
core: Initialize GPU before services.
2020-11-01 01:52:38 -07:00
bunnei
57f20d0d70
hle service: nvdrv: nvhost_gpu: Update to use SyncpointManager and other improvements.
...
- Refactor so that SubmitGPFIFO and KickoffPB use shared functionality.
- Implement add_wait and add_increment flags.
2020-11-01 01:52:38 -07:00
bunnei
d787a5bfde
service: hle: nvflinger: Fix potential shutdown crash when GPU is destroyed.
2020-11-01 01:52:38 -07:00
bunnei
617372b751
hle service: nvdrv: nvhost_ctrl: Update to use SyncpointManager.
2020-11-01 01:52:37 -07:00
bunnei
df095c8963
hle service: nvdrv: Update to instantiate SyncpointManager.
2020-11-01 01:52:34 -07:00
bunnei
317c2ac884
hle: service: nvdrv: Implement SyncpointManager, to manage syncpoints.
2020-11-01 01:51:54 -07:00
Levi Behunin
381586d56c
Rename to align with switchbrew and remove gpu function ( #4714 )
...
* Rename to align with switchbrew
* Rename to align with switchbrew and remove gpu function that checks if clearing should be done.
2020-11-01 01:24:17 -07:00
bunnei
4c09a6399c
hle: service: ldr: Implement UnloadNrr.
...
- Used by Final Fantasy X/X-2 HD Remaster.
2020-10-31 01:22:53 -07:00
Jan Beich
c751be210e
video_core: unbreak -Werror in NVDEC with Clang
...
src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.cpp:41:15: error: unused variable 'OutOfMemory' [-Werror,-Wunused-const-variable]
constexpr u32 OutOfMemory{static_cast<u32>(-12)};
^
2020-10-30 16:43:10 +00:00
Lioncash
3e654ff0d0
General: Resolve a few missing initializer warnings
...
Resolves a few -Wmissing-initializer warnings.
2020-10-29 19:37:07 -04:00
Morph
fc09a13d34
kernel/process: Add missing <ctime> include
...
Fixes compilation on MSVC
2020-10-29 03:17:20 -04:00
bunnei
b4556dd78d
Merge pull request #4835 from lat9nq/rng-default-time
...
kernel: Use the current time as the default RNG seed
2020-10-28 22:51:29 -07:00
bunnei
f3f1558313
Merge pull request #4846 from lioncash/service-fn
...
service: Update function tables
2020-10-28 13:47:56 -07:00
Lioncash
0368d43dff
service: Update function tables
...
Updates function tables according to info on SwitchBrew.
2020-10-27 21:19:46 -04:00
bunnei
89e414a2fb
Merge pull request #4729 from ameerj/nvdec-prod
...
video_core: NVDEC Implementation
2020-10-26 23:02:42 -07:00
ReinUsesLisp
1a1ca86eb5
hle/kernel: Remove unused registered_core_threads to fix data races
...
This member was only used on asserts and it triggered data races.
Remove it to fix them.
2020-10-27 01:55:39 -03:00
bunnei
5815928653
Merge pull request #4832 from bunnei/cpu-manager-microprofile-fix
...
core: cpu_manager: Add missing call to MicroProfileOnThreadExit().
2020-10-26 21:29:09 -07:00
bunnei
fc2d916976
Merge pull request #4833 from bunnei/timezonemanager-explicit
...
hle: services: TimeZoneContentManager: This can be made explicit.
2020-10-26 21:28:45 -07:00
ameerj
9ef5c53e52
video_core: NVDEC Implementation
...
This commit aims to implement the NVDEC (Nvidia Decoder) functionality, with video frame decoding being handled by the FFmpeg library.
The process begins with Ioctl commands being sent to the NVDEC and VIC (Video Image Composer) emulated devices. These allocate the necessary GPU buffers for the frame data, along with providing information on the incoming video data. A Submit command then signals the GPU to process and decode the frame data.
To decode the frame, the respective codec's header must be manually composed from the information provided by NVDEC, then sent with the raw frame data to the ffmpeg library.
Currently, H264 and VP9 are supported, with VP9 having some minor artifacting issues related mainly to the reference frame composition in its uncompressed header.
Async GPU is not properly implemented at the moment.
Co-Authored-By: David <25727384+ogniK5377@users.noreply.github.com>
2020-10-26 23:07:36 -04:00
bunnei
5760a283f6
Merge pull request #4834 from lioncash/copy-fn
...
controller: Pass ControllerParameters by reference in ReconfigureControllers()
2020-10-26 18:49:26 -07:00
lat9nq
2974d72a2a
kernel: Use the current time as the default RNG seed
...
Use the current time, not zero, as the default RNG seed.
2020-10-26 21:42:11 -04:00
Lioncash
c3f019b9eb
controller: Pass ControllerParameters by reference in ReconfigureControllers()
...
Prevents unnecessary copies and heap reallocations from occurring.
2020-10-26 21:06:15 -04:00
bunnei
379ef37035
hle: services: TimeZoneContentManager: This can be made explicit.
2020-10-26 16:11:45 -07:00
bunnei
321fbec267
core: cpu_manager: Add missing call to MicroProfileOnThreadExit().
...
- Fixes an occasional crash when trying to launch subsequent games.
2020-10-26 16:09:15 -07:00
Rodrigo Locatti
e790827d99
Merge pull request #4828 from lioncash/lockguard
...
general: Use template deduction guides for lock_guard
2020-10-25 16:55:54 -03:00
Lioncash
59a56fa810
general: Use template deduction guides for lock_guard
...
Same behavior, less code.
2020-10-25 13:53:22 -04:00
bunnei
8246151e3a
Merge pull request #4792 from bunnei/rtc-fix
...
service: time: Update current time with changes to RTC setting.
2020-10-22 20:46:54 -07:00
Lioncash
c7b6027f34
core: Fix clang build pt.3
...
Should finally resolve building with clang.
2020-10-21 22:14:23 -04:00
Lioncash
2d48020ca5
core: Fix clang build pt.2
...
Resolves the clang build issue in a more unintrusive way.
2020-10-20 22:16:03 -04:00
bunnei
deb3536936
Revert "core: Fix clang build"
2020-10-20 19:07:39 -07:00
Lioncash
1367e8fb75
kernel: Fix build with recent compiler flag changes
...
This slipped through the cracks due to another change being merged
before the compiler flag changes.
2020-10-20 20:23:18 -04:00
LC
b02702a86a
Merge pull request #4796 from lioncash/clang
...
core: Fix clang build
2020-10-20 19:19:12 -04:00
bunnei
28b9805482
Merge pull request #4390 from ogniK5377/get-applet-inf-stub
...
nifm: GetAppletInfo stub
2020-10-20 15:59:19 -07:00
David Marcec
b54f39b1d4
Added remaining params
2020-10-20 16:45:01 +11:00
David Marcec
83cb5a2c74
nifm: GetAppletInfo stub
...
Fixes crash for Catherine Full Body
2020-10-20 16:42:40 +11:00
bunnei
639ff00184
Merge pull request #4788 from ReinUsesLisp/lockfree-host-thread
...
kernel: Implement host thread register methods without locking
2020-10-19 22:31:52 -07:00
bunnei
b1883e0c5f
Merge pull request #4785 from Morph1984/fs-hades
...
filesystem: Fix CreateDirectory and DeleteFile
2020-10-19 16:04:01 -07:00
bunnei
8e2a35be16
Merge pull request #4802 from lioncash/bcat
...
core: Add boxcat sources with target_sources
2020-10-19 12:40:49 -07:00
bunnei
65569c049e
Merge pull request #4783 from bunnei/nvdrv-freespace
...
hle: service: nvdrv: Implement nvhost_as_gpu::FreeSpace.
2020-10-18 12:41:18 -07:00
Lioncash
a1b5ea953f
core: Add boxcat sources with target_sources
...
Same behavior, minus a script variable.
2020-10-18 08:09:06 -04:00
bunnei
91e384c640
Merge pull request #4801 from lioncash/missing-bound
...
mii/manager: Make use of unused lower bound in GetRandomValue()
2020-10-17 23:32:40 -07:00
Lioncash
18636013c9
core: Fix clang build
...
Recent changes to the build system that made more warnings be flagged as
errors caused building via clang to break.
Fixes #4795
2020-10-17 19:50:39 -04:00
Lioncash
ab33132ccb
mii/manager: Make use of unused lower bound in GetRandomValue()
...
Previously, the lower bound wasn't being used and zero was being used as
the lower bound every time this function was called.
This affects the outcome of some of the randomized entries a little bit,
for example, the lower-bound for beard and mustache flags was supposed
to be 1, not 0.
Aside from these cases, the bug didn't affect anything else.
2020-10-17 09:50:04 -04:00
bunnei
bf6d4d3052
service: bcat: Check client connection before interacting with socket.
...
- Fixes a crash when BCAT service is offline.
2020-10-16 21:16:56 -07:00
bunnei
1ccbb35400
Merge pull request #4784 from bunnei/cancelbuffer
...
hle: service: vi: Implement BufferQueue::CancelBuffer.
2020-10-15 19:57:27 -07:00
bunnei
de8829370d
service: acc: Stub IManagerForApplication::StoreOpenContext.
...
- Used by Super Mario 3D All-Stars.
2020-10-14 20:06:33 -07:00
bunnei
cab012dd01
hle: service: vi: Implement BufferQueue::CancelBuffer.
...
- This is used by Super Mario 3D All-Stars.
2020-10-13 22:11:52 -07:00
ReinUsesLisp
a13623c68b
kernel: Implement host thread register methods without locking
...
Locks on GetCurrentHostThreadID were causing performance issues
according to Visual Studio's profiler. It was consuming twice the time
as arm_interface.Run(). The cost was not in the function itself but in
the lockinig it required.
Reimplement these functions using atomics and static storage instead of
an unordered_map. This is a side effect to avoid locking and using linked
lists for reads.
Replace unordered_map with a linear search.
2020-10-13 18:00:25 -03:00
Lioncash
16de0a6a96
core/CMakeLists: Make some warnings errors
...
Makes our error coverage a little more consistent across the board by
applying it to Linux side of things as well. This also makes it more
consistent with the warning settings in other libraries in the project.
This also updates httplib to 0.7.9, as there are several warning
cleanups made that allow us to enable several warnings as errors.
2020-10-13 13:16:49 -04:00
Morph
585838ca42
filesystem: Fix CreateDirectory and DeleteFile
...
Add a check if dir is nullptr (does not exist)
Fixes save game creation in Hades
2020-10-13 00:57:04 -04:00
bunnei
3fb8109c94
service: time: Update current time with changes to RTC setting.
...
- This can be used to advance time, e.g. for Pokemon Sword/Shield pokejobs.
2020-10-12 18:09:15 -07:00
bunnei
77bf864c94
Merge pull request #3929 from FearlessTobi/ticket-keys
...
file_sys/nsp: Make SetTicketKeys actually do something
2020-10-12 17:58:36 -07:00
bunnei
649a262f4e
hle: service: nvdrv: Implement nvhost_as_gpu::FreeSpace.
...
- This is used by Super Mario 3D All-Stars.
2020-10-12 17:39:14 -07:00
bunnei
44641fe2a9
Merge pull request #4736 from Morph1984/home-button-input-protection-stub
...
hid: Stub HomeButtonInputProtection service commands
2020-10-07 14:54:05 -07:00
bunnei
a2784b68b7
Merge pull request #4710 from Morph1984/fix-integrated-updates
...
submission_package: Fix updates integrated into cartridge images.
2020-10-06 22:27:52 -07:00
bunnei
d2850ea1f9
Merge pull request #4737 from Morph1984/setshimlibraryversion-stub
...
capsrv: Stub 3 variants of SetShimLibraryVersion
2020-10-06 21:39:38 -07:00
bunnei
49806f49a3
Merge pull request #4742 from german77/InputFilter
...
HID: Only use inputs corresponding to controller type
2020-10-05 21:40:09 -07:00
bunnei
1a09214fd5
Merge pull request #4734 from german77/motionfusion
...
HID: Add Stub for EnableSixAxisSensorFusion
2020-10-01 22:39:39 -07:00
german
3fa9068948
Only use inputs corresponding to controller type
2020-10-01 19:39:53 -05:00
german
450a3c0f42
Stubbed EnableSixAxisSensorFusion
2020-09-30 10:00:24 -05:00
David
99e921f52e
Merge pull request #4291 from german77/ImplementControllerRumble
...
input_common: First implementation of controller rumble
2020-09-30 21:24:11 +10:00
David
bf47adf1b3
Merge pull request #4726 from lioncash/applet
...
frontend/controller: Eliminate dependency on the global system instance
2020-09-30 21:22:45 +10:00
Morph
ba883c8c84
caps_c: Stub SetShimLibraryVersion
...
- Used by caps_su SetShimLibraryVersion
2020-09-30 07:19:46 -04:00
Morph
e1d561f647
caps_u: Stub SetShimLibraryVersion
...
- Used in Super Smash Bros. Ultimate
2020-09-30 07:19:46 -04:00
Morph
a03d4d663c
caps_su: Properly stub SetShimLibraryVersion
2020-09-30 07:19:46 -04:00
Morph
f3e928bb6a
hid: Stub HomeButtonInputProtection service commands
...
- Used in 1-2 Switch. Given that we do not emulate the functionality of the home button yet, we can stub this for now.
2020-09-30 06:38:24 -04:00
bunnei
3266cc0a32
Merge pull request #4705 from german77/SplitMotionPoller
...
HID: Use different timing for motion
2020-09-30 01:04:22 -07:00
bunnei
7d55163e1d
Merge pull request #1703 from DarkLordZach/nvdec-ioctl
...
nvdrv: Stub nvdec/vic ioctls to bypass nvdec movies
2020-09-29 15:00:48 -07:00
german
782aab6cf2
First implementation of controller rumble
2020-09-29 10:38:25 -04:00
Lioncash
dba567cfbf
core: Mark GetInstance() as deprecated
...
This way it's obvious that this function shouldn't be used in any future
code.
2020-09-25 19:23:23 -04:00
Lioncash
9861290969
frontend/controller: Eliminate dependency on the global system instance
2020-09-25 19:23:20 -04:00
LC
d2d0909b84
Merge pull request #4717 from lioncash/debug
...
service: Restore "unused" function
2020-09-25 00:07:19 -04:00
Lioncash
711c5c7bdf
service: Restore "unused" function
...
Turns out this function is actually used, but within a trace log.
2020-09-25 00:06:40 -04:00
Morph
58f0798f1f
submission_package: Fix updates integrated into cartridge images.
2020-09-24 17:23:14 -04:00
bunnei
221e4c3e41
Merge pull request #4678 from Morph1984/LoadOpenContext-partial-impl
...
acc: Partially implement LoadOpenContext
2020-09-24 11:21:25 -07:00
german
c3fb504201
Use different timing for motion
2020-09-23 19:09:33 -05: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
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
bunnei
24b421b14c
Merge pull request #4683 from Morph1984/NpadHandheldActivationMode-impl
...
hid: Implement Get/SetNpadHandheldActivationMode
2020-09-20 12:39:20 -07:00