summaryrefslogtreecommitdiff
path: root/src/til.h
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@pengaru.com>2023-09-04 15:06:44 -0700
committerVito Caputo <vcaputo@pengaru.com>2023-09-04 20:53:41 -0700
commitbab16b070f95687ec11d43e55f3dd6e69f96a576 (patch)
tree324246c6582cd74a7240b72f2f3b11a6618b9d40 /src/til.h
parent9170d08854796f8595c9f6cebe85827a71e86e19 (diff)
til: support multi-pass rendering
Modules can now use the til_module_t.finish_frame() return value to trigger re-rendering by returning 1, returning 0 finishes the frame. A smattering of til_module_t.finish_frame() implementations were largely mechanically updated to match this change by returning 0, since nothing actually uses multi-pass rendering yet. The impetus for this is experimenting with the flow module doing two passes of threaded rendering per frame. A first pass to sample the flow field and update the elements, per-cpu, but drawing nothing. Then a second pass to render the elements in a tiled manner.
Diffstat (limited to 'src/til.h')
-rw-r--r--src/til.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/til.h b/src/til.h
index 0d48239..9fb8b5b 100644
--- a/src/til.h
+++ b/src/til.h
@@ -30,7 +30,7 @@ struct til_module_t {
void (*destroy_context)(til_module_context_t *context); /* destroy gets stream in context, but the render-related functions should always use the passed-in stream so it can potentially change */
void (*prepare_frame)(til_module_context_t *context, til_stream_t *stream, unsigned ticks, til_fb_fragment_t **fragment_ptr, til_frame_plan_t *res_frame_plan);
void (*render_fragment)(til_module_context_t *context, til_stream_t *stream, unsigned ticks, unsigned cpu, til_fb_fragment_t **fragment_ptr);
- void (*finish_frame)(til_module_context_t *context, til_stream_t *stream, unsigned ticks, til_fb_fragment_t **fragment_ptr);
+ int (*finish_frame)(til_module_context_t *context, til_stream_t *stream, unsigned ticks, til_fb_fragment_t **fragment_ptr);
int (*setup)(const til_settings_t *settings, til_setting_t **res_setting, const til_setting_desc_t **res_desc, til_setup_t **res_setup);
char *name;
char *description;
© All Rights Reserved