skyline/app/src/main/cpp/skyline
PixelyIon 07d45ee504
Introduce FenceCycle Chaining
If we want to allow submitting multiple pieces of work to the GPU at once while still requiring CPU synchronization, we'll need to track all past fence cycles associated with a resource alongside the current one. To solve this the concept of chaining fences has been introduced, fences from past usages can be chained to the latest fence which'll then recursively forward operations to chained fences.

This change also ends up mandating a move away from `FenceCycleDependency` as it would prevent fences from concurrently locking the same resources which is required for chaining to work as two fences being chained fundamentally means they're locking the same resources. The `AtomicForwardList` is therefore used as the new container.
2022-08-06 22:18:42 +05:30
..
applet Write ApplicationErrorArg ErrorApplets to log 2022-07-02 09:48:59 +05:30
audio Correctly track 5.1 audio channel sample count 2022-05-10 18:26:20 +01:00
common Implement Atomic Forward List 2022-08-06 22:18:42 +05:30
crypto Enable Wconversion and fix warnings produced 2021-10-26 11:41:24 +01:00
gpu Introduce FenceCycle Chaining 2022-08-06 22:18:42 +05:30
input Add HID touch attribute and index reporting 2022-05-29 10:28:51 +01:00
kernel Fix thread name setting 2022-08-06 22:18:42 +05:30
loader Use spans instead of ptr and size in kernel memory 2022-06-11 17:05:39 +05:30
nce Implement SVC GetThreadContext3 2022-04-14 14:14:52 +05:30
services Implement Asynchronous Presentation 2022-08-06 22:18:42 +05:30
soc Fix thread name setting 2022-08-06 22:18:42 +05:30
vfs OsFileSystem: Close directory after file listing is finished 2022-06-04 21:46:23 +01:00
audio.cpp Refactor all std::lock_guard usages to std::scoped_lock 2022-04-25 15:00:30 +01:00
audio.h Improve Clean Exit + Audio Pausing + Improve System Language Setting 2021-10-26 10:46:36 +05:30
common.cpp Make Logger class static and introduce LoggerContext 2021-11-11 16:13:24 +01:00
common.h Add stack tracing to skyline::exception 2022-04-14 14:14:52 +05:30
gpu.cpp Support loading a user-selected driver during vulkan initialization 2022-08-06 22:00:19 +05:30
gpu.h Implement Framebuffer Cache 2022-05-01 18:27:27 +05:30
input.h Use spans instead of ptr and size in kernel memory 2022-06-11 17:05:39 +05:30
jvm.cpp Implement Software Keyboard applet 2022-07-01 15:19:53 -05:00
jvm.h Introduce AndroidSettings class and use inheritance 2022-07-26 20:16:24 +05:30
nce.cpp Use spans instead of ptr and size in kernel memory 2022-06-11 17:05:39 +05:30
nce.h Fix NCE Destruction 2022-04-14 14:14:52 +05:30
os.cpp Rework how settings are shared between Kotlin and native side 2022-07-26 20:16:24 +05:30
os.h Rework how settings are shared between Kotlin and native side 2022-07-26 20:16:24 +05:30
soc.h s/Host1X/Host1x/ as per Nvidia naming 2021-11-10 21:35:36 +05:30