mirror of
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
synced 2024-11-05 12:20:07 +00:00
A fix in TestPool_Benchmark for GPUs with only 256 MB of DEVICE_LOCAL memory
This commit is contained in:
parent
2882236f6a
commit
26eaa3b2ed
@ -588,6 +588,8 @@ void TestSparseBinding()
|
||||
|
||||
// Free remaining images.
|
||||
images.clear();
|
||||
|
||||
wprintf(L"Done.\n");
|
||||
}
|
||||
|
||||
#endif // #ifdef _WIN32
|
||||
|
@ -4414,13 +4414,22 @@ static void TestPool_Benchmark(
|
||||
poolCreateInfo.blockSize = config.PoolSize;
|
||||
poolCreateInfo.frameInUseCount = 1;
|
||||
|
||||
VmaAllocationCreateInfo dummyAllocCreateInfo = {};
|
||||
dummyAllocCreateInfo.usage = VMA_MEMORY_USAGE_GPU_ONLY;
|
||||
vmaFindMemoryTypeIndex(g_hAllocator, memoryTypeBits, &dummyAllocCreateInfo, &poolCreateInfo.memoryTypeIndex);
|
||||
VmaPool pool = VK_NULL_HANDLE;
|
||||
VkResult res;
|
||||
// Loop over memory types because we sometimes allocate a big block here,
|
||||
// while the most eligible DEVICE_LOCAL heap may be only 256 MB on some GPUs.
|
||||
while(memoryTypeBits)
|
||||
{
|
||||
VmaAllocationCreateInfo dummyAllocCreateInfo = {};
|
||||
dummyAllocCreateInfo.usage = VMA_MEMORY_USAGE_GPU_ONLY;
|
||||
vmaFindMemoryTypeIndex(g_hAllocator, memoryTypeBits, &dummyAllocCreateInfo, &poolCreateInfo.memoryTypeIndex);
|
||||
|
||||
VmaPool pool;
|
||||
VkResult res = vmaCreatePool(g_hAllocator, &poolCreateInfo, &pool);
|
||||
TEST(res == VK_SUCCESS);
|
||||
res = vmaCreatePool(g_hAllocator, &poolCreateInfo, &pool);
|
||||
if(res == VK_SUCCESS)
|
||||
break;
|
||||
memoryTypeBits &= ~(1u << poolCreateInfo.memoryTypeIndex);
|
||||
}
|
||||
TEST(pool);
|
||||
|
||||
// Start time measurement - after creating pool and initializing data structures.
|
||||
time_point timeBeg = std::chrono::high_resolution_clock::now();
|
||||
|
Loading…
Reference in New Issue
Block a user