From bab16b070f95687ec11d43e55f3dd6e69f96a576 Mon Sep 17 00:00:00 2001
From: Vito Caputo <vcaputo@pengaru.com>
Date: Mon, 4 Sep 2023 15:06:44 -0700
Subject: 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.
---
 src/modules/voronoi/voronoi.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

(limited to 'src/modules/voronoi')

diff --git a/src/modules/voronoi/voronoi.c b/src/modules/voronoi/voronoi.c
index 5b38705..ff5f290 100644
--- a/src/modules/voronoi/voronoi.c
+++ b/src/modules/voronoi/voronoi.c
@@ -357,11 +357,13 @@ static void voronoi_render_fragment(til_module_context_t *context, til_stream_t
 }
 
 
-static void voronoi_finish_frame(til_module_context_t *context, til_stream_t *stream, unsigned ticks, til_fb_fragment_t **fragment_ptr)
+static int voronoi_finish_frame(til_module_context_t *context, til_stream_t *stream, unsigned ticks, til_fb_fragment_t **fragment_ptr)
 {
 	voronoi_context_t	*ctxt = (voronoi_context_t *)context;
 
 	ctxt->distances.recalc_needed = 0;
+
+	return 0;
 }
 
 
-- 
cgit v1.2.3