MerryMage
52dae41d7f
arm_dynarmic: Always have a 'valid' jit instance
2021-03-24 18:47:17 +00:00
bunnei
10d6e9f32b
hle: kernel: Breakup InitializeMemoryLayout.
2021-03-23 18:47:16 -07:00
bunnei
fb91647bca
hle: kernel: k_memory_region_type: Minor code cleanup.
2021-03-23 18:42:04 -07:00
bunnei
4eac8703d2
hle: kernel: k_memory_region: Minor code cleanup.
2021-03-23 18:37:39 -07:00
bunnei
9032d21365
hle: kernel: k_memory_layout: Use pair instead of tuple.
2021-03-23 18:35:01 -07:00
bunnei
a32190d0c2
hle: kernel: k_system_control: Remove unnecessary inline.
2021-03-23 18:33:29 -07:00
bunnei
ab5995c7ae
common: common_sizes: Move sizes to the Common namespace.
2021-03-23 18:31:46 -07:00
Chloe Marcec
875183e7c5
nvdrv: Change InitializeEx to AllocAsEx
...
Wee also report the correct "big page size" now in GetVARegions & fix up the struct for IoctlAllocAsEx
2021-03-22 19:59:30 +11:00
bunnei
1d78190843
hle: kernel: Merge KMemoryRegionAttr and KMemoryRegionType.
...
- Fixes clang errors with mixed enum arithmetic.
2021-03-21 15:53:21 -07:00
bunnei
3ffbe50e7d
hle: kernel: Remove unused variable.
2021-03-21 15:47:24 -07:00
bunnei
fc5205fc84
hle: kernel: k_memory_region_type: Remove extra ".
2021-03-21 15:47:05 -07:00
bunnei
a35717b245
core: arm_dynarmic: Ensure JIT state is saved/restored on page table changes.
...
- We re-create the JIT here without preserving any state.
2021-03-21 15:25:25 -07:00
bunnei
1996cae9cb
hle: kernel: k_memory_layout: Move KMemoryRegionAllocator out of global.
2021-03-21 14:45:13 -07:00
bunnei
343eaecd38
hle: kernel: k_memory_layout: Derive memory regions based on board layout.
2021-03-21 14:45:13 -07:00
bunnei
8d0ba7ee49
common: common_sizes: Move Invalid to Size_* prefix and add missing values.
2021-03-21 14:45:03 -07:00
bunnei
80688362cf
hle: kernel: k_memory_region: Refactor to simplify code.
2021-03-21 14:45:03 -07:00
bunnei
edbc505e52
hle: kernel: board: k_system_control: Extend to include memory region sizes.
2021-03-21 14:45:03 -07:00
bunnei
10265ad0e4
hle: kernel: board: Add secure_monitor module.
2021-03-21 14:45:03 -07:00
bunnei
28be8aec9a
common: Move common sizes to their own header for code reuse.
2021-03-21 14:45:03 -07:00
bunnei
01f04fee32
hle: kernel: k_address_space_info: Cleanup.
2021-03-21 14:45:02 -07:00
bunnei
f2e1441567
hle: kernel: Add k_trace module.
2021-03-21 14:45:02 -07:00
bunnei
5762517728
hle: kernel: KSystemControl: Update to reflect board-specific behavior.
2021-03-21 14:45:02 -07:00
bunnei
a439867f2c
hle: kernel: KMemoryManager: Add CalculateManagementOverheadSize.
2021-03-21 14:45:02 -07:00
bunnei
43a29b5803
hle: kernel: KMemoryManager: Add aliases.
2021-03-21 14:45:02 -07:00
bunnei
c17beefe3d
hle: kernel: Add architecture and board specific memory regions.
2021-03-21 14:45:02 -07:00
bunnei
3fb64da452
hle: kernel: KMemoryRegion: Derive region values.
2021-03-21 14:45:02 -07:00
bunnei
5872561077
hle: kernel: Migrate some code from Common::SpinLock to KSpinLock.
2021-03-21 14:45:02 -07:00
bunnei
541b4353e4
hle: kernel: Add initial KMemoryRegionType module.
2021-03-21 14:45:02 -07:00
bunnei
778e0f8ec1
hle: kernel: Move KMemoryRegion to its own module and update.
2021-03-21 14:45:02 -07:00
bunnei
2e85ee250d
Merge pull request #6052 from Morph1984/vi-getindirectlayerimagemap
...
IApplicationDisplayService: Stub GetIndirectLayerImageMap
2021-03-19 22:59:25 -07:00
bunnei
cb48ed2e1a
Merge pull request #6056 from zkitX/spl-updates
...
service: Refactor spl
2021-03-18 15:49:41 -07:00
Morph
ec514a4d1b
IApplicationDisplayService: Stub GetIndirectLayerImageMap
...
Used by games invoking the inline software keyboard such as GNOSIA
2021-03-17 03:25:12 -04:00
bunnei
e1f7938a3b
Merge pull request #6070 from Morph1984/sysver-11.0.1
...
system_version: Update to 11.0.1
2021-03-16 18:13:12 -07:00
Morph
8441094ba3
bsd: Avoid writing empty buffers
...
Silences log spam on empty buffer writes
2021-03-16 12:50:44 -04:00
bunnei
0687a8370d
Merge pull request #6069 from Morph1984/ngWord
...
system_archive: Update NgWord archive version
2021-03-15 15:44:04 -07:00
Morph
824e53149d
system_version: Update to 11.0.1
2021-03-14 08:47:36 -04:00
Morph
9761618a8d
system_archive: Update NgWord archive version
2021-03-14 08:33:48 -04:00
bunnei
d3a4a192fe
Merge pull request #6054 from Morph1984/time-GetClockSnapshot
...
time: Assign the current time point to the ClockSnapshot
2021-03-13 23:15:54 -08:00
zkitx
4439801c0f
Fix casing on DeallocateAesKeySlot
2021-03-11 02:46:22 -05:00
zkitx
ad653550eb
Update SPL to fit N's service refactor (4.0.0+) which split into new services.
2021-03-11 02:36:48 -05:00
Morph
87cfe5b1da
time: Fix CalculateSpanBetween implementation
...
CalculateSpanBetween passes in the ClockSnapshots through 2 input buffers and not as raw arguments. Fix this by reading the 2 input buffers instead of popping raw arguments.
Partially fixes Super Smash Bros. Ultimate's Spirit Board
2021-03-10 11:42:59 -05:00
Morph
2490ffbbce
time: Assign the current time point to the ClockSnapshot
...
Fixes the timer in Super Smash Bros Ultimate's Spirit Board.
2021-03-10 11:40:51 -05:00
bunnei
8f7eb194af
common: Fiber: use a reference for YieldTo.
...
- Fixes another small leak.
2021-03-07 13:46:53 -08:00
bunnei
47af34003b
hle: kernel: KThread: Rework dummy threads & fix memory leak.
...
- Dummy threads are created on thread local storage for all host threads.
- Fixes a leak by removing creation of fibers, which are not applicable here.
2021-03-05 17:10:57 -08:00
bunnei
a5ab85ac37
Revert "core: Switch to unique_ptr for usage of Common::Fiber."
2021-03-05 17:08:17 -08:00
bunnei
9d010be483
Merge pull request #6034 from Morph1984/mbedtls
...
externals: Update mbedtls to 2.16.9
2021-03-05 15:48:28 -08:00
bunnei
34a3ee1631
Merge pull request #6006 from bunnei/fiber-unique-ptr
...
core: Switch to unique_ptr for usage of Common::Fiber.
2021-03-04 23:59:06 -08:00
Morph
96c9e67b1b
aes_util: Remove malformed mbedtls_cipher_finish function call
2021-03-05 02:05:05 -05:00
bunnei
f8bfec3109
Merge pull request #5815 from comex/net-error-reform
...
Network error handling reform
2021-03-02 17:08:47 -08:00
bunnei
925671071c
core: Shutdown: Move kernel cleanup to later in shutdown.
...
- Fixes a shutdown crash due to a race condition with GPU still accessing memory.
2021-03-01 21:42:06 -08:00
comex
2910aa77b2
[network] Error handling reform
...
`network.cpp` has several error paths which either:
- report "Unhandled host socket error=n" and return `SUCCESS`, or
- switch on a few possible errors, log them, and translate them to
Errno; the same switch statement is copied and pasted in multiple
places in the code
Convert these paths to use a helper function `GetAndLogLastError`, which
is roughly the equivalent of one of the switch statements, but:
- handling more cases (both ones that were already in `Errno`, and a few
more I added), and
- using OS functions to convert the error to a string when logging, so
it'll describe the error even if it's not one of the ones in the
switch statement.
- To handle this, refactor the logic in `GetLastErrorMsg` to expose a
new function `NativeErrorToString` which takes the error number
explicitly as an argument. And improve the Windows version a bit.
Also, add a test which exercises two random error paths.
2021-02-28 17:25:31 -05:00
bunnei
9e9341f4b4
Merge pull request #6007 from bunnei/ldn-error
...
core: hle: ldn: Error out on call to Initialization.
2021-02-28 13:34:20 -08:00
Morph
ee9ebeeb80
Merge pull request #5276 from german77/gestures
...
HID: Implement gestures
2021-02-27 22:18:41 -05:00
german
e895ab7d6f
Implements touch, pan, pinch and rotation gestures
2021-02-27 19:54:42 -06:00
bunnei
ab65cb499d
core: hle: ldn: Error out on call to Initialization.
...
- Since we do not emulate LDN, returning an error here makes more sense.
2021-02-27 11:59:29 -08:00
bunnei
51fb0a6f96
core: Switch to unique_ptr for usage of Common::Fiber.
...
- With using unique_ptr instead of shared_ptr, we have more explicit ownership of the context.
- Fixes a memory leak due to circular reference of the shared pointer.
2021-02-27 11:56:04 -08:00
bunnei
09f7c355c6
Merge pull request #5953 from bunnei/memory-refactor-1
...
Kernel Rework: Memory updates and refactoring (Part 1)
2021-02-27 12:48:35 -07:00
bunnei
bfa1644464
Merge pull request #5944 from Morph1984/gc-vibrations
...
hid: Implement GameCube Controller Vibrations
2021-02-26 19:10:36 -07:00
Morph
ec19a85890
hid: Implement GameCube Controller Vibrations
...
Implements both SendVibrationGcErmCommand and GetActualVibrationGcErmCommand, and modifies GetVibrationDeviceInfo to account for additional controllers.
2021-02-21 10:32:59 -05:00
Morph
3de8e7a8f2
acc: Stub GetNintendoAccountUserResourceCacheForApplication
...
This command returns a Nintendo Account ID and writes 2 output buffers. The first output buffer is a NasUserBaseForApplication and the second output buffer is currently empty.
Used by:
- Pokken Tournament DX
- Super Smash Bros. Ultimate
- Super Nintendo Entertainment System - Nintendo Switch Online
- Mario Kart 8 Deluxe
2021-02-21 10:29:25 -05:00
ameerj
8e4c9c9852
kernel: Fix resource release exception on exit
...
After rewriting the resource limit, objects releasing reserved resources require a live kernel instance.
This commit fixes exceptions that occur due to the kernel being destroyed before some objects released their resources, allowing for a graceful exit.
2021-02-20 20:51:11 -05:00
bunnei
93e20867b0
hle: kernel: Migrate PageHeap/PageTable to KPageHeap/KPageTable.
2021-02-18 16:16:25 -08:00
bunnei
b1e27890e8
hle: kernel: Migrate MemoryManager to KMemoryManager.
2021-02-18 16:16:25 -08:00
bunnei
93109c870e
hle: kernel: Migrate PageLinkedList to KPageLinkedList.
2021-02-18 16:16:25 -08:00
bunnei
65e0178cc0
hle: kernel: Migrate to KMemoryBlock, KMemoryBlockManager, and others.
2021-02-18 16:16:25 -08:00
bunnei
9e520e8f12
hle: kernel: Migrate SlabHeap to KSlabHeap.
2021-02-18 16:16:25 -08:00
bunnei
1d162f28d1
hle: kernel: Migrate MemoryLayout to KMemoryLayout.
2021-02-18 16:16:25 -08:00
bunnei
7ed5dd0d62
hle: kernel: Migrate AddressSpaceInfo to KAddressSpaceInfo.
2021-02-18 16:16:25 -08:00
bunnei
701ef616b2
hle: kernel: memory_manager: Rename AllocateContinuous to AllocateContinuous.
2021-02-18 16:16:24 -08:00
bunnei
f7a008d77f
hle: kernel: KSystemControl does not belong in Memory namespace.
2021-02-18 16:16:24 -08:00
bunnei
6a19086001
hle: kernel: memory: PageHeap: Migrate to KPageBitmap class.
2021-02-18 16:16:24 -08:00
bunnei
a02566136c
hle: kernel: Add KPageBitmap class.
2021-02-18 16:16:24 -08:00
bunnei
e7c33d1ad6
hle: kernel: system_control: Add function GenerateRandomU64.
2021-02-18 16:16:24 -08:00
bunnei
6da91da08e
hle: kernel: Add KSpinLock implementation.
2021-02-18 16:16:24 -08:00
bunnei
24e1e17a8a
core: memory: Add templated GetPointer methods.
2021-02-18 16:16:24 -08:00
bunnei
0d62f30b00
hle: kernel: Rename SharedMemory to KSharedMemory.
2021-02-18 16:16:12 -08:00
bunnei
9cae3e6e90
Merge pull request #4973 from ameerj/nvdec-opt
...
nvdec: Reuse allocated buffers and general cleanup
2021-02-18 15:12:07 -08:00
bunnei
f3345e84ad
core: core_timing_util: Optimize core timing math.
...
- Avoids a lot of unnecessary 128-bit math for imperceptible accuracy.
2021-02-15 14:54:06 -08:00
LC
ed543c4d5c
Merge pull request #5939 from Morph1984/web_types
...
core/CMakeLists: Add web_types.h
2021-02-15 14:02:10 -05:00
bunnei
b53b50adec
Merge pull request #4940 from german77/nativeGC
...
HID: Implement GC controller in game
2021-02-15 10:32:19 -08:00
Morph
48cfc47050
core/CMakeLists: Add web_types.h
2021-02-15 09:40:30 -05:00
bunnei
d9a8060ce3
hle: service: ldn: IUserLocalCommunicationService: Improve the stub.
2021-02-13 21:45:09 -08:00
bunnei
51c13606d6
hle: service: ldn: IUserLocalCommunicationService: Indicate that LDN is disabled.
...
- Fixes crash on Pokemon Sword/Shield when pressing 'Y'.
2021-02-13 20:11:26 -08:00
bunnei
d25011c92f
hle: service: am: IStorageAccessor: Fix out of bounds error handling.
2021-02-13 20:11:26 -08:00
ameerj
3c37d66c28
Address PR feedback
...
Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
2021-02-13 13:07:56 -05:00
ameerj
ac265a72ce
nvdec cleanup
2021-02-13 13:07:31 -05:00
ameerj
ec9b6641b1
kernel: More accurately reserve and release resources
2021-02-12 19:05:24 -05:00
ameerj
5fa6b15215
kernel: KScopedReservation implementation
...
This implements KScopedReservation, allowing resource limit reservations to be more HW accurate, and release upon failure without requiring too many conditionals.
2021-02-12 18:57:34 -05:00
Chloe
37939482fb
kernel: Unify result codes ( #5890 )
...
* kernel: Unify result codes
Drop the usage of ERR_NAME convention in kernel for ResultName. Removed seperation between svc_results.h & errors.h as we mainly include both most of the time anyways.
* oops
* rename errors to svc_results
2021-02-12 15:43:01 -08:00
bunnei
a0379c2db5
Merge pull request #5902 from lioncash/core-warn
...
core: Silence various warnings on Clang 12
2021-02-11 18:57:23 -08:00
bunnei
e53b6ecc76
Merge pull request #5869 from german77/mousePanning
...
input_common: Add mouse panning
2021-02-11 09:58:23 -08:00
Morph
886043a6d2
software_keyboard: Implement Finalize request command
2021-02-10 21:42:49 -05:00
lat9nq
68f718943e
core: Add -fsized-dealloction as a Clang flag
...
Prevents a operator delete error when compiling with Clang 11.
2021-02-09 21:27:12 -05:00
Lioncash
0cd40fb523
bsd: Remove usage of optional emplace() with no arguments
...
Clang 12 currently falls over in the face of this.
2021-02-09 17:50:29 -05:00
Lioncash
1dab8acf5f
am/controller: Remove [[fallthrough]] from unreachable path
...
Prevents warnings on clang 12. This path is reachable on other
variations of the build that disable the unreachable macro.
2021-02-09 17:44:14 -05:00
Lioncash
d64ba58759
nfp: Correct uninitialized size being used within GetTagInfo()
...
We were previously the name of the object being initialized within its
own initializer, which results in uninitialized data being read.
2021-02-09 17:42:02 -05:00
bunnei
1b730827dd
Merge pull request #5892 from german77/backup
...
olsc: Stub GetSaveDataBackupSetting
2021-02-08 17:48:52 -08:00
bunnei
7666c0994c
Merge pull request #5868 from german77/HandheldFix
...
Prevent over scheduling audio events and add motion update unschedule event
2021-02-08 11:33:53 -08:00
german
a994a40467
hid: Implement GC controller
2021-02-07 22:59:46 -06:00
bunnei
0896089092
Merge pull request #5339 from german77/interactive
...
Settings: Make settings controller image change with controller input
2021-02-07 20:53:46 -08:00
german
3f9eb56972
olsc: Stub GetSaveDataBackupSetting
2021-02-07 22:32:13 -06:00
german
52b79ac009
Add mouse panning
2021-02-07 20:31:58 -06:00
Chloe
d0a760a34a
Merge pull request #5872 from lioncash/svc-error
...
svc: Provide more detailed error logs for svc functions
2021-02-08 12:27:36 +11:00
bunnei
230e71b255
Merge pull request #5887 from ogniK5377/lm-fix
...
lm: Fix ReadLeb128
2021-02-07 10:25:56 -08:00
Morph
458be11f93
Merge pull request #5878 from aleasto/master
...
pl_u: Fix read out of bounds
2021-02-07 22:20:47 +08:00
Chloe Marcec
9d5a56a40b
lm: Fix ReadLeb128
...
Fixes assertion on Bloodstained Ritual of the Night.
We would over read sometimes, this is fixed by checking if the top bit is set in the first iteration. We also lock the loop off to be only the max size of the type we can fit. Finally we changed an incorrect print of "DEBUG" to "TRACE" to reflect the proper log severity
2021-02-07 23:52:56 +11:00
bunnei
9078f4a9c7
Merge pull request #5871 from lioncash/address-arb
...
k_address_arbiter: Minor cleanup
2021-02-06 13:05:19 -08:00
Alessandro Astone
32d9a83f8e
pl_u: Fix read out of bounds
2021-02-06 18:44:01 +01:00
german
481cd86722
Make settings controller image change with controller input
2021-02-06 09:43:41 -06:00
bunnei
61bf850f3d
Merge pull request #5326 from german77/hidUpdate1
...
HID: Update the HID service to match more closely to switchbrew part 1
2021-02-06 02:40:11 -08:00
Lioncash
40ab2b9348
k_address_arbiter: Unfold R_UNLESS macros
...
Allows for more descriptive error messages and also doesn't hide
control-path exit returns from the reader.
2021-02-06 04:08:27 -05:00
Lioncash
b8fc74d74d
k_address_arbiter: Remove unnecessary usages of std::addressof
...
This is a useful function in a generic context or with types that
overload unary operator&. However, primitives and pointers will never do
this, so we can opt for a more straightforward syntax.
2021-02-06 04:06:33 -05:00
Lioncash
7b9c58880f
k_address_arbiter: Remove dead code
...
This code is never used, so we can remove it. It's in version control,
so it can always be brought back when needed.
2021-02-06 04:06:33 -05:00
Lioncash
75a60a6e22
svc: Provide more detailed error logs for svc functions
...
Allows SVC calls to have much more informative information during error
cases. This also doesn't hide control flow returns from the reader.
2021-02-06 02:03:40 -05:00
bunnei
1498a7c9a8
Merge pull request #5862 from bunnei/kevent
...
Kernel Rework: Refactor KEvent/KReadableEvent/KWritableEvent
2021-02-05 23:00:43 -08:00
bunnei
3a804752cb
Merge pull request #5875 from lioncash/identifier
...
k_priority_queue: Minor cleanup
2021-02-05 17:02:13 -08:00
bunnei
ea4f62615e
hle: kernel: Drop R_UNLESS_NOLOG in favor of expanded if-statement.
2021-02-05 14:03:36 -08:00
bunnei
546af64340
hle: kernel: KAddressArbiter: Remove noisy error log.
2021-02-05 14:03:36 -08:00
bunnei
eba3c59a61
hle: kernel: svc: Cleanup KEvent/KReadableEvent/KWritableEvent SVCs.
2021-02-05 14:03:36 -08:00
bunnei
ff3c7c068b
hle: kernel: Reimplement KReadableEvent and KWritableEvent.
2021-02-05 14:03:32 -08:00
bunnei
6bf80dfee0
hle: kernel: Implement KEvent.
2021-02-05 14:00:36 -08:00
bunnei
e9446d232f
hle: kernel: KAddressArbiter: Use R_UNLESS_NOLOG where applicable.
2021-02-05 14:00:36 -08:00
bunnei
3f942c01f0
hle: kernel: Rename WritableEvent to KWritableEvent.
2021-02-05 14:00:36 -08:00
bunnei
e86a7e3691
hle: kernel: Rename ReadableEvent to KReadableEvent.
2021-02-05 14:00:36 -08:00
bunnei
b0727c90c5
Merge pull request #5867 from Morph1984/am-GetHealthWarningDisappearedSystemEvent
...
IApplicationFunctions: Implement GetHealthWarningDisappearedSystemEvent
2021-02-05 13:49:49 -08:00
bunnei
00cb631b2f
Merge pull request #5876 from lioncash/truncation
...
k_affinity_mask: Avoid implicit truncation to bool
2021-02-04 14:44:11 -08:00
Lioncash
756365386a
k_affinity_mask: Avoid implicit truncation to bool
...
This can cause compiler warnings. Instead, we can explicitly add a
boolean expression around it to naturally turn the result into a bool.
2021-02-04 15:35:46 -05:00
Lioncash
b944edc85d
k_priority_queue: Unfold several declval usages
...
Given these are only used as function existence checks, we can simplify
some usages of declval, given they aren't particularly useful here.
Reduces a few template instantiations, which at most reduces compile
times a tiny bit.
2021-02-04 15:18:58 -05:00
Lioncash
31e6e58101
k_priority_queue: Simplify affinity mask type alias
...
We can make use of the _t variants of the templates to cut down on a
little bit of verbosity.
2021-02-04 14:57:41 -05:00
Lioncash
53aec1fe2d
k_priority_queue: Resolved reserved identifier
...
An identifier containing a starting underscore followed by a capital
letter is reserved by the standard. It's trivial to avoid this by moving
the underscore to the end of the identifier.
While the likelihood of clashing here being minimal, we can turn a
"should not break" scenario into a definitive "will not break" one, so
why not?.
2021-02-04 14:55:08 -05:00
Morph
806e2d7900
key_manager: Create the keys directory if it does not exist
2021-02-04 06:05:50 -05:00
german
8019b2b9b5
Add footer types and address comments
2021-02-03 20:17:08 -06:00
german
9a9e81f2e9
Fix npad struct to match switchbrew
2021-02-03 20:17:08 -06:00
german
f30ef98761
Adds missing controller types and properties
2021-02-03 20:17:08 -06:00
bunnei
b0c9752663
Merge pull request #5848 from ogniK5377/k-resourcelimit
...
kernel: Rewrite resource limit to be more accurate
2021-02-03 14:53:25 -08:00
Chloe Marcec
2c6e940493
Simplify limitableresource names
2021-02-03 12:55:16 +11:00
bunnei
48d040fded
Merge pull request #5842 from german77/userfix
...
acc: Fix error when second user is selected
2021-02-02 15:43:51 -08:00
german
7784b1da6d
Prevent over scheduling audio events and terminate properly the motion update event
2021-02-02 10:17:10 -06:00
Morph
13b08376b7
IApplicationFunctions: Implement GetHealthWarningDisappearedSystemEvent
2021-02-02 10:47:38 -05:00
Morph
9137f3ec68
settings: Log the cache, config, and mod load directories
2021-02-02 04:01:05 -05:00
bunnei
d4ebc9a120
Merge pull request #5861 from german77/HandheldFix
...
hid: Only update motion for npad and prevent over scheduling events
2021-02-01 18:46:26 -08:00
Chloe Marcec
64c3582705
Compile error
2021-02-02 13:23:34 +11:00
Chloe Marcec
9e4b2d60bc
Address issues
2021-02-02 13:23:00 +11:00
MerryMage
821fc4a7b6
arm_dynarmic_32: Print out CPSR.T on exception
2021-02-01 18:35:33 +00:00
bunnei
f317b0d354
Merge pull request #5859 from Morph1984/nifm
...
nifm: Stub GetCurrentNetworkProfile and GetCurrentIpConfigInfo
2021-01-31 21:31:14 -08:00
Ameer J
f614d7d887
Merge pull request #5856 from Morph1984/nifm-fix-getappletinfo-stub
...
nifm: Fix GetAppletInfo stub
2021-01-31 23:33:11 -05:00
bunnei
67d08f14af
Merge pull request #5858 from Morph1984/IsGamePlayRecordingSupported-stub
...
am/IApplicationFunctions: Stub IsGamePlayRecordingSupported
2021-01-31 18:04:04 -08:00
german
2489547dc5
Only update motion for npad and prevent over scheduling events
2021-01-31 18:52:38 -06:00
Morph
8c7d89e6c7
nifm: Stub GetCurrentIpConfigInfo
...
- Used by Lets Sing 12
2021-01-31 07:36:37 -05:00
Morph
7d9465d47a
prepo: Stub GetTransmissionStatus
2021-01-31 07:07:11 -05:00
Morph
2394807b42
prepo: Stub RequestImmediateTransmission
...
- Used by Animal Crossing: New Horizons
2021-01-31 07:04:35 -05:00
Morph
4bf1cf1f81
nifm: Stub GetCurrentNetworkProfile
...
- Used by Minecraft Bedrock Edition
- Used by Bloons TD 5
2021-01-31 06:56:29 -05:00
Morph
70a2065828
nifm: Add several structs
2021-01-31 06:56:29 -05:00
Morph
9f6b35e61f
am/IApplicationFunctions: Stub IsGamePlayRecordingSupported
...
Used by RetroArch
2021-01-31 03:11:03 -05:00
Morph
ded094a340
bsd: Fix EventFd stub
2021-01-31 02:57:56 -05:00
bunnei
1cc009a996
Merge pull request #5855 from Morph1984/bsd-fix-getsockopt-stub
...
bsd: Fix GetSockOpt stub
2021-01-30 23:21:21 -08:00
Morph
9914db8daa
nifm: Fix GetAppletInfo stub
2021-01-31 02:19:36 -05:00
Morph
94f660d1cb
Merge pull request #5851 from ameerj/pop-inv-stub
...
am: Stub TryPopFromFriendInvitationStorageChannel
2021-01-31 14:18:40 +08:00
Morph
6cc769065d
bsd: Fix GetSockOpt stub
2021-01-31 01:08:56 -05:00
ameerj
ad146eca60
bsd: Stub EventFd
...
Used by Family Feud
2021-01-30 21:47:32 -05:00
ameerj
99dcf7da21
am: Stub TryPopFromFriendInvitationStorageChannel
...
Used by Family Feud
2021-01-30 21:43:55 -05:00
Chloe Marcec
ee333e063d
fix compile error
2021-01-30 21:51:22 +11:00
Chloe Marcec
56742c6222
cleanup commenting
2021-01-30 21:20:35 +11:00
Chloe Marcec
7791cfd960
Drop m_ from lock
2021-01-30 21:19:49 +11:00
Chloe Marcec
3bf62c7a8a
Move to GetGlobalTimeNs, fix GetTotalPhysicalMemoryAvailable
2021-01-30 21:03:10 +11:00
Chloe Marcec
3be1a565f8
kernel: Rewrite resource limit to be more accurate
...
Matches closer to hardware
2021-01-30 20:40:49 +11:00
bunnei
a4526c4e1a
Merge pull request #5779 from bunnei/kthread-rewrite
...
Rewrite KThread to be more accurate
2021-01-29 23:06:40 -08:00
Morph
f67cfebada
Merge pull request #5838 from german77/prepostub
...
prepo: Stub GetSystemSessionId
2021-01-30 14:19:59 +08:00
german
9150b8972e
Stub GetSystemSessionId
2021-01-29 18:41:28 -06:00
bunnei
b786568c5a
Merge pull request #5809 from ogniK5377/FlushAudioOutBuffers
...
audout: FlushAudioOutBuffers
2021-01-28 21:54:46 -08:00
bunnei
543e212554
hle: kernel: KLightLock: Fix several bugs.
2021-01-28 21:53:21 -08:00
bunnei
c8fe8247ee
arm: dynarmic: Reintroduce JIT checks on SaveContext/LoadContext.
2021-01-28 21:50:39 -08:00
bunnei
e24c6dab93
hle: kernel: KThread: Release thread resource on thread exit.
2021-01-28 21:49:47 -08:00
bunnei
10738839ad
yuzu: debugger: Ignore HLE threads.
2021-01-28 21:42:27 -08:00
bunnei
3856564727
hle: kernel: process: Add state lock.
2021-01-28 21:42:26 -08:00
bunnei
ff46ef7ea3
hle: kernel: threading: Fix bug with host thread naming.
2021-01-28 21:42:26 -08:00
bunnei
6ee8340a6b
hle: kernel: k_scheduler_lock: Cleanup.
2021-01-28 21:42:26 -08:00
bunnei
055194d2ab
core: arm: Remove unnecessary JIT checks.
2021-01-28 21:42:26 -08:00
bunnei
6e953f7f02
hle: kernel: Allocate a dummy KThread for each host thread, and use it for scheduling.
2021-01-28 21:42:26 -08:00
bunnei
37f74d8741
hle: kernel: k_scheduler: Use atomics for current_thread, etc.
2021-01-28 21:42:26 -08:00
bunnei
f6b10fad63
hle: kernel: k_scheduler: Fix for single core mode.
2021-01-28 21:42:26 -08:00
bunnei
0a1449e04b
kernel: Fix build errors.
2021-01-28 21:42:26 -08:00
bunnei
89a5ae92bd
core: cpu_manager: Remove unused variable.
2021-01-28 21:42:26 -08:00
bunnei
ca78f77827
hle: kernel: KScheduler: Introduce thread context_guard.
2021-01-28 21:42:26 -08:00
bunnei
cdd14b03e5
hle: kernel: Recode implementation of KThread to be more accurate.
2021-01-28 21:42:26 -08:00
bunnei
1470338458
kernel: svc_types: Add ThreadActivity.
2021-01-28 21:42:26 -08:00
bunnei
1772ebeb1e
kernel: KSchedulerPriorityQueue: Lowest priority should be LowestThreadPriority.
2021-01-28 21:42:26 -08:00
bunnei
1f99f5473c
kernel: k_light_lock: Simplify EmuThreadHandle implementation.
2021-01-28 21:42:26 -08:00
bunnei
c0f5830323
hle: kernel: TimeManager: Simplify to not rely on previous EmuThreadHandle implementation.
2021-01-28 21:42:26 -08:00
bunnei
ff186b2498
core: hle: kernel: object: Implement Finalize() virtual method.
2021-01-28 21:42:26 -08:00
bunnei
33b4930280
core: hle: kernel: svc_results: Populate with several missing error codes.
2021-01-28 21:42:26 -08:00
bunnei
5a4fc4a529
core: hle: kernel: Implement KLightLock.
2021-01-28 21:42:26 -08:00
bunnei
97129bc742
core: hle: kernel: Implement KThreadQueue.
2021-01-28 21:42:25 -08:00
bunnei
4dbf3f4880
hle: kernel: KThread: Clean up thread priorities.
2021-01-28 21:42:25 -08:00
bunnei
1e55498110
hle: kernel: KThread: Reorganize thread priority defaults.
2021-01-28 21:42:25 -08:00
bunnei
0530292b97
hle: kernel: KThread: Fix ThreadType definition.
2021-01-28 21:42:25 -08:00
bunnei
4782985013
hle: kernel: Move single core "phantom mode" out of KThread.
...
- This is a workaround that does not belong in a kernel primitive.
2021-01-28 21:42:25 -08:00
bunnei
eea346ba8e
hle: kernel: KThread: Remove thread types that do not exist.
2021-01-28 21:42:25 -08:00
bunnei
9a4e148f9e
arm: arm_dynarmic: Skip calls when JIT is invalid.
...
- This can happen if called from an idle or suspension thread.
2021-01-28 21:42:25 -08:00
bunnei
c0d3aef28c
core: hle: kernel: Rename Thread to KThread.
2021-01-28 21:42:25 -08:00
german
8ba0cac71c
Fix user changing to 0 if valid
2021-01-28 21:02:25 -06:00
bunnei
df41e78205
Merge pull request #5837 from german77/socketstub
...
sockets: Stub GetSockOpt
2021-01-28 16:28:11 -08:00
LC
9f6290d207
Merge pull request #5840 from Morph1984/prepo-fix
...
prepo: Fix BufferDescriptorX invalid buffer index errors and add New variants of SaveReport
2021-01-28 10:52:44 -05:00
Morph
4921ba05db
hid: Add static_assert for Parameter size
2021-01-28 09:41:43 -05:00
Morph
ae6b3bdfbf
prepo: Fix BufferDescriptorX invalid buffer errors and add "New" variants of SaveReport
...
The second input buffer could be optional when prepo/srepo is called, test for the availability of the second buffer prior to reading from it.
2021-01-28 01:32:24 -05:00
Morph
008afa5d59
hle_ipc: Add Can(Read, Write)Buffer
...
Allows us to test whether a buffer can be read from or written to memory
2021-01-28 01:32:24 -05:00
german
659b5f8088
Stub GetSockOpt
2021-01-27 23:18:20 -06:00
Morph
d4d39aa4c7
npad: Remove unused device handle parameter
2021-01-27 13:05:31 -05:00
bunnei
fb0fe3b8c3
Merge pull request #5812 from german77/StubSixaxisFusion
...
HID: Stub Set/Get/Reset SixaxisSensorFusionParameters
2021-01-26 15:58:04 -08:00
bunnei
09b6f03592
Merge pull request #5810 from ogniK5377/stereo-vision
...
hle: Implement remaining services for Stereo Vision
2021-01-26 15:01:01 -08:00
bunnei
72c1cb85f1
Merge pull request #5824 from ogniK5377/IPsmSession
...
psm: IPsmSession
2021-01-26 11:11:29 -08:00
bunnei
64a5548454
Merge pull request #5774 from ogniK5377/mii-raw-random
...
mii: Fix BuildRandomStoreData & Cleanup raw_data
2021-01-25 16:41:20 -08:00
bunnei
81a037df9d
Merge pull request #5771 from ogniK5377/lm-rework
...
lm: Recode LM service
2021-01-25 10:18:09 -08:00
Chloe Marcec
2c57f0fbd5
Omit system reference
2021-01-25 23:13:37 +11:00
Chloe Marcec
04e9486651
psm: IPsmSession
...
Used by homebrew menu
2021-01-25 21:37:51 +11:00
bunnei
2a2ee62cfd
Merge pull request #5799 from ogniK5377/event-register-unregister
...
nvdrv: Unregister already registered events
2021-01-24 23:19:10 -08:00
bunnei
44c5ea3639
Merge pull request #5151 from comex/xx-vfs
...
vfs_real: When moving files or directories, don't assume file opening will succeed
2021-01-24 13:42:51 -08:00
german
a8245cf2f1
Stub Set/Get/Reset SixaxisSensorFusionParameters
2021-01-24 11:28:52 -06:00
Chloe Marcec
2afc1060ef
Print Process ID and Thread ID as hex
2021-01-25 02:47:40 +11:00
Chloe Marcec
5882cc0502
hle: Implement remaining services for Stereo Vision
...
Used by Zelda Breath of the Wild, Super Mario Odyssey and Nintendo Labo
2021-01-25 00:34:01 +11:00
Chloe Marcec
b2b95e96c1
audout: FlushAudioOutBuffers
...
Fixes Devil May Cry
2021-01-24 19:13:34 +11:00
bunnei
f7ac4e1eb4
Merge pull request #5806 from bunnei/am-stub
...
hle: service: am: Stub ILibraryAppletAccessor::PresetLibraryAppletGpuTimeSliceZero.
2021-01-23 23:37:05 -08:00
comex
e9bb95ae16
vfs_real: When moving files or directories, don't assume file opening will succeed
...
Found this via a warning, but it's a substantive fix.
Since this is only for a cache, it should be safe to silently drop the
entry if opening fails. I think.
2021-01-23 16:19:29 -05:00
Chloe Marcec
822edff5bd
Simplify condition
2021-01-23 22:12:05 +11:00
Chloe Marcec
3b0458a7a5
nvdrv: Unregister already registered events
2021-01-23 22:02:14 +11:00
Chloe Marcec
df42100320
Clamp string reads to buffer size
2021-01-23 18:24:57 +11:00
bunnei
12355cbf02
Merge pull request #5776 from ogniK5377/lbl
...
lbl: Implement most of lbl
2021-01-22 23:13:23 -08:00
bunnei
981d8e82d2
Merge pull request #5765 from ogniK5377/StoreSaveDataThumbnail-stub
...
acc: Stub StoreSaveDataThumbnail
2021-01-22 21:51:54 -08:00
bunnei
a1335d3d51
Merge pull request #5270 from german77/multiTouch
...
HID: Add multitouch support
2021-01-20 22:39:01 -08:00
bunnei
f83ef80ebd
hle: service: am: Stub ILibraryAppletAccessor::PresetLibraryAppletGpuTimeSliceZero.
...
- Used by Monster Hunter Rise demo.
2021-01-20 20:35:12 -08:00
Chloe Marcec
c795207fb2
lbl: Implement most of lbl
...
Pretty basic service, only thing left to do is handle setting applying once set:sys is implemented
2021-01-21 00:46:03 +11:00
Chloe Marcec
5b8bc56e65
mii: Fix BuildRandomStoreData & Cleanup raw_data
...
Cleaned up mii raw data to reflect the underlying values instead of just a chunk of bytes.
Fixed BuildRandomStoreData not actually generating random miis properly. "values" should be a u32, not a u8.
2021-01-20 21:53:57 +11:00
Chloe Marcec
dc18a1261c
Mark DestinationToString as static
2021-01-20 18:42:39 +11:00
Chloe Marcec
dca2e2c8f1
Mark LogPacketHeaderEntry hash as noexcept
2021-01-20 18:35:58 +11:00
Chloe Marcec
83f8c1a25e
lm: Recode LM service
...
Rework the service to spit out to logs instead of a seperate file as well as fix any crashes caused by lm.
2021-01-20 18:25:15 +11:00
Chloe Marcec
2d33b2c55a
acc: Stub StoreSaveDataThumbnail
...
Fixes ACA NEOGEO METAL SLUG hanging on boot.
2021-01-19 20:56:18 +11:00
Morph
4a67a5b917
npad: Add check for HANDHELD_INDEX in UpdateControllerAt()
2021-01-17 22:36:17 -05:00
bunnei
e8401964b4
Merge pull request #5360 from ReinUsesLisp/enforce-memclass-access
...
core: Silence Wclass-memaccess warnings and enforce it
2021-01-17 00:55:10 -08:00
Lioncash
ca9afa3293
input_interpreter: Mark two member functions as const
...
These aren't stateful functions, so we can make use of const.
While we're at, we can resolve some -Wdocumentation warnings.
2021-01-16 16:08:35 -05:00
Morph
3c8f936b31
input_interpreter: Add method to check for a button press state
...
This allows to check for continuous input for the duration of a button press/hold
2021-01-16 10:34:39 -05:00
LC
8be9e5b48b
Merge pull request #5358 from ReinUsesLisp/rename-insert-padding
...
common/common_funcs: Rename INSERT_UNION_PADDING_{BYTES,WORDS} to _NOINIT
2021-01-15 16:19:46 -05:00
ReinUsesLisp
5f517e3e16
core/cmake: Enforce Wclass-memaccess
...
Treat -Wclass-memaccess as an error.
2021-01-15 16:31:19 -03:00
ReinUsesLisp
f8650a9580
core: Silence Wclass-memaccess warnings
...
This requires making several types trivial and properly initialize
them whenever they are called.
2021-01-15 16:31:19 -03:00
ReinUsesLisp
3ff978aa4f
common/common_funcs: Rename INSERT_UNION_PADDING_{BYTES,WORDS} to _NOINIT
...
INSERT_PADDING_BYTES_NOINIT is more descriptive of the underlying behavior.
2021-01-15 16:27:28 -03:00
german
b483f2d010
Always initialize keyboard input
2021-01-15 09:05:17 -06:00
german
8495e1bd83
Add mutitouch support for touch screens
2021-01-15 09:05:17 -06:00
german
d8df9a16bd
Allow to return up to 16 touch inputs per engine
2021-01-15 09:05:17 -06:00
german
390ee10eef
Allow all touch inputs at the same time and remove config options that are not longer necesary
2021-01-15 09:05:17 -06:00
german
d583e01f54
Add multitouch support
2021-01-15 09:03:39 -06:00
Lioncash
8620de6b20
common/bit_util: Replace CLZ/CTZ operations with standardized ones
...
Makes for less code that we need to maintain.
2021-01-15 02:15:32 -05:00
ReinUsesLisp
fb99446f24
core/cmake: Remove Werror flags already defined code-base wide
2021-01-15 03:39:24 -03:00
bunnei
03dfc8d8e7
hle: kernel: thread: Preserve thread wait reason for debugging only.
...
- This is decoupled from core functionality and used for debugging only.
2021-01-11 14:23:17 -08:00
bunnei
6b2f653143
hle: kernel: k_scheduler_lock: Fix shadowing errors.
2021-01-11 14:23:16 -08:00
bunnei
354130cd84
core: arm: arm_interface: Fix shadowing errors.
2021-01-11 14:23:16 -08:00
bunnei
82f6037ec2
core: hle: Add missing calls to MicroProfileOnThreadExit.
2021-01-11 14:23:16 -08:00
bunnei
912dd50146
core: hle: Integrate new KConditionVariable and KAddressArbiter implementations.
2021-01-11 14:23:16 -08:00
bunnei
952d1ac487
core: hle: kernel: Update KAddressArbiter.
2021-01-11 14:23:16 -08:00
bunnei
b4e6d6c385
core: hle: kernel: Update KConditionVariable.
2021-01-11 14:23:16 -08:00
bunnei
1212fa60b6
core: hle: kernel: Begin moving common SVC defintions to its own header.
2021-01-11 14:23:16 -08:00
bunnei
8a155c4058
hle: kernel: Remove unnecessary AddressArbiter definition.
2021-01-11 14:23:16 -08:00
bunnei
f12701b303
hle: kernel: k_scheduler: Cleanup OnThreadPriorityChanged.
2021-01-11 14:23:16 -08:00
bunnei
d1309fb275
hle: kernel: Rename thread "status" to "state".
2021-01-11 14:23:16 -08:00
bunnei
c3c43e32fc
hle: kernel: thread: Replace ThreadStatus/ThreadSchedStatus with a single ThreadState.
...
- This is how the real kernel works, and is more accurate and simpler.
2021-01-11 14:23:16 -08:00
bunnei
7420a717e6
core: hle: kernel: Add some useful functions for checking kernel addresses.
2021-01-11 14:23:16 -08:00
bunnei
4bbf173fc1
core: hle: kernel: svc_types: Add type definitions for KAddressArbiter.
2021-01-11 14:23:16 -08:00
bunnei
35c3c078e3
core: hle: kernel: Update KSynchronizationObject.
2021-01-11 14:23:16 -08:00
bunnei
1ae883435d
core: hle: kernel: Begin moving common SVC results to its own header.
2021-01-11 14:23:16 -08:00
bunnei
8fc6e92ef1
hle: service: nfp: Remove incorrect signaling behavior in GetDeviceState.
2021-01-11 14:23:16 -08:00
bunnei
32df83e55d
Merge pull request #5312 from german77/overclockenabled
...
apm: Stub IsCpuOverclockEnabled
2021-01-10 14:30:13 -08:00
ReinUsesLisp
c68d0dc851
file_sys/registered_cache: Silence virtual functions without override warnings
2021-01-09 00:04:12 -03:00
ReinUsesLisp
b4451c5e81
core: Silence unhandled enum in switch warnings
2021-01-08 23:21:07 -03:00
german
385a4555d5
Stub IsCpuOverclockEnabled
2021-01-08 09:44:56 -06:00
ameerj
06cef3355e
fix for nvdec disabled, cleanup host1x
2021-01-07 14:33:45 -05:00
ameerj
2c27127d04
nvdec syncpt incorporation
...
laying the groundwork for async gpu, although this does not fully implement async nvdec operations
2021-01-07 14:33:45 -05:00
ReinUsesLisp
43d9f417ae
core: Enforce C4715 (not all control paths return a value)
2021-01-05 04:18:40 -03:00
ReinUsesLisp
4f13e270c8
core: Silence warnings when compiling without asserts
2021-01-05 04:18:16 -03:00
ameerj
6b354ccaee
buffer_queue: Protect queue_sequence list access with a mutex
...
fixes a data race as this is an unprotected variable manipulated by multiple threads
2021-01-04 01:36:41 -05:00
Lioncash
86592b274e
main: Resolve error string not displaying
...
During the transition to make the error dialog translatable, I
accidentally got rid of the conversion to ResultStatus, which prevented
operator<< from being invoked during formatting.
This adds a function to directly retrieve the result status string
instead so that it displays again.
2021-01-03 13:18:04 -05:00
bunnei
71e18dddbe
Merge pull request #5278 from MerryMage/cpuopt_unsafe_inaccurate_nan
...
dynarmic: Add Unsafe_InaccurateNaN optimization
2021-01-03 03:27:29 -08:00
bunnei
beaa25d777
hle: service: nvflinger: buffer_queue: Do not reset id/layer_id on Connect.
...
- This behavior is a mistake, fixes Katana Zero.
2021-01-02 15:42:16 -08:00
MerryMage
57c9da1b39
dynarmic: Add Unsafe_InaccurateNaN optimization
2021-01-02 20:13:21 +00:00
Morph
a745d87971
general: Fix various spelling errors
2021-01-02 10:23:41 -05:00
MerryMage
6d30745d77
memory: Remove MemoryHook
2021-01-01 11:34:38 +00:00
bunnei
eb318ffffc
Merge pull request #5249 from ReinUsesLisp/lock-free-pages
...
core/memory: Read and write page table atomically
2021-01-01 02:54:01 -08:00
bunnei
25d607f5f6
Merge pull request #5208 from bunnei/service-threads
...
Service threads
2020-12-30 22:06:05 -08:00
ReinUsesLisp
157fc2d785
service/pcie: Fix invalid initialization argument
2020-12-30 02:58:38 -03:00
ReinUsesLisp
b3587102d1
core/memory: Read and write page table atomically
...
Squash attributes into the pointer's integer, making them an uintptr_t
pair containing 2 bits at the bottom and then the pointer. These bits
are currently unused thanks to alignment requirements.
Configure Dynarmic to mask out these bits on pointer reads.
While we are at it, remove some unused attributes carried over from
Citra.
Read/Write and other hot functions use a two step unpacking process that
is less readable to stop MSVC from emitting an extra AND instruction in
the hot path:
mov rdi,rcx
shr rdx,0Ch
mov r8,qword ptr [rax+8]
mov rax,qword ptr [r8+rdx*8]
mov rdx,rax
-and al,3
and rdx,0FFFFFFFFFFFFFFFCh
je Core::Memory::Memory::Impl::Read<unsigned char>
mov rax,qword ptr [vaddr]
movzx eax,byte ptr [rdx+rax]
2020-12-29 21:54:49 -03:00
bunnei
85cfd96f62
Merge pull request #5247 from comex/xx-concepts
...
k_priority_queue: Fix concepts use
2020-12-29 16:50:20 -08:00
bunnei
82e0eeed21
hle: kernel: service_thread: Make thread naming more consistent.
2020-12-29 16:46:29 -08:00
bunnei
a2a0f5318d
hle: kernel: Manage service threads on another thread.
...
- This is to allow service threads to defer destruction of themselves.
2020-12-29 16:46:29 -08:00
bunnei
b02464f685
Merge pull request #5246 from comex/xx-include
...
Add missing include of "core/hle/kernel/kernel.h"
2020-12-29 16:43:17 -08:00
bunnei
c192da3f82
hle: kernel: Manage host thread IDs using TLS.
...
- Avoids the need to have a large map of host to guest thread IDs.
2020-12-29 15:55:30 -08:00
comex
388cf58b31
k_priority_queue: Fix concepts use
...
- For `std::same_as`, add missing include of `<concepts>`.
- For `std::convertible_to`, create a replacement in `common/concepts.h`
and use that instead.
This would also be found in `<concepts>`, but unlike `std::same_as`,
`std::convertible_to` is not yet implemented in libc++, LLVM's STL
implementation - not even in master. (In fact, `std::same_as` is the
*only* concept currently implemented. For some reason.)
2020-12-29 14:33:41 -05:00
comex
b36896b90e
Add missing include of "core/hle/kernel/kernel.h"
...
This is needed as the header invokes methods on KernelCore.
2020-12-29 14:22:35 -05:00
ameerj
0383363a8f
svc: demote SleepThread log to LOG_TRACE
...
This log is called often, and introduces a lot of noise when debug logging is enabled, making it difficult to see other debug logs.
2020-12-29 14:01:56 -05:00
bunnei
dfdac7d38a
hle: kernel: Move ServiceThread ownership to KernelCore.
...
- Fixes a circular dependency which prevented threads from being released on shutdown.
2020-12-29 01:12:39 -08:00
bunnei
f57be2e626
hle: kernel: service_thread: Add thread name and take weak_ptr of ServerSession.
2020-12-29 01:06:39 -08:00
bunnei
7d77a3f88f
hle: service: Acquire and release a lock on requests.
...
- This makes it such that we can safely access service members from CoreTiming thread.
2020-12-28 21:33:34 -08:00
bunnei
06f8c3dc01
core: Do not reset device_memory on shutdown.
...
- This will be reset on initialization.
2020-12-28 21:33:34 -08:00
bunnei
d0649d0971
core: hle: kernel: Clear process list on boot.
2020-12-28 21:33:34 -08:00
bunnei
994a9fec4e
hle: service: vi: Refactor to grab buffer only once.
2020-12-28 21:33:34 -08:00
bunnei
6433b1dfd6
service: nvflinger: Improve synchronization for BufferQueue.
...
- Use proper mechanisms for blocking on DequeueBuffer.
- Ensure service thread terminates on emulation Shutdown.
2020-12-28 21:33:34 -08:00
bunnei
bea51d948d
hle: service: Ensure system is powered on before writing IPC result.
2020-12-28 16:33:48 -08:00
bunnei
6d2f9428c5
core: kernel: Clear process list earlier.
2020-12-28 16:33:48 -08:00
bunnei
916438a9de
core: settings: Untangle multicore from asynchronous GPU.
...
- Now that GPU is always threaded, we can support multicore with synchronous GPU.
2020-12-28 16:33:48 -08:00
bunnei
5d4715cc6a
hle: kernel: hle_ipc: Remove SleepClientThread.
...
- This was kind of hacky, and no longer is necessary with service threads.
2020-12-28 16:33:48 -08:00
bunnei
87d6588cb5
hle: service: bsd: Update to work with service threads, removing SleepClientThread.
2020-12-28 16:33:48 -08:00
bunnei
0c81b83ca9
hle: service: nvdrv: Revert #4981 to remove usage of SleepClientThread.
...
- Note, this always processes the ioctl right away, which fixes BotW 1.0.0 issues.
2020-12-28 16:33:48 -08:00
bunnei
8bc3d66354
hle: kernel: service_thread: Add parameter for thread pool size.
2020-12-28 16:33:47 -08:00
bunnei
19a8f03ad5
hle: service: nvflinger: Refactor locking and interfaces.
2020-12-28 16:33:47 -08:00
bunnei
b377da042b
hle: service: vi: Remove usage of SleepClientThread.
2020-12-28 16:33:47 -08:00
bunnei
28281ae250
core: hle: server_session: Use separate threads for each service connection.
2020-12-28 16:33:47 -08:00
bunnei
c8a4967c9d
core: memory: Ensure thread safe access when pages are rasterizer cached ( #5206 )
...
* core: memory: Ensure thread safe access when pages are rasterizer cached.
2020-12-24 21:51:49 -08:00
bunnei
29ccc7673f
Merge pull request #5042 from Morph1984/project-aether
...
Project Aether: Reimplementation of the Web Browser Applet
2020-12-21 23:47:10 -08:00
bunnei
1279c7ce7a
Merge pull request #5131 from bunnei/scheduler-rewrite
...
Rewrite Kernel scheduler based on Atmosphere
2020-12-20 20:57:54 -08:00
bunnei
c3e201a829
Merge pull request #5201 from ameerj/bufferq-refactor
...
vi/buffer_queue: Buffer queue management refactor
2020-12-20 15:48:39 -08:00
FearlessTobi
10b0ab7926
yuzu: Remove gdbstub configuration
...
The gdbstub itself was removed with https://github.com/yuzu-emu/yuzu/pull/5028 .
This PR just removes the remaining gdb configuration code from the emulator and the UI.
2020-12-19 19:19:42 +01:00
Morph
82fa9f8d56
applets/web: Implement the online web browser applet
2020-12-18 10:33:28 -05:00
Morph
8b95bf041d
main, applets/web: Re-add progress dialog for RomFS extraction
2020-12-18 10:33:28 -05:00
Morph
d46ca5a015
pl_u, applets/web: Decrypt shared fonts to TTF files
2020-12-18 10:33:28 -05:00
Morph
46183294b2
ns_vm: Stub NeedsUpdateVulnerability
...
This is used to force system updates on launching the web browser. We do not care about system updates so this can be set to false.
2020-12-18 10:33:28 -05:00
Morph
f9653a4417
frontend/input_interpreter: Add InputInterpreter API
...
The InputInterpreter class interfaces with HID to retrieve button press states. Input is intended to be polled every 50ms so that a button is considered to be held down after 400ms has elapsed since the initial button press and subsequent repeated presses occur every 50ms.
Co-authored-by: Chloe <25727384+ogniK5377@users.noreply.github.com>
2020-12-18 10:33:28 -05:00
Morph
54ea3c47c8
controllers/npad: Make press_state atomic
2020-12-18 10:33:28 -05:00
Morph
d6d1a8e02c
applets/web: Implement the default web browser applet frontend
2020-12-18 10:33:28 -05:00
Morph
89df483567
applets/web: Implement the offline browser applet backend
2020-12-18 10:33:27 -05:00
Morph
a5750f437d
applets/web: Initial implementation of the web browser applet
2020-12-18 10:33:27 -05:00
Morph
ccb439efb0
applets: Remove the previous web browser applet implementation
2020-12-18 10:33:27 -05:00
Morph
79316be18c
system_archive: Add + and - buttons to the Nintendo Extended OSS font
2020-12-18 02:55:48 -05:00
ameerj
873ad1272e
buffer_queue: better use of std::array
2020-12-18 00:12:14 -05:00
ameerj
8cb683f3b9
Overwrite slots instead of queuing them, add disconnect signal
...
Fix for Katana Zero and Yoshi's Crafted World
2020-12-17 14:22:46 -05:00
Morph
5d29d2111c
system_archive: Update Nintendo Extended OSS font
...
Co-authored-by: Its-Rei <kupfel@gmail.com>
2020-12-17 08:58:13 -05:00
bunnei
f3db273753
Merge pull request #5190 from Morph1984/validate_device_handle
...
controllers/npad: Validate device handles before use
2020-12-15 16:40:11 -08:00
bunnei
2e1b998d5e
Merge pull request #5119 from Morph1984/fs-opendatastoragewithprogramindex
...
fsp_srv: Implement OpenDataStorageWithProgramIndex
2020-12-15 11:07:03 -08:00
bunnei
df6427d30b
Merge pull request #5168 from Morph1984/aoc-PurchaseEventManager
...
aoc_u: Stub IPurchaseEventManager and its service commands
2020-12-14 16:08:38 -08:00
Morph
1c773c0869
controllers/npad: Validate device handles before use
...
Some games such as NEKOPARA Vol. 3 send invalid device handles when calling InitializeVibrationDevice. Introduce a check to validate the device handle before use.
2020-12-12 07:05:38 -05:00
bunnei
69b46dd607
Merge pull request #5183 from lioncash/alias2
...
vfs: Use existing type aliases consistently
2020-12-12 01:54:28 -08:00
bunnei
c918c6480f
Merge pull request #5187 from Morph1984/revert-stdfs
...
fs: Revert all std::filesystem changes
2020-12-11 20:07:37 -08:00
bunnei
37194dd4e9
Merge pull request #5172 from lioncash/svc-wide
...
svc: Remove unnecessary casts
2020-12-11 17:39:30 -08:00
Morph
dfee6321cd
Revert "Merge pull request #5176 from Morph1984/fix-createfile"
...
This reverts commit 6d6115475b
, reversing
changes made to 5fe55b16a1
.
2020-12-11 20:24:22 -05:00
bunnei
2d47a5fd41
Merge pull request #5123 from Morph1984/nim-IsLargeResourceAvailable
...
nim: Stub IsLargeResourceAvailable
2020-12-10 11:34:18 -08:00
Lioncash
b1657b8c6b
vfs: Use existing type aliases consistently
...
Makes use of the VirtualDir and VirtualFile aliases across the board
instead of having a few isolated places that don't use it.
2020-12-10 01:44:43 -05:00
Morph
b06d6e3646
vfs_real: Fix CreateFile for files without a file extension
2020-12-09 06:34:49 -05:00
Rodrigo Locatti
e94dd7e2c4
Merge pull request #5142 from comex/xx-poll-events
...
network, sockets: Replace `POLL_IN`, `POLL_OUT`, etc. constants with an `enum class PollEvents`
2020-12-09 03:52:20 -03:00
bunnei
6f41763061
Merge pull request #5166 from lioncash/log-cast
...
core: Remove unnecessary enum casts in log calls
2020-12-08 21:58:13 -08:00
bunnei
05a703e15d
Merge pull request #5135 from Morph1984/applets-shadow
...
applets: Resolve variable shadowing
2020-12-08 17:43:59 -08:00
Lioncash
2de124e223
svc: Remove unnecessary casts
...
Simplifies and removes some casts. In all cases, these were generally
widening from a 32-bit unsigned type to a 64-bit unsigned type, so no
information would be lost from the conversion.
2020-12-08 15:42:10 -05:00
bunnei
6057dc46e5
Merge pull request #5167 from lioncash/doc-memory
...
memory: Resolve -Wdocumentation warning for Write()
2020-12-08 11:47:04 -08:00
Morph
deff708cbe
IPurchaseEventManager: Implement GetPurchasedEventReadableHandle
...
- Used by Pokémon Café Mix
- Used by DOOM: Eternal
2020-12-08 13:39:19 -05:00
Morph
a9cfe06aaf
IPurchaseEventManager: Stub Set(Default)DeliveryTarget
...
- Used by Pokémon Café Mix
- Used by DOOM: Eternal
2020-12-08 13:39:13 -05:00
Morph
009bdb3558
aoc_u: Stub Create(Permanent)EcPurchasedEventManager
...
- Used by Pokémon Café Mix
- Used by DOOM: Eternal
2020-12-08 13:39:07 -05:00
Lioncash
a44ff5ed31
memory: Resolve -Wdocumentation warning for Write()
...
Write() doesn't return anything, so the @returns tag shouldn't be
present.
2020-12-08 12:44:58 -05:00
Morph
e15039372e
fsp_srv: Implement OpenDataStorageWithProgramIndex
...
- Used by RollerCoaster Tycoon 3: Complete Edition
2020-12-08 08:19:05 -05:00
Morph
0eb6c6cd83
file_sys: Consolidate common Title ID operations
2020-12-08 08:19:05 -05:00
Morph
51e6f8271a
Merge pull request #5165 from lioncash/copy-controller
...
controller: Avoid unnecessary copies in ConfigurationComplete()
2020-12-08 20:48:45 +08:00
Lioncash
6b7320add4
core: Remove unnecessary enum casts in log calls
...
Follows the video core PR. fmt doesn't require casts for enum classes
anymore, so we can remove quite a few casts.
2020-12-07 23:02:23 -05:00
Lioncash
215cfbb757
controller: Use std::move within ConvertToFrontendParameters()
...
Avoids unnecessary copies.
2020-12-07 22:04:16 -05:00
Lioncash
97dd67ad1c
controller: Avoid unnecessary copies in ConfigurationComplete()
...
Avoids unnecessary 1072 byte copies when querying info about
controllers.
2020-12-07 22:02:58 -05:00
Morph
607bb8d14b
Merge pull request #5020 from german77/AnalogfromButtonFix
...
Disable analog joystick from buttons by default
2020-12-08 10:30:21 +08:00
german
b57ba7bfb6
Disable analog joystick from buttons by default
2020-12-07 19:34:52 -06:00
bunnei
f782aecf4d
Merge pull request #5153 from comex/xx-unix
...
CMakeLists,network: Create YUZU_UNIX macro to replace __unix__
2020-12-07 15:32:06 -08:00
bunnei
a58d57a60d
Merge pull request #5148 from comex/xx-unused-fields
...
core: Mark unused fields as [[maybe_unused]]
2020-12-06 22:33:00 -08:00
bunnei
24cabf5e2f
Merge pull request #5154 from comex/xx-ipc
...
hle: Type check ResponseBuilder::Push arguments, and fix use in vi.cpp
2020-12-06 22:32:04 -08:00
LC
8a00a0ade6
Merge pull request #5147 from comex/xx-purevirt
...
nvdrv: Remove useless re-declaration of pure virtual methods that were already declared in the superclass
2020-12-07 00:08:46 -05:00
LC
43f0b42088
Merge pull request #5150 from comex/xx-boxcat
...
boxcat: Avoid unnecessary object copy
2020-12-07 00:07:39 -05:00
LC
69af6ada2f
Merge pull request #5136 from lioncash/video-shadow3
...
video_core: Resolve more variable shadowing scenarios pt.3
2020-12-07 00:06:53 -05:00
comex
0791082b43
network, sockets: Replace POLL_IN
, POLL_OUT
, etc. constants with an enum class PollEvents
...
Actually, two enum classes, since for some reason there are two separate
yet identical `PollFD` types used in the codebase. I get that one is
ABI-compatible with the Switch while the other is an abstract type used
for the host, but why not use `WSAPOLLFD` directly for the latter?
Anyway, why make this change? Because on Apple platforms, `POLL_IN`,
`POLL_OUT`, etc. (with an underscore) are defined as macros in
<sys/signal.h>. (This is inherited from FreeBSD.) So defining
a variable with the same name causes a compile error.
I could just rename the variables, but while I was at it I thought I
might as well switch to an enum for stronger typing.
Also, change the type used for values copied directly to/from the
`events` and `revents` fields of the host *native*
`pollfd`/`WSASPOLLFD`, from `u32` to `short`, as `short` is the correct
canonical type on both Unix and Windows.
2020-12-06 19:14:42 -05:00
comex
e31cb50405
Fix "explicitly defaulted but implicitly deleted" warning
...
`PhysicalCore`'s move assignment operator was declared as `= default`,
but was implicitly deleted because `PhysicalCore` has fields
of reference type. Switch to explicitly deleting it to avoid a Clang
warning.
The move *constructor* is still defaulted, and is required to exist due
to the use of `std::vector<PhysicalCore>`.
2020-12-06 19:02:04 -05:00
comex
3373149fdc
hle: Type check ResponseBuilder::Push arguments, and fix use in vi.cpp
...
- Add a type check so that calling Push with an invalid type produces a
compile error rather than a linker error.
- vi.cpp was calling Push with a variable of type `std::size_t`.
There's no explicit overload for `size_t`, but there is one for `u64`,
which on most platforms is the same type as `size_t`. On macOS,
however, it isn't: both types are 64 bits, but `size_t` is `unsigned
long` and `u64` is `unsigned long long`. Regardless, it makes more
sense to explicitly use `u64` here instead of `size_t`.
2020-12-06 18:59:22 -05:00
comex
0e122c13ad
CMakeLists,network: Create YUZU_UNIX macro to replace __unix__
...
__unix__ is not predefined on Apple platforms even though they are Unix.
2020-12-06 18:56:40 -05:00
comex
feac654ba0
core: Mark unused fields as [[maybe_unused]]
2020-12-06 18:36:10 -05:00
comex
5cb1a343d1
boxcat: Avoid unnecessary object copy
2020-12-06 18:31:13 -05:00
comex
716ae72aac
nvdrv: Remove useless re-declaration of pure virtual methods that were already declared in the superclass
2020-12-06 18:24:33 -05:00
bunnei
1bdb756d28
hle: kernel: Process: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
d4ae0ae0e9
core: cpu_manager: Fix a typo in PreemptSingleCore, which broke many games.
...
- We were reload'ing the old current scheduler, which may have changed.
2020-12-06 00:27:13 -08:00
bunnei
9b492430bb
hle: kernel: Thread: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
ed4d1e2ade
hle: kernel: KScopedSchedulerLockAndSleep: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
b1b4f2337e
hle: kernel: KScopedLock: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
165d8485f0
hle: kernel: KAbstractSchedulerLock: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
960500cfd2
hle: kernel: KScheduler: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
8fd921557f
hle: kernel: KPriorityQueue: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
4d3be1816c
hle: kernel: KAffinityMask: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
357d79fb6e
hle: kernel: GlobalSchedulerContext: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
b1326d9230
hle: kernel: Use C++ style comments in KScheduler, etc.
2020-12-06 00:03:24 -08:00
bunnei
bc59ca92b6
kernel: KScopedSchedulerLockAndSleep: Remove unused ctor.
2020-12-06 00:03:24 -08:00
bunnei
b9b7e4f915
kernel: time_manager: Add missing lock guards.
2020-12-06 00:03:24 -08:00
bunnei
ccce6cb3be
hle: kernel: Migrate to KScopedSchedulerLock.
2020-12-06 00:03:24 -08:00
bunnei
4756cb203e
hle: kernel: Separate KScopedSchedulerLockAndSleep from k_scheduler.
2020-12-06 00:03:24 -08:00
bunnei
8d3e06349e
hle: kernel: Separate KScheduler from GlobalSchedulerContext class.
2020-12-06 00:03:24 -08:00
bunnei
9e29e36a78
hle: kernel: Rewrite scheduler implementation based on Mesopshere.
2020-12-06 00:03:24 -08:00
bunnei
c10a37e5b6
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
7e5d0f1fe3
hle: kernel: Port KAbstractSchedulerLock from Mesosphere.
2020-12-06 00:03:24 -08:00
bunnei
39d356782e
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
d58a609ae4
hle: kernel: process: Add schedule count tracking, to be used for yield impl.
2020-12-06 00:03:24 -08:00
bunnei
493263f415
hle: kernel: svc: Remove unnecessary hack in svcSleep.
2020-12-06 00:03:24 -08:00
bunnei
a3ccac3eb7
common: Port KPriorityQueue from Mesosphere.
2020-12-06 00:03:24 -08:00
bunnei
e18ee8d681
hle: kernel: Port KAffinityMask from Mesosphere.
2020-12-06 00:03:24 -08:00
Lioncash
f95602f152
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
f6d4a289d5
applets: Resolve variable shadowing
2020-12-05 08:37:13 -05:00
Chloe Marcec
7fbeb489d3
system_version: Update to 11.0.0
2020-12-05 16:08:03 +11:00
Morph
c2f83c04cb
nim: Stub IsLargeResourceAvailable
...
- Used by Immortals Fenyx Rising
2020-12-04 09:53:21 -05:00
bunnei
69aaad9b96
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
88089c8754
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
1ea6bdef05
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
25f650e075
Merge pull request #4937 from german77/multiUDP
...
InputCommon: Add multiple udp server support
2020-12-01 11:47:37 -08:00
bunnei
7bc3e80399
Merge pull request #4939 from german77/MouseInput
...
InputCommon: Implement full mouse support
2020-11-29 22:59:50 -08:00
bunnei
4b9e1b6586
kernel: scheduler: Minor cleanup to remove duplicated code.
2020-11-29 01:31:52 -08:00
bunnei
b7ef581c6e
kernel: time_manager: Protect access with a mutex.
2020-11-29 01:31:52 -08:00
bunnei
c2ad1243ba
hle: kernel: thread: Remove unused "Running" state.
2020-11-29 01:31:52 -08:00
bunnei
63fd1bb503
core: arm: Implement InvalidateCacheRange for CPU cache invalidation.
2020-11-29 01:31:52 -08:00
bunnei
c0870315fd
hle: kernel: time_manager: Avoid a crash on process exit.
2020-11-29 01:31:51 -08:00
bunnei
9705f651b2
hle: kernel: AddressArbiter: Remove unused code.
2020-11-29 01:31:51 -08:00
bunnei
9423347c1b
hle: kernel: SynchronizationObject: Use atomic_bool for is_signaled.
2020-11-29 01:31:51 -08:00
bunnei
c042a89113
common: fiber: Use boost::context instead of native fibers on Windows.
2020-11-29 01:31:51 -08:00
bunnei
7b642c7781
hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.
2020-11-29 01:31:51 -08:00
bunnei
6750b4d3af
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
4eb7327559
Add missing types to NpadCommunicationMode
2020-11-28 21:56:02 -06:00
bunnei
312a8bd4b4
Merge pull request #5021 from german77/StubCommunicationMode
...
HID: Stub set and get NpadCommunicationMode
2020-11-28 15:22:46 -08:00
bunnei
1fde40b2c7
Merge pull request #5011 from lioncash/file-str2
...
core: Reduce string copies in GetGameFileFromPath()
2020-11-27 17:23:00 -08:00
Lioncash
5bc4eabe36
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
073e07ae2d
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
3898d8f0d7
Stub set and get NpadCommunicationMode
2020-11-26 21:35:11 -06:00
Lioncash
1a954b2a59
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
9d3d0ae999
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
322349e8cc
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
e46f0e084c
Implement full mouse support
2020-11-25 23:59:30 -06:00
bunnei
ebcee03b0c
Merge pull request #4981 from ogniK5377/ioctl-ctrl
...
nvservices: Reintroducee IoctlCtrl
2020-11-25 21:48:57 -08:00
german
2c2b586d86
Add multiple udp server support
2020-11-25 23:44:41 -06:00
Rodrigo Locatti
0e15c68f54
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
6f70e1b1ff
hid: Check if applet_resource exists in InitializeVibrationDevice
2020-11-25 13:33:30 -05:00
bunnei
9aeada734d
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
3359e5ab70
core: cpu_manager: Fix shutdown crash when closing before emulation starts.
2020-11-24 15:25:39 -08:00
bunnei
4fb5ca80c0
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
5f75d97125
core: loader: Implement support for loading indexed programs.
2020-11-24 15:16:24 -08:00
bunnei
7791cc8c2e
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
e8b2fd21d8
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
410ed82922
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
7afb7a9494
Merge pull request #4972 from lioncash/unused4
...
svc: Remove unnecessary [[maybe_unused]] tag
2020-11-24 04:25:59 -03:00
Chloe Marcec
ab25d1fe9a
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
d04abd39eb
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
e371d12af6
Merge pull request #4927 from lioncash/input-error
...
input_common: Treat warnings as errors
2020-11-23 17:25:53 -08:00
comex
994f497781
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
5d1447897a
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
874be0e3e1
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
5c4774e8ce
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
3a85bc1e77
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
afd0e2ee87
Merge pull request #4907 from ogniK5377/nvdrv-cleanup
...
core: Make nvservices more standardized
2020-11-20 22:15:44 -08:00
bunnei
3794c91145
olsc: Move member initialization to after member functions.
2020-11-20 10:50:50 -08:00
bunnei
6e37676482
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
6f8a06bac5
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
aaf262bfed
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
bcaadac22c
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
ad50209383
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
d8ad2f3484
controllers/npad: Load input devices on init
2020-11-15 23:33:21 -05:00
Morph
97b2220a82
general: Fix compiler warnings on linux and miscellaneous changes
2020-11-15 23:33:21 -05:00
Morph
30e0d1c973
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
978ca65f59
hid: Implement InitializeVibrationDevice and IsVibrationDeviceMounted
2020-11-15 23:33:20 -05:00
Morph
e9e1876e82
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
38110dd485
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
d6a41cfc21
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
92fa5257c7
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
373408ae8c
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
70f16f1722
hid: Stub IsVibrationDeviceMounted
...
- Used in Super Mario Odyssey
2020-11-15 23:33:20 -05:00
Morph
9b501af8e3
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
652d6766d5
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
e02ef3c3be
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
07b81f57ba
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
31de52513e
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
e3c2749986
hid: Reorder all HID commands
...
Reorders all HID commands in command id order.
2020-11-15 23:33:20 -05:00
Morph
b92bf51ae1
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
16e2e1c45f
hid: Stub InitializeVibrationDevice
2020-11-15 23:33:20 -05:00
Morph
428ce8ec29
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
0a966e2cac
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
8f2959f680
settings: Preparation for per-game input settings
2020-11-15 23:33:20 -05:00
Morph
c0c4ed0d3b
controllers/npad: Connect a controller on init if none are connected
2020-11-15 23:33:19 -05:00
bunnei
87f220efff
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
c22d0d9945
Merge pull request #4901 from bunnei/caps-stub
...
hle: service: caps_u: Stub GetAlbumFileList3AaeAruid.
2020-11-09 21:20:08 -08:00
Chloe Marcec
fc4d692c50
Addressed issues
2020-11-10 15:57:36 +11:00
Chloe Marcec
31c12de0fe
core: Make nvservices more standardized
2020-11-10 15:57:35 +11:00
Rodrigo Locatti
9b24197ca0
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
da7be67daf
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
0aad914527
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
a6ecdf42bc
applets: Rename LibraryAppletVersion to ControllerAppletVersion
2020-11-08 10:04:12 -05:00
Morph
9efbf5309f
applets/controller: Pop normal data for StrapGuide and FirmwareUpdate
2020-11-08 09:35:25 -05:00
Morph
af1183a993
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
88192af8ac
applets/controller: Add ControllerUpdateFirmwareArg struct
2020-11-08 09:35:25 -05:00
bunnei
7bf9f9ae49
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
e829973742
Merge pull request #4906 from lat9nq/log-cpu-accuracy
...
settings: log value of CPU_Accuracy
2020-11-07 17:01:33 -05:00
lat9nq
1e149dc18b
settings: log value of CPU_Accuracy
2020-11-07 16:14:10 -05:00
bunnei
dc5396a466
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
af477fb8c5
Merge pull request #4888 from lioncash/unicorn-remove
...
core: Remove usage of unicorn
2020-11-06 22:39:05 -08:00
bunnei
a0d7a2732d
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
c0ab5b79dc
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
d62d28522b
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
087f52e872
Merge pull request #4858 from lioncash/initializer
...
General: Resolve a few missing initializer warnings
2020-11-04 12:10:10 -08:00
Lioncash
7aae6d6d2b
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
6bbbbe8f85
Merge pull request #4869 from bunnei/improve-gpu-sync
...
Improvements to GPU synchronization & various refactoring
2020-11-04 18:36:55 +11:00
Lioncash
fc6db97a09
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
448e4d5c2a
Merge pull request #4878 from bunnei/unload-nrr
...
hle: service: ldr: Implement UnloadNrr.
2020-11-03 08:52:40 -08:00
bunnei
848bdf8a40
fixup! hle service: nvdrv: nvhost_gpu: Update to use SyncpointManager and other improvements.
2020-11-01 01:52:38 -07:00
bunnei
7d2839d7a3
core: Initialize GPU before services.
2020-11-01 01:52:38 -07:00