27 const bool allocate_on_device = ibo_id_ == 0;
28 if (allocate_on_device) {
29 glGenBuffers(1, &ibo_id_);
32 glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ibo_id_);
34 if (
data_ !=
nullptr || allocate_on_device) {
37 glBufferData(GL_ELEMENT_ARRAY_BUFFER,
ceil_to_multiple_ul(size, 16),
nullptr, GL_STATIC_DRAW);
39 if (
data_ !=
nullptr) {
41 glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 0, size,
data_);
static void buf_free(GLuint buf_id)
uint16_t bound_ssbo_slots