summaryrefslogtreecommitdiff
path: root/src/rototiller.h
blob: 933f73344c29fee101742d219c837b506db50764 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef _ROTOTILLER_H
#define _ROTOTILLER_H

#include "fb.h"

/* Intentionally setting this larger than any anticipated number of CPUs */
#define ROTOTILLER_FRAME_MAX_FRAGMENTS	1024

typedef struct rototiller_frame_t {
	unsigned	n_fragments;
	fb_fragment_t	fragments[ROTOTILLER_FRAME_MAX_FRAGMENTS];
} rototiller_frame_t;

typedef struct rototiller_module_t {
	void *	(*create_context)(void);
	void	(*destroy_context)(void *context);
	void	(*prepare_frame)(void *context, unsigned n_cpus, fb_fragment_t *fragment, rototiller_frame_t *res_frame);
	void	(*render_fragment)(void *context, fb_fragment_t *fragment);
	char	*name;
	char	*description;
	char	*author;
	char	*license;
} rototiller_module_t;

#endif
© All Rights Reserved