Commit Graph

20710 Commits

Author SHA1 Message Date
liamwhite 1ab4527a5e Merge pull request #9999 from german77/new_hid_hurra
service: hid: Implement SetNpadJoyAssignmentModeSingleWithDestination
2023-04-01 09:48:53 -04:00
liamwhite 94a0820664 Merge pull request #10017 from jbeich/vk-246
externals: update Vulkan-Headers to v1.3.246 to fix -Werror=switch with system package
2023-04-01 09:44:52 -04:00
bunnei 6f649f250f Merge pull request #10005 from liamwhite/kernel-atomics
kernel: fix unbounded stack usage in atomics
2023-04-01 01:54:36 -07:00
Jan Beich 604f887377 externals: update Vulkan-Headers to v1.3.246 2023-04-01 05:38:54 +00:00
german77 9ffeb00747 service: hid: Implement SetNpadJoyAssignmentModeSingleWithDestination
Used by Let's Get Fit
2023-03-29 22:03:49 -06:00
Max Dunbar 8b5becf71b Fixes 'Continous' typo 2023-03-29 19:26:12 -07:00
liamwhite 3b139a811e Merge pull request #9505 from liamwhite/request-exit
applets: implement RequestExit
2023-03-29 09:11:34 -04:00
Liam 7121903f4a kernel: fix unbounded stack usage in atomics 2023-03-28 22:28:27 -04:00
liamwhite da0b368e12 Merge pull request #10003 from german77/disconnect
service: hid: Silence warning on MergeSingleJoyAsDualJoy
2023-03-28 09:09:47 -04:00
Morph 164d930c8d telemetry: Add waitpkg instruction 2023-03-27 17:45:22 -04:00
Morph fa3904acd9 x64: Simplify RDTSC on non-MSVC compilers
Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
2023-03-27 17:45:22 -04:00
Morph e67edd4bb7 core_timing: Make use of MicroSleep for x64 CPUs
For CPUs that support tpause, this should result in significant CPU power savings over thread yield in this spin wait.
2023-03-27 17:45:22 -04:00
Morph d260571440 x64: Add MicroSleep
MicroSleep allows the processor to pause for a "short" amount of time (in the microsecond range). This is useful for spin-waiting that does not require nanosecond precision.
This uses the new TPAUSE instruction introduced on Intel's newest processors as part of the waitpkg instructions. For CPUs that do not support waitpkg instructions, this is equivalent to yield().

Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
2023-03-27 17:45:22 -04:00
Morph 95adf299e4 x64: cpu_detect: Add detection of waitpkg instructions
waitpkg introduces 3 instructions, UMONITOR, UMWAIT and TPAUSE.
2023-03-27 17:45:22 -04:00
liamwhite 59c91dfd4a Merge pull request #10002 from german77/log
qt: Fix log softlock
2023-03-27 15:37:44 -04:00
Narr the Reg c1e8a0a3e6 service: hid: Silence warning on MergeSingleJoyAsDualJoy 2023-03-27 13:25:15 -06:00
Narr the Reg 209e4fc6c5 qt: Fix log softlock 2023-03-27 12:18:46 -06:00
liamwhite c0e0237b21 Merge pull request #9984 from liamwhite/global-memory
memory: rename global memory references to application memory
2023-03-27 12:16:40 -04:00
liamwhite 5bb907c74f Merge pull request #9995 from german77/plain
service: nfp: Add plain amiibo support
2023-03-27 12:16:24 -04:00
german77 a7965dbc95 service: nfp: Add plain amiibo support 2023-03-26 14:26:36 -06:00
Liam e135d0448e tests: mark integer literals as unsigned 2023-03-26 15:39:07 -04:00
Liam 52c885cd03 container_hash: use climits 2023-03-26 10:24:33 -04:00
Morph 9308213232 video_core/macro: Make use of Common::HashValue 2023-03-25 23:52:26 -04:00
Morph ac1a23fc51 tests: Implement tests for verifying HashValue
Values were randomly generated and the verification was done against boost 1.79.
2023-03-25 23:52:26 -04:00
Morph b203f9d714 common: Port boost's hash_value implementation
Ports a small subset of boost's hash_value implementation (<= 1.80.0).
2023-03-25 23:52:25 -04:00
Liam eb8abae7eb qt: implement RequestExit for applets 2023-03-25 14:49:43 -04:00
Liam 46f5e0a276 applets: implement RequestExit 2023-03-25 12:44:26 -04:00
bunnei 82155e4000 Merge pull request #9985 from liamwhite/funny-meme
vulkan: fix scheduler chunk reserve
2023-03-24 23:40:17 -07:00
Ross Schlaikjer ee8f63ac65 Pass GPU page table by reference 2023-03-25 00:25:02 -04:00
liamwhite 74a24ab5d5 Merge pull request #9983 from Morph1984/boost
CMakeLists: Update boost to 1.81.0
2023-03-24 10:53:30 -04:00
liamwhite f0b7390ae3 Merge pull request #9981 from german77/nfp_connect
nfc: Initialize device when controller is connected
2023-03-24 10:53:05 -04:00
Liam aea009216e vulkan: fix scheduler chunk reserve 2023-03-24 09:09:01 -04:00
Morph 1242e360bd Merge pull request #9975 from liamwhite/more-waiting
vulkan: fix more excessive waiting in scheduler
2023-03-24 00:19:43 -04:00
Morph 79aa81015f zstd: Use ZSTD_getFrameContentSize instead of ZSTD_getDecompressedSize 2023-03-23 22:16:20 -04:00
Liam 6eaef51cf2 memory: rename global memory references to application memory 2023-03-23 20:28:47 -04:00
liamwhite c8963299fa Merge pull request #9971 from Morph1984/q
bounded_threadsafe_queue: Use simplified impl of bounded queue
2023-03-23 10:00:31 -04:00
liamwhite 2b74ab00aa Merge pull request #9964 from liamwhite/typed-address
kernel: use KTypedAddress for addresses
2023-03-23 10:00:19 -04:00
Morph f33cddc400 Merge pull request #9962 from Kelebek1/disable_srgb
[video_core] Disable SRGB border color conversion in samplers
2023-03-23 03:07:00 -04:00
Liam 156516e399 kernel: use KTypedAddress for addresses 2023-03-22 09:35:16 -04:00
Morph 05ba40b98e bounded_threadsafe_queue: Refactor Pop
Introduces PopModes to bring waiting logic into Pop, similar to Push.
2023-03-21 22:33:58 -04:00
Morph 70b1c2e8e0 bounded_threadsafe_queue: Add producer cv to avoid busy waiting 2023-03-21 22:33:57 -04:00
Narr the Reg 9704f1bc7e nfc: Initialize device when controller is connected 2023-03-21 20:09:36 -06:00
bunnei 95fdc371bb Merge pull request #9965 from german77/thankYouEpicBoy
config: Fix controller config from resetting
2023-03-21 17:52:25 -07:00
Morph 62fd55e5fe bounded_threadsafe_queue: Deduplicate and add PushModes
Adds the PushModes Try and Wait to allow producers to specify how they want to push their data to the queue if the queue is full.
If the queue is full:
- Try will fail to push to the queue, returning false. Try only returns true if it successfully pushes to the queue. This may result in items not being pushed into the queue.
- Wait will wait until a slot is available to push to the queue, resulting in potential for deadlock if a consumer is not running.
2023-03-21 19:20:21 -04:00
Morph 281e99f09d bounded_threadsafe_queue: Add TryPush 2023-03-21 19:17:38 -04:00
Morph 623cbd908e logging: Make use of bounded queue 2023-03-21 19:17:38 -04:00
Morph c4314b231f bounded_threadsafe_queue: Use simplified impl of bounded queue
Provides a simplified SPSC, MPSC, and MPMC bounded queue implementation using mutexes.
2023-03-21 19:17:32 -04:00
bunnei c6e6763836 Merge pull request #9970 from bunnei/string-util-view
common: string_util: Use std::string_view for UTF16ToUTF8/UTF8ToUTF16W.
2023-03-19 11:10:16 -07:00
Liam af8ce05caa vulkan: fix more excessive waiting in scheduler 2023-03-19 13:40:33 -04:00
Liam 48f1221b35 kernel: fix LOG_TRACE in ipc 2023-03-19 10:02:20 -04:00