summaryrefslogtreecommitdiff
path: root/src/memory.c
blob: 48a7ccae979bd1c8ef9e56ea2742150fee00b90b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "rgl.h"

void *RGL_ArenaAlloc(RGL_Arena *arena, unsigned int size) {
  void *data = (void *)&(arena->data[arena->size]);
  arena->size += size;

  return data;
}

unsigned int RGL_ArenaCheckpoint(RGL_Arena *arena) {
  return arena->size;
}

void RGL_ArenaRollback(RGL_Arena *arena, unsigned int checkpoint) {
  arena->size = checkpoint;
}

void RGL_ArenaReset(RGL_Arena *arena) {
  arena->size = 0;
}