Max Dunbar
8b5becf71b
Fixes 'Continous' typo
3 years ago
Narr the Reg
0585865c9f
service: am: Improve profile select applet
3 years ago
Liam
7121903f4a
kernel: fix unbounded stack usage in atomics
3 years ago
Kelebek1
de4fc71536
Only upload GPU-modified overlaps
3 years ago
Morph
164d930c8d
telemetry: Add waitpkg instruction
3 years ago
Morph
fa3904acd9
x64: Simplify RDTSC on non-MSVC compilers
Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
3 years ago
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.
3 years ago
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>
3 years ago
Morph
95adf299e4
x64: cpu_detect: Add detection of waitpkg instructions
waitpkg introduces 3 instructions, UMONITOR, UMWAIT and TPAUSE.
3 years ago
Billy Laws
1794a33c52
audio_core: No longer stall when sink queue is full
Now the audout and audren update rates are tied to the sink status stalling is no longer necessary.
3 years ago
Billy Laws
91d14c0022
Run clang-format
3 years ago
Billy Laws
d3f0149af2
audio: Wait for samples on the emulated DSP side to avoid desyncs
Waiting on the host side is inaccurate and leads to desyncs in the event of the sink missing a deadline that require stalls to fix. By waiting for the sink to have space before even starting rendering such desyncs can be avoided.
3 years ago
Narr the Reg
c1e8a0a3e6
service: hid: Silence warning on MergeSingleJoyAsDualJoy
3 years ago
Narr the Reg
209e4fc6c5
qt: Fix log softlock
3 years ago
Billy Laws
7e7ad78aaf
audio: Interpolate system manager sample count using host sink sample info
This avoids the need to stall if the host sink sporadically misses the deadline, in such a case the previous implementation would report them samples as being played on-time, causing the guest to send more samples and leading to a gradual buildup.
3 years ago
german77
a7965dbc95
service: nfp: Add plain amiibo support
3 years ago
Liam
e135d0448e
tests: mark integer literals as unsigned
3 years ago
Liam
52c885cd03
container_hash: use climits
3 years ago
Morph
9308213232
video_core/macro: Make use of Common::HashValue
3 years ago
Morph
ac1a23fc51
tests: Implement tests for verifying HashValue
Values were randomly generated and the verification was done against boost 1.79.
3 years ago
Morph
b203f9d714
common: Port boost's hash_value implementation
Ports a small subset of boost's hash_value implementation (<= 1.80.0).
3 years ago
Liam
eb8abae7eb
qt: implement RequestExit for applets
3 years ago
Liam
46f5e0a276
applets: implement RequestExit
3 years ago
Ross Schlaikjer
ee8f63ac65
Pass GPU page table by reference
3 years ago
Liam
aea009216e
vulkan: fix scheduler chunk reserve
3 years ago
Morph
79aa81015f
zstd: Use ZSTD_getFrameContentSize instead of ZSTD_getDecompressedSize
3 years ago
Liam
6eaef51cf2
memory: rename global memory references to application memory
3 years ago
Liam
156516e399
kernel: use KTypedAddress for addresses
3 years ago
Morph
05ba40b98e
bounded_threadsafe_queue: Refactor Pop
Introduces PopModes to bring waiting logic into Pop, similar to Push.
3 years ago
Morph
70b1c2e8e0
bounded_threadsafe_queue: Add producer cv to avoid busy waiting
3 years ago
Narr the Reg
9704f1bc7e
nfc: Initialize device when controller is connected
3 years ago
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.
3 years ago
Morph
281e99f09d
bounded_threadsafe_queue: Add TryPush
3 years ago
Morph
623cbd908e
logging: Make use of bounded queue
3 years ago
Morph
c4314b231f
bounded_threadsafe_queue: Use simplified impl of bounded queue
Provides a simplified SPSC, MPSC, and MPMC bounded queue implementation using mutexes.
3 years ago
Liam
af8ce05caa
vulkan: fix more excessive waiting in scheduler
3 years ago
Liam
48f1221b35
kernel: fix LOG_TRACE in ipc
3 years ago
bunnei
a59583c7ab
common: string_util: Use std::string_view for UTF16ToUTF8/UTF8ToUTF16W.
3 years ago
bunnei
b9533c81f7
common: bounded_threadsafe_queue: Use polyfill_thread.
3 years ago
Narr the Reg
74cd79b687
config: Fix controller config from resetting
3 years ago
Kelebek1
0a90adff87
Disable SRGB border color conversion for now, to fix shadows in Xenoblade.
3 years ago
Narr the Reg
8a1c405ce3
service: nfp: Replace crc function with boost equivalent
3 years ago
Narr the Reg
ab37f2bda3
service: nfp: Close app area and recreate crc
3 years ago
Narr the Reg
d7f58e6ecb
service: nfp: Convert mii colors to v3
3 years ago
Liam
09a866fe79
vulkan: disable extendedDynamicState3ColorBlendEquation on radv
3 years ago
Narr the Reg
aeb65824a7
service: nfp: Actually write correct crc
3 years ago
FengChen
0f336df1ea
video_core: Better defined ImageInfo parameters
3 years ago
Morph
8d0d61dfd1
configure_audio: Fix output mode setting not saving
3 years ago
german77
59f50daf74
input_common: sdl: Only send last vibration command
3 years ago
Liam
9d5747fb71
kernel: additional style fixes to KThread, KProcess
3 years ago