2019-07-23 03:28:57 +00:00
|
|
|
#ifndef __QF_Vulkan_command_h
|
|
|
|
#define __QF_Vulkan_command_h
|
|
|
|
|
2020-02-17 11:29:35 +00:00
|
|
|
#include "QF/darray.h"
|
2019-07-23 03:28:57 +00:00
|
|
|
|
2020-02-17 11:29:35 +00:00
|
|
|
typedef struct qfv_cmdbufferset_s
|
|
|
|
DARRAY_TYPE (VkCommandBuffer) qfv_cmdbufferset_t;
|
2019-07-23 03:28:57 +00:00
|
|
|
|
2020-02-17 11:29:35 +00:00
|
|
|
typedef struct qfv_semaphoreset_s
|
|
|
|
DARRAY_TYPE (VkSemaphore) qfv_semaphoreset_t;
|
2019-07-23 03:28:57 +00:00
|
|
|
|
2020-02-17 11:29:35 +00:00
|
|
|
typedef struct qfv_fenceset_s
|
|
|
|
DARRAY_TYPE (VkFence) qfv_fenceset_t;
|
2019-07-23 03:28:57 +00:00
|
|
|
|
2019-07-23 03:37:47 +00:00
|
|
|
struct qfv_queue_s;
|
2020-02-17 11:29:35 +00:00
|
|
|
struct qfv_device_s;
|
|
|
|
VkCommandPool QFV_CreateCommandPool (struct qfv_device_s *device,
|
2019-07-23 03:28:57 +00:00
|
|
|
uint32_t queueFamily,
|
|
|
|
int transient, int reset);
|
2020-02-17 11:29:35 +00:00
|
|
|
qfv_cmdbufferset_t *QFV_AllocateCommandBuffers (struct qfv_device_s *device,
|
|
|
|
VkCommandPool pool,
|
2020-02-16 13:43:57 +00:00
|
|
|
int secondary, int count);
|
2019-07-23 03:28:57 +00:00
|
|
|
|
2020-02-17 11:29:35 +00:00
|
|
|
VkSemaphore QFV_CreateSemaphore (struct qfv_device_s *device);
|
|
|
|
VkFence QFV_CreateFence (struct qfv_device_s *device, int signaled);
|
2019-07-23 03:37:47 +00:00
|
|
|
int QFV_QueueSubmit (struct qfv_queue_s *queue,
|
2019-07-23 03:28:57 +00:00
|
|
|
qfv_semaphoreset_t *waitSemaphores,
|
2020-02-17 11:29:35 +00:00
|
|
|
VkPipelineStageFlags *stages,
|
2019-07-23 03:28:57 +00:00
|
|
|
qfv_cmdbufferset_t *buffers,
|
2020-02-17 11:29:35 +00:00
|
|
|
qfv_semaphoreset_t *signalSemaphores, VkFence fence);
|
2019-07-23 04:05:32 +00:00
|
|
|
int QFV_QueueWaitIdle (struct qfv_queue_s *queue);
|
2019-07-23 03:28:57 +00:00
|
|
|
|
|
|
|
#endif//__QF_Vulkan_command_h
|