MCPcopy Create free account
hub / github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator / TestMapping

Function TestMapping

src/Tests.cpp:7079–7183  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7077}
7078
7079static void TestMapping()
7080{
7081 wprintf(L"Testing mapping...\n");
7082
7083 VkResult res;
7084 uint32_t memTypeIndex = UINT32_MAX;
7085
7086 enum TEST
7087 {
7088 TEST_NORMAL,
7089 TEST_POOL,
7090 TEST_DEDICATED,
7091 TEST_COUNT
7092 };
7093 for(uint32_t testIndex = 0; testIndex < TEST_COUNT; ++testIndex)
7094 {
7095 VmaPool pool = nullptr;
7096 if(testIndex == TEST_POOL)
7097 {
7098 TEST(memTypeIndex != UINT32_MAX);
7099 VmaPoolCreateInfo poolInfo = {};
7100 poolInfo.memoryTypeIndex = memTypeIndex;
7101 res = vmaCreatePool(g_hAllocator, &poolInfo, &pool);
7102 TEST(res == VK_SUCCESS);
7103 }
7104
7105 VkBufferCreateInfo bufInfo = { VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO };
7106 bufInfo.size = 0x10000;
7107 bufInfo.usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT;
7108
7109 VmaAllocationCreateInfo allocCreateInfo = {};
7110 allocCreateInfo.usage = VMA_MEMORY_USAGE_AUTO;
7111 allocCreateInfo.flags = VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT;
7112 allocCreateInfo.pool = pool;
7113 if(testIndex == TEST_DEDICATED)
7114 allocCreateInfo.flags |= VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT;
7115
7116 VmaAllocationInfo allocInfo;
7117
7118 // Mapped manually
7119
7120 // Create 2 buffers.
7121 BufferInfo bufferInfos[3];
7122 for(size_t i = 0; i < 2; ++i)
7123 {
7124 res = vmaCreateBuffer(g_hAllocator, &bufInfo, &allocCreateInfo,
7125 &bufferInfos[i].Buffer, &bufferInfos[i].Allocation, &allocInfo);
7126 TEST(res == VK_SUCCESS);
7127 TEST(allocInfo.pMappedData == nullptr);
7128 memTypeIndex = allocInfo.memoryType;
7129 }
7130
7131 // Map buffer 0.
7132 char* data00 = nullptr;
7133 res = vmaMapMemory(g_hAllocator, bufferInfos[0].Allocation, (void**)&data00);
7134 TEST(res == VK_SUCCESS && data00 != nullptr);
7135 data00[0xFFFF] = data00[0];
7136

Callers 1

TestFunction · 0.85

Calls 9

TESTEnum · 0.85
vmaCreatePoolFunction · 0.85
vmaCreateBufferFunction · 0.85
vmaMapMemoryFunction · 0.85
MemoryRegionsOverlapFunction · 0.85
vmaUnmapMemoryFunction · 0.85
vmaGetAllocationInfoFunction · 0.85
vmaDestroyBufferFunction · 0.85
vmaDestroyPoolFunction · 0.85

Tested by

no test coverage detected