diff options
Diffstat (limited to 'include/render/shader.h')
-rw-r--r-- | include/render/shader.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/include/render/shader.h b/include/render/shader.h new file mode 100644 index 0000000..0e827df --- /dev/null +++ b/include/render/shader.h @@ -0,0 +1,25 @@ +#ifndef _RENDER_SHADER_H_ +#define _RENDER_SHADER_H_ + +#include <stdbool.h> +#include <vulkan/vulkan.h> + +struct renderer; + +struct shader { + size_t len; + uint8_t *code; + VkShaderStageFlagBits stage; +}; + +struct shader_input { + size_t desc_count; + VkVertexInputBindingDescription *descs; + size_t attr_count; + VkVertexInputAttributeDescription *attrs; +}; + +VkResult shader_create_module(struct renderer *ren, const size_t len, uint8_t code[len], VkShaderModule *module); +bool shader_load(const char *filename, struct shader *shader); + +#endif |