From cee91274e489a90691a3c475b82a9f7fad1ea996 Mon Sep 17 00:00:00 2001 From: Vito Caputo Date: Mon, 25 Apr 2022 11:51:42 -0700 Subject: til: add til_module_t.flags and TIL_MODULE_OVERLAYABLE For modules which are overlay-appropriate, they should indicate it when initializing their respective til_module_t. If they intend to participate in automagic compositing as overlays anyways. --- src/til.h | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/til.h b/src/til.h index 42cbcf2..8b733f5 100644 --- a/src/til.h +++ b/src/til.h @@ -12,17 +12,20 @@ typedef struct til_settings_t settings; typedef struct til_setting_desc_t til_setting_desc_t; typedef struct til_knob_t til_knob_t; +#define TIL_MODULE_OVERLAYABLE 1u + typedef struct til_module_t { - void * (*create_context)(unsigned ticks, unsigned n_cpus, til_setup_t *setup); - void (*destroy_context)(void *context); - void (*prepare_frame)(void *context, unsigned ticks, unsigned n_cpus, til_fb_fragment_t *fragment, til_fragmenter_t *res_fragmenter); - void (*render_fragment)(void *context, unsigned ticks, unsigned cpu, til_fb_fragment_t *fragment); - void (*finish_frame)(void *context, unsigned ticks, til_fb_fragment_t *fragment); - int (*setup)(const til_settings_t *settings, til_setting_t **res_setting, const til_setting_desc_t **res_desc, til_setup_t **res_setup); - size_t (*knobs)(void *context, til_knob_t **res_knobs); - char *name; - char *description; - char *author; + void * (*create_context)(unsigned ticks, unsigned n_cpus, til_setup_t *setup); + void (*destroy_context)(void *context); + void (*prepare_frame)(void *context, unsigned ticks, unsigned n_cpus, til_fb_fragment_t *fragment, til_fragmenter_t *res_fragmenter); + void (*render_fragment)(void *context, unsigned ticks, unsigned cpu, til_fb_fragment_t *fragment); + void (*finish_frame)(void *context, unsigned ticks, til_fb_fragment_t *fragment); + int (*setup)(const til_settings_t *settings, til_setting_t **res_setting, const til_setting_desc_t **res_desc, til_setup_t **res_setup); + size_t (*knobs)(void *context, til_knob_t **res_knobs); + char *name; + char *description; + char *author; + unsigned flags; } til_module_t; int til_init(void); -- cgit v1.2.1