From d8789801b89077422faa376de4bb7f2d564c1103 Mon Sep 17 00:00:00 2001 From: Prakxo <87568477+Prakxo@users.noreply.github.com> Date: Tue, 2 Apr 2024 18:21:33 +0200 Subject: gfxalloc OK (#160) * gfxalloc ok * format/names --- src/code/gfxalloc.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/code/gfxalloc.c (limited to 'src/code/gfxalloc.c') diff --git a/src/code/gfxalloc.c b/src/code/gfxalloc.c new file mode 100644 index 0000000..62b63c5 --- /dev/null +++ b/src/code/gfxalloc.c @@ -0,0 +1,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; +} -- cgit v1.2.3