diff options
author | Vito Caputo <vcaputo@pengaru.com> | 2017-04-22 15:29:49 -0700 |
---|---|---|
committer | Vito Caputo <vcaputo@pengaru.com> | 2017-04-22 15:29:49 -0700 |
commit | d28ceb85a6b43a503c608116798945baab0e060f (patch) | |
tree | 1a96ae21cbab1ef8fdf831d588fd2c9477fb3f92 /src/modules/ray | |
parent | 1ff4632e895202c4485818f6e748e773b6fd2859 (diff) |
*: add module context machinery
introduces create_context() and destroy_context() methods, and adds a
'void *context' first parameter to the module methods.
If a module doesn't supply create_context() then NULL is simply passed
around as the context, so trivial modules can continue to only implement
render_fragment().
A subsequent commit will update the modules to encapsulate their global
state in module-specific contexts.
Diffstat (limited to 'src/modules/ray')
-rw-r--r-- | src/modules/ray/ray.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/modules/ray/ray.c b/src/modules/ray/ray.c index e79bfaf..a934c30 100644 --- a/src/modules/ray/ray.c +++ b/src/modules/ray/ray.c @@ -112,7 +112,7 @@ static float r; /* prepare a frame for concurrent rendering */ -static void ray_prepare_frame(unsigned n_cpus, fb_fragment_t *fragment, rototiller_frame_t *res_frame) +static void ray_prepare_frame(void *context, unsigned n_cpus, fb_fragment_t *fragment, rototiller_frame_t *res_frame) { /* TODO experiment with tiled fragments vs. rows */ res_frame->n_fragments = n_cpus; @@ -146,7 +146,7 @@ static void ray_prepare_frame(unsigned n_cpus, fb_fragment_t *fragment, rototill /* ray trace a simple scene into the fragment */ -static void ray_render_fragment(fb_fragment_t *fragment) +static void ray_render_fragment(void *context, fb_fragment_t *fragment) { ray_scene_render_fragment(&scene, &camera, fragment); } |