summaryrefslogtreecommitdiff
path: root/render/vulkan/fence.h
blob: 34af87d73242d1d5a599381cf919042e8a02a41d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef VKFENCE_H
#define VKFENCE_H

#include "device.h"
#include <rune/util/types.h>
#include <vulkan/vulkan.h>

struct vkfence {
        VkFence handle;
        int signal;
};

struct vkfence* create_vkfence(struct vkdev *dev, uint8_t signal);
void destroy_vkfence(struct vkfence *fence, struct vkdev *dev);

uint8_t fence_lock(struct vkfence *fence, struct vkdev *dev, uint64_t timeout);
void fence_unlock(struct vkfence *fence, struct vkdev *dev);

#endif