ref: ed02080b55b8691090583aa01993bbb5e95c7ab2
parent: d8dbd40be9434f806474fab1fe9de2710adb5017
author: rodri <rgl@antares-labs.eu>
date: Tue Apr 22 13:45:36 EDT 2025
vertex: better attribute allocation strategy
--- a/alloc.c
+++ b/alloc.c
@@ -1,11 +1,7 @@
#include <u.h>
#include <libc.h>
-#include <thread.h>
#include <draw.h>
#include <memdraw.h>
-#include <geometry.h>
-#include "graphics.h"
-#include "internal.h"
void *
_emalloc(ulong n)
--- a/vertex.c
+++ b/vertex.c
@@ -19,8 +19,9 @@
v->attrs[i] = *va;
return;
}
- v->attrs = _erealloc(v->attrs, ++v->nattrs*sizeof(*va));
- v->attrs[v->nattrs-1] = *va;
+ if(v->nattrs % 8 == 0)
+ v->attrs = _erealloc(v->attrs, (v->nattrs + 8)*sizeof(*va));
+ v->attrs[v->nattrs++] = *va;
}
static void