From 11a3c034e013251ae11e39d1bce38119b376db47 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jean-Philippe=20Bruy=C3=A8re?= Date: Mon, 9 Apr 2018 20:02:41 +0200 Subject: [PATCH] add image mem mapping funcs --- include/vkh.h | 2 ++ src/vkh_image.c | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/include/vkh.h b/include/vkh.h index cba0b32..781a3c8 100644 --- a/include/vkh.h +++ b/include/vkh.h @@ -51,6 +51,8 @@ void vkh_image_set_layout (VkCommandBuffer cmdBuff, VkhImage image, VkImag void vkh_image_set_layout_subres(VkCommandBuffer cmdBuff, VkhImage image, VkImageSubresourceRange subresourceRange, VkImageLayout new_image_layout, VkPipelineStageFlags src_stages, VkPipelineStageFlags dest_stages); void vkh_image_destroy (VkhImage img); +void* vkh_image_map (VkhImage img); +void vkh_image_unmap (VkhImage img); VkImage vkh_image_get_vkimage (VkhImage img); VkImageView vkh_image_get_view (VkhImage img); diff --git a/src/vkh_image.c b/src/vkh_image.c index 6a9daf2..fa81892 100644 --- a/src/vkh_image.c +++ b/src/vkh_image.c @@ -185,3 +185,18 @@ void vkh_image_destroy(VkhImage img) free(img); img = NULL; } + +void* vkh_image_map (VkhImage img) { + VkImageSubresource subRes = { .aspectMask = VK_IMAGE_ASPECT_COLOR_BIT}; + //subRes.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + VkSubresourceLayout subResLayout; + VkMemoryRequirements memReqs; + void *data; + vkGetImageSubresourceLayout(img->pDev->dev, img->image, &subRes, &subResLayout); + vkGetImageMemoryRequirements(img->pDev->dev, img->image, &memReqs); + VK_CHECK_RESULT(vkMapMemory(img->pDev->dev, img->memory, 0, memReqs.size, 0, &data)); + return data; +} +void vkh_image_unmap (VkhImage img) { + vkUnmapMemory (img->pDev->dev, img->memory); +} -- 2.47.3