summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngine
diff options
context:
space:
mode:
authorEgor Yusov <egor.yusov@gmail.com>2018-09-24 03:30:58 +0000
committerEgor Yusov <egor.yusov@gmail.com>2018-09-24 03:30:58 +0000
commitef04580d047c3d4e1b34c76c2af8fd6f333af6ff (patch)
tree8a71c47ef642952e7886bbec5ba4279e0459e215 /Graphics/GraphicsEngine
parentFixed build - attempt 2 (diff)
downloadDiligentCore-ef04580d047c3d4e1b34c76c2af8fd6f333af6ff.tar.gz
DiligentCore-ef04580d047c3d4e1b34c76c2af8fd6f333af6ff.zip
Reworked dynamic descriptor set allocation/deallocation in Vk backend
Diffstat (limited to 'Graphics/GraphicsEngine')
-rw-r--r--Graphics/GraphicsEngine/interface/GraphicsTypes.h11
1 files changed, 7 insertions, 4 deletions
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;