From ef04580d047c3d4e1b34c76c2af8fd6f333af6ff Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Sun, 23 Sep 2018 20:30:58 -0700 Subject: Reworked dynamic descriptor set allocation/deallocation in Vk backend --- Graphics/GraphicsEngine/interface/GraphicsTypes.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'Graphics/GraphicsEngine') diff --git a/Graphics/GraphicsEngine/interface/GraphicsTypes.h b/Graphics/GraphicsEngine/interface/GraphicsTypes.h index 7dc55c20..7d4f6817 100644 --- a/Graphics/GraphicsEngine/interface/GraphicsTypes.h +++ b/Graphics/GraphicsEngine/interface/GraphicsTypes.h @@ -1365,12 +1365,15 @@ namespace Diligent /// Size of the main descriptor pool that is used to allocate descriptor sets /// for static and mutable variables. If allocation from the current pool fails, /// the engine creates another one. - DescriptorPoolSize MainDescriptorPoolSize {1024, 1024, 8192, 8192, 1024, 4096, 4096, 1024, 1024}; + // Max SepSm CmbSm SmpImg StrImg UB SB UTxB StTxB + DescriptorPoolSize MainDescriptorPoolSize {8192, 1024, 8192, 8192, 1024, 4096, 4096, 1024, 1024}; /// Size of the dynamic descriptor pool that is used to allocate descriptor sets - /// for dynamic variables. Every device context has its own dynamic descriptor pool. - /// If allocation from the current pool fails, the engine creates another one. - DescriptorPoolSize DynamicDescriptorPoolSize { 256, 256, 2048, 2048, 256, 1024, 1024, 256, 256}; + /// for dynamic variables. Every device context has its own dynamic descriptor set allocator. + /// The allocator requests pools from global dynamic descriptor pool manager, and then + /// performs lock-free suballocations from the pool. + // Max SepSm CmbSm SmpImg StrImg UB SB UTxB StTxB + DescriptorPoolSize DynamicDescriptorPoolSize {2048, 256, 2048, 2048, 256, 1024, 1024, 256, 256}; /// Allocation granularity for device-local memory Uint32 DeviceLocalMemoryPageSize = 16 << 20; -- cgit v1.2.3