summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngine
diff options
context:
space:
mode:
authorEgor Yusov <egor.yusov@gmail.com>2018-06-16 18:57:12 +0000
committerEgor Yusov <egor.yusov@gmail.com>2018-06-16 18:57:12 +0000
commit50f26d4c6c75e11ae1cc44aad6c795681de76124 (patch)
treeb32f2071103c294b8d09486fb47ddb87c42bff2f /Graphics/GraphicsEngine
parentReworked dynamic buffer mapping using ring buffers (diff)
downloadDiligentCore-50f26d4c6c75e11ae1cc44aad6c795681de76124.tar.gz
DiligentCore-50f26d4c6c75e11ae1cc44aad6c795681de76124.zip
Reworked vulkan dynamic heap implementation
Diffstat (limited to 'Graphics/GraphicsEngine')
-rw-r--r--Graphics/GraphicsEngine/interface/GraphicsTypes.h22
1 files changed, 13 insertions, 9 deletions
diff --git a/Graphics/GraphicsEngine/interface/GraphicsTypes.h b/Graphics/GraphicsEngine/interface/GraphicsTypes.h
index 7967a6b8..f7e994ae 100644
--- a/Graphics/GraphicsEngine/interface/GraphicsTypes.h
+++ b/Graphics/GraphicsEngine/interface/GraphicsTypes.h
@@ -1374,15 +1374,19 @@ namespace Diligent
/// resources are no longer required
Uint32 DeferredCtxUploadHeapReserveSize = 2 << 20;
- /// Size of the dynamic heap (ring buffer that is used to suballocate
- /// memory for dynamic resources) of the immediate context.
- /// If ring buffer is not large enough to provide enough space,
- /// sever performance penalties occur.
- Uint32 ImmediateCtxDynamicHeapSize = 4 << 20;
-
- /// Size of the dynamic heap (ring buffer that is used to suballocate
- /// memory for dynamic resources) of deferred contexts
- Uint32 DeferredCtxDynamicHeapSize = 4 << 20;
+ /// Size of the dynamic heap (the ring buffer that is used to suballocate
+ /// memory for dynamic resources) shared by all contexts.
+ Uint32 DynamicHeapSize = 8 << 20;
+
+ /// Size of the memory chunk suballocated by immediate context from
+ /// the global dynamic heap ring buffer to perform lock-free dynamic
+ /// allocations from
+ Uint32 ImmediateCtxDynamicHeapPageSize = 256 << 10;
+
+ /// Size of the memory chunk suballocated by deferred contexts from
+ /// the global dynamic heap ring buffer to perform lock-free dynamic
+ /// allocations from
+ Uint32 DeferredCtxDynamicHeapPageSize = 64 << 10;
};
/// Box