shader
Header: kmsroots/shader.h
Table of contents (click to go)
Macros
Enums
Unions
Structs
Functions
Function Pointers
API Documentation
kmr_shader_spirv
-
struct kmr_shader_spirv
kmr_shader_spirv_create_info
-
struct kmr_shader_spirv_create_info
-
More information can be found at libshaderc/shaderc.h.
kind- Used to specify what type of shader to create SPIR-V bytes fromkey: VkShaderStageFlagBits, value: shaderc_shader_kind
source- Pointer to a buffer containing actual shader code
filename- Used as a tag to identify the source string
entryPoint- Used to define the function name in the GLSL source that actsas an entry point for the shader
kmr_shader_spirv_create
-
struct kmr_shader_spirv *kmr_shader_spirv_create(struct kmr_shader_spirv_create_info *spirvInfo);
Takes in a character buffer containing shader code, it then compiles char buff into SPIRV-bytes at runtime. These SPIRV-bytes can later be passed to vulkan.
- Parameters:
- spirvInfoPointer to a
structkmr_shader_spirv_create_info - Returns:
- on success: pointer to
structkmr_shader_sprivon failure: NULL
kmr_shader_spirv_destroy
-
void kmr_shader_spirv_destroy(struct kmr_shader_spirv *spirv);
Frees any allocated memory and closes FD’s (if open) created after
kmr_shader_spirv_create()call- Parameters:
- sessionMust pass a valid pointer to a
structkmr_shader_spirv
/* Free'd members with fd's closed */ struct kmr_shader_spirv { void *result; };