mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-11 15:51:36 +00:00
a7ac188d1d
The scrap texture did very good things for the glsl renderer and the better control over data copying might help it do even better things for vulkan, especially with lots of little icons.
39 lines
1.3 KiB
C
39 lines
1.3 KiB
C
#ifndef __QF_Vulkan_command_h
|
|
#define __QF_Vulkan_command_h
|
|
|
|
#include "QF/darray.h"
|
|
|
|
typedef struct qfv_cmdbufferset_s
|
|
DARRAY_TYPE (VkCommandBuffer) qfv_cmdbufferset_t;
|
|
|
|
typedef struct qfv_semaphoreset_s
|
|
DARRAY_TYPE (VkSemaphore) qfv_semaphoreset_t;
|
|
|
|
typedef struct qfv_fenceset_s
|
|
DARRAY_TYPE (VkFence) qfv_fenceset_t;
|
|
|
|
typedef struct qfv_bufferimagecopy_s
|
|
DARRAY_TYPE (VkBufferImageCopy) qfv_bufferimagecopy_t;
|
|
|
|
#define QFV_AllocBufferImageCopy(num, allocator) \
|
|
DARRAY_ALLOCFIXED (qfv_bufferimagecopy_t, num, allocator)
|
|
|
|
struct qfv_queue_s;
|
|
struct qfv_device_s;
|
|
VkCommandPool QFV_CreateCommandPool (struct qfv_device_s *device,
|
|
uint32_t queueFamily,
|
|
int transient, int reset);
|
|
qfv_cmdbufferset_t *QFV_AllocateCommandBuffers (struct qfv_device_s *device,
|
|
VkCommandPool pool,
|
|
int secondary, int count);
|
|
|
|
VkSemaphore QFV_CreateSemaphore (struct qfv_device_s *device);
|
|
VkFence QFV_CreateFence (struct qfv_device_s *device, int signaled);
|
|
int QFV_QueueSubmit (struct qfv_queue_s *queue,
|
|
qfv_semaphoreset_t *waitSemaphores,
|
|
VkPipelineStageFlags *stages,
|
|
qfv_cmdbufferset_t *buffers,
|
|
qfv_semaphoreset_t *signalSemaphores, VkFence fence);
|
|
int QFV_QueueWaitIdle (struct qfv_queue_s *queue);
|
|
|
|
#endif//__QF_Vulkan_command_h
|