Hello,
updating the GL_ELEMENT_ARRAY_BUFFER always causes the performance feedback of the Intel Mesa driver to complain like:
Using a blit copy to avoid stalling on glBufferSubData(0, 216) (0kb) to a busy (0-264) buffer object.
I create the index buffer like this:
glExt_glGenBuffers(1, &id);
glExt_glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, id);
glExt_glBufferData(GL_ELEMENT_ARRAY_BUFFER, (GLsizeiptr)(indices * size),
(GLvoid*)NULL, GL_DYNAMIC_DRAW);
and fill the buffer every frame to render the visible geometry:
glExt_glBufferSubData(GL_ARRAY_BUFFER, (GLintptr)offset, (GLsizeiptr)size,
(GLvoid*)data);
Thet’s where performance feedback starts to complain with “Using a blit copy to avoid stalling on glBufferSubData”.
Alternatively I’ve tried to map the buffer with
...
glExt_glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vao->iboid);
idxbuf = glExt_glMapBuffer(GL_ELEMENT_ARRAY_BUFFER, GL_WRITE_ONLY);
...
where performance feedback also complains with “Stalling on the GPU for mapping a busy buffer object”.
Is there anything I may have to do to update GL_ELEMENT_ARRAY_BUFFER without a performance impact?
Regards
Saski