summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@pengaru.com>2022-04-25 11:51:42 -0700
committerVito Caputo <vcaputo@pengaru.com>2022-04-25 11:52:46 -0700
commitcee91274e489a90691a3c475b82a9f7fad1ea996 (patch)
treed2b5ffb28eb7fea81babb4aa94f34d2cb5924ce9
parentd778d22faecb4b46fc06fab5f98ad48db84f2b7d (diff)
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.
-rw-r--r--src/til.h23
1 files 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);
© All Rights Reserved