From 9c98df8c79d44b11754956768e6993cc22c02cd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tur=C3=A1nszki=20J=C3=A1nos?= Date: Tue, 27 Jan 2026 11:26:22 +0100 Subject: [PATCH] pool reduction --- WickedEngine/wiGraphicsDevice_Vulkan.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/WickedEngine/wiGraphicsDevice_Vulkan.cpp b/WickedEngine/wiGraphicsDevice_Vulkan.cpp index 9f6edd5de..a239f2a00 100644 --- a/WickedEngine/wiGraphicsDevice_Vulkan.cpp +++ b/WickedEngine/wiGraphicsDevice_Vulkan.cpp @@ -1536,10 +1536,12 @@ using namespace vulkan_internal; // Create descriptor pool: StackVector poolSizes; - poolSizes.push_back({ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, DESCRIPTORBINDER_CBV_COUNT * poolSize }); - poolSizes.push_back({ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, DESCRIPTORBINDER_CBV_COUNT * poolSize }); - poolSizes.push_back({ VK_DESCRIPTOR_TYPE_MUTABLE_EXT, DESCRIPTORBINDER_SRV_COUNT * poolSize }); - poolSizes.push_back({ VK_DESCRIPTOR_TYPE_MUTABLE_EXT, DESCRIPTORBINDER_UAV_COUNT * poolSize }); + poolSizes.push_back({ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, device->dynamic_cbv_count * poolSize }); + if (device->dynamic_cbv_count < DESCRIPTORBINDER_CBV_COUNT) + { + poolSizes.push_back({ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, (DESCRIPTORBINDER_CBV_COUNT - device->dynamic_cbv_count) * poolSize }); + } + poolSizes.push_back({ VK_DESCRIPTOR_TYPE_MUTABLE_EXT, (DESCRIPTORBINDER_SRV_COUNT + DESCRIPTORBINDER_UAV_COUNT) * poolSize }); poolSizes.push_back({ VK_DESCRIPTOR_TYPE_SAMPLER, DESCRIPTORBINDER_SAMPLER_COUNT * poolSize }); if (device->CheckCapability(GraphicsDeviceCapability::RAYTRACING)) {