From e4ec8df90b90e85a812ef0795a9b016711e15360 Mon Sep 17 00:00:00 2001 From: Mohamed Ahmed Date: Sat, 11 Mar 2023 00:02:41 +0200 Subject: [PATCH] nvk: implement vkGetDeviceImageMemoryRequirementsKHR() Part-of: --- src/nouveau/vulkan/nvk_image.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/nouveau/vulkan/nvk_image.c b/src/nouveau/vulkan/nvk_image.c index 38e8c0449df..b990233335c 100644 --- a/src/nouveau/vulkan/nvk_image.c +++ b/src/nouveau/vulkan/nvk_image.c @@ -375,6 +375,27 @@ nvk_GetImageMemoryRequirements2(VkDevice _device, } } +VKAPI_ATTR void VKAPI_CALL +nvk_GetDeviceImageMemoryRequirements(VkDevice _device, + const VkDeviceImageMemoryRequirementsKHR *pInfo, + VkMemoryRequirements2 *pMemoryRequirements) +{ + VK_FROM_HANDLE(nvk_device, device, _device); + ASSERTED VkResult result; + struct nvk_image image; + + result = nvk_image_init(device, &image, pInfo->pCreateInfo); + assert(result == VK_SUCCESS); + + VkImageMemoryRequirementsInfo2 info2 = { + .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, + .image = nvk_image_to_handle(&image), + }; + + nvk_GetImageMemoryRequirements2(_device, &info2, pMemoryRequirements); + nvk_image_finish(&image); +} + VKAPI_ATTR void VKAPI_CALL nvk_GetImageSparseMemoryRequirements2(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo,