diff options
author | Morph <39850852+Morph1984@users.noreply.github.com> | 2021-09-13 23:20:07 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-13 23:20:07 +0200 |
commit | fde9b84b2123ba2e018e985024bf8c4d556798f0 (patch) | |
tree | 3c5d270419105b9d30114c344e05c4f7aeda7947 /src/video_core/renderer_vulkan | |
parent | Merge pull request #7001 from ameerj/wario-fix (diff) | |
parent | Vulkan/Descriptors: Increase sets per pool on AMFD propietary driver. (diff) | |
download | yuzu-fde9b84b2123ba2e018e985024bf8c4d556798f0.tar yuzu-fde9b84b2123ba2e018e985024bf8c4d556798f0.tar.gz yuzu-fde9b84b2123ba2e018e985024bf8c4d556798f0.tar.bz2 yuzu-fde9b84b2123ba2e018e985024bf8c4d556798f0.tar.lz yuzu-fde9b84b2123ba2e018e985024bf8c4d556798f0.tar.xz yuzu-fde9b84b2123ba2e018e985024bf8c4d556798f0.tar.zst yuzu-fde9b84b2123ba2e018e985024bf8c4d556798f0.zip |
Diffstat (limited to 'src/video_core/renderer_vulkan')
-rw-r--r-- | src/video_core/renderer_vulkan/vk_descriptor_pool.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/video_core/renderer_vulkan/vk_descriptor_pool.cpp b/src/video_core/renderer_vulkan/vk_descriptor_pool.cpp index adb557f60..d87da2a34 100644 --- a/src/video_core/renderer_vulkan/vk_descriptor_pool.cpp +++ b/src/video_core/renderer_vulkan/vk_descriptor_pool.cpp @@ -19,7 +19,6 @@ namespace Vulkan { // Prefer small grow rates to avoid saturating the descriptor pool with barely used pipelines constexpr size_t SETS_GROW_RATE = 16; constexpr s32 SCORE_THRESHOLD = 3; -constexpr u32 SETS_PER_POOL = 64; struct DescriptorBank { DescriptorBankInfo info; @@ -59,11 +58,12 @@ static DescriptorBankInfo MakeBankInfo(std::span<const Shader::Info> infos) { static void AllocatePool(const Device& device, DescriptorBank& bank) { std::array<VkDescriptorPoolSize, 6> pool_sizes; size_t pool_cursor{}; + const u32 sets_per_pool = device.GetSetsPerPool(); const auto add = [&](VkDescriptorType type, u32 count) { if (count > 0) { pool_sizes[pool_cursor++] = { .type = type, - .descriptorCount = count * SETS_PER_POOL, + .descriptorCount = count * sets_per_pool, }; } }; @@ -78,7 +78,7 @@ static void AllocatePool(const Device& device, DescriptorBank& bank) { .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO, .pNext = nullptr, .flags = VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, - .maxSets = SETS_PER_POOL, + .maxSets = sets_per_pool, .poolSizeCount = static_cast<u32>(pool_cursor), .pPoolSizes = std::data(pool_sizes), })); |