MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-ValidationLayers / AllocSessionMem

Method AllocSessionMem

tests/framework/binding.cpp:1337–1348  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1335}
1336
1337void DataGraphPipelineSession::AllocSessionMem(std::vector<vkt::DeviceMemory>& device_mem, bool is_protected, size_t scale_factor,
1338 int32_t size_modifier) {
1339 assert(mem_reqs_.size() == device_mem.size());
1340 for (size_t i = 0; i < device_mem.size(); i++) {
1341 auto& mem_req = mem_reqs_[i].memoryRequirements;
1342 VkMemoryAllocateInfo session_alloc_info = vku::InitStructHelper();
1343 session_alloc_info.allocationSize = mem_req.size * scale_factor + size_modifier;
1344 auto flags = is_protected ? VK_MEMORY_PROPERTY_PROTECTED_BIT : 0;
1345 device_->Physical().SetMemoryType(mem_req.memoryTypeBits, &session_alloc_info, flags);
1346 device_mem[i] = vkt::DeviceMemory(*device_, session_alloc_info);
1347 }
1348}
1349
1350NON_DISPATCHABLE_HANDLE_DTOR(Image, vk::DestroyImage)
1351

Callers 2

TEST_FFunction · 0.80
TEST_FFunction · 0.80

Calls 3

SetMemoryTypeMethod · 0.80
DeviceMemoryClass · 0.70
sizeMethod · 0.45

Tested by

no test coverage detected