skyline/app
PixelyIon 8fc3cc7a16
Rework Descriptor Set Allocation/Updates
A substantial amount of time would be spent on creation/destruction of `VkDescriptorSet` which scales on titles doing a substantial amount of draws with bindings, this leads to poor performance on those titles as the frametime is dragged down by performing these tasks while they repeatedly create descriptor sets of the same layouts.

This commit fixes it by pooling descriptor sets per-layout in a dynamically resizable pool and keeping them around rather than destroying them after usage which leads to the vast majority of cases not requiring a new descriptor set to even be created. It leads to significantly improved performance where it would otherwise be spent on redundant destruction/recreation or push descriptor updates which took a substantial amount of time themselves.

Additionally, the `BaseDescriptorSizes` were not kept up to date with all of the descriptor types, it led to no crashes on Adreno/Mali as they were purely used for size calculations on either driver but has been corrected to avoid any future issues.
2022-08-06 22:20:54 +05:30
..
libraries Remove PugiXML submodule 2022-07-26 20:16:24 +05:30
src/main Rework Descriptor Set Allocation/Updates 2022-08-06 22:20:54 +05:30
.gitignore libNX FS Initalization (v0.3) 2019-10-18 16:22:38 +05:30
build.gradle Only set hasFragileUserData for signed builds 2022-08-06 22:18:42 +05:30
CMakeLists.txt Add utilities for reading and installing gpu driver packages 2022-08-06 22:00:19 +05:30
proguard-rules.pro Add kotlinx.serialization-json dependencies 2022-08-06 22:00:19 +05:30