summaryrefslogtreecommitdiff
path: root/render/vulkan/renderpass.h
blob: 2a278212b8bf8569452e3e0dc6f69ce9e7a3c95f (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
26
#ifndef VKRENDERPASS_H
#define VKRENDERPASS_H

#include "vk_types.h"

enum cmdbuf_state {
        CMDBUF_READY,
        CMDBUF_RECORD,
        CMDBUF_RPASS,
        CMDBUF_ENDREC,
        CMDBUF_SUBMIT
};

struct vkcmdbuffer* create_vkcmdbuffer(struct vkdev *dev, int primary);
void destroy_vkcmdbuffer(struct vkcmdbuffer *cmdbuffer, struct vkdev *dev);

void cmdbuf_begin(struct vkcmdbuffer *cmdbuffer, int single, int rpass_cont, int sim_use);
void cmdbuf_end(struct vkcmdbuffer *cmdbuffer);

struct vkrendpass* create_vkrendpass(struct vkdev *dev, struct vkswapchain *swapchain, vec4 area, vec4 color, float depth, uint32_t stencil);
void destroy_vkrendpass(struct vkrendpass *rendpass, struct vkdev *dev);

void renderpass_begin(struct vkcmdbuffer *buf, struct vkrendpass *rendpass, VkFramebuffer framebuf);
void renderpass_end(struct vkcmdbuffer *buf, struct vkrendpass *rendpass);

#endif