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);
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);
+}