Skip to content

Commit efc4291

Browse files
committed
Added MemoryBufferPools::compileTraversalUseReserve bool hint to control whether the compile traversal should call MemoryBufferPools::reserve(requirements)
1 parent b463712 commit efc4291

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

include/vsg/vk/MemoryBufferPools.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ namespace vsg
4242
/// throw vsg::Exception when reserveMemory() fails to allocated memory on device.
4343
bool throwOutOfDeviceMemoryException = true;
4444

45+
/// hint whether the compile traversal should call MemoryBufferPools::reserve(requirements);
46+
bool compileTraversalUseReserve = true;
47+
4548
VkDeviceSize computeMemoryTotalAvailable() const;
4649
VkDeviceSize computeMemoryTotalReserved() const;
4750
VkDeviceSize computeBufferTotalAvailable() const;

src/vsg/vk/Context.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,9 @@ VkResult Context::reserve(ResourceRequirements& requirements)
197197
{
198198
CPU_INSTRUMENTATION_L2_NC(instrumentation, "Context reserve", COLOR_COMPILE)
199199

200-
VkResult result = deviceMemoryBufferPools->reserve(requirements);
200+
VkResult result = VK_SUCCESS;
201+
202+
if (deviceMemoryBufferPools->compileTraversalUseReserve) result = deviceMemoryBufferPools->reserve(requirements);
201203

202204
resourceRequirements.maxSlots.merge(requirements.maxSlots);
203205

0 commit comments

Comments
 (0)