MCPcopy Create free account
hub / github.com/ErrorAtLine0/infinipaint / GetBufferMemoryRequirements

Method GetBufferMemoryRequirements

include/vk_mem_alloc.h:13836–13866  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

13834}
13835
13836void VmaAllocator_T::GetBufferMemoryRequirements(
13837 VkBuffer hBuffer,
13838 VkMemoryRequirements& memReq,
13839 bool& requiresDedicatedAllocation,
13840 bool& prefersDedicatedAllocation) const
13841{
13842#if VMA_DEDICATED_ALLOCATION || VMA_VULKAN_VERSION >= 1001000
13843 if(m_UseKhrDedicatedAllocation || m_VulkanApiVersion >= VK_MAKE_VERSION(1, 1, 0))
13844 {
13845 VkBufferMemoryRequirementsInfo2KHR memReqInfo = { VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR };
13846 memReqInfo.buffer = hBuffer;
13847
13848 VkMemoryDedicatedRequirementsKHR memDedicatedReq = { VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR };
13849
13850 VkMemoryRequirements2KHR memReq2 = { VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR };
13851 VmaPnextChainPushFront(&memReq2, &memDedicatedReq);
13852
13853 (*m_VulkanFunctions.vkGetBufferMemoryRequirements2KHR)(m_hDevice, &memReqInfo, &memReq2);
13854
13855 memReq = memReq2.memoryRequirements;
13856 requiresDedicatedAllocation = (memDedicatedReq.requiresDedicatedAllocation != VK_FALSE);
13857 prefersDedicatedAllocation = (memDedicatedReq.prefersDedicatedAllocation != VK_FALSE);
13858 }
13859 else
13860#endif // #if VMA_DEDICATED_ALLOCATION || VMA_VULKAN_VERSION >= 1001000
13861 {
13862 (*m_VulkanFunctions.vkGetBufferMemoryRequirements)(m_hDevice, hBuffer, &memReq);
13863 requiresDedicatedAllocation = false;
13864 prefersDedicatedAllocation = false;
13865 }
13866}
13867
13868void VmaAllocator_T::GetImageMemoryRequirements(
13869 VkImage hImage,

Callers 3

vmaCreateBufferFunction · 0.80

Calls 1

VmaPnextChainPushFrontFunction · 0.85

Tested by

no test coverage detected