Commit 42761d27 by Alexis Hetu Committed by Alexis Hétu

vkGetImageMemoryRequirements2 dedicated allocation

Allow vkGetImageMemoryRequirements2 to set data in the VkMemoryDedicatedRequirements pNext structure, the same way vkGetBufferMemoryRequirements2 already does. Bug b/119620767 Change-Id: I4fb6bc29862eb01188ec1d2a05b4f6cc34629d8a Tests: dEQP-VK.memory.mapping.dedicated_alloc.image.* Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28488Tested-by: 's avatarAlexis Hétu <sugoi@google.com> Presubmit-Ready: Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
parent eba396cc
......@@ -1884,9 +1884,29 @@ VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(VkDevice device, const
TRACE("(VkDevice device = 0x%X, const VkImageMemoryRequirementsInfo2* pInfo = 0x%X, VkMemoryRequirements2* pMemoryRequirements = 0x%X)",
device, pInfo, pMemoryRequirements);
if(pInfo->pNext || pMemoryRequirements->pNext)
if(pInfo->pNext)
{
UNIMPLEMENTED("pInfo->pNext");
}
VkBaseOutStructure* extensionRequirements = reinterpret_cast<VkBaseOutStructure*>(pMemoryRequirements->pNext);
while(extensionRequirements)
{
UNIMPLEMENTED("pInfo->pNext || pMemoryRequirements->pNext");
switch(extensionRequirements->sType)
{
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
{
auto& requirements = *reinterpret_cast<VkMemoryDedicatedRequirements*>(extensionRequirements);
requirements.prefersDedicatedAllocation = VK_FALSE;
requirements.requiresDedicatedAllocation = VK_FALSE;
}
break;
default:
UNIMPLEMENTED("extensionRequirements->sType");
break;
}
extensionRequirements = extensionRequirements->pNext;
}
vkGetImageMemoryRequirements(device, pInfo->image, &(pMemoryRequirements->memoryRequirements));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment