summaryrefslogtreecommitdiff
path: root/render/vulkan/swapchain.h
blob: d2f3d8934af0e064d0b7d29f529e638140a077e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef VKSWAPCHAIN_H
#define VKSWAPCHAIN_H

#include "surface.h"
#include "device.h"

struct vkswapchain {
        VkSwapchainKHR handle;
        VkSurfaceFormatKHR format_khr;
        VkFormat format;
        VkSemaphore render_complete;
        VkImage *images;
        VkImageView *views;
        struct vkimage *depth_attachment;
        uint8_t max_frames;
        uint32_t frame;
        uint32_t img_count;
};

struct vkswapchain* create_swapchain(struct vksurface *surface, struct vkdev *dev);
void destroy_swapchain(struct vkswapchain *swapchain, struct vkdev *dev);

void vkswapchain_present(struct vkswapchain *swapchain, struct vkdev *dev);

#endif