2020-07-16 06:42:49 +00:00
|
|
|
#ifndef __vkparse_h
|
|
|
|
#define __vkparse_h
|
|
|
|
|
2021-01-05 14:42:30 +00:00
|
|
|
typedef struct parsectx_s {
|
|
|
|
struct exprctx_s *ectx;
|
|
|
|
struct vulkan_ctx_s *vctx;
|
|
|
|
} parsectx_t;
|
|
|
|
|
2020-12-23 16:36:17 +00:00
|
|
|
#include "QF/cexpr.h"
|
2021-01-10 06:50:24 +00:00
|
|
|
#include "QF/qfplist.h"
|
2020-07-16 06:42:49 +00:00
|
|
|
#include "QF/Vulkan/renderpass.h"
|
2021-01-04 08:26:39 +00:00
|
|
|
#ifdef vkparse_internal
|
2020-12-21 09:38:31 +00:00
|
|
|
#include "libs/video/renderer/vulkan/vkparse.hinc"
|
2021-01-04 08:26:39 +00:00
|
|
|
#endif
|
2020-07-16 06:42:49 +00:00
|
|
|
|
2021-01-05 05:15:35 +00:00
|
|
|
typedef struct parseres_s {
|
|
|
|
const char *name;
|
|
|
|
plfield_t *field;
|
|
|
|
size_t offset;
|
|
|
|
} parseres_t;
|
|
|
|
|
|
|
|
typedef struct handleref_s {
|
|
|
|
char *name;
|
|
|
|
uint64_t handle;
|
|
|
|
} handleref_t;
|
2021-01-04 08:36:11 +00:00
|
|
|
|
2021-01-12 05:56:02 +00:00
|
|
|
VkShaderModule QFV_GetShaderModule (vulkan_ctx_t *ctx, const char *name);
|
|
|
|
VkDescriptorPool QFV_GetDescriptorPool (vulkan_ctx_t *ctx, const char *name);
|
|
|
|
VkDescriptorSetLayout QFV_GetDescriptorSetLayout (vulkan_ctx_t *ctx,
|
|
|
|
const char *name);
|
|
|
|
VkPipelineLayout QFV_GetPipelineLayout (vulkan_ctx_t *ctx, const char *name);
|
|
|
|
VkSampler QFV_GetSampler (vulkan_ctx_t *ctx, const char *name);
|
|
|
|
|
2021-01-05 05:15:35 +00:00
|
|
|
void QFV_ParseResources (vulkan_ctx_t *ctx, plitem_t *plist);
|
2021-01-05 10:55:17 +00:00
|
|
|
void QFV_InitParse (vulkan_ctx_t *ctx);
|
2021-01-04 08:26:39 +00:00
|
|
|
exprenum_t *QFV_GetEnum (const char *name);
|
2020-07-16 06:42:49 +00:00
|
|
|
|
2021-01-05 14:42:30 +00:00
|
|
|
VkRenderPass QFV_ParseRenderPass (vulkan_ctx_t *ctx, plitem_t *plist);
|
|
|
|
VkPipeline QFV_ParsePipeline (vulkan_ctx_t *ctx, plitem_t *plist);
|
|
|
|
|
2020-07-16 06:42:49 +00:00
|
|
|
#endif//__vkparse_h
|