diff --git a/src/library/gl.c b/src/library/gl.c index 36d8dd8..265d401 100644 --- a/src/library/gl.c +++ b/src/library/gl.c @@ -20,6 +20,16 @@ struct GLContext* _bolt_context() { return current_context; } +size_t _bolt_context_count() { + size_t ret = 0; + for (size_t i = 0; i < CONTEXTS_CAPACITY; i += 1) { + if (contexts[i].id != 0) { + ret += 1; + } + } + return ret; +} + void _bolt_create_context(void* egl_context, void* shared) { for (size_t i = 0; i < CONTEXTS_CAPACITY; i += 1) { struct GLContext* ptr = &contexts[i]; diff --git a/src/library/gl.h b/src/library/gl.h index 389a26e..a1b91eb 100644 --- a/src/library/gl.h +++ b/src/library/gl.h @@ -140,6 +140,7 @@ struct GLTexture2D* _bolt_context_get_texture(struct GLContext*, unsigned int); struct GLVertexArray* _bolt_context_get_vao(struct GLContext*, unsigned int); struct GLContext* _bolt_context(); +size_t _bolt_context_count(); void _bolt_create_context(void*, void*); void _bolt_make_context_current(void*); void _bolt_destroy_context(void*);