From: Jean-Philippe Bruyère Date: Mon, 9 Apr 2018 18:02:41 +0000 (+0200) Subject: add image mem mapping funcs X-Git-Url: https://git.osiis.dedyn.io/?a=commitdiff_plain;h=11a3c034e013251ae11e39d1bce38119b376db47;p=jp%2Fvkhelpers.git add image mem mapping funcs --- 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); +}