From 1ff97bbfff78a0c375fb5256a9d9d37cd3973bbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Sun, 14 May 2017 16:13:32 +0200 Subject: [PATCH] Gawain: Better metric for VRAM usage. --- intern/gawain/src/vertex_buffer.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/intern/gawain/src/vertex_buffer.c b/intern/gawain/src/vertex_buffer.c index 12ca6ae00b1..e6514ccb3e6 100644 --- a/intern/gawain/src/vertex_buffer.c +++ b/intern/gawain/src/vertex_buffer.c @@ -54,8 +54,11 @@ void VertexBuffer_init_with_format(VertexBuffer* verts, const VertexFormat* form void VertexBuffer_discard(VertexBuffer* verts) { if (verts->vbo_id) { + int size; + glGetBufferParameteriv(GL_ARRAY_BUFFER, GL_BUFFER_SIZE, &size); + vbo_memory_usage -= size; + buffer_id_free(verts->vbo_id); - vbo_memory_usage -= VertexBuffer_size(verts); } #if KEEP_SINGLE_COPY else @@ -160,7 +163,10 @@ static void VertexBuffer_prime(VertexBuffer* verts) // fill with delicious data & send to GPU the first time only glBufferData(GL_ARRAY_BUFFER, vertex_buffer_size(format, verts->vertex_ct), verts->data, GL_STATIC_DRAW); - vbo_memory_usage += VertexBuffer_size(verts); + int size; + glGetBufferParameteriv(GL_ARRAY_BUFFER, GL_BUFFER_SIZE, &size); + + vbo_memory_usage += size; #if KEEP_SINGLE_COPY // now that GL has a copy, discard original