Billy Laws
89c6fab1cb
Implement a way to check if the command record thread is idle
...
Useful for debugging and testing
2023-01-08 19:30:52 +00:00
Billy Laws
c67f27e914
Add a setting to control the maximum number of accumulated GPU cmds
...
This helps to keep the GPU fed when processing large command buffers which don't have any syncpoints to force a flush inbetween.
2023-01-08 19:30:52 +00:00
Billy Laws
77214a98dd
Add a setting to force maximum GPU clocks on KGSL devices
2023-01-08 19:30:52 +00:00
Billy Laws
83ecc33a77
Update adrenotools
2023-01-08 19:30:52 +00:00
Billy Laws
3ecaedd71e
Add adrenotools direct mapping support
2023-01-08 19:30:52 +00:00
Pablo
8846a85d3a
Stub some IPurchaseEventManager functions
2022-12-31 10:45:18 +00:00
PabloG02
80c0f8f04d
Implement full profile picture support
...
Extends the profile picture stub into a full-fledged implementation with the ability for users to set their profile picture in settings while having the Skyline icon as the default profile picture.
2022-12-27 22:53:41 +05:30
PixelyIon
7a3d2e4a26
Start KThread
TID from 1 rather than 0
...
HOS's TIDs are one-based rather than zero-based, certain titles such as Pokémon Arceus, Naruto Shippuden: Ultimate Ninja Storm 3, Splatoon 3, etc. use the TID being zero as a sentinel value but as we assigned this ID to our first thread prior it broke this logic which has now been fixed by this commit as it now matches HOS behavior.
2022-12-27 22:36:06 +05:30
Billy Laws
bab659587f
Use e1 sample count for blits
2022-12-22 18:05:45 +00:00
Billy Laws
516ece6b04
Calculate renderarea from attachment min size
2022-12-22 18:05:45 +00:00
Billy Laws
4a3cd69257
Populate graphics pipeline manager from cache at launch-time
2022-12-22 18:05:45 +00:00
Billy Laws
e9bcdd06eb
Introduce a pipeline cache manager for simple read/write cache accesses
...
All writes are done async into a staging file, which is then merged into the main pipeline cache file at the time of the next launch. Upon encountering file corruption the cache can be trimmed up to the last-known-good entry to avoid any excessive loss of data from just one error.
2022-12-22 18:05:45 +00:00
Billy Laws
06bf1b38af
Introduce a pipeline state accessor that reads from a bundle
2022-12-22 18:05:45 +00:00
Billy Laws
7dd3a1db0f
Avoid InterconnectContext use in graphics PipelineManager
...
We will soon move to a global pipeline manager instance, so it wont be possible to use InterconnectContext at pipeline-creation time anymore
2022-12-22 18:05:45 +00:00
Billy Laws
ffe7263848
Add quirk for 615 drivers with broken multithreaded compilation
2022-12-22 18:05:45 +00:00
Billy Laws
755f7c75af
Add pipeline (de)serialisation support to bundle
...
See comments in code for details on the on-disk format.
2022-12-22 18:05:45 +00:00
Billy Laws
937eff392f
Switch execution-numbers to be globally unique tags
...
This is required for making pipelines usable across channels without introducing caching bugs.
2022-12-22 18:05:45 +00:00
Billy Laws
072b8193a1
Implement thread pool based async pipeline compilation with futures
...
By distributing the load of shader compiling onto multiple threads and then only waiting for completion until absolutely neccessary we can reduce compilation stutters significantly.
2022-12-22 18:05:45 +00:00
Billy Laws
186549748d
Implement HelperShader-local pipeline cache and use dynamic state
...
Avoids the heavy overhead of the VK pipeline cache when we really only have a few bits of non-dynamic state
2022-12-22 18:05:45 +00:00
Billy Laws
9115b8cae8
Properly hash dynamic states in pipeline cache
2022-12-22 18:05:45 +00:00
Billy Laws
7c4b4765bf
Reduce thresholds for slot increase and buffer/texture fast readback
2022-12-22 18:05:45 +00:00
Billy Laws
f32ab1feff
Include BS thread pool library
2022-12-22 18:05:45 +00:00
Billy Laws
ce428af2e6
Use attachment formats rather than views in VK pipeline cache
2022-12-22 18:05:45 +00:00
Billy Laws
e849264028
Abstract out pipeline-compile-time GPU state accesses
...
Introduces the base abstractions that will be used for pipeline caching, with a 'PipelineStateBundle' that can be (de)serialised to/from disk and an abstract accessor class to allow switching between creating disk-cached pipelines and fresh ones.
2022-12-22 18:05:45 +00:00
Billy Laws
2e96248fb6
Track RT format info in PackedPipelineState and move VK conv code there
...
When caching pipelines we can't cache whole images, only their formats so refactor PackedPipelineState so that it can be used for pipeline creation, as opposed to passing in a list of attachments.
2022-12-22 18:05:45 +00:00
Billy Laws
bc7e1eb380
Split-out hash from ShaderBinary struct
...
This isn't necessary for pipeline creation and creates some difficulty with pipeline caching.
2022-12-22 18:05:45 +00:00
Dima
de10ab1219
Stub SetConnectionConfirmationOption
2022-12-18 20:34:55 +00:00
Dima
f3b2b4317e
Stub some IPrepoService calls
2022-12-18 20:34:55 +00:00
Dima
efef67b92b
Stub some IAudioDevice calls
2022-12-18 20:34:55 +00:00
Dima
3a94bcf692
Fix ListOpenContextStoredUsers stub
...
The problem is in StoreOpenContext wasn't storing any user, but ListOpenContextStoredUsers was writing default user (when it's not stored by StoreOpenContext)
2022-12-18 20:34:55 +00:00
TheASVigilante
3c5f8dd876
Fix small typo
2022-12-18 14:49:54 +00:00
lynxnb
6599c1dccf
Stub GyroscopeZeroDriftMode
...
Related service calls are called in a loop by SM3DW. A variable tracking zero drift mode has been added to `npad_device`, but it's unused at the moment.
2022-12-10 14:59:44 +00:00
Dima
dcc3047ba8
Stub ErrorCommonArg
2022-12-10 14:58:20 +00:00
Dima
68253fe995
Stub mii:e/mii:u
...
Needed for SSBU
2022-12-10 14:58:20 +00:00
Dima
69ee3cfc66
Stub DeleteDirectory
...
Should allow deleting/rewriting saves in some games
2022-12-10 14:58:20 +00:00
Dima
bbd34ae7e7
Validate if entries are not empty before using
...
Should fix saving problem in Baldur's Gate: Dark Alliance II at least
2022-12-10 14:58:20 +00:00
Dima
5f510d84d7
Stub IsVibrationPermitted
2022-12-10 14:58:20 +00:00
Dima
51d1f519af
Stub ListDisplays
2022-12-10 14:58:20 +00:00
Dima
a3866a3129
Stub LibraryAppletShop
2022-12-10 14:58:20 +00:00
Dima
1ebec7db82
Stub GetImageSize and LoadImage
2022-12-10 14:58:20 +00:00
Dima
52c4228ecf
Stub some friends service calls
...
Needed for Diablo 3
2022-12-10 14:58:20 +00:00
Dima
ebcbc5b05b
Validate NpadId for ActivateVibrationDevice
2022-12-10 14:58:20 +00:00
Dima
4bdd033354
Stub SetRecordVolumeMuted
2022-12-10 14:58:20 +00:00
Dima
f6d95aae01
Stub GetCacheStorageSize
2022-12-10 14:58:20 +00:00
Dima
4ab8699cd4
Stub ImportServerPki
2022-12-10 14:58:20 +00:00
Dima
41cf4bb12d
Stub GetLanguageCode
2022-12-10 14:58:20 +00:00
Dima
3e078d54b6
Stub GetIdleTimeDetectionExtension
2022-12-10 14:58:20 +00:00
Dima
2311f777fc
Stub IsCpuOverclockEnabled
2022-12-10 14:58:20 +00:00
Dima
4601c28c28
Stub GetCurrentIpAddress
2022-12-10 14:58:20 +00:00
Dima
18e6a6c53c
Stub DeclareOpenOnlinePlaySession and DeclareCloseOnlinePlaySession
2022-12-10 14:58:20 +00:00