1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#ifndef _RENDER_BUFFER_H_
#define _RENDER_BUFFER_H_
#include <vulkan/vulkan.h>
struct renderer;
struct buffer {
VkBuffer buffer;
VkDeviceMemory memory;
};
VkResult buffer_create(struct renderer *ren, VkDeviceSize size,
VkBufferUsageFlags usage, VkMemoryPropertyFlags props, struct buffer *buf);
void buffer_destroy(struct renderer *ren, struct buffer *buf);
VkResult create_image(struct renderer *ren, VkExtent2D extent, uint32_t mip_level, VkFormat format, VkImageTiling tiling,
VkImageUsageFlags usage, VkMemoryPropertyFlags props, VkImage *img, VkDeviceMemory *memory);
VkResult create_image_view(VkDevice gpu, VkImage image, VkFormat format, VkImageAspectFlags flags, VkImageView *view);
#endif
|