diff options
author | Vito Caputo <vcaputo@pengaru.com> | 2022-05-01 11:27:23 -0700 |
---|---|---|
committer | Vito Caputo <vcaputo@pengaru.com> | 2022-05-01 13:49:57 -0700 |
commit | 45d1f956b35fa9003106716e42425cc86cadc7a1 (patch) | |
tree | f90106b3ac93981e37f4027caa5cf9c626ac3403 /src/til.h | |
parent | a4d50ba990cd8df5617bb945938aee7b5b556d11 (diff) |
til: introduce some generic fragmenters for convenience
Most of the threaded modules have settled down on two basic forms
of fragmenter function:
1. a slice per cpu, where tile-oriented locality isn't useful
2. ~64x64 tiles, in scenarios where screen-space locality helps
Now that n_cpus is wired up to the fragmenter, #1 can be
fulfilled without requiring a module-private context plumbing
n_cpus from create_context().
A future commit will replace some module-specific fragmenters by
returning one of these instead as res_fragmenter in their
prepare_frame(), wherever applicable.
Diffstat (limited to 'src/til.h')
-rw-r--r-- | src/til.h | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -38,5 +38,7 @@ int til_module_create_context(const til_module_t *module, unsigned ticks, til_se void * til_module_destroy_context(const til_module_t *module, void *context); int til_module_setup(til_settings_t *settings, til_setting_t **res_setting, const til_setting_desc_t **res_desc, til_setup_t **res_setup); int til_module_randomize_setup(const til_module_t *module, til_setup_t **res_setup, char **res_arg); +int til_fragmenter_slice_per_cpu(void *context, unsigned n_cpus, const til_fb_fragment_t *fragment, unsigned number, til_fb_fragment_t *res_fragment); +int til_fragmenter_tile64(void *context, unsigned n_cpus, const til_fb_fragment_t *fragment, unsigned number, til_fb_fragment_t *res_fragment); #endif |