There are a lot of cool new tools with opengl 4.4 - like immutable storage for buffer objects - but reading about all of these things from the opengl wiki leaves me wondering...
Should I be invalidating buffer objects before doing reallocation?
The wiki says that on invalidating a buffer object, pending draw calls and other operations will complete using the old data in the buffer, which is what I would hope for since opengl can draw things whenever the best time to draw them might be.
My question is this, if I call glBufferData() and fill the buffer with some other data, will pending draw calls that opengl has not executed yet use the old data as it would if I invalidated the buffer? Or should I invalidate the buffer before I call glBufferData with new data?