diff options
| author | Prakxo <87568477+Prakxo@users.noreply.github.com> | 2024-04-02 18:21:33 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-02 09:21:33 -0700 |
| commit | d8789801b89077422faa376de4bb7f2d564c1103 (patch) | |
| tree | 4ad26ac63df29b18b0b7947c509574a2b39eebe1 /src/code/gfxalloc.c | |
| parent | 6bfbdcbc4eeeb4bfc17a9dfef9c7c6ebc9515aa4 (diff) | |
gfxalloc OK (#160)
* gfxalloc ok
* format/names
Diffstat (limited to 'src/code/gfxalloc.c')
| -rw-r--r-- | src/code/gfxalloc.c | 29 |
1 files changed, 29 insertions, 0 deletions
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; +} |
