diff options
Diffstat (limited to 'tools/glsl_preproc/templates/function.c.j2')
-rw-r--r-- | tools/glsl_preproc/templates/function.c.j2 | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tools/glsl_preproc/templates/function.c.j2 b/tools/glsl_preproc/templates/function.c.j2 new file mode 100644 index 0000000..9216472 --- /dev/null +++ b/tools/glsl_preproc/templates/function.c.j2 @@ -0,0 +1,19 @@ + +size_t {{ macro.name }}_fn(void *alloc, pl_str *buf, const uint8_t *ptr); +size_t {{ macro.name }}_fn(void *alloc, pl_str *buf, const uint8_t *ptr) +{ +{% if macro.vars %} +{{ macro.render_struct() }} {{ Var.STRUCT_NAME }}; +memcpy(&{{ Var.STRUCT_NAME }}, ptr, sizeof({{ Var.STRUCT_NAME }})); +{% endif %} + +{% for statement in macro.body %} +{{ statement.render() }} +{% endfor %} + +{% if macro.vars %} +return sizeof({{ Var.STRUCT_NAME }}); +{% else %} +return 0; +{% endif %} +} |