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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
typedef struct Tilerparam Tilerparam;
typedef struct Rastertask Rastertask;
struct Rastertask
{
SUparams *params;
Rectangle wr; /* working rect */
Primitive p;
};
struct Tilerparam
{
Channel *paramsc;
Channel **tasksc; /* Channel*[nproc] */
Rectangle *wr; /* Rectangle[nproc] */
ulong nproc;
};
/* alloc */
void *emalloc(ulong);
void *erealloc(void*, ulong);
Memimage *eallocmemimage(Rectangle, ulong);
/* fb */
Framebuf *mkfb(Rectangle);
void rmfb(Framebuf*);
Framebufctl *mkfbctl(Rectangle);
void rmfbctl(Framebufctl*);
/* vertex */
Vertex dupvertex(Vertex*);
void lerpvertex(Vertex*, Vertex*, Vertex*, double);
void berpvertex(Vertex*, Vertex*, Vertex*, Vertex*, Point3);
void delvattrs(Vertex*);
void fprintvattrs(int, Vertex*);
/* util */
int min(int, int);
int max(int, int);
void memsetd(double*, double, usize);
/* nanosec */
uvlong nanosec(void);
|