blob: 62b63c5465e86e090f8e799a36ed2928a1b167bc (
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
26
27
28
29
|
#include "gfxalloc.h"
#include "alignment.h"
Gfx* gfxopen(Gfx* gfxHead) {
return gfxHead + 1;
}
Gfx* gfxclose(Gfx* gfxHead, Gfx* gfx) {
if (gfxHead + 1 != gfx) {
gSPBranchList(gfxHead, gfx);
return gfx;
} else {
gSPNoOp(gfxHead);
return gfxHead;
}
}
void* gfxalloc(Gfx** gfxP, size_t size) {
u8* ptr;
Gfx* dst;
size = ALIGN8(size);
ptr = (u8*)(*gfxP + 1);
dst = (Gfx*)(ptr + size);
gSPBranchList(*gfxP, dst);
*gfxP = dst;
return ptr;
}
|